@talrace/ngx-noder 0.0.18 → 0.0.20

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 (288) hide show
  1. package/fesm2022/talrace-ngx-noder.mjs +181 -181
  2. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  3. package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
  4. package/lib/editor/components/external-element/external.component.d.ts +1 -1
  5. package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
  6. package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
  7. package/package.json +1 -3
  8. package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
  9. package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
  10. package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
  11. package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
  12. package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
  13. package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
  14. package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
  15. package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
  16. package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
  17. package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
  18. package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
  19. package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
  20. package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
  21. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
  22. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
  23. package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
  24. package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
  25. package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
  26. package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
  27. package/src/lib/editor/components/_editor.theme.scss +25 -28
  28. package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
  29. package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
  30. package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -49
  31. package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -34
  32. package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -75
  33. package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -95
  34. package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -24
  35. package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
  36. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
  37. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
  38. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
  39. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
  40. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
  41. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
  42. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
  43. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
  44. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
  45. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -107
  46. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -25
  47. package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
  48. package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -86
  49. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
  50. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -122
  51. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
  52. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
  53. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
  54. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
  55. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
  56. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
  57. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
  58. package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
  59. package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
  60. package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
  61. package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
  62. package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
  63. package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -86
  64. package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -134
  65. package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
  66. package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
  67. package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -141
  68. package/esm2022/lib/editor/components/edges/edges.mjs +0 -120
  69. package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
  70. package/esm2022/lib/editor/components/editor.component.mjs +0 -112
  71. package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
  72. package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
  73. package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
  74. package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
  75. package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
  76. package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
  77. package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
  78. package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
  79. package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
  80. package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
  81. package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
  82. package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
  83. package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
  84. package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
  85. package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
  86. package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
  87. package/esm2022/lib/editor/components/image/size.mjs +0 -2
  88. package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
  89. package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
  90. package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
  91. package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
  92. package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
  93. package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
  94. package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
  95. package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
  96. package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
  97. package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
  98. package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
  99. package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
  100. package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
  101. package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
  102. package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
  103. package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
  104. package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
  105. package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
  106. package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
  107. package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
  108. package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
  109. package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -84
  110. package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
  111. package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
  112. package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
  113. package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
  114. package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
  115. package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
  116. package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
  117. package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
  118. package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
  119. package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
  120. package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
  121. package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
  122. package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
  123. package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
  124. package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
  125. package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
  126. package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
  127. package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
  128. package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
  129. package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
  130. package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
  131. package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
  132. package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
  133. package/esm2022/lib/editor/content/margin.model.mjs +0 -16
  134. package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
  135. package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
  136. package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
  137. package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
  138. package/esm2022/lib/editor/display/event.helper.mjs +0 -18
  139. package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
  140. package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
  141. package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
  142. package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
  143. package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
  144. package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
  145. package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
  146. package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
  147. package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
  148. package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
  149. package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
  150. package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
  151. package/esm2022/lib/editor/display/renderer.mjs +0 -204
  152. package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
  153. package/esm2022/lib/editor/display/renderloop.mjs +0 -26
  154. package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
  155. package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
  156. package/esm2022/lib/editor/editor.module.mjs +0 -91
  157. package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
  158. package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
  159. package/esm2022/lib/editor/execution/editor.mjs +0 -1368
  160. package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
  161. package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
  162. package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
  163. package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
  164. package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
  165. package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
  166. package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
  167. package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
  168. package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
  169. package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
  170. package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
  171. package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
  172. package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
  173. package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
  174. package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
  175. package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
  176. package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
  177. package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
  178. package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
  179. package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
  180. package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
  181. package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
  182. package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
  183. package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
  184. package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -86
  185. package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
  186. package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
  187. package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
  188. package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
  189. package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
  190. package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
  191. package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
  192. package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
  193. package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
  194. package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
  195. package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
  196. package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
  197. package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
  198. package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
  199. package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
  200. package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
  201. package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
  202. package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
  203. package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
  204. package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
  205. package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
  206. package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
  207. package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
  208. package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
  209. package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
  210. package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
  211. package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
  212. package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
  213. package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
  214. package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
  215. package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
  216. package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
  217. package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
  218. package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
  219. package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
  220. package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
  221. package/esm2022/lib/editor/positioning/range.mjs +0 -94
  222. package/esm2022/lib/editor/positioning/selection.mjs +0 -351
  223. package/esm2022/lib/editor/revision.helper.mjs +0 -94
  224. package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
  225. package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
  226. package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
  227. package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
  228. package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
  229. package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
  230. package/esm2022/lib/models/generated/break.model.mjs +0 -8
  231. package/esm2022/lib/models/generated/cell.model.mjs +0 -12
  232. package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
  233. package/esm2022/lib/models/generated/column.model.mjs +0 -8
  234. package/esm2022/lib/models/generated/command.model.mjs +0 -120
  235. package/esm2022/lib/models/generated/delete.model.mjs +0 -8
  236. package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
  237. package/esm2022/lib/models/generated/document.model.mjs +0 -8
  238. package/esm2022/lib/models/generated/docx.model.mjs +0 -12
  239. package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
  240. package/esm2022/lib/models/generated/edge.model.mjs +0 -8
  241. package/esm2022/lib/models/generated/element.model.mjs +0 -8
  242. package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
  243. package/esm2022/lib/models/generated/format.model.mjs +0 -12
  244. package/esm2022/lib/models/generated/heading.model.mjs +0 -16
  245. package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
  246. package/esm2022/lib/models/generated/image.model.mjs +0 -12
  247. package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
  248. package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
  249. package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
  250. package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
  251. package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
  252. package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
  253. package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
  254. package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
  255. package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
  256. package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
  257. package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
  258. package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
  259. package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
  260. package/esm2022/lib/models/generated/link.model.mjs +0 -8
  261. package/esm2022/lib/models/generated/margins.model.mjs +0 -8
  262. package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
  263. package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
  264. package/esm2022/lib/models/generated/operation.model.mjs +0 -12
  265. package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
  266. package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
  267. package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
  268. package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
  269. package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
  270. package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
  271. package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
  272. package/esm2022/lib/models/generated/replace.model.mjs +0 -44
  273. package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
  274. package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
  275. package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
  276. package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
  277. package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
  278. package/esm2022/lib/models/generated/restore.model.mjs +0 -8
  279. package/esm2022/lib/models/generated/revision.model.mjs +0 -12
  280. package/esm2022/lib/models/generated/row.model.mjs +0 -8
  281. package/esm2022/lib/models/generated/tab.model.mjs +0 -8
  282. package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
  283. package/esm2022/lib/models/generated/table.model.mjs +0 -12
  284. package/esm2022/lib/models/generated/target.model.mjs +0 -16
  285. package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
  286. package/esm2022/lib/translate/noder-translate.loader.mjs +0 -22
  287. package/esm2022/public-api.mjs +0 -54
  288. package/esm2022/talrace-ngx-noder.mjs +0 -5
