@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,111 @@
1
+ import { Directive, EventEmitter, Output } from '@angular/core';
2
+ import { takeUntil } from 'rxjs';
3
+ import { DEFAULT_FONT_SIZE } from '../../../editor/content/constants/editor.const';
4
+ import { DestroyComponent } from '../../../editor/components/shared/abstract/destroy.component';
5
+ import { ElementDataModel } from '../../../editor/components/external-element/models/element-data.model';
6
+ import { EXTERNAL_ELEMENT_SERVICE } from '../../../editor/components/external-element/external-elements.const';
7
+ import { TextStyleModel } from '../../../models/generated/text-style.model';
8
+ import { ToolbarStylesHelper } from '../shared/toolbar-styles.helper';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../shared/services/custom-icon.service";
11
+ import * as i2 from "../../../editor/interaction/editor.service";
12
+ export class BaseToolbarComponent extends DestroyComponent {
13
+ constructor(customIconService, injector, cdr, editorService) {
14
+ super();
15
+ this.customIconService = customIconService;
16
+ this.injector = injector;
17
+ this.cdr = cdr;
18
+ this.editorService = editorService;
19
+ this.print = new EventEmitter();
20
+ this.redo = new EventEmitter();
21
+ this.undo = new EventEmitter();
22
+ this.createElement = new EventEmitter();
23
+ this.changeTextStyle = new EventEmitter();
24
+ this.changeParagraphStyle = new EventEmitter();
25
+ this.setNumberingTemplateType = new EventEmitter();
26
+ this.removeNumberings = new EventEmitter();
27
+ this.insertImage = new EventEmitter();
28
+ this.insertLink = new EventEmitter();
29
+ this.insertTable = new EventEmitter();
30
+ this.elements = this.injector.get(EXTERNAL_ELEMENT_SERVICE).elements;
31
+ this.customIconService.register();
32
+ this.historyInfoSubscription();
33
+ this.stylesSubscription();
34
+ }
35
+ onApplyBold() {
36
+ const bold = !this.styles.bold;
37
+ this.checkFontLoadedAndApplyStyle(new TextStyleModel({ bold }));
38
+ }
39
+ onApplyUnderline() {
40
+ const underline = !this.styles.underline;
41
+ this.changeTextStyle.emit(new TextStyleModel({ underline }));
42
+ }
43
+ onApplyItalic() {
44
+ const italic = !this.styles.italic;
45
+ this.checkFontLoadedAndApplyStyle(new TextStyleModel({ italic }));
46
+ }
47
+ async onCreateElement(model) {
48
+ const data = await model.factoryMethod();
49
+ const element = new ElementDataModel(model.type, data.width, data.height, data.guid);
50
+ this.createElement.emit(element);
51
+ }
52
+ checkFontLoadedAndApplyStyle(style) {
53
+ const newStyles = { ...this.styles, ...style };
54
+ const italic = newStyles.italic ? 'italic ' : '';
55
+ const bold = newStyles.bold ? 'bold ' : '';
56
+ const fontStyles = `${italic}${bold}${newStyles.fontSize ?? DEFAULT_FONT_SIZE}pt ${newStyles.fontFamily}`;
57
+ if (document.fonts.check(fontStyles)) {
58
+ this.changeTextStyle.emit(style);
59
+ return;
60
+ }
61
+ document.fonts
62
+ .load(fontStyles)
63
+ .then(() => this.changeTextStyle.emit(style))
64
+ .catch(() => {
65
+ // continue regardless of error
66
+ });
67
+ }
68
+ historyInfoSubscription() {
69
+ this.editorService.historyInfo$.pipe(takeUntil(this.destroy$)).subscribe(historyInfo => {
70
+ this.canUndo = historyInfo.step !== -1;
71
+ this.canRedo = historyInfo.step < historyInfo.lastStep;
72
+ this.cdr.markForCheck();
73
+ });
74
+ }
75
+ stylesSubscription() {
76
+ this.editorService.styles$.pipe(takeUntil(this.destroy$)).subscribe(styles => {
77
+ this.styles = styles;
78
+ this.numberingType = ToolbarStylesHelper.getNumberingType(styles.isBulletMarker);
79
+ this.numberingTemplateType = ToolbarStylesHelper.getNumberingTemplateType(styles.numberingLevelsStyles);
80
+ this.cdr.markForCheck();
81
+ });
82
+ }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseToolbarComponent, deps: [{ token: i1.CustomIconService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i2.EditorService }], target: i0.ɵɵFactoryTarget.Directive }); }
84
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaseToolbarComponent, outputs: { print: "print", redo: "redo", undo: "undo", createElement: "createElement", changeTextStyle: "changeTextStyle", changeParagraphStyle: "changeParagraphStyle", setNumberingTemplateType: "setNumberingTemplateType", removeNumberings: "removeNumberings", insertImage: "insertImage", insertLink: "insertLink", insertTable: "insertTable" }, usesInheritance: true, ngImport: i0 }); }
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseToolbarComponent, decorators: [{
87
+ type: Directive
88
+ }], ctorParameters: () => [{ type: i1.CustomIconService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i2.EditorService }], propDecorators: { print: [{
89
+ type: Output
90
+ }], redo: [{
91
+ type: Output
92
+ }], undo: [{
93
+ type: Output
94
+ }], createElement: [{
95
+ type: Output
96
+ }], changeTextStyle: [{
97
+ type: Output
98
+ }], changeParagraphStyle: [{
99
+ type: Output
100
+ }], setNumberingTemplateType: [{
101
+ type: Output
102
+ }], removeNumberings: [{
103
+ type: Output
104
+ }], insertImage: [{
105
+ type: Output
106
+ }], insertLink: [{
107
+ type: Output
108
+ }], insertTable: [{
109
+ type: Output
110
+ }] } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy9iYXNlLXRvb2xiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUVoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQU8vRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFHdEUsTUFBTSxPQUFnQixvQkFBcUIsU0FBUSxnQkFBZ0I7SUFtQy9ELFlBQ1ksaUJBQW9DLEVBQ3BDLFFBQWtCLEVBQ2hCLEdBQXNCLEVBQ3RCLGFBQTRCO1FBRXRDLEtBQUssRUFBRSxDQUFDO1FBTEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2hCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdENoQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVqQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVoQyxTQUFJLEdB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c0JBQWQsTUFBTTtnQkFFRyxJQUFJO3NCQUFiLE1BQU07Z0JBRUcsSUFBSTtzQkFBYixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBRUcsd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEN1c3RvbUljb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlcnZpY2VzL2N1c3RvbS1pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgREVGQVVMVF9GT05UX1NJWkUgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvY29udGVudC9jb25zdGFudHMvZWRpdG9yLmNvbnN0JztcbmltcG9ydCB7IERlc3Ryb3lDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvYWJzdHJhY3QvZGVzdHJveS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50RGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yL2NvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZWxlbWVudC1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEVYVEVSTkFMX0VMRU1FTlRfU0VSVklDRSB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9jb21wb25lbnRzL2V4dGVybmFsLWVsZW1lbnQvZXh0ZXJuYWwtZWxlbWVudHMuY29uc3QnO1xuaW1wb3J0IHsgRXh0ZXJuYWxFbGVtZW50TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvY29tcG9uZW50cy9leHRlcm5hbC1lbGVtZW50L21vZGVscy9leHRlcm5hbC1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IElUb29sYmFyU3R5bGVzIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yL2NvbnRlbnQvZGlzcGxheS1kYXRhL3Rvb2xiYXItc3R5bGVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOdW1iZXJpbmdMZXZlbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9udW1iZXJpbmctbGV2ZWwubW9kZWwnO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL251bWJlcmluZy10ZW1wbGF0ZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgTnVtYmVyaW5nVHlwZSB9IGZyb20gJy4uL3NoYXJlZC9lbnVtcy9udW1iZXJpbmctdHlwZS5lbnVtJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyU3R5bGVzSGVscGVyIH0gZnJvbSAnLi4vc2hhcmVkL3Rvb2xiYXItc3R5bGVzLmhlbHBlcic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb29sYmFyQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJveUNvbXBvbmVudCB7XG4gICAgQE91dHB1dCgpIHByaW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIHJlZG8gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgdW5kbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKSBjcmVhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxFbGVtZW50RGF0YU1vZGVsPigpO1xuXG4gICAgQE91dHB1dCgpIGNoYW5nZVRleHRTdHlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGV4dFN0eWxlTW9kZWw+KCk7XG5cbiAgICBAT3V0cHV0KCkgY2hhbmdlUGFyYWdyYXBoU3R5bGUgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcmFncmFwaFN0eWxlTW9kZWw+KCk7XG5cbiAgICBAT3V0cHV0KCkgc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlID0gbmV3IEV2ZW50RW1pdHRlcjxOdW1iZXJpbmdMZXZlbE1vZGVsW10+KCk7XG5cbiAgICBAT3V0cHV0KCkgcmVtb3ZlTnVtYmVyaW5ncyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKSBpbnNlcnRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKSBpbnNlcnRMaW5rID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIGluc2VydFRhYmxlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHJvd3M6IG51bWJlcjsgY29sdW1uczogbnVtYmVyIH0+KCk7XG5cbiAgICBzdHlsZXM6IElUb29sYmFyU3R5bGVzO1xuXG4gICAgY2FuVW5kbzogYm9vbGVhbjtcblxuICAgIGNhblJlZG86IGJvb2xlYW47XG5cbiAgICBudW1iZXJpbmdUeXBlOiBOdW1iZXJpbmdUeXBlIHwgbnVsbDtcblxuICAgIG51bWJlcmluZ1RlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlIHwgbnVsbDtcblxuICAgIGVsZW1lbnRzOiBFeHRlcm5hbEVsZW1lbnRNb2RlbFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY3VzdG9tSWNvblNlcnZpY2U6IEN1c3RvbUljb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudHMgPSB0aGlzLmluamVjdG9yLmdldChFWFRFUk5BTF9FTEVNRU5UX1NFUlZJQ0UpLmVsZW1lbnRzO1xuICAgICAgICB0aGlzLmN1c3RvbUljb25TZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgICAgIHRoaXMuaGlzdG9yeUluZm9TdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy5zdHlsZXNTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Qm9sZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYm9sZCA9ICF0aGlzLnN0eWxlcy5ib2xkO1xuICAgICAgICB0aGlzLmNoZWNrRm9udExvYWRlZEFuZEFwcGx5U3R5bGUobmV3IFRleHRTdHlsZU1vZGVsKHsgYm9sZCB9KSk7XG4gICAgfVxuXG4gICAgb25BcHBseVVuZGVybGluZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdW5kZXJsaW5lID0gIXRoaXMuc3R5bGVzLnVuZGVybGluZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUuZW1pdChuZXcgVGV4dFN0eWxlTW9kZWwoeyB1bmRlcmxpbmUgfSkpO1xuICAgIH1cblxuICAgIG9uQXBwbHlJdGFsaWMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0YWxpYyA9ICF0aGlzLnN0eWxlcy5pdGFsaWM7XG4gICAgICAgIHRoaXMuY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShuZXcgVGV4dFN0eWxlTW9kZWwoeyBpdGFsaWMgfSkpO1xuICAgIH1cblxuICAgIGFzeW5jIG9uQ3JlYXRlRWxlbWVudChtb2RlbDogRXh0ZXJuYWxFbGVtZW50TW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG1vZGVsLmZhY3RvcnlNZXRob2QoKTtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IG5ldyBFbGVtZW50RGF0YU1vZGVsKG1vZGVsLnR5cGUsIGRhdGEud2lkdGgsIGRhdGEuaGVpZ2h0LCBkYXRhLmd1aWQpO1xuICAgICAgICB0aGlzLmNyZWF0ZUVsZW1lbnQuZW1pdChlbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShzdHlsZTogVGV4dFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3U3R5bGVzID0geyAuLi50aGlzLnN0eWxlcywgLi4uc3R5bGUgfTtcbiAgICAgICAgY29uc3QgaXRhbGljID0gbmV3U3R5bGVzLml0YWxpYyA/ICdpdGFsaWMgJyA6ICcnO1xuICAgICAgICBjb25zdCBib2xkID0gbmV3U3R5bGVzLmJvbGQgPyAnYm9sZCAnIDogJyc7XG4gICAgICAgIGNvbnN0IGZvbnRTdHlsZXMgPSBgJHtpdGFsaWN9JHtib2xkfSR7bmV3U3R5bGVzLmZvbnRTaXplID8/IERFRkFVTFRfRk9OVF9TSVpFfXB0ICR7bmV3U3R5bGVzLmZvbnRGYW1pbHl9YDtcblxuICAgICAgICBpZiAoZG9jdW1lbnQuZm9udHMuY2hlY2soZm9udFN0eWxlcykpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVGV4dFN0eWxlLmVtaXQoc3R5bGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuZm9udHNcbiAgICAgICAgICAgIC5sb2FkKGZvbnRTdHlsZXMpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLmNoYW5nZVRleHRTdHlsZS5lbWl0KHN0eWxlKSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gY29udGludWUgcmVnYXJkbGVzcyBvZiBlcnJvclxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaXN0b3J5SW5mb1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmhpc3RvcnlJbmZvJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGhpc3RvcnlJbmZvID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FuVW5kbyA9IGhpc3RvcnlJbmZvLnN0ZXAgIT09IC0xO1xuICAgICAgICAgICAgdGhpcy5jYW5SZWRvID0gaGlzdG9yeUluZm8uc3RlcCA8IGhpc3RvcnlJbmZvLmxhc3RTdGVwO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3R5bGVzU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3R5bGVzJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHN0eWxlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlcyA9IHN0eWxlcztcbiAgICAgICAgICAgIHRoaXMubnVtYmVyaW5nVHlwZSA9IFRvb2xiYXJTdHlsZXNIZWxwZXIuZ2V0TnVtYmVyaW5nVHlwZShzdHlsZXMuaXNCdWxsZXRNYXJrZXIpO1xuICAgICAgICAgICAgdGhpcy5udW1iZXJpbmdUZW1wbGF0ZVR5cGUgPSBUb29sYmFyU3R5bGVzSGVscGVyLmdldE51bWJlcmluZ1RlbXBsYXRlVHlwZShzdHlsZXMubnVtYmVyaW5nTGV2ZWxzU3R5bGVzKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { NgxColorsModule } from 'ngx-colors';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "@angular/material/button";
11
+ import * as i4 from "@angular/material/icon";
12
+ import * as i5 from "ngx-colors";
13
+ export class ColorPickerComponent {
14
+ constructor() {
15
+ this.colorChange = new EventEmitter();
16
+ }
17
+ onChangeColor(color) {
18
+ this.colorChange.emit(color);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ColorPickerComponent, isStandalone: true, selector: "app-nod-color-picker", inputs: { color: "color", icon: "icon", isDisabled: "isDisabled", palette: "palette" }, outputs: { colorChange: "colorChange" }, ngImport: i0, template: "<button\n mat-button\n ngx-colors-trigger\n overlayClassName=\"noder-color-picker-overlay\"\n [disabled]=\"isDisabled\"\n [(ngModel)]=\"color\"\n [palette]=\"palette\"\n [hideTextInput]=\"true\"\n [attachTo]=\"icon\"\n (input)=\"onChangeColor(color)\">\n <div class=\"color-text\">\n <mat-icon\n fontSet=\"noder-icon\"\n [ngStyle]=\"{ color: color && color !== 'transparent' ? color : 'inherit' }\"\n [fontIcon]=\"icon\"></mat-icon>\n </div>\n</button>\n", styles: ["button{margin:0 3px}.color-text{display:inline-flex;height:22px}.mdc-button{min-width:32px;height:32px;width:32px;padding:0}.mdc-button mat-icon{height:24px;width:24px}.mdc-button::ng-deep .mdc-button__label{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: NgxColorsModule }, { kind: "directive", type: i5.NgxColorsTriggerDirective, selector: "[ngx-colors-trigger]", inputs: ["colorsAnimation", "palette", "format", "formats", "position", "hideTextInput", "hideColorPicker", "attachTo", "overlayClassName", "colorPickerControls", "acceptLabel", "cancelLabel"], outputs: ["change", "input", "slider", "close", "open"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ColorPickerComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ standalone: true, imports: [CommonModule, FormsModule, MatButtonModule, MatIconModule, NgxColorsModule], selector: 'app-nod-color-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n mat-button\n ngx-colors-trigger\n overlayClassName=\"noder-color-picker-overlay\"\n [disabled]=\"isDisabled\"\n [(ngModel)]=\"color\"\n [palette]=\"palette\"\n [hideTextInput]=\"true\"\n [attachTo]=\"icon\"\n (input)=\"onChangeColor(color)\">\n <div class=\"color-text\">\n <mat-icon\n fontSet=\"noder-icon\"\n [ngStyle]=\"{ color: color && color !== 'transparent' ? color : 'inherit' }\"\n [fontIcon]=\"icon\"></mat-icon>\n </div>\n</button>\n", styles: ["button{margin:0 3px}.color-text{display:inline-flex;height:22px}.mdc-button{min-width:32px;height:32px;width:32px;padding:0}.mdc-button mat-icon{height:24px;width:24px}.mdc-button::ng-deep .mdc-button__label{display:flex}\n"] }]
26
+ }], propDecorators: { color: [{
27
+ type: Input
28
+ }], icon: [{
29
+ type: Input
30
+ }], isDisabled: [{
31
+ type: Input
32
+ }], palette: [{
33
+ type: Input
34
+ }], colorChange: [{
35
+ type: Output
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy9idXR0b25zL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7O0FBVTdDLE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7UUFpQmMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBS3REO0lBSEcsYUFBYSxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0FiUSxvQkFBb0I7bUdBQXBCLG9CQUFvQixpTkNmakMsaWhCQWlCQSx3UkRSYyxZQUFZLG1IQUFFLFdBQVcsOFZBQUUsZUFBZSwyTkFBRSxhQUFhLG1MQUFFLGVBQWU7OzRGQU0zRSxvQkFBb0I7a0JBUmhDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxZQUMzRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTmd4Q29sb3JzTW9kdWxlIH0gZnJvbSAnbmd4LWNvbG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTmd4Q29sb3JzTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ2FwcC1ub2QtY29sb3ItcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2xvci1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDb2xvclBpY2tlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY29sb3I6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGljb246IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBwYWxldHRlOiBzdHJpbmdbXTtcblxuICAgIEBPdXRwdXQoKSBjb2xvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgb25DaGFuZ2VDb2xvcihjb2xvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sb3JDaGFuZ2UuZW1pdChjb2xvcik7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIG1hdC1idXR0b25cbiAgICBuZ3gtY29sb3JzLXRyaWdnZXJcbiAgICBvdmVybGF5Q2xhc3NOYW1lPVwibm9kZXItY29sb3ItcGlja2VyLW92ZXJsYXlcIlxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICBbKG5nTW9kZWwpXT1cImNvbG9yXCJcbiAgICBbcGFsZXR0ZV09XCJwYWxldHRlXCJcbiAgICBbaGlkZVRleHRJbnB1dF09XCJ0cnVlXCJcbiAgICBbYXR0YWNoVG9dPVwiaWNvblwiXG4gICAgKGlucHV0KT1cIm9uQ2hhbmdlQ29sb3IoY29sb3IpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbG9yLXRleHRcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBjb2xvciAmJiBjb2xvciAhPT0gJ3RyYW5zcGFyZW50JyA/IGNvbG9yIDogJ2luaGVyaXQnIH1cIlxuICAgICAgICAgICAgW2ZvbnRJY29uXT1cImljb25cIj48L21hdC1pY29uPlxuICAgIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatMenuModule } from '@angular/material/menu';
6
+ import { DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE } from '../../../../../editor/content/constants/editor.const';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/material/button";
10
+ import * as i3 from "@angular/material/icon";
11
+ import * as i4 from "@angular/material/menu";
12
+ export class FontComponent {
13
+ constructor() {
14
+ this.isDisabled = false;
15
+ this.selectFont = new EventEmitter();
16
+ this.fonts = [DEFAULT_FONT_FAMILY, 'Verdana', 'Arial', 'Times New Roman'];
17
+ this.font = DEFAULT_FONT_FAMILY;
18
+ }
19
+ set styles(value) {
20
+ if (!value?.fontFamily) {
21
+ return;
22
+ }
23
+ for (let fontFamily of value.fontFamily.split(', ')) {
24
+ const italic = value.italic ? 'italic ' : '';
25
+ const bold = value.bold ? 'bold ' : '';
26
+ const fontStyles = `${italic}${bold}${value.fontSize ?? DEFAULT_FONT_SIZE}pt ${fontFamily}`;
27
+ if (document.fonts.check(fontStyles)) {
28
+ this.font = fontFamily.replaceAll('"', '');
29
+ return;
30
+ }
31
+ }
32
+ }
33
+ onSelectFont(font) {
34
+ this.selectFont.emit(font);
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FontComponent, isStandalone: true, selector: "app-nod-font", inputs: { isDisabled: "isDisabled", styles: "styles" }, outputs: { selectFont: "selectFont" }, ngImport: i0, template: "<button\n mat-button\n [matMenuTriggerFor]=\"fontMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <div class=\"font-menu\">\n <span>{{ font }}</span>\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </div>\n</button>\n<mat-menu\n #fontMenu=\"matMenu\"\n class=\"noder-modal\">\n <ng-container *ngFor=\"let font of fonts\">\n <button\n mat-menu-item\n [disabled]=\"isDisabled\"\n (click)=\"onSelectFont(font)\">\n {{ font }}\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".font-menu{display:flex;justify-content:space-between;align-items:center;min-width:130px}span{padding-left:10%}button{height:28px;margin:0 4px}mat-icon{margin-right:5%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, MatMenuModule], selector: 'app-nod-font', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n mat-button\n [matMenuTriggerFor]=\"fontMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <div class=\"font-menu\">\n <span>{{ font }}</span>\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </div>\n</button>\n<mat-menu\n #fontMenu=\"matMenu\"\n class=\"noder-modal\">\n <ng-container *ngFor=\"let font of fonts\">\n <button\n mat-menu-item\n [disabled]=\"isDisabled\"\n (click)=\"onSelectFont(font)\">\n {{ font }}\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".font-menu{display:flex;justify-content:space-between;align-items:center;min-width:130px}span{padding-left:10%}button{height:28px;margin:0 4px}mat-icon{margin-right:5%}\n"] }]
42
+ }], propDecorators: { isDisabled: [{
43
+ type: Input
44
+ }], styles: [{
45
+ type: Input
46
+ }], selectFont: [{
47
+ type: Output
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL2NvbXBvbmVudHMvYnV0dG9ucy9mb250L2ZvbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvZm9udC9mb250LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7QUFXOUcsTUFBTSxPQUFPLGFBQWE7SUFSMUI7UUFTYSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBbUJsQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVsRCxVQUFLLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFckUsU0FBSSxHQUFHLG1CQUFtQixDQUFDO0tBSzlCO0lBMUJHLElBQ0ksTUFBTSxDQUFDLEtBQXFCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQ3BCLE9BQU87U0FDVjtRQUVELEtBQUssSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxVQUFVLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksaUJBQWlCLE1BQU0sVUFBVSxFQUFFLENBQUM7WUFDNUYsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDM0MsT0FBTzthQUNWO1NBQ0o7SUFDTCxDQUFDO0lBUUQsWUFBWSxDQUFDLElBQVk7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0E1QlEsYUFBYTttR0FBYixhQUFhLHVLQ2pCMUIsc25CQXVCQSxtT0RaYyxZQUFZLDJKQUFFLGVBQWUsMk5BQUUsYUFBYSxtTEFBRSxhQUFhOzs0RkFNNUQsYUFBYTtrQkFSekIsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsWUFDNUQsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxVQUFVO3NCQUFsQixLQUFLO2dCQUdGLE1BQU07c0JBRFQsS0FBSztnQkFpQkksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmltcG9ydCB7IERFRkFVTFRfRk9OVF9GQU1JTFksIERFRkFVTFRfRk9OVF9TSVpFIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZWRpdG9yL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5pbXBvcnQgeyBJVG9vbGJhclN0eWxlcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2VkaXRvci9jb250ZW50L2Rpc3BsYXktZGF0YS90b29sYmFyLXN0eWxlcy5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0TWVudU1vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWZvbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnZm9udC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2ZvbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb250Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzdHlsZXModmFsdWU6IElUb29sYmFyU3R5bGVzKSB7XG4gICAgICAgIGlmICghdmFsdWU/LmZvbnRGYW1pbHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGZvbnRGYW1pbHkgb2YgdmFsdWUuZm9udEZhbWlseS5zcGxpdCgnLCAnKSkge1xuICAgICAgICAgICAgY29uc3QgaXRhbGljID0gdmFsdWUuaXRhbGljID8gJ2l0YWxpYyAnIDogJyc7XG4gICAgICAgICAgICBjb25zdCBib2xkID0gdmFsdWUuYm9sZCA/ICdib2xkICcgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGZvbnRTdHlsZXMgPSBgJHtpdGFsaWN9JHtib2xkfSR7dmFsdWUuZm9udFNpemUgPz8gREVGQVVMVF9GT05UX1NJWkV9cHQgJHtmb250RmFtaWx5fWA7XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQuZm9udHMuY2hlY2soZm9udFN0eWxlcykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvbnQgPSBmb250RmFtaWx5LnJlcGxhY2VBbGwoJ1wiJywgJycpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBPdXRwdXQoKSBzZWxlY3RGb250ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBmb250cyA9IFtERUZBVUxUX0ZPTlRfRkFNSUxZLCAnVmVyZGFuYScsICdBcmlhbCcsICdUaW1lcyBOZXcgUm9tYW4nXTtcblxuICAgIGZvbnQgPSBERUZBVUxUX0ZPTlRfRkFNSUxZO1xuXG4gICAgb25TZWxlY3RGb250KGZvbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEZvbnQuZW1pdChmb250KTtcbiAgICB9XG59XG4iLCI8YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJmb250TWVudVwiXG4gICAgW21hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzXT1cImZhbHNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvbnQtbWVudVwiPlxuICAgICAgICA8c3Bhbj57eyBmb250IH19PC9zcGFuPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1hcnJvdy1kcm9wZG93blwiPjwvbWF0LWljb24+XG4gICAgPC9kaXY+XG48L2J1dHRvbj5cbjxtYXQtbWVudVxuICAgICNmb250TWVudT1cIm1hdE1lbnVcIlxuICAgIGNsYXNzPVwibm9kZXItbW9kYWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmb250IG9mIGZvbnRzXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdEZvbnQoZm9udClcIj5cbiAgICAgICAgICAgIHt7IGZvbnQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L21hdC1tZW51PlxuIl19
@@ -0,0 +1,90 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatSelectModule } from '@angular/material/select';
8
+ import { DEFAULT_FONT_SIZE } from '../../../../../editor/content/constants/editor.const';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "@angular/material/autocomplete";
12
+ import * as i3 from "@angular/material/core";
13
+ import * as i4 from "@angular/material/button";
14
+ import * as i5 from "@angular/material/icon";
15
+ import * as i6 from "@angular/forms";
16
+ export class FontSizeComponent {
17
+ constructor() {
18
+ this.selectFontSize = new EventEmitter();
19
+ this.fontSizeControl = new FormControl(0);
20
+ this.fontSizes = [8, 9, 10, 11, 12, DEFAULT_FONT_SIZE, 18, 24, 30, 36, 48, 60, 72, 96];
21
+ }
22
+ set isDisabled(value) {
23
+ this._isDisabled = value;
24
+ if (value) {
25
+ this.fontSizeControl.disable();
26
+ }
27
+ else {
28
+ this.fontSizeControl.enable();
29
+ }
30
+ }
31
+ get isDisabled() {
32
+ return this._isDisabled;
33
+ }
34
+ set fontSize(value) {
35
+ this.fontSizeControl.setValue(value);
36
+ this._fontSize = value;
37
+ this.highlightFontSize();
38
+ }
39
+ get fontSize() {
40
+ return this._fontSize;
41
+ }
42
+ onIncrementFontSize() {
43
+ if (this.fontSize >= 400) {
44
+ return;
45
+ }
46
+ this.selectFontSize.emit(this.fontSize + 1);
47
+ }
48
+ onDecrementFontSize() {
49
+ if (this.fontSize <= 1) {
50
+ return;
51
+ }
52
+ this.selectFontSize.emit(this.fontSize - 1);
53
+ }
54
+ onSelectFontSize(size) {
55
+ this.selectFontSize.emit(size);
56
+ }
57
+ onSetFontSize() {
58
+ const fontSize = +this.fontSizeControl.value;
59
+ if (!fontSize || fontSize < 1) {
60
+ return;
61
+ }
62
+ this.selectFontSize.emit(fontSize > 400 ? 400 : fontSize);
63
+ this.autocomplete.showPanel = false;
64
+ }
65
+ resetFontSize() {
66
+ this.fontSizeControl.setValue(this.fontSize);
67
+ }
68
+ highlightFontSize() {
69
+ if (this.autocomplete) {
70
+ this.autocomplete.options.find(x => x.selected)?.deselect();
71
+ this.autocomplete.options.find(x => x.value === this.fontSize)?.select();
72
+ }
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontSizeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FontSizeComponent, isStandalone: true, selector: "app-nod-font-size", inputs: { isDisabled: "isDisabled", fontSize: "fontSize" }, outputs: { selectFontSize: "selectFontSize" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onDecrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\"></mat-icon>\n</button>\n<input\n type=\"text\"\n [formControl]=\"fontSizeControl\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"onSetFontSize()\"\n (blur)=\"resetFontSize()\" />\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"60\"\n disableRipple=\"false\"\n hideSingleSelectionIndicator=\"true\">\n <mat-option\n *ngFor=\"let fontSize of fontSizes\"\n [value]=\"fontSize\"\n (click)=\"onSelectFontSize(fontSize)\">\n {{ fontSize }}\n </mat-option>\n</mat-autocomplete>\n<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onIncrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n</button>\n", styles: ["button{margin:4px}input{width:48px;height:32px;text-align:center;border-color:transparent;outline-color:#1b84e0}.mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}.mat-mdc-option{padding-left:6px;padding-right:6px;min-height:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontSizeComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ standalone: true, imports: [CommonModule, MatAutocompleteModule, MatButtonModule, MatIconModule, MatSelectModule, ReactiveFormsModule], selector: 'app-nod-font-size', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onDecrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\"></mat-icon>\n</button>\n<input\n type=\"text\"\n [formControl]=\"fontSizeControl\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"onSetFontSize()\"\n (blur)=\"resetFontSize()\" />\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"60\"\n disableRipple=\"false\"\n hideSingleSelectionIndicator=\"true\">\n <mat-option\n *ngFor=\"let fontSize of fontSizes\"\n [value]=\"fontSize\"\n (click)=\"onSelectFontSize(fontSize)\">\n {{ fontSize }}\n </mat-option>\n</mat-autocomplete>\n<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onIncrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n</button>\n", styles: ["button{margin:4px}input{width:48px;height:32px;text-align:center;border-color:transparent;outline-color:#1b84e0}.mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}.mat-mdc-option{padding-left:6px;padding-right:6px;min-height:30px}\n"] }]
80
+ }], propDecorators: { isDisabled: [{
81
+ type: Input
82
+ }], fontSize: [{
83
+ type: Input
84
+ }], selectFontSize: [{
85
+ type: Output
86
+ }], autocomplete: [{
87
+ type: ViewChild,
88
+ args: ['auto']
89
+ }] } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy9idXR0b25zL2ZvbnQtc2l6ZS9mb250LXNpemUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvZm9udC1zaXplL2ZvbnQtc2l6ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7QUFVekYsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQWlDYyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFJdEQsb0JBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBUyxDQUFDLENB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MUcsaUJBQWlCO2tCQVI3QixTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxZQUMxRyxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFHbEMsVUFBVTtzQkFBdEIsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBV0ksY0FBYztzQkFBdkIsTUFBTTtnQkFFWSxZQUFZO3NCQUE5QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlLCBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB7IERFRkFVTFRfRk9OVF9TSVpFIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZWRpdG9yL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWZvbnQtc2l6ZScsXG4gICAgdGVtcGxhdGVVcmw6ICdmb250LXNpemUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydmb250LXNpemUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb250U2l6ZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNEaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9udFNpemVDb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9udFNpemVDb250cm9sLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEaXNhYmxlZDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNEaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZvbnRTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5mb250U2l6ZUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLl9mb250U2l6ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmhpZ2hsaWdodEZvbnRTaXplKCk7XG4gICAgfVxuICAgIGdldCBmb250U2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9udFNpemU7XG4gICAgfVxuICAgIHByaXZhdGUgX2ZvbnRTaXplOiBudW1iZXI7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0Rm9udFNpemUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2F1dG8nKSBhdXRvY29tcGxldGU6IE1hdEF1dG9jb21wbGV0ZTtcblxuICAgIGZvbnRTaXplQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KDApO1xuXG4gICAgZm9udFNpemVzID0gWzgsIDksIDEwLCAxMSwgMTIsIERFRkFVTFRfRk9OVF9TSVpFLCAxOCwgMjQsIDMwLCAzNiwgNDgsIDYwLCA3MiwgOTZdO1xuXG4gICAgb25JbmNyZW1lbnRGb250U2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9udFNpemUgPj0gNDAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdEZvbnRTaXplLmVtaXQodGhpcy5mb250U2l6ZSArIDEpO1xuICAgIH1cblxuICAgIG9uRGVjcmVtZW50Rm9udFNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvbnRTaXplIDw9IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0Rm9udFNpemUuZW1pdCh0aGlzLmZvbnRTaXplIC0gMSk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RGb250U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb250U2l6ZS5lbWl0KHNpemUpO1xuICAgIH1cblxuICAgIG9uU2V0Rm9udFNpemUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvbnRTaXplID0gK3RoaXMuZm9udFNpemVDb250cm9sLnZhbHVlO1xuICAgICAgICBpZiAoIWZvbnRTaXplIHx8IGZvbnRTaXplIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RGb250U2l6ZS5lbWl0KGZvbnRTaXplID4gNDAwID8gNDAwIDogZm9udFNpemUpO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZS5zaG93UGFuZWwgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXNldEZvbnRTaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvbnRTaXplQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvbnRTaXplKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hsaWdodEZvbnRTaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLm9wdGlvbnMuZmluZCh4ID0+IHguc2VsZWN0ZWQpPy5kZXNlbGVjdCgpO1xuICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGUub3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gdGhpcy5mb250U2l6ZSk/LnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIG1hdC1idXR0b25cbiAgICBbZGlzYWJsZWRdPVwiIWZvbnRTaXplIHx8IGlzRGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJvbkRlY3JlbWVudEZvbnRTaXplKClcIj5cbiAgICA8bWF0LWljb25cbiAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICBmb250SWNvbj1cImljb24tcmVtb3ZlXCI+PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtmb3JtQ29udHJvbF09XCJmb250U2l6ZUNvbnRyb2xcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgKGtleXVwLmVudGVyKT1cIm9uU2V0Rm9udFNpemUoKVwiXG4gICAgKGJsdXIpPVwicmVzZXRGb250U2l6ZSgpXCIgLz5cbjxtYXQtYXV0b2NvbXBsZXRlXG4gICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgIHBhbmVsV2lkdGg9XCI2MFwiXG4gICAgZGlzYWJsZVJpcHBsZT1cImZhbHNlXCJcbiAgICBoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yPVwidHJ1ZVwiPlxuICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBmb250U2l6ZSBvZiBmb250U2l6ZXNcIlxuICAgICAgICBbdmFsdWVdPVwiZm9udFNpemVcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RGb250U2l6ZShmb250U2l6ZSlcIj5cbiAgICAgICAge3sgZm9udFNpemUgfX1cbiAgICA8L21hdC1vcHRpb24+XG48L21hdC1hdXRvY29tcGxldGU+XG48YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhZm9udFNpemUgfHwgaXNEaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cIm9uSW5jcmVtZW50Rm9udFNpemUoKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIj48L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,81 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { DEFAULT_FONT_COLOR } from '../../../../../editor/content/constants/editor.const';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../color-picker/color-picker.component";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/button-toggle";
7
+ import * as i4 from "@angular/material/icon";
8
+ export class FontStyleComponent {
9
+ constructor() {
10
+ this.isDisabled = false;
11
+ this.toggleBold = new EventEmitter();
12
+ this.toggleItalic = new EventEmitter();
13
+ this.toggleUnderline = new EventEmitter();
14
+ this.selectFontColor = new EventEmitter();
15
+ this.selectHighlightColor = new EventEmitter();
16
+ this.textColorPalette = [
17
+ DEFAULT_FONT_COLOR,
18
+ '#b60205',
19
+ '#d93f0b',
20
+ '#fbca04',
21
+ '#0e8a16',
22
+ '#006b75',
23
+ '#1d76db',
24
+ '#0052cc',
25
+ '#5319e7',
26
+ '#e99695',
27
+ '#f9d0c4',
28
+ '#fef2c0',
29
+ '#c2e0c6',
30
+ '#bfdadc',
31
+ '#c5def5',
32
+ '#bfd4f2',
33
+ '#d4c5f9'
34
+ ];
35
+ this.highlightColorPalette = ['none', ...this.textColorPalette];
36
+ }
37
+ onToggleBold() {
38
+ this.toggleBold.emit(!this.bold);
39
+ }
40
+ onToggleItalic() {
41
+ this.toggleItalic.emit(!this.italic);
42
+ }
43
+ onToggleUnderline() {
44
+ this.toggleUnderline.emit(!this.underline);
45
+ }
46
+ onSelectFontColor(color) {
47
+ this.selectFontColor.emit(color);
48
+ }
49
+ onSelectHighlightColor(color) {
50
+ this.selectHighlightColor.emit(color);
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontStyleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FontStyleComponent, selector: "app-nod-font-style", inputs: { isDisabled: "isDisabled", bold: "bold", italic: "italic", underline: "underline", fontColor: "fontColor", highlightColor: "highlightColor" }, outputs: { toggleBold: "toggleBold", toggleItalic: "toggleItalic", toggleUnderline: "toggleUnderline", selectFontColor: "selectFontColor", selectHighlightColor: "selectHighlightColor" }, ngImport: i0, template: "<mat-button-toggle-group\n multiple\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\">\n <mat-button-toggle\n [disabled]=\"isDisabled\"\n [checked]=\"bold\"\n (click)=\"onToggleBold()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-bold\" />\n </mat-button-toggle>\n <mat-button-toggle\n [disabled]=\"isDisabled\"\n [checked]=\"italic\"\n (click)=\"onToggleItalic()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-italic\" />\n </mat-button-toggle>\n <mat-button-toggle\n [disabled]=\"isDisabled\"\n [checked]=\"underline\"\n (click)=\"onToggleUnderline()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-underlined\" />\n </mat-button-toggle>\n</mat-button-toggle-group>\n<app-nod-color-picker\n *ngIf=\"selectFontColor.observed\"\n id=\"icon-format-colortext\"\n class=\"text-color\"\n [color]=\"fontColor\"\n [isDisabled]=\"isDisabled\"\n icon=\"icon-format-colortext\"\n [palette]=\"textColorPalette\"\n (colorChange)=\"onSelectFontColor($event)\" />\n<app-nod-color-picker\n *ngIf=\"selectHighlightColor.observed\"\n id=\"icon-link-highlighter\"\n class=\"highlight-color\"\n [color]=\"highlightColor\"\n [isDisabled]=\"isDisabled\"\n icon=\"icon-link-highlighter\"\n [palette]=\"highlightColorPalette\"\n (colorChange)=\"onSelectHighlightColor($event)\" />\n", styles: ["mat-button-toggle,button{margin:0 4px}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:0}:host{display:flex;align-items:center}:host ::ng-deep #format-color-highlight .circle.button:first-child,:host ::ng-deep #format-color-highlight .circle.wrapper.color:first-child{flex:100%;width:100%;background:no-repeat left/20px url(https://cdn3.iconfinder.com/data/icons/google-material-design-icons/48/ic_format_color_reset_48px-512.png);border-radius:unset}:host ::ng-deep #format-color-highlight .circle.button:first-child .circle.color.circle-border,:host ::ng-deep #format-color-highlight .circle.wrapper.color:first-child .circle.color.circle-border{width:100%;border:unset}:host ::ng-deep #format-color-highlight .circle.button:first-child .circle.color.circle-border .selected,:host ::ng-deep #format-color-highlight .circle.wrapper.color:first-child .circle.color.circle-border .selected{display:none}\n"], dependencies: [{ kind: "component", type: i1.ColorPickerComponent, selector: "app-nod-color-picker", inputs: ["color", "icon", "isDisabled", "palette"], outputs: ["colorChange"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontStyleComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-font-style', template: "<mat-button-toggle-group\n multiple\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\">\n <mat-button-toggle\n [disabled]=\"isDisabled\"\n [checked]=\"bold\"\n (click)=\"onToggleBold()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-bold\" />\n </mat-button-toggle>\n <mat-button-toggle\n [disabled]=\"isDisabled\"\n [checked]=\"italic\"\n (click)=\"onToggleItalic()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-italic\" />\n </mat-button-toggle>\n <mat-button-toggle\n [disabled]=\"isDisabled\"\n [checked]=\"underline\"\n (click)=\"onToggleUnderline()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-underlined\" />\n </mat-button-toggle>\n</mat-button-toggle-group>\n<app-nod-color-picker\n *ngIf=\"selectFontColor.observed\"\n id=\"icon-format-colortext\"\n class=\"text-color\"\n [color]=\"fontColor\"\n [isDisabled]=\"isDisabled\"\n icon=\"icon-format-colortext\"\n [palette]=\"textColorPalette\"\n (colorChange)=\"onSelectFontColor($event)\" />\n<app-nod-color-picker\n *ngIf=\"selectHighlightColor.observed\"\n id=\"icon-link-highlighter\"\n class=\"highlight-color\"\n [color]=\"highlightColor\"\n [isDisabled]=\"isDisabled\"\n icon=\"icon-link-highlighter\"\n [palette]=\"highlightColorPalette\"\n (colorChange)=\"onSelectHighlightColor($event)\" />\n", styles: ["mat-button-toggle,button{margin:0 4px}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:0}:host{display:flex;align-items:center}:host ::ng-deep #format-color-highlight .circle.button:first-child,:host ::ng-deep #format-color-highlight .circle.wrapper.color:first-child{flex:100%;width:100%;background:no-repeat left/20px url(https://cdn3.iconfinder.com/data/icons/google-material-design-icons/48/ic_format_color_reset_48px-512.png);border-radius:unset}:host ::ng-deep #format-color-highlight .circle.button:first-child .circle.color.circle-border,:host ::ng-deep #format-color-highlight .circle.wrapper.color:first-child .circle.color.circle-border{width:100%;border:unset}:host ::ng-deep #format-color-highlight .circle.button:first-child .circle.color.circle-border .selected,:host ::ng-deep #format-color-highlight .circle.wrapper.color:first-child .circle.color.circle-border .selected{display:none}\n"] }]
58
+ }], propDecorators: { isDisabled: [{
59
+ type: Input
60
+ }], bold: [{
61
+ type: Input
62
+ }], italic: [{
63
+ type: Input
64
+ }], underline: [{
65
+ type: Input
66
+ }], fontColor: [{
67
+ type: Input
68
+ }], highlightColor: [{
69
+ type: Input
70
+ }], toggleBold: [{
71
+ type: Output
72
+ }], toggleItalic: [{
73
+ type: Output
74
+ }], toggleUnderline: [{
75
+ type: Output
76
+ }], selectFontColor: [{
77
+ type: Output
78
+ }], selectHighlightColor: [{
79
+ type: Output
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zdHlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL2NvbXBvbmVudHMvYnV0dG9ucy9mb250LXN0eWxlL2ZvbnQtc3R5bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvZm9udC1zdHlsZS9mb250LXN0eWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7OztBQVExRixNQUFNLE9BQU8sa0JBQWtCO0lBTi9CO1FBT2EsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVlsQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV6QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFM0Msb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTlDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUU3Qyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTVELHFCQUFnQixHQUFHO1lBQ2Ysa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7U0FDWixDQUFDO1FBRUYsMEJBQXFCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQXFCOUQ7SUFuQkcsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzsrR0EvRFEsa0JBQWtCO21HQUFsQixrQkFBa0IsNllDVi9CLHlpREErQ0E7OzRGRHJDYSxrQkFBa0I7a0JBTjlCLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxvQkFBb0I7OEJBS3JCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVHLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBERUZBVUxUX0ZPTlRfQ09MT1IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9lZGl0b3IvY29udGVudC9jb25zdGFudHMvZWRpdG9yLmNvbnN0JztcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWZvbnQtc3R5bGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnZm9udC1zdHlsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2ZvbnQtc3R5bGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb250U3R5bGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGJvbGQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBpdGFsaWM6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB1bmRlcmxpbmU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBmb250Q29sb3I6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGhpZ2hsaWdodENvbG9yOiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCkgdG9nZ2xlQm9sZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKSB0b2dnbGVJdGFsaWMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KCkgdG9nZ2xlVW5kZXJsaW5lID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdEZvbnRDb2xvciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdEhpZ2hsaWdodENvbG9yID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICB0ZXh0Q29sb3JQYWxldHRlID0gW1xuICAgICAgICBERUZBVUxUX0ZPTlRfQ09MT1IsXG4gICAgICAgICcjYjYwMjA1JyxcbiAgICAgICAgJyNkOTNmMGInLFxuICAgICAgICAnI2ZiY2EwNCcsXG4gICAgICAgICcjMGU4YTE2JyxcbiAgICAgICAgJyMwMDZiNzUnLFxuICAgICAgICAnIzFkNzZkYicsXG4gICAgICAgICcjMDA1MmNjJyxcbiAgICAgICAgJyM1MzE5ZTcnLFxuICAgICAgICAnI2U5OTY5NScsXG4gICAgICAgICcjZjlkMGM0JyxcbiAgICAgICAgJyNmZWYyYzAnLFxuICAgICAgICAnI2MyZTBjNicsXG4gICAgICAgICcjYmZkYWRjJyxcbiAgICAgICAgJyNjNWRlZjUnLFxuICAgICAgICAnI2JmZDRmMicsXG4gICAgICAgICcjZDRjNWY5J1xuICAgIF07XG5cbiAgICBoaWdobGlnaHRDb2xvclBhbGV0dGUgPSBbJ25vbmUnLCAuLi50aGlzLnRleHRDb2xvclBhbGV0dGVdO1xuXG4gICAgb25Ub2dnbGVCb2xkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZUJvbGQuZW1pdCghdGhpcy5ib2xkKTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZUl0YWxpYygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGVJdGFsaWMuZW1pdCghdGhpcy5pdGFsaWMpO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlVW5kZXJsaW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZVVuZGVybGluZS5lbWl0KCF0aGlzLnVuZGVybGluZSk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RGb250Q29sb3IoY29sb3I6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEZvbnRDb2xvci5lbWl0KGNvbG9yKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdEhpZ2hsaWdodENvbG9yKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RIaWdobGlnaHRDb2xvci5lbWl0KGNvbG9yKTtcbiAgICB9XG59XG4iLCI8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcbiAgICBtdWx0aXBsZVxuICAgIFtoaWRlTXVsdGlwbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXG4gICAgW2hpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiPlxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgIFtjaGVja2VkXT1cImJvbGRcIlxuICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVCb2xkKClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZm9ybWF0LWJvbGRcIiAvPlxuICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgPG1hdC1idXR0b24tdG9nZ2xlXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiaXRhbGljXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlSXRhbGljKClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZm9ybWF0LWl0YWxpY1wiIC8+XG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICA8bWF0LWJ1dHRvbi10b2dnbGVcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICAgICAgICBbY2hlY2tlZF09XCJ1bmRlcmxpbmVcIlxuICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVVbmRlcmxpbmUoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1mb3JtYXQtdW5kZXJsaW5lZFwiIC8+XG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbjwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG48YXBwLW5vZC1jb2xvci1waWNrZXJcbiAgICAqbmdJZj1cInNlbGVjdEZvbnRDb2xvci5vYnNlcnZlZFwiXG4gICAgaWQ9XCJpY29uLWZvcm1hdC1jb2xvcnRleHRcIlxuICAgIGNsYXNzPVwidGV4dC1jb2xvclwiXG4gICAgW2NvbG9yXT1cImZvbnRDb2xvclwiXG4gICAgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgaWNvbj1cImljb24tZm9ybWF0LWNvbG9ydGV4dFwiXG4gICAgW3BhbGV0dGVdPVwidGV4dENvbG9yUGFsZXR0ZVwiXG4gICAgKGNvbG9yQ2hhbmdlKT1cIm9uU2VsZWN0Rm9udENvbG9yKCRldmVudClcIiAvPlxuPGFwcC1ub2QtY29sb3ItcGlja2VyXG4gICAgKm5nSWY9XCJzZWxlY3RIaWdobGlnaHRDb2xvci5vYnNlcnZlZFwiXG4gICAgaWQ9XCJpY29uLWxpbmstaGlnaGxpZ2h0ZXJcIlxuICAgIGNsYXNzPVwiaGlnaGxpZ2h0LWNvbG9yXCJcbiAgICBbY29sb3JdPVwiaGlnaGxpZ2h0Q29sb3JcIlxuICAgIFtpc0Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICAgIGljb249XCJpY29uLWxpbmstaGlnaGxpZ2h0ZXJcIlxuICAgIFtwYWxldHRlXT1cImhpZ2hsaWdodENvbG9yUGFsZXR0ZVwiXG4gICAgKGNvbG9yQ2hhbmdlKT1cIm9uU2VsZWN0SGlnaGxpZ2h0Q29sb3IoJGV2ZW50KVwiIC8+XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Alignment } from '../../../../../apart-components/editor-toolbar/shared/enums/alignment.enum';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button-toggle";
5
+ import * as i2 from "@angular/material/icon";
6
+ export class FormatComponent {
7
+ constructor() {
8
+ this.isDisabled = false;
9
+ this.selectAlignment = new EventEmitter();
10
+ this.alignments = Alignment;
11
+ }
12
+ onSelectFormat(format) {
13
+ this.selectAlignment.emit(format);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormatComponent, selector: "app-nod-format", inputs: { isDisabled: "isDisabled", alignment: "alignment" }, outputs: { selectAlignment: "selectAlignment" }, ngImport: i0, template: "<mat-button-toggle-group\n name=\"format\"\n aria-label=\"format\"\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\"\n [disabled]=\"isDisabled\"\n [value]=\"alignment\"\n (change)=\"onSelectFormat($event.value)\">\n <mat-button-toggle [value]=\"alignments.Left\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignleft\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"alignments.Center\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-aligncenter\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"alignments.Right\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignright\"></mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n", styles: [":host{display:flex;align-items:center}mat-button-toggle{margin:0 3px}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:0}\n"], dependencies: [{ kind: "directive", type: i1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-format', template: "<mat-button-toggle-group\n name=\"format\"\n aria-label=\"format\"\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\"\n [disabled]=\"isDisabled\"\n [value]=\"alignment\"\n (change)=\"onSelectFormat($event.value)\">\n <mat-button-toggle [value]=\"alignments.Left\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignleft\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"alignments.Center\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-aligncenter\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"alignments.Right\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignright\"></mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n", styles: [":host{display:flex;align-items:center}mat-button-toggle{margin:0 3px}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:0}\n"] }]
21
+ }], propDecorators: { isDisabled: [{
22
+ type: Input
23
+ }], alignment: [{
24
+ type: Input
25
+ }], selectAlignment: [{
26
+ type: Output
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy9idXR0b25zL2Zvcm1hdC9mb3JtYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvZm9ybWF0L2Zvcm1hdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQzs7OztBQVF2RyxNQUFNLE9BQU8sZUFBZTtJQU41QjtRQU9hLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJbEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBRWpELGVBQVUsR0FBRyxTQUFTLENBQUM7S0FLbkM7SUFIRyxjQUFjLENBQUMsTUFBaUI7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQzsrR0FYUSxlQUFlO21HQUFmLGVBQWUscUtDVjVCLDAzQkF3QkE7OzRGRGRhLGVBQWU7a0JBTjNCLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxnQkFBZ0I7OEJBS2pCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFsaWdubWVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2VudW1zL2FsaWdubWVudC5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWZvcm1hdCcsXG4gICAgdGVtcGxhdGVVcmw6ICdmb3JtYXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydmb3JtYXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtYXRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGFsaWdubWVudDogbnVtYmVyO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdEFsaWdubWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8QWxpZ25tZW50PigpO1xuXG4gICAgcmVhZG9ubHkgYWxpZ25tZW50cyA9IEFsaWdubWVudDtcblxuICAgIG9uU2VsZWN0Rm9ybWF0KGZvcm1hdDogQWxpZ25tZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxpZ25tZW50LmVtaXQoZm9ybWF0KTtcbiAgICB9XG59XG4iLCI8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcbiAgICBuYW1lPVwiZm9ybWF0XCJcbiAgICBhcmlhLWxhYmVsPVwiZm9ybWF0XCJcbiAgICBbaGlkZU11bHRpcGxlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIlxuICAgIFtoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICBbdmFsdWVdPVwiYWxpZ25tZW50XCJcbiAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Rm9ybWF0KCRldmVudC52YWx1ZSlcIj5cbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImFsaWdubWVudHMuTGVmdFwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1mb3JtYXQtYWxpZ25sZWZ0XCI+PC9tYXQtaWNvbj5cbiAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiYWxpZ25tZW50cy5DZW50ZXJcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZm9ybWF0LWFsaWduY2VudGVyXCI+PC9tYXQtaWNvbj5cbiAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiYWxpZ25tZW50cy5SaWdodFwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1mb3JtYXQtYWxpZ25yaWdodFwiPjwvbWF0LWljb24+XG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbjwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/button";
5
+ import * as i3 from "@angular/material/icon";
6
+ import * as i4 from "@angular/material/menu";
7
+ export class HeadingComponent {
8
+ constructor() {
9
+ this.headings = ['Normal Text', 'Not Normal Text', 'Test Text'];
10
+ this.selectedHeading = this.headings[0];
11
+ }
12
+ onSelectHeading(heading) {
13
+ this.selectedHeading = heading;
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HeadingComponent, selector: "app-nod-heading", ngImport: i0, template: "<button\n mat-button\n [matMenuTriggerFor]=\"headingMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <div class=\"heading-menu\">\n <span>{{ selectedHeading }}</span>\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </div>\n</button>\n<mat-menu #headingMenu=\"matMenu\">\n <ng-container *ngFor=\"let heading of headings\">\n <button\n mat-menu-item\n (click)=\"onSelectHeading(heading)\">\n {{ heading }}\n </button>\n </ng-container>\n</mat-menu>\n", styles: [":host{display:flex;align-items:center}.heading-menu{display:flex;justify-content:space-between;align-items:center;min-width:150px}span{padding-left:10%}mat-icon{margin-right:5%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeadingComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-heading', template: "<button\n mat-button\n [matMenuTriggerFor]=\"headingMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <div class=\"heading-menu\">\n <span>{{ selectedHeading }}</span>\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </div>\n</button>\n<mat-menu #headingMenu=\"matMenu\">\n <ng-container *ngFor=\"let heading of headings\">\n <button\n mat-menu-item\n (click)=\"onSelectHeading(heading)\">\n {{ heading }}\n </button>\n </ng-container>\n</mat-menu>\n", styles: [":host{display:flex;align-items:center}.heading-menu{display:flex;justify-content:space-between;align-items:center;min-width:150px}span{padding-left:10%}mat-icon{margin-right:5%}\n"] }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL2NvbXBvbmVudHMvYnV0dG9ucy9oZWFkaW5nL2hlYWRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvaGVhZGluZy9oZWFkaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVFuRSxNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBT0ksYUFBUSxHQUFHLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTNELG9CQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUt0QztJQUhHLGVBQWUsQ0FBQyxPQUFlO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO0lBQ25DLENBQUM7K0dBUFEsZ0JBQWdCO21HQUFoQixnQkFBZ0IsdURDUjdCLGtsQkFvQkE7OzRGRFphLGdCQUFnQjtrQkFONUIsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWhlYWRpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnaGVhZGluZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2hlYWRpbmcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIZWFkaW5nQ29tcG9uZW50IHtcbiAgICBoZWFkaW5ncyA9IFsnTm9ybWFsIFRleHQnLCAnTm90IE5vcm1hbCBUZXh0JywgJ1Rlc3QgVGV4dCddO1xuXG4gICAgc2VsZWN0ZWRIZWFkaW5nID0gdGhpcy5oZWFkaW5nc1swXTtcblxuICAgIG9uU2VsZWN0SGVhZGluZyhoZWFkaW5nOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEhlYWRpbmcgPSBoZWFkaW5nO1xuICAgIH1cbn1cbiIsIjxidXR0b25cbiAgICBtYXQtYnV0dG9uXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImhlYWRpbmdNZW51XCJcbiAgICBbbWF0TWVudVRyaWdnZXJSZXN0b3JlRm9jdXNdPVwiZmFsc2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1tZW51XCI+XG4gICAgICAgIDxzcGFuPnt7IHNlbGVjdGVkSGVhZGluZyB9fTwvc3Bhbj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tYXJyb3ctZHJvcGRvd25cIj48L21hdC1pY29uPlxuICAgIDwvZGl2PlxuPC9idXR0b24+XG48bWF0LW1lbnUgI2hlYWRpbmdNZW51PVwibWF0TWVudVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgaGVhZGluZ3NcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0SGVhZGluZyhoZWFkaW5nKVwiPlxuICAgICAgICAgICAge3sgaGVhZGluZyB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LW1lbnU+XG4iXX0=