@@ -1,60 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { Injectable } from '@angular/core';
3
- import { EditorToolbarMode } from '../enums/editor-toolbar-mode.enum';
4
- import { MenuDropdownsMobileComponent } from '../../components/menu-dropdowns-mobile/menu-dropdowns-mobile.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../../editor/interaction/editor.service";
7
- export class ToolbarCoreService {
8
- set mode(value) {
9
- this._mode$.next(value);
10
- }
11
- get mode$() {
12
- return this._mode$.asObservable();
13
- }
14
- set actions(value) {
15
- this._actions = value;
16
- }
17
- get actions() {
18
- return this._actions;
19
- }
20
- set backTitle(value) {
21
- this._backTitle = value;
22
- }
23
- get backTitle() {
24
- const currentMode = this.getMode();
25
- return currentMode === EditorToolbarMode.Insert || currentMode === EditorToolbarMode.ExternalComponent ? this._backTitle : '';
26
- }
27
- constructor(editorService) {
28
- this.editorService = editorService;
29
- this._mode$ = new BehaviorSubject(EditorToolbarMode.Base);
30
- }
31
- getMode() {
32
- return this._mode$.value;
33
- }
34
- back() {
35
- const currentMode = this.getMode();
36
- if (currentMode === EditorToolbarMode.Menu || currentMode === EditorToolbarMode.ExternalComponent) {
37
- this.reset();
38
- }
39
- else if (currentMode === EditorToolbarMode.Insert) {
40
- this.openBurgerMenu();
41
- }
42
- else {
43
- this._mode$.next(EditorToolbarMode.Base);
44
- }
45
- }
46
- reset() {
47
- this.editorService.closeSidenav();
48
- this._mode$.next(EditorToolbarMode.Base);
49
- }
50
- openBurgerMenu() {
51
- this.mode = EditorToolbarMode.Menu;
52
- this.editorService.openSidenav(MenuDropdownsMobileComponent);
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarCoreService, deps: [{ token: i1.EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
55
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarCoreService }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarCoreService, decorators: [{
58
- type: Injectable
59
- }], ctorParameters: () => [{ type: i1.EditorService }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1jb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL3NoYXJlZC9zZXJ2aWNlcy90b29sYmFyLWNvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7OztBQWtCdEgsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixJQUFJLElBQUksQ0FBQyxLQUF3QjtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFHRCxJQUFJLE9BQU8sQ0FBQyxLQUFlO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUdELElBQUksU0FBUyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksU0FBUztRQUNULE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxPQUFPLFdBQVcsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNLElBQUksV0FBVyxLQUFLLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEksQ0FBQztJQUdELFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbkJ4QyxXQUFNLEdBQXVDLElBQUksZUFBZSxDQUFvQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQW1CakUsQ0FBQztJQUVwRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSTtRQUNBLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxJQUFJLFdBQVcsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksV0FBVyxLQUFLLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFO1lBQy9GLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjthQUFNLElBQUksV0FBVyxLQUFLLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNqRSxDQUFDOytHQW5EUSxrQkFBa0I7bUhBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWRpdG9yL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvclRvb2xiYXJNb2RlIH0gZnJvbSAnLi4vZW51bXMvZWRpdG9yLXRvb2xiYXItbW9kZS5lbnVtJztcbmltcG9ydCB7IEV4dGVybmFsRWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWRpdG9yL2NvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZXh0ZXJuYWwtZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBNZW51RHJvcGRvd25zTW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tZW51LWRyb3Bkb3ducy1tb2JpbGUvbWVudS1kcm9wZG93bnMtbW9iaWxlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFjdGlvbnMge1xuICAgIG5ldzogKCkgPT4gdm9pZDtcbiAgICBvcGVuRnJvbTogKCkgPT4gdm9pZDtcbiAgICBzYXZlQXM6ICgpID0+IHZvaWQ7XG4gICAgcmVuYW1lOiAoKSA9PiB2b2lkO1xuICAgIHByaW50OiAoKSA9PiB2b2lkO1xuICAgIGRlbGV0ZTogKCkgPT4gdm9pZDtcbiAgICBpbnNlcnRJbWFnZTogKCkgPT4gdm9pZDtcbiAgICBpbnNlcnRUYWJsZTogKCkgPT4gdm9pZDtcbiAgICBpbnNlcnRMaW5rOiAoKSA9PiB2b2lkO1xuICAgIGluc2VydEN1c3RvbUVsZW1lbnQ6IChtb2RlbDogRXh0ZXJuYWxFbGVtZW50TW9kZWwpID0+IFByb21pc2U8dm9pZD47XG4gICAgaW5zZXJ0UGFnZUJyZWFrOiAoKSA9PiB2b2lkO1xuICAgIHRleHRGb3JtYXQ6ICgpID0+IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb29sYmFyQ29yZVNlcnZpY2Uge1xuICAgIHNldCBtb2RlKHZhbHVlOiBFZGl0b3JUb29sYmFyTW9kZSkge1xuICAgICAgICB0aGlzLl9tb2RlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IG1vZGUkKCk6IE9ic2VydmFibGU8RWRpdG9yVG9vbGJhck1vZGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9tb2RlJDogQmVoYXZpb3JTdWJqZWN0PEVkaXRvclRvb2xiYXJNb2RlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWRpdG9yVG9vbGJhck1vZGU+KEVkaXRvclRvb2xiYXJNb2RlLkJhc2UpO1xuXG4gICAgc2V0IGFjdGlvbnModmFsdWU6IElBY3Rpb25zKSB7XG4gICAgICAgIHRoaXMuX2FjdGlvbnMgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGFjdGlvbnMoKTogSUFjdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aW9ucztcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWN0aW9ucyE6IElBY3Rpb25zO1xuXG4gICAgc2V0IGJhY2tUaXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2JhY2tUaXRsZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYmFja1RpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlID0gdGhpcy5nZXRNb2RlKCk7XG4gICAgICAgIHJldHVybiBjdXJyZW50TW9kZSA9PT0gRWRpdG9yVG9vbGJhck1vZGUuSW5zZXJ0IHx8IGN1cnJlbnRNb2RlID09PSBFZGl0b3JUb29sYmFyTW9kZS5FeHRlcm5hbENvbXBvbmVudCA/IHRoaXMuX2JhY2tUaXRsZSA6ICcnO1xuICAgIH1cbiAgICBwcml2YXRlIF9iYWNrVGl0bGUhOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UpIHt9XG5cbiAgICBnZXRNb2RlKCk6IEVkaXRvclRvb2xiYXJNb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGUkLnZhbHVlO1xuICAgIH1cblxuICAgIGJhY2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlID0gdGhpcy5nZXRNb2RlKCk7XG4gICAgICAgIGlmIChjdXJyZW50TW9kZSA9PT0gRWRpdG9yVG9vbGJhck1vZGUuTWVudSB8fCBjdXJyZW50TW9kZSA9PT0gRWRpdG9yVG9vbGJhck1vZGUuRXh0ZXJuYWxDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50TW9kZSA9PT0gRWRpdG9yVG9vbGJhck1vZGUuSW5zZXJ0KSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5CdXJnZXJNZW51KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9tb2RlJC5uZXh0KEVkaXRvclRvb2xiYXJNb2RlLkJhc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jbG9zZVNpZGVuYXYoKTtcbiAgICAgICAgdGhpcy5fbW9kZSQubmV4dChFZGl0b3JUb29sYmFyTW9kZS5CYXNlKTtcbiAgICB9XG5cbiAgICBvcGVuQnVyZ2VyTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlID0gRWRpdG9yVG9vbGJhck1vZGUuTWVudTtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLm9wZW5TaWRlbmF2KE1lbnVEcm9wZG93bnNNb2JpbGVDb21wb25lbnQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { NumberingMarkerType } from '../../../editor/gadgets/numbering/numbering-marker-type.enum';
2
- import { NumberingTemplateType } from './enums/numbering-template-type.enum';
3
- export class ToolbarStylesHelper {
4
- static getNumberingTemplateType(levelsMarkersStyles) {
5
- const type = NumberingMarkerType;
6
- const bulletMarkerStyles1 = `●${type.Bullet}○${type.Bullet}■${type.Bullet}●${type.Bullet}○${type.Bullet}■${type.Bullet}●${type.Bullet}○${type.Bullet}■${type.Bullet}`;
7
- const bulletMarkerStyles2 = `■${type.Bullet}□${type.Bullet}○${type.Bullet}■${type.Bullet}□${type.Bullet}○${type.Bullet}■${type.Bullet}□${type.Bullet}○${type.Bullet}`;
8
- const bulletMarkerStyles3 = `◆${type.Bullet}◇${type.Bullet}○${type.Bullet}◆${type.Bullet}◇${type.Bullet}○${type.Bullet}◆${type.Bullet}◇${type.Bullet}○${type.Bullet}`;
9
- const bulletMarkerStyles4 = `➢${type.Bullet}◆${type.Bullet}●${type.Bullet}➢${type.Bullet}◆${type.Bullet}●${type.Bullet}➢${type.Bullet}◆${type.Bullet}●${type.Bullet}`;
10
- const bulletMarkerStyles5 = `★${type.Bullet}○${type.Bullet}□${type.Bullet}★${type.Bullet}○${type.Bullet}□${type.Bullet}★${type.Bullet}○${type.Bullet}□${type.Bullet}`;
11
- const bulletMarkerStyles6 = `➢${type.Bullet}●${type.Bullet}○${type.Bullet}➢${type.Bullet}●${type.Bullet}○${type.Bullet}➢${type.Bullet}●${type.Bullet}○${type.Bullet}`;
12
- const numberedMarkerStyles1 = `%1.${type.Decimal}%2.${type.LowerLetter}%3.${type.LowerRoman}%4.${type.Decimal}%5.${type.LowerLetter}%6.${type.LowerRoman}%7.${type.Decimal}%8.${type.LowerLetter}%9.${type.LowerRoman}`;
13
- const numberedMarkerStyles2 = `%1)${type.Decimal}%2)${type.LowerLetter}%3)${type.LowerRoman}(%4)${type.Decimal}(%5)${type.LowerLetter}(%6)${type.LowerRoman}%7.${type.Decimal}%8.${type.LowerLetter}%9.${type.LowerRoman}`;
14
- const numberedMarkerStyles3 = `%1.${type.Decimal}%1.%2.${type.Decimal}%1.%2.%3.${type.Decimal}%1.%2.%3.%4.${type.Decimal}%1.%2.%3.%4.%5.${type.Decimal}%1.%2.%3.%4.%5.%6.${type.Decimal}%1.%2.%3.%4.%5.%6.%7.${type.Decimal}%1.%2.%3.%4.%5.%6.%7.%8.${type.Decimal}%1.%2.%3.%4.%5.%6.%7.%8.%9.${type.Decimal}`;
15
- const numberedMarkerStyles4 = `%1.${type.UpperLetter}%2.${type.LowerLetter}%3.${type.LowerRoman}%4.${type.Decimal}%5.${type.LowerLetter}%6.${type.LowerRoman}%7.${type.Decimal}%8.${type.LowerLetter}%9.${type.LowerRoman}`;
16
- const numberedMarkerStyles5 = `%1.${type.UpperRoman}%2.${type.UpperLetter}%3.${type.Decimal}%4)${type.LowerLetter}(%5)${type.Decimal}(%6)${type.LowerLetter}(%7)${type.LowerRoman}(%8)${type.LowerLetter}(%9)${type.LowerRoman}`;
17
- const numberedMarkerStyles6 = `%1.${type.DecimalZero}%2.${type.LowerLetter}%3.${type.LowerRoman}%4.${type.Decimal}%5.${type.LowerLetter}%6.${type.LowerRoman}%7.${type.Decimal}%8.${type.LowerLetter}%9.${type.LowerRoman}`;
18
- switch (levelsMarkersStyles) {
19
- case numberedMarkerStyles1:
20
- return NumberingTemplateType.NumberList1;
21
- case numberedMarkerStyles2:
22
- return NumberingTemplateType.NumberList2;
23
- case numberedMarkerStyles3:
24
- return NumberingTemplateType.NumberList3;
25
- case numberedMarkerStyles4:
26
- return NumberingTemplateType.NumberList4;
27
- case numberedMarkerStyles5:
28
- return NumberingTemplateType.NumberList5;
29
- case numberedMarkerStyles6:
30
- return NumberingTemplateType.NumberList6;
31
- case bulletMarkerStyles1:
32
- return NumberingTemplateType.BulletList1;
33
- case bulletMarkerStyles2:
34
- return NumberingTemplateType.BulletList2;
35
- case bulletMarkerStyles3:
36
- return NumberingTemplateType.BulletList3;
37
- case bulletMarkerStyles4:
38
- return NumberingTemplateType.BulletList4;
39
- case bulletMarkerStyles5:
40
- return NumberingTemplateType.BulletList5;
41
- case bulletMarkerStyles6:
42
- return NumberingTemplateType.BulletList6;
43
- default:
44
- return null;
45
- }
46
- }
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zdHlsZXMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9zaGFyZWQvdG9vbGJhci1zdHlsZXMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTdFLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLG1CQUEyQjtRQUN2RCxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUNqQyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxNQUFNLElBQUksQ0FBQyxVQUFVLE1BQU0sSUFBSSxDQUFDLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxNQUFNLElB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Q0FBQztZQUM3QztnQkFDSSxPQUFPLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE51bWJlcmluZ01hcmtlclR5cGUgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvZ2FkZ2V0cy9udW1iZXJpbmcvbnVtYmVyaW5nLW1hcmtlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi9lbnVtcy9udW1iZXJpbmctdGVtcGxhdGUtdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFRvb2xiYXJTdHlsZXNIZWxwZXIge1xuICAgIHN0YXRpYyBnZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUobGV2ZWxzTWFya2Vyc1N0eWxlczogc3RyaW5nKTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBOdW1iZXJpbmdNYXJrZXJUeXBlO1xuICAgICAgICBjb25zdCBidWxsZXRNYXJrZXJTdHlsZXMxID0gYOKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0fWA7XG4gICAgICAgIGNvbnN0IGJ1bGxldE1hcmtlclN0eWxlczIgPSBg4pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR94pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR94pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR9YDtcbiAgICAgICAgY29uc3QgYnVsbGV0TWFya2VyU3R5bGVzMyA9IGDil4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3il4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3il4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH1gO1xuICAgICAgICBjb25zdCBidWxsZXRNYXJrZXJTdHlsZXM0ID0gYOKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0feKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0feKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0fWA7XG4gICAgICAgIGNvbnN0IGJ1bGxldE1hcmtlclN0eWxlczUgPSBg4piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR94piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR94piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR9YDtcbiAgICAgICAgY29uc3QgYnVsbGV0TWFya2VyU3R5bGVzNiA9IGDinqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3inqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3inqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczEgPSBgJTEuJHt0eXBlLkRlY2ltYWx9JTIuJHt0eXBlLkxvd2VyTGV0dGVyfSUzLiR7dHlwZS5Mb3dlclJvbWFufSU0LiR7dHlwZS5EZWNpbWFsfSU1LiR7dHlwZS5Mb3dlckxldHRlcn0lNi4ke3R5cGUuTG93ZXJSb21hbn0lNy4ke3R5cGUuRGVjaW1hbH0lOC4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTkuJHt0eXBlLkxvd2VyUm9tYW59YDtcbiAgICAgICAgY29uc3QgbnVtYmVyZWRNYXJrZXJTdHlsZXMyID0gYCUxKSR7dHlwZS5EZWNpbWFsfSUyKSR7dHlwZS5Mb3dlckxldHRlcn0lMykke3R5cGUuTG93ZXJSb21hbn0oJTQpJHt0eXBlLkRlY2ltYWx9KCU1KSR7dHlwZS5Mb3dlckxldHRlcn0oJTYpJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG4gICAgICAgIGNvbnN0IG51bWJlcmVkTWFya2VyU3R5bGVzMyA9IGAlMS4ke3R5cGUuRGVjaW1hbH0lMS4lMi4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4lOS4ke3R5cGUuRGVjaW1hbH1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczQgPSBgJTEuJHt0eXBlLlVwcGVyTGV0dGVyfSUyLiR7dHlwZS5Mb3dlckxldHRlcn0lMy4ke3R5cGUuTG93ZXJSb21hbn0lNC4ke3R5cGUuRGVjaW1hbH0lNS4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTYuJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG4gICAgICAgIGNvbnN0IG51bWJlcmVkTWFya2VyU3R5bGVzNSA9IGAlMS4ke3R5cGUuVXBwZXJSb21hbn0lMi4ke3R5cGUuVXBwZXJMZXR0ZXJ9JTMuJHt0eXBlLkRlY2ltYWx9JTQpJHt0eXBlLkxvd2VyTGV0dGVyfSglNSkke3R5cGUuRGVjaW1hbH0oJTYpJHt0eXBlLkxvd2VyTGV0dGVyfSglNykke3R5cGUuTG93ZXJSb21hbn0oJTgpJHt0eXBlLkxvd2VyTGV0dGVyfSglOSkke3R5cGUuTG93ZXJSb21hbn1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczYgPSBgJTEuJHt0eXBlLkRlY2ltYWxaZXJvfSUyLiR7dHlwZS5Mb3dlckxldHRlcn0lMy4ke3R5cGUuTG93ZXJSb21hbn0lNC4ke3R5cGUuRGVjaW1hbH0lNS4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTYuJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG5cbiAgICAgICAgc3dpdGNoIChsZXZlbHNNYXJrZXJzU3R5bGVzKSB7XG4gICAgICAgICAgICBjYXNlIG51bWJlcmVkTWFya2VyU3R5bGVzMTpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QxO1xuICAgICAgICAgICAgY2FzZSBudW1iZXJlZE1hcmtlclN0eWxlczI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0MjtcbiAgICAgICAgICAgIGNhc2UgbnVtYmVyZWRNYXJrZXJTdHlsZXMzOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDM7XG4gICAgICAgICAgICBjYXNlIG51bWJlcmVkTWFya2VyU3R5bGVzNDpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3Q0O1xuICAgICAgICAgICAgY2FzZSBudW1iZXJlZE1hcmtlclN0eWxlczU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0NTtcbiAgICAgICAgICAgIGNhc2UgbnVtYmVyZWRNYXJrZXJTdHlsZXM2OlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDY7XG4gICAgICAgICAgICBjYXNlIGJ1bGxldE1hcmtlclN0eWxlczE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MTtcbiAgICAgICAgICAgIGNhc2UgYnVsbGV0TWFya2VyU3R5bGVzMjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QyO1xuICAgICAgICAgICAgY2FzZSBidWxsZXRNYXJrZXJTdHlsZXMzOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDM7XG4gICAgICAgICAgICBjYXNlIGJ1bGxldE1hcmtlclN0eWxlczQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NDtcbiAgICAgICAgICAgIGNhc2UgYnVsbGV0TWFya2VyU3R5bGVzNTpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3Q1O1xuICAgICAgICAgICAgY2FzZSBidWxsZXRNYXJrZXJTdHlsZXM2OlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDY7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,54 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class InsertTableComponent {
6
- constructor() {
7
- this.selectSizes = new EventEmitter();
8
- this.maxRows = 20;
9
- this.minRows = 5;
10
- this.maxColumns = 20;
11
- this.minColumns = 10;
12
- this.rows = Array(this.minRows)
13
- .fill(undefined)
14
- .map((_, i) => i + 1);
15
- this.columns = Array(this.minColumns)
16
- .fill(undefined)
17
- .map((_, i) => i + 1);
18
- this.currentRow = 1;
19
- this.currentColumn = 1;
20
- }
21
- onCreateTable(rows, columns) {
22
- this.selectSizes.emit({ rows, columns });
23
- }
24
- onCellHover(row, column) {
25
- this.currentRow = row;
26
- this.currentColumn = column;
27
- this.rows = this.calculateArray(row, this.rows, this.minRows, this.maxRows);
28
- this.columns = this.calculateArray(column, this.columns, this.minColumns, this.maxColumns);
29
- }
30
- calculateArray(currentValue, arrayValues, minValue, maxValue) {
31
- if (currentValue >= arrayValues.length && currentValue <= maxValue) {
32
- const count = currentValue >= maxValue ? maxValue : arrayValues.length + 1;
33
- return Array(count)
34
- .fill(undefined)
35
- .map((_, i) => i + 1);
36
- }
37
- else if (currentValue < arrayValues.length && arrayValues.length > minValue) {
38
- const count = currentValue <= minValue ? minValue + 1 : arrayValues.length - (arrayValues.length - currentValue) + 1;
39
- return Array(count)
40
- .fill(undefined)
41
- .map((_, i) => i + 1);
42
- }
43
- return arrayValues;
44
- }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InsertTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InsertTableComponent, isStandalone: true, selector: "app-nod-insert-table", outputs: { selectSizes: "selectSizes" }, ngImport: i0, template: "<div class=\"table-size-container\">\n <ng-container *ngFor=\"let row of rows\">\n <div class=\"row\">\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"cell-container\"\n (mouseenter)=\"onCellHover(row, column)\"\n (click)=\"onCreateTable(row, column)\">\n <div\n class=\"cell\"\n [class.highlighted]=\"row <= currentRow && column <= currentColumn\"></div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"table-size\">{{ currentColumn }} x {{ currentRow }}</div>\n</div>\n", styles: [":host{border-radius:4px}.table-size-container{padding:14px 10px 8px}.row{display:flex;flex-direction:row}.cell-container{padding:2px}.cell{height:16px;width:16px}.table-size{display:flex;justify-content:center;padding-top:14px;font-size:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InsertTableComponent, decorators: [{
49
- type: Component,
50
- args: [{ standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-insert-table', template: "<div class=\"table-size-container\">\n <ng-container *ngFor=\"let row of rows\">\n <div class=\"row\">\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"cell-container\"\n (mouseenter)=\"onCellHover(row, column)\"\n (click)=\"onCreateTable(row, column)\">\n <div\n class=\"cell\"\n [class.highlighted]=\"row <= currentRow && column <= currentColumn\"></div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"table-size\">{{ currentColumn }} x {{ currentRow }}</div>\n</div>\n", styles: [":host{border-radius:4px}.table-size-container{padding:14px 10px 8px}.row{display:flex;flex-direction:row}.cell-container{padding:2px}.cell{height:16px;width:16px}.table-size{display:flex;justify-content:center;padding-top:14px;font-size:14px}\n"] }]
51
- }], propDecorators: { selectSizes: [{
52
- type: Output
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvaW5zZXJ0LXRhYmxlL2luc2VydC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2luc2VydC10YWJsZS9pbnNlcnQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVS9DLE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7UUFTYyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFxQyxDQUFDO1FBQ3JFLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFYixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRVosZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXpCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFCLFlBQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFFZixrQkFBYSxHQUFHLENBQUMsQ0FBQztLQTRCckI7SUExQkcsYUFBYSxDQUFDLElBQVksRUFBRSxPQUFlO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXLEVBQUUsTUFBYztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxjQUFjLENBQUMsWUFBb0IsRUFBRSxXQUFxQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDMUYsSUFBSSxZQUFZLElBQUksV0FBVyxDQUFDLE1BQU0sSUFBSSxZQUFZLElBQUksUUFBUSxFQUFFO1lBQ2hFLE1BQU0sS0FBSyxHQUFHLFlBQVksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDM0UsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUNkLElBQUksQ0FBQyxTQUFTLENBQUM7aUJBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzdCO2FBQU0sSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLFFBQVEsRUFBRTtZQUMzRSxNQUFNLEtBQUssR0FBRyxZQUFZLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckgsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUNkLElBQUksQ0FBQyxTQUFTLENBQUM7aUJBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzsrR0EvQ1Esb0JBQW9CO21HQUFwQixvQkFBb0IseUhDWGpDLHNzQkFpQkEsNlNEWmMsWUFBWTs7NEZBTWIsb0JBQW9CO2tCQVJoQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLHNCQUFzQjs4QkFLdEIsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXBwLW5vZC1pbnNlcnQtdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5zZXJ0LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnaW5zZXJ0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5zZXJ0VGFibGVDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBzZWxlY3RTaXplcyA9IG5ldyBFdmVudEVtaXR0ZXI8eyByb3dzOiBudW1iZXI7IGNvbHVtbnM6IG51bWJlciB9PigpO1xuICAgIHJlYWRvbmx5IG1heFJvd3MgPSAyMDtcblxuICAgIHJlYWRvbmx5IG1pblJvd3MgPSA1O1xuXG4gICAgcmVhZG9ubHkgbWF4Q29sdW1ucyA9IDIwO1xuXG4gICAgcmVhZG9ubHkgbWluQ29sdW1ucyA9IDEwO1xuXG4gICAgcm93cyA9IEFycmF5KHRoaXMubWluUm93cylcbiAgICAgICAgLmZpbGwodW5kZWZpbmVkKVxuICAgICAgICAubWFwKChfLCBpKSA9PiBpICsgMSk7XG5cbiAgICBjb2x1bW5zID0gQXJyYXkodGhpcy5taW5Db2x1bW5zKVxuICAgICAgICAuZmlsbCh1bmRlZmluZWQpXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IGkgKyAxKTtcblxuICAgIGN1cnJlbnRSb3cgPSAxO1xuXG4gICAgY3VycmVudENvbHVtbiA9IDE7XG5cbiAgICBvbkNyZWF0ZVRhYmxlKHJvd3M6IG51bWJlciwgY29sdW1uczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0U2l6ZXMuZW1pdCh7IHJvd3MsIGNvbHVtbnMgfSk7XG4gICAgfVxuXG4gICAgb25DZWxsSG92ZXIocm93OiBudW1iZXIsIGNvbHVtbjogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFJvdyA9IHJvdztcbiAgICAgICAgdGhpcy5jdXJyZW50Q29sdW1uID0gY29sdW1uO1xuICAgICAgICB0aGlzLnJvd3MgPSB0aGlzLmNhbGN1bGF0ZUFycmF5KHJvdywgdGhpcy5yb3dzLCB0aGlzLm1pblJvd3MsIHRoaXMubWF4Um93cyk7XG4gICAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuY2FsY3VsYXRlQXJyYXkoY29sdW1uLCB0aGlzLmNvbHVtbnMsIHRoaXMubWluQ29sdW1ucywgdGhpcy5tYXhDb2x1bW5zKTtcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVBcnJheShjdXJyZW50VmFsdWU6IG51bWJlciwgYXJyYXlWYWx1ZXM6IG51bWJlcltdLCBtaW5WYWx1ZTogbnVtYmVyLCBtYXhWYWx1ZTogbnVtYmVyKTogbnVtYmVyW10ge1xuICAgICAgICBpZiAoY3VycmVudFZhbHVlID49IGFycmF5VmFsdWVzLmxlbmd0aCAmJiBjdXJyZW50VmFsdWUgPD0gbWF4VmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gY3VycmVudFZhbHVlID49IG1heFZhbHVlID8gbWF4VmFsdWUgOiBhcnJheVZhbHVlcy5sZW5ndGggKyAxO1xuICAgICAgICAgICAgcmV0dXJuIEFycmF5KGNvdW50KVxuICAgICAgICAgICAgICAgIC5maWxsKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpKSA9PiBpICsgMSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFZhbHVlIDwgYXJyYXlWYWx1ZXMubGVuZ3RoICYmIGFycmF5VmFsdWVzLmxlbmd0aCA+IG1pblZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IGN1cnJlbnRWYWx1ZSA8PSBtaW5WYWx1ZSA/IG1pblZhbHVlICsgMSA6IGFycmF5VmFsdWVzLmxlbmd0aCAtIChhcnJheVZhbHVlcy5sZW5ndGggLSBjdXJyZW50VmFsdWUpICsgMTtcbiAgICAgICAgICAgIHJldHVybiBBcnJheShjb3VudClcbiAgICAgICAgICAgICAgICAuZmlsbCh1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgLm1hcCgoXywgaSkgPT4gaSArIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFycmF5VmFsdWVzO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZS1zaXplLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25DZWxsSG92ZXIocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ3JlYXRlVGFibGUocm93LCBjb2x1bW4pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwicm93IDw9IGN1cnJlbnRSb3cgJiYgY29sdW1uIDw9IGN1cnJlbnRDb2x1bW5cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtc2l6ZVwiPnt7IGN1cnJlbnRDb2x1bW4gfX0geCB7eyBjdXJyZW50Um93IH19PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,86 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReactiveFormsModule, Validators } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { TranslateModule } from '@ngx-translate/core';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../editor/interaction/editor.service";
11
- import * as i2 from "@angular/forms";
12
- import * as i3 from "../editor-toolbar/shared/services/toolbar-core.service";
13
- import * as i4 from "@angular/common";
14
- import * as i5 from "@angular/material/button";
15
- import * as i6 from "@angular/material/form-field";
16
- import * as i7 from "@angular/material/icon";
17
- import * as i8 from "@angular/material/input";
18
- import * as i9 from "@ngx-translate/core";
19
- export class InsertTableMobileComponent {
20
- constructor(editorService, fb, toolbarCoreService) {
21
- this.editorService = editorService;
22
- this.fb = fb;
23
- this.toolbarCoreService = toolbarCoreService;
24
- this.maxRows = 5;
25
- this.minRows = 1;
26
- this.maxColumns = 10;
27
- this.minColumns = 1;
28
- this.rows = Array(this.maxRows)
29
- .fill(undefined)
30
- .map((_, i) => i + 1);
31
- this.columns = Array(this.maxColumns)
32
- .fill(undefined)
33
- .map((_, i) => i + 1);
34
- this.form = this.fb.group({
35
- rows: [2, [Validators.required, Validators.min(this.minRows), Validators.max(this.maxRows)]],
36
- columns: [2, [Validators.required, Validators.min(this.minColumns), Validators.max(this.maxColumns)]]
37
- });
38
- }
39
- onClose() {
40
- this.toolbarCoreService.reset();
41
- }
42
- onApply() {
43
- this.editorService.insertTable({ rows: this.form.controls.rows.value, columns: this.form.controls.columns.value });
44
- this.toolbarCoreService.reset();
45
- }
46
- onSetTable(rows, columns) {
47
- this.form.controls.rows.setValue(rows);
48
- this.form.controls.columns.setValue(columns);
49
- }
50
- onChangeInputRow() {
51
- if (this.form.controls.rows.value < this.minRows) {
52
- this.form.controls.rows.setValue(this.minRows);
53
- }
54
- if (this.form.controls.rows.value > this.maxRows) {
55
- this.form.controls.rows.setValue(this.maxRows);
56
- }
57
- }
58
- onChangeInputColumn() {
59
- if (this.form.controls.columns.value < this.minColumns) {
60
- this.form.controls.columns.setValue(this.minColumns);
61
- }
62
- if (this.form.controls.columns.value > this.maxColumns) {
63
- this.form.controls.columns.setValue(this.maxColumns);
64
- }
65
- }
66
- onChangeRows(value) {
67
- this.changeCount(value, this.minRows, this.maxRows, this.form.controls.rows);
68
- }
69
- onChangeColumns(value) {
70
- this.changeCount(value, this.minColumns, this.maxColumns, this.form.controls.columns);
71
- }
72
- changeCount(value, minValue, maxValue, control) {
73
- const newValue = control.value + value;
74
- if (newValue > maxValue || newValue < minValue) {
75
- return;
76
- }
77
- control.setValue(newValue);
78
- }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InsertTableMobileComponent, deps: [{ token: i1.EditorService }, { token: i2.FormBuilder }, { token: i3.ToolbarCoreService }], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InsertTableMobileComponent, isStandalone: true, selector: "app-nod-insert-table-mobile", ngImport: i0, template: "<div class=\"content\">\n <div class=\"title\">{{ 'NODER.LABEL.TABLE_OPTIONS' | translate }}</div>\n <div\n class=\"inputs\"\n [formGroup]=\"form\">\n <div class=\"rows\">\n <div class=\"input-title\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table-rows\" />\n {{ 'NODER.LABEL.ROWS' | translate }}:\n </div>\n <mat-form-field appearance=\"outline\">\n <button\n mat-fab\n (click)=\"onChangeRows(-1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\" />\n </button>\n <input\n matInput\n required\n type=\"number\"\n [formControl]=\"form.controls.rows\"\n (change)=\"onChangeInputRow()\" />\n <button\n mat-fab\n (click)=\"onChangeRows(1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\" />\n </button>\n <mat-error>{{ 'NODER.LABEL.THE_ROW_IS_REQUIRED' | translate }}.</mat-error>\n </mat-form-field>\n </div>\n <div class=\"columns\">\n <div class=\"input-title\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table-columns\" />\n {{ 'NODER.LABEL.COLUMNS' | translate }}:\n </div>\n <mat-form-field appearance=\"outline\">\n <button\n mat-fab\n (click)=\"onChangeColumns(-1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\" />\n </button>\n <input\n matInput\n required\n type=\"number\"\n [formControl]=\"form.controls.columns\"\n (change)=\"onChangeInputColumn()\" />\n <button\n mat-fab\n (click)=\"onChangeColumns(1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\" />\n </button>\n <mat-error>{{ 'NODER.LABEL.THE_COLUMN_IS_REQUIRED' | translate }}.</mat-error>\n </mat-form-field>\n </div>\n </div>\n <div class=\"quick-select\">\n <div class=\"quick-select-header\">\n <div class=\"separator\"></div>\n <div class=\"quick-select-title\">{{ 'NODER.LABEL.QUICK_SELECT' | translate }}</div>\n <div class=\"separator\"></div>\n </div>\n <div class=\"selection\">\n <ng-container *ngFor=\"let row of rows\">\n <div class=\"row\">\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"cell-container\"\n (click)=\"onSetTable(row, column)\">\n <div\n class=\"cell\"\n [class.highlighted]=\"row <= form.controls.rows.value && column <= form.controls.columns.value\"></div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}.title{font-size:16px;font-weight:500;padding-bottom:10px}.inputs{display:flex;justify-content:space-between;padding-top:10px;padding-bottom:0}.rows,.columns{display:flex;flex-direction:column;width:45%}.input-title{display:flex;align-items:center;font-size:14px;font-weight:400;padding-bottom:10px}.input-title .mat-icon{margin-right:10px}.quick-select{display:flex;flex-direction:column}.quick-select-header{display:flex;padding-bottom:20px}.quick-select-title{padding:0 10px;font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.separator{flex:1;align-self:center;border-bottom-width:1px;border-bottom-style:solid}.row{display:flex;flex-direction:row}.cell-container{width:10%;aspect-ratio:1/1;padding:2px}.cell{height:100%;width:100%;border-width:1px;border-style:solid}.mat-mdc-form-field ::ng-deep .mat-mdc-text-field-wrapper{padding:0}.mat-mdc-form-field ::ng-deep .mat-mdc-form-field-infix{display:flex;flex-direction:row;padding:0}.mat-mdc-form-field ::ng-deep .mdc-fab{width:48px;height:48px}.mat-mdc-input-element{text-align:center}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InsertTableMobileComponent, decorators: [{
83
- type: Component,
84
- args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatFormFieldModule, MatIconModule, MatInputModule, ReactiveFormsModule, TranslateModule], selector: 'app-nod-insert-table-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"content\">\n <div class=\"title\">{{ 'NODER.LABEL.TABLE_OPTIONS' | translate }}</div>\n <div\n class=\"inputs\"\n [formGroup]=\"form\">\n <div class=\"rows\">\n <div class=\"input-title\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table-rows\" />\n {{ 'NODER.LABEL.ROWS' | translate }}:\n </div>\n <mat-form-field appearance=\"outline\">\n <button\n mat-fab\n (click)=\"onChangeRows(-1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\" />\n </button>\n <input\n matInput\n required\n type=\"number\"\n [formControl]=\"form.controls.rows\"\n (change)=\"onChangeInputRow()\" />\n <button\n mat-fab\n (click)=\"onChangeRows(1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\" />\n </button>\n <mat-error>{{ 'NODER.LABEL.THE_ROW_IS_REQUIRED' | translate }}.</mat-error>\n </mat-form-field>\n </div>\n <div class=\"columns\">\n <div class=\"input-title\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table-columns\" />\n {{ 'NODER.LABEL.COLUMNS' | translate }}:\n </div>\n <mat-form-field appearance=\"outline\">\n <button\n mat-fab\n (click)=\"onChangeColumns(-1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\" />\n </button>\n <input\n matInput\n required\n type=\"number\"\n [formControl]=\"form.controls.columns\"\n (change)=\"onChangeInputColumn()\" />\n <button\n mat-fab\n (click)=\"onChangeColumns(1)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\" />\n </button>\n <mat-error>{{ 'NODER.LABEL.THE_COLUMN_IS_REQUIRED' | translate }}.</mat-error>\n </mat-form-field>\n </div>\n </div>\n <div class=\"quick-select\">\n <div class=\"quick-select-header\">\n <div class=\"separator\"></div>\n <div class=\"quick-select-title\">{{ 'NODER.LABEL.QUICK_SELECT' | translate }}</div>\n <div class=\"separator\"></div>\n </div>\n <div class=\"selection\">\n <ng-container *ngFor=\"let row of rows\">\n <div class=\"row\">\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"cell-container\"\n (click)=\"onSetTable(row, column)\">\n <div\n class=\"cell\"\n [class.highlighted]=\"row <= form.controls.rows.value && column <= form.controls.columns.value\"></div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}.title{font-size:16px;font-weight:500;padding-bottom:10px}.inputs{display:flex;justify-content:space-between;padding-top:10px;padding-bottom:0}.rows,.columns{display:flex;flex-direction:column;width:45%}.input-title{display:flex;align-items:center;font-size:14px;font-weight:400;padding-bottom:10px}.input-title .mat-icon{margin-right:10px}.quick-select{display:flex;flex-direction:column}.quick-select-header{display:flex;padding-bottom:20px}.quick-select-title{padding:0 10px;font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.separator{flex:1;align-self:center;border-bottom-width:1px;border-bottom-style:solid}.row{display:flex;flex-direction:row}.cell-container{width:10%;aspect-ratio:1/1;padding:2px}.cell{height:100%;width:100%;border-width:1px;border-style:solid}.mat-mdc-form-field ::ng-deep .mat-mdc-text-field-wrapper{padding:0}.mat-mdc-form-field ::ng-deep .mat-mdc-form-field-infix{display:flex;flex-direction:row;padding:0}.mat-mdc-form-field ::ng-deep .mdc-fab{width:48px;height:48px}.mat-mdc-input-element{text-align:center}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}\n"] }]
85
- }], ctorParameters: () => [{ type: i1.EditorService }, { type: i2.FormBuilder }, { type: i3.ToolbarCoreService }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXRhYmxlLW1vYmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2luc2VydC10YWJsZS1tb2JpbGUvaW5zZXJ0LXRhYmxlLW1vYmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2luc2VydC10YWJsZS1tb2JpbGUvaW5zZXJ0LXRhYmxlLW1vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFhdEQsTUFBTSxPQUFPLDBCQUEwQjtJQW1CbkMsWUFBb0IsYUFBNEIsRUFBVSxFQUFlLEVBQVUsa0JBQXNDO1FBQXJHLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFsQmhILFlBQU8sR0FBRyxDQUFDLENBQUM7UUFFWixZ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LEVBQUUsZUFBZSxDQUFDLFlBQ3ZILDZCQUE2QixtQkFHdEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9lZGl0b3IvaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9vbGJhckNvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vZWRpdG9yLXRvb2xiYXIvc2hhcmVkL3NlcnZpY2VzL3Rvb2xiYXItY29yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWluc2VydC10YWJsZS1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5zZXJ0LXRhYmxlLW1vYmlsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2luc2VydC10YWJsZS1tb2JpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBJbnNlcnRUYWJsZU1vYmlsZUNvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgbWF4Um93cyA9IDU7XG5cbiAgICByZWFkb25seSBtaW5Sb3dzID0gMTtcblxuICAgIHJlYWRvbmx5IG1heENvbHVtbnMgPSAxMDtcblxuICAgIHJlYWRvbmx5IG1pbkNvbHVtbnMgPSAxO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwPHsgcm93czogRm9ybUNvbnRyb2w8bnVtYmVyPjsgY29sdW1uczogRm9ybUNvbnRyb2w8bnVtYmVyPiB9PjtcblxuICAgIHJvd3MgPSBBcnJheSh0aGlzLm1heFJvd3MpXG4gICAgICAgIC5maWxsKHVuZGVmaW5lZClcbiAgICAgICAgLm1hcCgoXywgaSkgPT4gaSArIDEpO1xuXG4gICAgY29sdW1ucyA9IEFycmF5KHRoaXMubWF4Q29sdW1ucylcbiAgICAgICAgLmZpbGwodW5kZWZpbmVkKVxuICAgICAgICAubWFwKChfLCBpKSA9PiBpICsgMSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHRvb2xiYXJDb3JlU2VydmljZTogVG9vbGJhckNvcmVTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgcm93czogWzIsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbih0aGlzLm1pblJvd3MpLCBWYWxpZGF0b3JzLm1heCh0aGlzLm1heFJvd3MpXV0sXG4gICAgICAgICAgICBjb2x1bW5zOiBbMiwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKHRoaXMubWluQ29sdW1ucyksIFZhbGlkYXRvcnMubWF4KHRoaXMubWF4Q29sdW1ucyldXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvb2xiYXJDb3JlU2VydmljZS5yZXNldCgpO1xuICAgIH1cblxuICAgIG9uQXBwbHkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5pbnNlcnRUYWJsZSh7IHJvd3M6IHRoaXMuZm9ybS5jb250cm9scy5yb3dzLnZhbHVlLCBjb2x1bW5zOiB0aGlzLmZvcm0uY29udHJvbHMuY29sdW1ucy52YWx1ZSB9KTtcbiAgICAgICAgdGhpcy50b29sYmFyQ29yZVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICBvblNldFRhYmxlKHJvd3M6IG51bWJlciwgY29sdW1uczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5yb3dzLnNldFZhbHVlKHJvd3MpO1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuY29sdW1ucy5zZXRWYWx1ZShjb2x1bW5zKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUlucHV0Um93KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzLnJvd3MudmFsdWUgPCB0aGlzLm1pblJvd3MpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5yb3dzLnNldFZhbHVlKHRoaXMubWluUm93cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9scy5yb3dzLnZhbHVlID4gdGhpcy5tYXhSb3dzKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMucm93cy5zZXRWYWx1ZSh0aGlzLm1heFJvd3MpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaGFuZ2VJbnB1dENvbHVtbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9scy5jb2x1bW5zLnZhbHVlIDwgdGhpcy5taW5Db2x1bW5zKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuY29sdW1ucy5zZXRWYWx1ZSh0aGlzLm1pbkNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmZvcm0uY29udHJvbHMuY29sdW1ucy52YWx1ZSA+IHRoaXMubWF4Q29sdW1ucykge1xuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvbHVtbnMuc2V0VmFsdWUodGhpcy5tYXhDb2x1bW5zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hhbmdlUm93cyh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlQ291bnQodmFsdWUsIHRoaXMubWluUm93cywgdGhpcy5tYXhSb3dzLCB0aGlzLmZvcm0uY29udHJvbHMucm93cyk7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VDb2x1bW5zKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VDb3VudCh2YWx1ZSwgdGhpcy5taW5Db2x1bW5zLCB0aGlzLm1heENvbHVtbnMsIHRoaXMuZm9ybS5jb250cm9scy5jb2x1bW5zKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VDb3VudCh2YWx1ZTogbnVtYmVyLCBtaW5WYWx1ZTogbnVtYmVyLCBtYXhWYWx1ZTogbnVtYmVyLCBjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvbnRyb2wudmFsdWUgKyB2YWx1ZTtcbiAgICAgICAgaWYgKG5ld1ZhbHVlID4gbWF4VmFsdWUgfHwgbmV3VmFsdWUgPCBtaW5WYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgJ05PREVSLkxBQkVMLlRBQkxFX09QVElPTlMnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0c1wiXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93c1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLXRhYmxlLXJvd3NcIiAvPlxuICAgICAgICAgICAgICAgIHt7ICdOT0RFUi5MQUJFTC5ST1dTJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtZmFiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZVJvd3MoLTEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLXJlbW92ZVwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5jb250cm9scy5yb3dzXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZUlucHV0Um93KClcIiAvPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWZhYlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VSb3dzKDEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWFkZFwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvcj57eyAnTk9ERVIuTEFCRUwuVEhFX1JPV19JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX0uPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi10YWJsZS1jb2x1bW5zXCIgLz5cbiAgICAgICAgICAgICAgICB7eyAnTk9ERVIuTEFCRUwuQ09MVU1OUycgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWZhYlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VDb2x1bW5zKC0xKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1yZW1vdmVcIiAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uY29udHJvbHMuY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2VJbnB1dENvbHVtbigpXCIgLz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdC1mYWJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlQ29sdW1ucygxKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIiAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+e3sgJ05PREVSLkxBQkVMLlRIRV9DT0xVTU5fSVNfUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19LjwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInF1aWNrLXNlbGVjdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicXVpY2stc2VsZWN0LWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1aWNrLXNlbGVjdC10aXRsZVwiPnt7ICdOT0RFUi5MQUJFTC5RVUlDS19TRUxFQ1QnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2Ygcm93c1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZXRUYWJsZShyb3csIGNvbHVtbilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJyb3cgPD0gZm9ybS5jb250cm9scy5yb3dzLnZhbHVlICYmIGNvbHVtbiA8PSBmb3JtLmNvbnRyb2xzLmNvbHVtbnMudmFsdWVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJpY29uLWNhbmNlbC10aGluXCIgLz5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHkoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1kb25lLXRoaW5cIiAvPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,134 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import { TranslateModule } from '@ngx-translate/core';
7
- import { Alignment } from '../../apart-components/editor-toolbar/shared/enums/alignment.enum';
8
- import { ColorPickerComponent } from '../editor-toolbar/components/buttons/color-picker/color-picker.component';
9
- import { DEFAULT_FONT_COLOR, DEFAULT_FONT_SIZE } from '../../editor/content/constants/editor.const';
10
- import { FontComponent } from '../editor-toolbar/components/buttons/font/font.component';
11
- import { FontSizeComponent } from '../editor-toolbar/components/buttons/font-size/font-size.component';
12
- import { NumberingTemplates } from '../editor-toolbar/shared/constants/numbering-templates.const';
13
- import { NumberingTemplateType } from '../../apart-components/editor-toolbar/shared/enums/numbering-template-type.enum';
14
- import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
15
- import { TextStyleModel } from '../../models/generated/text-style.model';
16
- import { ToolbarStylesHelper } from '../editor-toolbar/shared/toolbar-styles.helper';
17
- import * as i0 from "@angular/core";
18
- import * as i1 from "../editor-toolbar/shared/services/custom-icon.service";
19
- import * as i2 from "../../editor/interaction/editor.service";
20
- import * as i3 from "../editor-toolbar/shared/services/toolbar-core.service";
21
- import * as i4 from "@angular/material/button";
22
- import * as i5 from "@angular/material/button-toggle";
23
- import * as i6 from "@angular/material/icon";
24
- import * as i7 from "@ngx-translate/core";
25
- export class TextFormatMobileComponent {
26
- constructor(customIconService, editorService, toolbarCoreService) {
27
- this.customIconService = customIconService;
28
- this.editorService = editorService;
29
- this.toolbarCoreService = toolbarCoreService;
30
- this.textColorPalette = [
31
- DEFAULT_FONT_COLOR,
32
- '#b60205',
33
- '#d93f0b',
34
- '#fbca04',
35
- '#0e8a16',
36
- '#006b75',
37
- '#1d76db',
38
- '#0052cc',
39
- '#5319e7',
40
- '#e99695',
41
- '#f9d0c4',
42
- '#fef2c0',
43
- '#c2e0c6',
44
- '#bfdadc',
45
- '#c5def5',
46
- '#bfd4f2',
47
- '#d4c5f9'
48
- ];
49
- this.highlightColorPalette = ['none', ...this.textColorPalette];
50
- this.alignments = Alignment;
51
- this.numberingTemplateType = NumberingTemplateType;
52
- this.styles = this.editorService.styles;
53
- this.customIconService.register();
54
- }
55
- ngOnInit() {
56
- this.selectedNumberingTemplate = ToolbarStylesHelper.getNumberingTemplateType(this.styles.numberingLevelsStyles);
57
- }
58
- onClose() {
59
- this.toolbarCoreService.reset();
60
- }
61
- onApply() {
62
- const textStyles = new TextStyleModel(this.styles);
63
- this.editorService.setTextStyles(textStyles);
64
- const paragraphStyles = new ParagraphStyleModel({ alignment: this.styles.alignment });
65
- this.editorService.setParagraphStyles(paragraphStyles);
66
- if (this.selectedNumberingTemplate !== null) {
67
- const templateLevels = NumberingTemplates.find(x => x.templateType === this.selectedNumberingTemplate).levels;
68
- this.editorService.setNumberingTemplateType(templateLevels);
69
- }
70
- else {
71
- this.editorService.removeNumberings();
72
- }
73
- this.toolbarCoreService.reset();
74
- }
75
- onApplyFontFamily(font) {
76
- this.checkFontLoadedAndApplyStyle(new TextStyleModel({ fontFamily: font }));
77
- }
78
- onApplyFontSize(size) {
79
- this.checkFontLoadedAndApplyStyle(new TextStyleModel({ fontSize: size }));
80
- }
81
- onToggleBold() {
82
- this.checkFontLoadedAndApplyStyle(new TextStyleModel({ bold: !this.styles.bold }));
83
- }
84
- onToggleItalic() {
85
- this.checkFontLoadedAndApplyStyle(new TextStyleModel({ italic: !this.styles.italic }));
86
- }
87
- onToggleUnderline() {
88
- this.styles.underline = !this.styles.underline;
89
- }
90
- onSelectFontColor(color) {
91
- this.styles.fontColor = color;
92
- }
93
- onSelectHighlightColor(color) {
94
- this.styles.highlightColor = color;
95
- }
96
- onApplyAlignment(alignment) {
97
- this.styles.alignment = alignment;
98
- }
99
- checkFontLoadedAndApplyStyle(style) {
100
- const newStyles = { ...this.styles, ...style };
101
- const italic = newStyles.italic ? 'italic ' : '';
102
- const bold = newStyles.bold ? 'bold ' : '';
103
- const fontStyles = `${italic}${bold}${newStyles.fontSize ?? DEFAULT_FONT_SIZE}pt ${newStyles.fontFamily}`;
104
- if (document.fonts.check(fontStyles)) {
105
- this.changeTextStyle(style);
106
- return;
107
- }
108
- document.fonts
109
- .load(fontStyles)
110
- .then(() => this.changeTextStyle(style))
111
- .catch(() => {
112
- // continue regardless of error
113
- });
114
- }
115
- changeTextStyle(style) {
116
- this.styles = { ...this.styles, ...style };
117
- }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextFormatMobileComponent, deps: [{ token: i1.CustomIconService }, { token: i2.EditorService }, { token: i3.ToolbarCoreService }], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextFormatMobileComponent, isStandalone: true, selector: "app-nod-text-format-mobile", ngImport: i0, template: "<div class=\"content\">\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.FONT' | translate }}</div>\n <div class=\"font\">\n <app-nod-font\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <app-nod-font-size\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n </div>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.TEXT_STYLE' | translate }}</div>\n <div class=\"text-style-container\">\n <mat-button-toggle\n [checked]=\"styles.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 [checked]=\"styles.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 [checked]=\"styles.underline\"\n (click)=\"onToggleUnderline()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-underlined\" />\n </mat-button-toggle>\n <app-nod-color-picker\n id=\"icon-format-colortext\"\n class=\"text-color\"\n icon=\"icon-format-colortext\"\n [color]=\"styles.fontColor\"\n [palette]=\"textColorPalette\"\n (colorChange)=\"onSelectFontColor($event)\" />\n <app-nod-color-picker\n id=\"icon-link-highlighter\"\n class=\"highlight-color\"\n icon=\"icon-link-highlighter\"\n [color]=\"styles.highlightColor\"\n [palette]=\"highlightColorPalette\"\n (colorChange)=\"onSelectHighlightColor($event)\" />\n </div>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.ALIGNMENT' | translate }}</div>\n <mat-button-toggle-group\n name=\"format\"\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\"\n [value]=\"styles.alignment\"\n (change)=\"onApplyAlignment($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\n class=\"hide\"\n [value]=\"alignments.Justify\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-align\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.BULLETED_AND_NUMBERED_LIST' | translate }}</div>\n <div class=\"numbering-container\">\n <div class=\"numbering-line\">\n <div\n class=\"empty-numbering\"\n [class.selected]=\"selectedNumberingTemplate === null\"\n (click)=\"selectedNumberingTemplate = null\">\n {{ 'NODER.LABEL.NONE' | translate }}\n </div>\n <mat-icon\n svgIcon=\"marker-1\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList1\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList1\" />\n <mat-icon\n svgIcon=\"marker-2\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList2\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList2\" />\n <mat-icon\n svgIcon=\"marker-3\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList3\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList3\" />\n </div>\n <div class=\"numbering-line\">\n <mat-icon\n svgIcon=\"marker-4\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList4\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList4\" />\n <mat-icon\n svgIcon=\"marker-5\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList5\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList5\" />\n <mat-icon\n svgIcon=\"marker-6\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList6\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList6\" />\n <mat-icon\n svgIcon=\"number-1\"\n class=\"list-number\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList1\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.NumberList1\" />\n </div>\n </div>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}.content-container{padding-bottom:30px}.title{font-size:16px;font-weight:500;padding-bottom:10px}.font{display:flex;justify-content:space-between}.numbering-container{display:flex;flex-direction:column}.numbering-container .mat-icon{width:102px;height:120px;border-width:1px;border-style:solid}app-nod-font{width:65%}app-nod-font ::ng-deep .mat-mdc-button{height:48px;width:100%}app-nod-font ::ng-deep .mat-mdc-button .mdc-button__label{width:100%}app-nod-font ::ng-deep .mat-mdc-button .font-menu span{padding-left:5px}app-nod-font ::ng-deep .mat-mdc-button .mat-icon{margin:0}app-nod-font-size{display:flex;align-items:center;width:30%;border:1px solid;border-radius:4px;margin:0}app-nod-font-size ::ng-deep .mdc-button.mat-mdc-button{border:none}app-nod-font-size ::ng-deep input{flex:1}mat-button-toggle-group{display:flex;justify-content:space-between;border:none;box-shadow:none}mat-button-toggle-group .mat-button-toggle{width:102px;height:48px;border:none}.text-style-container{display:flex;justify-content:space-between}.text-style-container ::ng-deep .mdc-button.mat-mdc-button{border:none}.text-style-container ::ng-deep .mat-button-toggle,.text-style-container ::ng-deep .mat-mdc-button{width:80px;height:48px;margin:0;border:none}.empty-numbering{display:flex;justify-content:center;align-items:center;text-transform:uppercase;font-size:13;font-weight:400;border-width:1px;border-style:solid;width:102px;height:120px}.numbering-line{display:flex;flex-direction:row;justify-content:space-between;padding-bottom:10px}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}.hide{display:none}\n"], dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "app-nod-color-picker", inputs: ["color", "icon", "isDisabled", "palette"], outputs: ["colorChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: FontComponent, selector: "app-nod-font", inputs: ["isDisabled", "styles"], outputs: ["selectFont"] }, { kind: "component", type: FontSizeComponent, selector: "app-nod-font-size", inputs: ["isDisabled", "fontSize"], outputs: ["selectFontSize"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
120
- }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextFormatMobileComponent, decorators: [{
122
- type: Component,
123
- args: [{ standalone: true, imports: [
124
- ColorPickerComponent,
125
- CommonModule,
126
- FontComponent,
127
- FontSizeComponent,
128
- MatButtonModule,
129
- MatButtonToggleModule,
130
- MatIconModule,
131
- TranslateModule
132
- ], selector: 'app-nod-text-format-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"content\">\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.FONT' | translate }}</div>\n <div class=\"font\">\n <app-nod-font\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <app-nod-font-size\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n </div>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.TEXT_STYLE' | translate }}</div>\n <div class=\"text-style-container\">\n <mat-button-toggle\n [checked]=\"styles.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 [checked]=\"styles.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 [checked]=\"styles.underline\"\n (click)=\"onToggleUnderline()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-underlined\" />\n </mat-button-toggle>\n <app-nod-color-picker\n id=\"icon-format-colortext\"\n class=\"text-color\"\n icon=\"icon-format-colortext\"\n [color]=\"styles.fontColor\"\n [palette]=\"textColorPalette\"\n (colorChange)=\"onSelectFontColor($event)\" />\n <app-nod-color-picker\n id=\"icon-link-highlighter\"\n class=\"highlight-color\"\n icon=\"icon-link-highlighter\"\n [color]=\"styles.highlightColor\"\n [palette]=\"highlightColorPalette\"\n (colorChange)=\"onSelectHighlightColor($event)\" />\n </div>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.ALIGNMENT' | translate }}</div>\n <mat-button-toggle-group\n name=\"format\"\n [hideMultipleSelectionIndicator]=\"true\"\n [hideSingleSelectionIndicator]=\"true\"\n [value]=\"styles.alignment\"\n (change)=\"onApplyAlignment($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\n class=\"hide\"\n [value]=\"alignments.Justify\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-align\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"content-container\">\n <div class=\"title\">{{ 'NODER.LABEL.BULLETED_AND_NUMBERED_LIST' | translate }}</div>\n <div class=\"numbering-container\">\n <div class=\"numbering-line\">\n <div\n class=\"empty-numbering\"\n [class.selected]=\"selectedNumberingTemplate === null\"\n (click)=\"selectedNumberingTemplate = null\">\n {{ 'NODER.LABEL.NONE' | translate }}\n </div>\n <mat-icon\n svgIcon=\"marker-1\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList1\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList1\" />\n <mat-icon\n svgIcon=\"marker-2\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList2\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList2\" />\n <mat-icon\n svgIcon=\"marker-3\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList3\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList3\" />\n </div>\n <div class=\"numbering-line\">\n <mat-icon\n svgIcon=\"marker-4\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList4\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList4\" />\n <mat-icon\n svgIcon=\"marker-5\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList5\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList5\" />\n <mat-icon\n svgIcon=\"marker-6\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.BulletList6\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.BulletList6\" />\n <mat-icon\n svgIcon=\"number-1\"\n class=\"list-number\"\n [class.selected]=\"selectedNumberingTemplate === numberingTemplateType.NumberList1\"\n (click)=\"selectedNumberingTemplate = numberingTemplateType.NumberList1\" />\n </div>\n </div>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}.content-container{padding-bottom:30px}.title{font-size:16px;font-weight:500;padding-bottom:10px}.font{display:flex;justify-content:space-between}.numbering-container{display:flex;flex-direction:column}.numbering-container .mat-icon{width:102px;height:120px;border-width:1px;border-style:solid}app-nod-font{width:65%}app-nod-font ::ng-deep .mat-mdc-button{height:48px;width:100%}app-nod-font ::ng-deep .mat-mdc-button .mdc-button__label{width:100%}app-nod-font ::ng-deep .mat-mdc-button .font-menu span{padding-left:5px}app-nod-font ::ng-deep .mat-mdc-button .mat-icon{margin:0}app-nod-font-size{display:flex;align-items:center;width:30%;border:1px solid;border-radius:4px;margin:0}app-nod-font-size ::ng-deep .mdc-button.mat-mdc-button{border:none}app-nod-font-size ::ng-deep input{flex:1}mat-button-toggle-group{display:flex;justify-content:space-between;border:none;box-shadow:none}mat-button-toggle-group .mat-button-toggle{width:102px;height:48px;border:none}.text-style-container{display:flex;justify-content:space-between}.text-style-container ::ng-deep .mdc-button.mat-mdc-button{border:none}.text-style-container ::ng-deep .mat-button-toggle,.text-style-container ::ng-deep .mat-mdc-button{width:80px;height:48px;margin:0;border:none}.empty-numbering{display:flex;justify-content:center;align-items:center;text-transform:uppercase;font-size:13;font-weight:400;border-width:1px;border-style:solid;width:102px;height:120px}.numbering-line{display:flex;flex-direction:row;justify-content:space-between;padding-bottom:10px}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}.hide{display:none}\n"] }]
133
- }], ctorParameters: () => [{ type: i1.CustomIconService }, { type: i2.EditorService }, { type: i3.ToolbarCoreService }] });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1mb3JtYXQtbW9iaWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvdGV4dC1mb3JtYXQtbW9iaWxlL3RleHQtZm9ybWF0LW1vYmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL3RleHQtZm9ybWF0LW1vYmlsZS90ZXh0LWZvcm1hdC1tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBRWhILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXBHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUV2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUs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QUFDO1FBRTFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixPQUFPO1NBQ1Y7UUFFRCxRQUFRLENBQUMsS0FBSzthQUNULElBQUksQ0FBQyxVQUFVLENBQUM7YUFDaEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNSLCtCQUErQjtRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQy9DLENBQUM7K0dBbkhRLHlCQUF5QjttR0FBekIseUJBQXlCLHNGQ3ZDdEMsNjhNQWlKQSwwd0REeEhRLG9CQUFvQiw4SUFDcEIsWUFBWSwrQkFDWixhQUFhLG9IQUNiLGlCQUFpQiw4SEFDakIsZUFBZSwySUFDZixxQkFBcUIsd2xCQUNyQixhQUFhLG1MQUNiLGVBQWU7OzRGQU9WLHlCQUF5QjtrQkFqQnJDLFNBQVM7aUNBQ00sSUFBSSxXQUNQO3dCQUNMLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDbEIsWUFDUyw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgQWxpZ25tZW50IH0gZnJvbSAnLi4vLi4vYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9zaGFyZWQvZW51bXMvYWxpZ25tZW50LmVudW0nO1xuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tSWNvblNlcnZpY2UgfSBmcm9tICcuLi9lZGl0b3ItdG9vbGJhci9zaGFyZWQvc2VydmljZXMvY3VzdG9tLWljb24uc2VydmljZSc7XG5pbXBvcnQgeyBERUZBVUxUX0ZPTlRfQ09MT1IsIERFRkFVTFRfRk9OVF9TSVpFIH0gZnJvbSAnLi4vLi4vZWRpdG9yL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWRpdG9yL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEZvbnRDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvZm9udC9mb250LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb250U2l6ZUNvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci10b29sYmFyL2NvbXBvbmVudHMvYnV0dG9ucy9mb250LXNpemUvZm9udC1zaXplLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJVG9vbGJhclN0eWxlcyB9IGZyb20gJy4uLy4uL2VkaXRvci9jb250ZW50L2Rpc3BsYXktZGF0YS90b29sYmFyLXN0eWxlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVzIH0gZnJvbSAnLi4vZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2NvbnN0YW50cy9udW1iZXJpbmctdGVtcGxhdGVzLmNvbnN0JztcbmltcG9ydCB7IE51bWJlcmluZ1RlbXBsYXRlVHlwZSB9IGZyb20gJy4uLy4uL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2VudW1zL251bWJlcmluZy10ZW1wbGF0ZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJDb3JlU2VydmljZSB9IGZyb20gJy4uL2VkaXRvci10b29sYmFyL3NoYXJlZC9zZXJ2aWNlcy90b29sYmFyLWNvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBUb29sYmFyU3R5bGVzSGVscGVyIH0gZnJvbSAnLi4vZWRpdG9yLXRvb2xiYXIvc2hhcmVkL3Rvb2xiYXItc3R5bGVzLmhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb2xvclBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb250Q29tcG9uZW50LFxuICAgICAgICBGb250U2l6ZUNvbXBvbmVudCxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZVxuICAgIF0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLXRleHQtZm9ybWF0LW1vYmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICd0ZXh0LWZvcm1hdC1tb2JpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWyd0ZXh0LWZvcm1hdC1tb2JpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0Rm9ybWF0TW9iaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdHlsZXMhOiBJVG9vbGJhclN0eWxlcztcblxuICAgIHRleHRDb2xvclBhbGV0dGUgPSBbXG4gICAgICAgIERFRkFVTFRfRk9OVF9DT0xPUixcbiAgICAgICAgJyNiNjAyMDUnLFxuICAgICAgICAnI2Q5M2YwYicsXG4gICAgICAgICcjZmJjYTA0JyxcbiAgICAgICAgJyMwZThhMTYnLFxuICAgICAgICAnIzAwNmI3NScsXG4gICAgICAgICcjMWQ3NmRiJyxcbiAgICAgICAgJyMwMDUyY2MnLFxuICAgICAgICAnIzUzMTllNycsXG4gICAgICAgICcjZTk5Njk1JyxcbiAgICAgICAgJyNmOWQwYzQnLFxuICAgICAgICAnI2ZlZjJjMCcsXG4gICAgICAgICcjYzJlMGM2JyxcbiAgICAgICAgJyNiZmRhZGMnLFxuICAgICAgICAnI2M1ZGVmNScsXG4gICAgICAgICcjYmZkNGYyJyxcbiAgICAgICAgJyNkNGM1ZjknXG4gICAgXTtcblxuICAgIGhpZ2hsaWdodENvbG9yUGFsZXR0ZSA9IFsnbm9uZScsIC4uLnRoaXMudGV4dENvbG9yUGFsZXR0ZV07XG5cbiAgICByZWFkb25seSBhbGlnbm1lbnRzID0gQWxpZ25tZW50O1xuXG4gICAgbnVtYmVyaW5nVGVtcGxhdGVUeXBlID0gTnVtYmVyaW5nVGVtcGxhdGVUeXBlO1xuXG4gICAgc2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlIHwgbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGN1c3RvbUljb25TZXJ2aWNlOiBDdXN0b21JY29uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRvb2xiYXJDb3JlU2VydmljZTogVG9vbGJhckNvcmVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3R5bGVzID0gdGhpcy5lZGl0b3JTZXJ2aWNlLnN0eWxlcztcbiAgICAgICAgdGhpcy5jdXN0b21JY29uU2VydmljZS5yZWdpc3RlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPSBUb29sYmFyU3R5bGVzSGVscGVyLmdldE51bWJlcmluZ1RlbXBsYXRlVHlwZSh0aGlzLnN0eWxlcy5udW1iZXJpbmdMZXZlbHNTdHlsZXMpO1xuICAgIH1cblxuICAgIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9vbGJhckNvcmVTZXJ2aWNlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgb25BcHBseSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGV4dFN0eWxlcyA9IG5ldyBUZXh0U3R5bGVNb2RlbCh0aGlzLnN0eWxlcyk7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zZXRUZXh0U3R5bGVzKHRleHRTdHlsZXMpO1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhTdHlsZXMgPSBuZXcgUGFyYWdyYXBoU3R5bGVNb2RlbCh7IGFsaWdubWVudDogdGhpcy5zdHlsZXMuYWxpZ25tZW50IH0pO1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2V0UGFyYWdyYXBoU3R5bGVzKHBhcmFncmFwaFN0eWxlcyk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXBsYXRlTGV2ZWxzID0gTnVtYmVyaW5nVGVtcGxhdGVzLmZpbmQoeCA9PiB4LnRlbXBsYXRlVHlwZSA9PT0gdGhpcy5zZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlKS5sZXZlbHM7XG4gICAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlKHRlbXBsYXRlTGV2ZWxzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5yZW1vdmVOdW1iZXJpbmdzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sYmFyQ29yZVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Rm9udEZhbWlseShmb250OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRGYW1pbHk6IGZvbnQgfSkpO1xuICAgIH1cblxuICAgIG9uQXBwbHlGb250U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRTaXplOiBzaXplIH0pKTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZUJvbGQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShuZXcgVGV4dFN0eWxlTW9kZWwoeyBib2xkOiAhdGhpcy5zdHlsZXMuYm9sZCB9KSk7XG4gICAgfVxuXG4gICAgb25Ub2dnbGVJdGFsaWMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShuZXcgVGV4dFN0eWxlTW9kZWwoeyBpdGFsaWM6ICF0aGlzLnN0eWxlcy5pdGFsaWMgfSkpO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlVW5kZXJsaW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0eWxlcy51bmRlcmxpbmUgPSAhdGhpcy5zdHlsZXMudW5kZXJsaW5lO1xuICAgIH1cblxuICAgIG9uU2VsZWN0Rm9udENvbG9yKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdHlsZXMuZm9udENvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgb25TZWxlY3RIaWdobGlnaHRDb2xvcihjb2xvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3R5bGVzLmhpZ2hsaWdodENvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgb25BcHBseUFsaWdubWVudChhbGlnbm1lbnQ6IEFsaWdubWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0eWxlcy5hbGlnbm1lbnQgPSBhbGlnbm1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdTdHlsZXMgPSB7IC4uLnRoaXMuc3R5bGVzLCAuLi5zdHlsZSB9O1xuICAgICAgICBjb25zdCBpdGFsaWMgPSBuZXdTdHlsZXMuaXRhbGljID8gJ2l0YWxpYyAnIDogJyc7XG4gICAgICAgIGNvbnN0IGJvbGQgPSBuZXdTdHlsZXMuYm9sZCA/ICdib2xkICcgOiAnJztcbiAgICAgICAgY29uc3QgZm9udFN0eWxlcyA9IGAke2l0YWxpY30ke2JvbGR9JHtuZXdTdHlsZXMuZm9udFNpemUgPz8gREVGQVVMVF9GT05UX1NJWkV9cHQgJHtuZXdTdHlsZXMuZm9udEZhbWlseX1gO1xuXG4gICAgICAgIGlmIChkb2N1bWVudC5mb250cy5jaGVjayhmb250U3R5bGVzKSkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUoc3R5bGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuZm9udHNcbiAgICAgICAgICAgIC5sb2FkKGZvbnRTdHlsZXMpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLmNoYW5nZVRleHRTdHlsZShzdHlsZSkpXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnRpbnVlIHJlZ2FyZGxlc3Mgb2YgZXJyb3JcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlVGV4dFN0eWxlKHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0eWxlcyA9IHsgLi4udGhpcy5zdHlsZXMsIC4uLnN0eWxlIH07XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgJ05PREVSLkxBQkVMLkZPTlQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb250XCI+XG4gICAgICAgICAgICA8YXBwLW5vZC1mb250XG4gICAgICAgICAgICAgICAgW3N0eWxlc109XCJzdHlsZXNcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RGb250KT1cIm9uQXBwbHlGb250RmFtaWx5KCRldmVudClcIiAvPlxuICAgICAgICAgICAgPGFwcC1ub2QtZm9udC1zaXplXG4gICAgICAgICAgICAgICAgW2ZvbnRTaXplXT1cInN0eWxlcy5mb250U2l6ZVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdEZvbnRTaXplKT1cIm9uQXBwbHlGb250U2l6ZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7ICdOT0RFUi5MQUJFTC5URVhUX1NUWUxFJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdHlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInN0eWxlcy5ib2xkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVCb2xkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBmb250SWNvbj1cImljb24tZm9ybWF0LWJvbGRcIiAvPlxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInN0eWxlcy5pdGFsaWNcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZUl0YWxpYygpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC1pdGFsaWNcIiAvPlxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInN0eWxlcy51bmRlcmxpbmVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVVuZGVybGluZSgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC11bmRlcmxpbmVkXCIgLz5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8YXBwLW5vZC1jb2xvci1waWNrZXJcbiAgICAgICAgICAgICAgICBpZD1cImljb24tZm9ybWF0LWNvbG9ydGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWNvbG9yXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbi1mb3JtYXQtY29sb3J0ZXh0XCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwic3R5bGVzLmZvbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgW3BhbGV0dGVdPVwidGV4dENvbG9yUGFsZXR0ZVwiXG4gICAgICAgICAgICAgICAgKGNvbG9yQ2hhbmdlKT1cIm9uU2VsZWN0Rm9udENvbG9yKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPGFwcC1ub2QtY29sb3ItcGlja2VyXG4gICAgICAgICAgICAgICAgaWQ9XCJpY29uLWxpbmstaGlnaGxpZ2h0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaGlnaGxpZ2h0LWNvbG9yXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbi1saW5rLWhpZ2hsaWdodGVyXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwic3R5bGVzLmhpZ2hsaWdodENvbG9yXCJcbiAgICAgICAgICAgICAgICBbcGFsZXR0ZV09XCJoaWdobGlnaHRDb2xvclBhbGV0dGVcIlxuICAgICAgICAgICAgICAgIChjb2xvckNoYW5nZSk9XCJvblNlbGVjdEhpZ2hsaWdodENvbG9yKCRldmVudClcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgJ05PREVSLkxBQkVMLkFMSUdOTUVOVCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwXG4gICAgICAgICAgICBuYW1lPVwiZm9ybWF0XCJcbiAgICAgICAgICAgIFtoaWRlTXVsdGlwbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJzdHlsZXMuYWxpZ25tZW50XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25BcHBseUFsaWdubWVudCgkZXZlbnQudmFsdWUpXCI+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImFsaWdubWVudHMuTGVmdFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1mb3JtYXQtYWxpZ25sZWZ0XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImFsaWdubWVudHMuQ2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC1hbGlnbmNlbnRlclwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJhbGlnbm1lbnRzLlJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWZvcm1hdC1hbGlnbnJpZ2h0XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGVcbiAgICAgICAgICAgICAgICBjbGFzcz1cImhpZGVcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhbGlnbm1lbnRzLkp1c3RpZnlcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBmb250SWNvbj1cImljb24tZm9ybWF0LWFsaWduXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7ICdOT0RFUi5MQUJFTC5CVUxMRVRFRF9BTkRfTlVNQkVSRURfTElTVCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlcmluZy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXJpbmctbGluZVwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbXB0eS1udW1iZXJpbmdcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9PT0gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID0gbnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnTk9ERVIuTEFCRUwuTk9ORScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm1hcmtlci0xXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QxXCIgLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm1hcmtlci0yXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MlwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QyXCIgLz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgc3ZnSWNvbj1cIm1hcmtlci0zXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPT09IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0M1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QzXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlcmluZy1saW5lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIHN2Z0ljb249XCJtYXJrZXItNFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NFwiIC8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIHN2Z0ljb249XCJtYXJrZXItNVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NVwiIC8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIHN2Z0ljb249XCJtYXJrZXItNlwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlID09PSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDZcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9IG51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NlwiIC8+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIHN2Z0ljb249XCJudW1iZXItMVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC1udW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWROdW1iZXJpbmdUZW1wbGF0ZSA9PT0gbnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QxXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkTnVtYmVyaW5nVGVtcGxhdGUgPSBudW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDFcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1pbmktZmFiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tY2FuY2VsLXRoaW5cIiAvPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1pbmktZmFiXG4gICAgICAgIChjbGljayk9XCJvbkFwcGx5KClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZG9uZS10aGluXCIgLz5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19