@worktile/theia 3.0.9 → 3.1.0-next.2

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 (705) hide show
  1. package/README.md +11 -11
  2. package/components/color-select/color-select.component.d.ts +32 -32
  3. package/components/color-select/color-select.component.scss +107 -107
  4. package/components/column-resize/column-resize-notifier.d.ts +35 -35
  5. package/components/column-resize/column-resize.directive.d.ts +26 -26
  6. package/components/column-resize/column-resize.module.d.ts +14 -14
  7. package/components/column-resize/event-dispatcher.d.ts +31 -31
  8. package/components/column-resize/overlay-handle.component.d.ts +33 -33
  9. package/components/column-resize/resize-ref.d.ts +25 -25
  10. package/components/column-resize/resizing.store.d.ts +28 -28
  11. package/components/column-resize/selectors.d.ts +3 -3
  12. package/components/contextmenu/contextmenu.component.d.ts +22 -22
  13. package/components/conversion-hint/conversion-hint.component.d.ts +18 -18
  14. package/components/conversion-hint/conversion-hint.component.scss +11 -11
  15. package/components/element/element.component.d.ts +7 -7
  16. package/components/inline-toolbar/inline-toolbar.component.d.ts +26 -26
  17. package/components/nav-split-line/nav-split-line.component.d.ts +13 -13
  18. package/components/table-select/table-select.component.d.ts +20 -20
  19. package/components/table-select/table-select.component.scss +35 -35
  20. package/components/template/template.component.d.ts +15 -15
  21. package/components/text/text.component.d.ts +14 -14
  22. package/components/toolbar/toolbar.component.d.ts +64 -65
  23. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +33 -33
  24. package/components/toolbar-group/toolbar-group.component.d.ts +33 -33
  25. package/components/toolbar-group/toolbar-group.component.scss +17 -17
  26. package/components/toolbar-item/toolbar-item.component.d.ts +17 -18
  27. package/constants/auto-format-rules.d.ts +2 -2
  28. package/constants/code.d.ts +9 -9
  29. package/constants/color-select.d.ts +14 -14
  30. package/constants/default.d.ts +9 -9
  31. package/constants/error.d.ts +5 -5
  32. package/constants/index.d.ts +5 -5
  33. package/constants/node-types.d.ts +99 -99
  34. package/constants/selector.d.ts +2 -2
  35. package/constants/toolbar.d.ts +17 -17
  36. package/core/create-plugin.d.ts +2 -2
  37. package/core/create-toolbar.d.ts +5 -5
  38. package/core/index.d.ts +4 -4
  39. package/core/toolbar-item/base-toolbar-item.d.ts +29 -29
  40. package/core/utils/combine-plugins.d.ts +2 -2
  41. package/core/utils/flatten-deep-plugins.d.ts +6 -6
  42. package/core/utils/get-plugin-options.d.ts +2 -2
  43. package/core/utils/get-plugin.d.ts +2 -2
  44. package/core/utils/get-plugins.d.ts +2 -2
  45. package/core/utils/index.d.ts +10 -10
  46. package/core/utils/merge-array.d.ts +1 -1
  47. package/core/utils/merge-deep-plugins.d.ts +2 -2
  48. package/core/utils/merge-options.d.ts +2 -2
  49. package/core/utils/nested-structure-by-key.d.ts +2 -2
  50. package/core/utils/plugins-by-key.d.ts +2 -2
  51. package/core/with-theia.d.ts +4 -4
  52. package/custom-types.d.ts +131 -131
  53. package/editor.component.d.ts +92 -92
  54. package/editor.module.d.ts +98 -98
  55. package/esm2020/components/color-select/color-select.component.mjs +109 -0
  56. package/esm2020/components/column-resize/column-resize-notifier.mjs +31 -0
  57. package/{esm2015/components/column-resize/column-resize.directive.js → esm2020/components/column-resize/column-resize.directive.mjs} +99 -99
  58. package/esm2020/components/column-resize/column-resize.module.mjs +33 -0
  59. package/{esm2015/components/column-resize/event-dispatcher.js → esm2020/components/column-resize/event-dispatcher.mjs} +56 -56
  60. package/{esm2015/components/column-resize/overlay-handle.component.js → esm2020/components/column-resize/overlay-handle.component.mjs} +140 -140
  61. package/{esm2015/components/column-resize/resize-ref.js → esm2020/components/column-resize/resize-ref.mjs} +25 -25
  62. package/{esm2015/components/column-resize/resizing.store.js → esm2020/components/column-resize/resizing.store.mjs} +155 -155
  63. package/{esm2015/components/column-resize/selectors.js → esm2020/components/column-resize/selectors.mjs} +4 -4
  64. package/esm2020/components/contextmenu/contextmenu.component.mjs +61 -0
  65. package/esm2020/components/conversion-hint/conversion-hint.component.mjs +54 -0
  66. package/esm2020/components/element/element.component.mjs +23 -0
  67. package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +138 -0
  68. package/{esm2015/components/nav-split-line/nav-split-line.component.js → esm2020/components/nav-split-line/nav-split-line.component.mjs} +37 -37
  69. package/esm2020/components/table-select/table-select.component.mjs +50 -0
  70. package/esm2020/components/template/template.component.mjs +62 -0
  71. package/{esm2015/components/text/text.component.js → esm2020/components/text/text.component.mjs} +58 -58
  72. package/esm2020/components/toolbar/toolbar.component.mjs +241 -0
  73. package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +129 -0
  74. package/esm2020/components/toolbar-group/toolbar-group.component.mjs +110 -0
  75. package/esm2020/components/toolbar-item/toolbar-item.component.mjs +101 -0
  76. package/{esm2015/constants/auto-format-rules.js → esm2020/constants/auto-format-rules.mjs} +166 -166
  77. package/{esm2015/constants/code.js → esm2020/constants/code.mjs} +88 -88
  78. package/{esm2015/constants/color-select.js → esm2020/constants/color-select.mjs} +61 -61
  79. package/{esm2015/constants/default.js → esm2020/constants/default.mjs} +9 -9
  80. package/{esm2015/constants/error.js → esm2020/constants/error.mjs} +7 -7
  81. package/{esm2015/constants/index.js → esm2020/constants/index.mjs} +5 -5
  82. package/{esm2015/constants/node-types.js → esm2020/constants/node-types.mjs} +132 -132
  83. package/{esm2015/constants/selector.js → esm2020/constants/selector.mjs} +3 -3
  84. package/{esm2015/constants/toolbar.js → esm2020/constants/toolbar.mjs} +69 -69
  85. package/{esm2015/core/create-plugin.js → esm2020/core/create-plugin.mjs} +4 -4
  86. package/esm2020/core/create-toolbar.mjs +56 -0
  87. package/{esm2015/core/index.js → esm2020/core/index.mjs} +4 -4
  88. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +90 -0
  89. package/{esm2015/core/utils/combine-plugins.js → esm2020/core/utils/combine-plugins.mjs} +9 -9
  90. package/{esm2015/core/utils/flatten-deep-plugins.js → esm2020/core/utils/flatten-deep-plugins.mjs} +18 -18
  91. package/esm2020/core/utils/get-plugin-options.mjs +3 -0
  92. package/{esm2015/core/utils/get-plugin.js → esm2020/core/utils/get-plugin.mjs} +1 -1
  93. package/esm2020/core/utils/get-plugins.mjs +4 -0
  94. package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +10 -10
  95. package/esm2020/core/utils/merge-array.mjs +18 -0
  96. package/{esm2015/core/utils/merge-deep-plugins.js → esm2020/core/utils/merge-deep-plugins.mjs} +13 -13
  97. package/{esm2015/core/utils/merge-options.js → esm2020/core/utils/merge-options.mjs} +19 -19
  98. package/{esm2015/core/utils/nested-structure-by-key.js → esm2020/core/utils/nested-structure-by-key.mjs} +10 -10
  99. package/{esm2015/core/utils/plugins-by-key.js → esm2020/core/utils/plugins-by-key.mjs} +9 -9
  100. package/{esm2015/core/with-theia.js → esm2020/core/with-theia.mjs} +22 -22
  101. package/{esm2015/custom-types.js → esm2020/custom-types.mjs} +1 -1
  102. package/esm2020/editor.component.mjs +431 -0
  103. package/{esm2015/editor.module.js → esm2020/editor.module.mjs} +201 -202
  104. package/{esm2015/interfaces/auto-format.js → esm2020/interfaces/auto-format.mjs} +1 -1
  105. package/esm2020/interfaces/editor.mjs +25 -0
  106. package/{esm2015/interfaces/element.js → esm2020/interfaces/element.mjs} +1 -1
  107. package/{esm2015/interfaces/image.js → esm2020/interfaces/image.mjs} +2 -2
  108. package/{esm2015/interfaces/index.js → esm2020/interfaces/index.mjs} +8 -8
  109. package/{esm2015/interfaces/plugins/index.js → esm2020/interfaces/plugins/index.mjs} +4 -4
  110. package/{esm2015/interfaces/plugins/no-infer.js → esm2020/interfaces/plugins/no-infer.mjs} +1 -1
  111. package/{esm2015/interfaces/plugins/plugin-key.js → esm2020/interfaces/plugins/plugin-key.mjs} +39 -39
  112. package/{esm2015/interfaces/plugins/plugins.js → esm2020/interfaces/plugins/plugins.mjs} +1 -1
  113. package/{esm2015/interfaces/plugins/with-override.js → esm2020/interfaces/plugins/with-override.mjs} +1 -1
  114. package/esm2020/interfaces/reset-block-type-plugin-options.mjs +2 -0
  115. package/{esm2015/interfaces/toolbar.js → esm2020/interfaces/toolbar.mjs} +11 -11
  116. package/esm2020/interfaces/upload.mjs +2 -0
  117. package/{esm2015/interfaces/utility/index.js → esm2020/interfaces/utility/index.mjs} +3 -3
  118. package/{esm2015/interfaces/utility/nested-structure-by-key.js → esm2020/interfaces/utility/nested-structure-by-key.mjs} +1 -1
  119. package/{esm2015/interfaces/utility/override-by-key.js → esm2020/interfaces/utility/override-by-key.mjs} +1 -1
  120. package/{esm2015/interfaces/utility/types.js → esm2020/interfaces/utility/types.mjs} +1 -1
  121. package/{esm2015/interfaces/valid-children-types.js → esm2020/interfaces/valid-children-types.mjs} +35 -35
  122. package/{esm2015/interfaces/view-base.js → esm2020/interfaces/view-base.mjs} +21 -21
  123. package/{esm2015/pipes.js → esm2020/pipes.mjs} +42 -42
  124. package/esm2020/plugins/align/align.editor.mjs +47 -0
  125. package/{esm2015/plugins/align/align.plugin.js → esm2020/plugins/align/align.plugin.mjs} +63 -63
  126. package/esm2020/plugins/autoformat/autoformat.plugin.mjs +109 -0
  127. package/{esm2015/plugins/autoformat/transforms/auto-format-block.js → esm2020/plugins/autoformat/transforms/auto-format-block.mjs} +14 -14
  128. package/{esm2015/plugins/autoformat/transforms/auto-format-inline.js → esm2020/plugins/autoformat/transforms/auto-format-inline.mjs} +77 -77
  129. package/{esm2015/plugins/blockquote/blockquote.component.js → esm2020/plugins/blockquote/blockquote.component.mjs} +21 -21
  130. package/esm2020/plugins/blockquote/blockquote.editor.mjs +20 -0
  131. package/{esm2015/plugins/blockquote/blockquote.plugin.js → esm2020/plugins/blockquote/blockquote.plugin.mjs} +70 -70
  132. package/esm2020/plugins/code/code.component.mjs +241 -0
  133. package/{esm2015/plugins/code/code.editor.js → esm2020/plugins/code/code.editor.mjs} +47 -47
  134. package/{esm2015/plugins/code/code.plugin.js → esm2020/plugins/code/code.plugin.mjs} +41 -41
  135. package/esm2020/plugins/color/color.editor.mjs +44 -0
  136. package/{esm2015/plugins/color/color.plugin.js → esm2020/plugins/color/color.plugin.mjs} +27 -27
  137. package/esm2020/plugins/color/toolbar-item.component.mjs +123 -0
  138. package/esm2020/plugins/common/auto-insert-data..mjs +77 -0
  139. package/{esm2015/plugins/common/block-card.plugin.js → esm2020/plugins/common/block-card.plugin.mjs} +287 -287
  140. package/esm2020/plugins/common/get-fragment.plugin.mjs +24 -0
  141. package/{esm2015/plugins/common/history.plugin.js → esm2020/plugins/common/history.plugin.mjs} +30 -30
  142. package/{esm2015/plugins/common/move-selection.plugin.js → esm2020/plugins/common/move-selection.plugin.mjs} +89 -89
  143. package/{esm2015/plugins/common/remove-empty.plugin.js → esm2020/plugins/common/remove-empty.plugin.mjs} +59 -59
  144. package/{esm2015/plugins/common/remove-void.plugin.js → esm2020/plugins/common/remove-void.plugin.mjs} +56 -56
  145. package/{esm2015/plugins/common/reset-type.plugin.js → esm2020/plugins/common/reset-type.plugin.mjs} +34 -34
  146. package/{esm2015/plugins/common/transforms.plugin.js → esm2020/plugins/common/transforms.plugin.mjs} +17 -17
  147. package/{esm2015/plugins/deserializers/deserialize-html.plugin.js → esm2020/plugins/deserializers/deserialize-html.plugin.mjs} +38 -38
  148. package/{esm2015/plugins/deserializers/deserialize-md.plugin.js → esm2020/plugins/deserializers/deserialize-md.plugin.mjs} +121 -121
  149. package/esm2020/plugins/font-size/font-size.editor.mjs +98 -0
  150. package/{esm2015/plugins/heading/heading.editor.js → esm2020/plugins/heading/heading.editor.mjs} +53 -53
  151. package/{esm2015/plugins/heading/heading.plugin.js → esm2020/plugins/heading/heading.plugin.mjs} +84 -84
  152. package/{esm2015/plugins/hr/hr.component.js → esm2020/plugins/hr/hr.component.mjs} +40 -40
  153. package/{esm2015/plugins/hr/hr.editor.js → esm2020/plugins/hr/hr.editor.mjs} +7 -7
  154. package/{esm2015/plugins/hr/hr.plugin.js → esm2020/plugins/hr/hr.plugin.mjs} +41 -41
  155. package/esm2020/plugins/image/image.component.mjs +365 -0
  156. package/{esm2015/plugins/image/image.editor.js → esm2020/plugins/image/image.editor.mjs} +57 -57
  157. package/esm2020/plugins/image/image.plugin.mjs +57 -0
  158. package/esm2020/plugins/indent/indent.editor.mjs +71 -0
  159. package/esm2020/plugins/indent/indent.plugin.mjs +58 -0
  160. package/{esm2015/plugins/indent/on-keydown-indent.js → esm2020/plugins/indent/on-keydown-indent.mjs} +53 -53
  161. package/{esm2015/plugins/index.js → esm2020/plugins/index.mjs} +70 -70
  162. package/{esm2015/plugins/inline-code/inline-code.component.js → esm2020/plugins/inline-code/inline-code.component.mjs} +23 -23
  163. package/{esm2015/plugins/inline-code/inline-code.editor.js → esm2020/plugins/inline-code/inline-code.editor.mjs} +48 -49
  164. package/{esm2015/plugins/inline-code/inline-code.plugin.js → esm2020/plugins/inline-code/inline-code.plugin.mjs} +65 -65
  165. package/esm2020/plugins/link/edit/link-edit.component.mjs +105 -0
  166. package/esm2020/plugins/link/hover/link-hover.component.mjs +36 -0
  167. package/{esm2015/plugins/link/link.component.js → esm2020/plugins/link/link.component.mjs} +164 -164
  168. package/{esm2015/plugins/link/link.editor.js → esm2020/plugins/link/link.editor.mjs} +66 -66
  169. package/{esm2015/plugins/link/link.plugin.js → esm2020/plugins/link/link.plugin.mjs} +58 -58
  170. package/{esm2015/plugins/link/link.types.js → esm2020/plugins/link/link.types.mjs} +12 -12
  171. package/esm2020/plugins/list/components/bulleted-list.component.mjs +33 -0
  172. package/esm2020/plugins/list/components/list-item.component.mjs +93 -0
  173. package/esm2020/plugins/list/components/numbered-list.component.mjs +39 -0
  174. package/{esm2015/plugins/list/list.editor.js → esm2020/plugins/list/list.editor.mjs} +125 -125
  175. package/esm2020/plugins/list/list.plugin.mjs +286 -0
  176. package/{esm2015/plugins/list/normalizers/get-list-normalizer.js → esm2020/plugins/list/normalizers/get-list-normalizer.mjs} +39 -39
  177. package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +18 -0
  178. package/{esm2015/plugins/list/normalizers/normalize-no.js → esm2020/plugins/list/normalizers/normalize-no.mjs} +42 -42
  179. package/{esm2015/plugins/list/on-key-down-list.js → esm2020/plugins/list/on-key-down-list.mjs} +32 -32
  180. package/{esm2015/plugins/list/queries/get-list-item-entry.js → esm2020/plugins/list/queries/get-list-item-entry.mjs} +27 -27
  181. package/{esm2015/plugins/list/queries/get-list-item-sublist.js → esm2020/plugins/list/queries/get-list-item-sublist.mjs} +12 -12
  182. package/{esm2015/plugins/list/queries/get-list-types.js → esm2020/plugins/list/queries/get-list-types.mjs} +5 -5
  183. package/{esm2015/plugins/list/queries/get-start-list-item.js → esm2020/plugins/list/queries/get-start-list-item.mjs} +26 -26
  184. package/{esm2015/plugins/list/queries/has-list-in-list-item.js → esm2020/plugins/list/queries/has-list-in-list-item.mjs} +27 -27
  185. package/{esm2015/plugins/list/queries/is-in-list.js → esm2020/plugins/list/queries/is-in-list.mjs} +5 -5
  186. package/{esm2015/plugins/list/queries/is-list-nested.js → esm2020/plugins/list/queries/is-list-nested.mjs} +10 -10
  187. package/{esm2015/plugins/list/queries/is-list.js → esm2020/plugins/list/queries/is-list.mjs} +5 -5
  188. package/{esm2015/plugins/list/queries/is-node-type-list.js → esm2020/plugins/list/queries/is-node-type-list.mjs} +4 -4
  189. package/{esm2015/plugins/list/queries/is-selection-at-list-item-start.js → esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs} +12 -12
  190. package/{esm2015/plugins/list/queries/is-selection-in-same-list-item.js → esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs} +16 -16
  191. package/{esm2015/plugins/list/queries/is-single-list-item.js → esm2020/plugins/list/queries/is-single-list-item.mjs} +9 -9
  192. package/{esm2015/plugins/list/transforms/insert-list-data.js → esm2020/plugins/list/transforms/insert-list-data.mjs} +71 -71
  193. package/{esm2015/plugins/list/transforms/insert-list-item.js → esm2020/plugins/list/transforms/insert-list-item.mjs} +72 -72
  194. package/{esm2015/plugins/list/transforms/move-list-item-down.js → esm2020/plugins/list/transforms/move-list-item-down.mjs} +41 -41
  195. package/{esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.js → esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs} +42 -42
  196. package/{esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list.js → esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs} +29 -29
  197. package/{esm2015/plugins/list/transforms/move-list-item-up.js → esm2020/plugins/list/transforms/move-list-item-up.mjs} +77 -77
  198. package/{esm2015/plugins/list/transforms/unwrap-list.js → esm2020/plugins/list/transforms/unwrap-list.mjs} +9 -9
  199. package/esm2020/plugins/list/types.mjs +2 -0
  200. package/esm2020/plugins/mark/mark.editor.mjs +28 -0
  201. package/esm2020/plugins/mark/mark.plugin.mjs +105 -0
  202. package/esm2020/plugins/node-id/node-id.plugin.mjs +78 -0
  203. package/esm2020/plugins/normalizers/insert-paragraph-nodes.mjs +28 -0
  204. package/{esm2015/plugins/normalizers/remove-empty-nodes.js → esm2020/plugins/normalizers/remove-empty-nodes.mjs} +17 -17
  205. package/esm2020/plugins/normalizers/trailing-node.plugin.mjs +33 -0
  206. package/{esm2015/plugins/paint-format/paint-format.editor.js → esm2020/plugins/paint-format/paint-format.editor.mjs} +122 -122
  207. package/{esm2015/plugins/public-api.js → esm2020/plugins/public-api.mjs} +15 -15
  208. package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +96 -0
  209. package/esm2020/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.mjs +80 -0
  210. package/{esm2015/plugins/quick-insert/quick-insert.editor.js → esm2020/plugins/quick-insert/quick-insert.editor.mjs} +52 -52
  211. package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +74 -0
  212. package/esm2020/plugins/soft-break/soft-break.plugin.mjs +36 -0
  213. package/{esm2015/plugins/soft-break/soft-break.types.js → esm2020/plugins/soft-break/soft-break.types.mjs} +1 -1
  214. package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +100 -0
  215. package/{esm2015/plugins/table/components/row/row.component.js → esm2020/plugins/table/components/row/row.component.mjs} +47 -47
  216. package/esm2020/plugins/table/components/table.component.mjs +461 -0
  217. package/esm2020/plugins/table/components/td/td.component.mjs +696 -0
  218. package/{esm2015/plugins/table/components/toolbar/table-options.component.js → esm2020/plugins/table/components/toolbar/table-options.component.mjs} +72 -69
  219. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +159 -0
  220. package/{esm2015/plugins/table/table.editor.js → esm2020/plugins/table/table.editor.mjs} +182 -182
  221. package/esm2020/plugins/table/table.plugin.mjs +427 -0
  222. package/{esm2015/plugins/table/table.service.js → esm2020/plugins/table/table.service.mjs} +103 -103
  223. package/esm2020/plugins/table/table.store.mjs +484 -0
  224. package/{esm2015/plugins/table/table.types.js → esm2020/plugins/table/table.types.mjs} +33 -33
  225. package/esm2020/plugins/table/toolbar-item.component.mjs +85 -0
  226. package/esm2020/plugins/table/transforms/clear-cell.mjs +14 -0
  227. package/{esm2015/plugins/table/transforms/clear-table-node.js → esm2020/plugins/table/transforms/clear-table-node.mjs} +27 -27
  228. package/{esm2015/plugins/table/transforms/insert-column.js → esm2020/plugins/table/transforms/insert-column.mjs} +57 -57
  229. package/{esm2015/plugins/table/transforms/insert-row.js → esm2020/plugins/table/transforms/insert-row.mjs} +42 -42
  230. package/esm2020/plugins/table/transforms/insert-table.mjs +15 -0
  231. package/{esm2015/plugins/table/transforms/remove-column.js → esm2020/plugins/table/transforms/remove-column.mjs} +51 -51
  232. package/{esm2015/plugins/table/transforms/remove-row.js → esm2020/plugins/table/transforms/remove-row.mjs} +50 -50
  233. package/{esm2015/plugins/table/transforms/remove-table.js → esm2020/plugins/table/transforms/remove-table.mjs} +49 -49
  234. package/{esm2015/plugins/table/utils/add-columns.js → esm2020/plugins/table/utils/add-columns.mjs} +28 -28
  235. package/{esm2015/plugins/table/utils/calc-anchor-position.js → esm2020/plugins/table/utils/calc-anchor-position.mjs} +24 -24
  236. package/{esm2015/plugins/table/utils/calc-span.js → esm2020/plugins/table/utils/calc-span.mjs} +72 -72
  237. package/{esm2015/plugins/table/utils/create-cell.js → esm2020/plugins/table/utils/create-cell.mjs} +19 -19
  238. package/{esm2015/plugins/table/utils/create-row.js → esm2020/plugins/table/utils/create-row.mjs} +12 -12
  239. package/{esm2015/plugins/table/utils/create-table.js → esm2020/plugins/table/utils/create-table.mjs} +13 -13
  240. package/{esm2015/plugins/table/utils/get-base-height.js → esm2020/plugins/table/utils/get-base-height.mjs} +22 -22
  241. package/{esm2015/plugins/table/utils/get-select-cell-node.js → esm2020/plugins/table/utils/get-select-cell-node.mjs} +19 -16
  242. package/{esm2015/plugins/table/utils/index.js → esm2020/plugins/table/utils/index.mjs} +8 -8
  243. package/{esm2015/plugins/table/utils/is-range-in-table.js → esm2020/plugins/table/utils/is-range-in-table.mjs} +16 -16
  244. package/{esm2015/plugins/table/utils/is-selection-in-table.js → esm2020/plugins/table/utils/is-selection-in-table.mjs} +11 -11
  245. package/{esm2015/plugins/table/utils/is-virtual-key.js → esm2020/plugins/table/utils/is-virtual-key.mjs} +13 -13
  246. package/{esm2015/plugins/table/utils/merge-cell.js → esm2020/plugins/table/utils/merge-cell.mjs} +90 -90
  247. package/{esm2015/plugins/table/utils/next-path.js → esm2020/plugins/table/utils/next-path.mjs} +5 -5
  248. package/{esm2015/plugins/table/utils/normalize-table.js → esm2020/plugins/table/utils/normalize-table.mjs} +30 -30
  249. package/{esm2015/plugins/table/utils/remove-columns.js → esm2020/plugins/table/utils/remove-columns.mjs} +23 -23
  250. package/{esm2015/plugins/table/utils/set-menu-cell-invisibility.js → esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs} +15 -15
  251. package/{esm2015/plugins/table/utils/split-cell.js → esm2020/plugins/table/utils/split-cell.mjs} +31 -31
  252. package/{esm2015/plugins/table/utils/table-position.js → esm2020/plugins/table/utils/table-position.mjs} +242 -242
  253. package/esm2020/plugins/todo-item/todo-item.component.mjs +64 -0
  254. package/{esm2015/plugins/todo-item/todo-item.editor.js → esm2020/plugins/todo-item/todo-item.editor.mjs} +31 -31
  255. package/{esm2015/plugins/todo-item/todo-item.plugin.js → esm2020/plugins/todo-item/todo-item.plugin.mjs} +78 -78
  256. package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +83 -0
  257. package/{esm2015/plugins/vertical-align/vertical-align.editor.js → esm2020/plugins/vertical-align/vertical-align.editor.mjs} +54 -54
  258. package/{esm2015/public-api.js → esm2020/public-api.mjs} +23 -23
  259. package/{esm2015/queries/anchor-block-entry.js → esm2020/queries/anchor-block-entry.mjs} +13 -13
  260. package/{esm2015/queries/anchor-block.js → esm2020/queries/anchor-block.mjs} +6 -6
  261. package/{esm2015/queries/anchor-inline-entry.js → esm2020/queries/anchor-inline-entry.mjs} +10 -10
  262. package/{esm2015/queries/find-descendant.js → esm2020/queries/find-descendant.mjs} +47 -47
  263. package/{esm2015/queries/find-node.js → esm2020/queries/find-node.mjs} +45 -45
  264. package/{esm2015/queries/find-path.js → esm2020/queries/find-path.mjs} +28 -28
  265. package/esm2020/queries/get-above-by-type.mjs +14 -0
  266. package/{esm2015/queries/get-above.js → esm2020/queries/get-above.mjs} +9 -9
  267. package/{esm2015/queries/get-anchor-block-entry.js → esm2020/queries/get-anchor-block-entry.mjs} +8 -8
  268. package/esm2020/queries/get-block-above.mjs +10 -0
  269. package/esm2020/queries/get-block-card-above.mjs +10 -0
  270. package/{esm2015/queries/get-block-card-cursor.js → esm2020/queries/get-block-card-cursor.mjs} +5 -5
  271. package/{esm2015/queries/get-container-blocks.js → esm2020/queries/get-container-blocks.mjs} +11 -11
  272. package/{esm2015/queries/get-directly-parent.js → esm2020/queries/get-directly-parent.mjs} +11 -11
  273. package/{esm2015/queries/get-insert-elements-path.js → esm2020/queries/get-insert-elements-path.mjs} +43 -43
  274. package/{esm2015/queries/get-last-child-path.js → esm2020/queries/get-last-child-path.mjs} +9 -9
  275. package/{esm2015/queries/get-last-node.js → esm2020/queries/get-last-node.mjs} +17 -17
  276. package/{esm2015/queries/get-next-sibling-nodes.js → esm2020/queries/get-next-sibling-nodes.mjs} +17 -17
  277. package/{esm2015/queries/get-node.js → esm2020/queries/get-node.mjs} +10 -10
  278. package/esm2020/queries/get-nodes-by-type.mjs +15 -0
  279. package/{esm2015/queries/get-nodes.js → esm2020/queries/get-nodes.mjs} +7 -7
  280. package/{esm2015/queries/get-parent.js → esm2020/queries/get-parent.mjs} +12 -12
  281. package/esm2020/queries/get-plain-text.mjs +16 -0
  282. package/{esm2015/queries/get-plugin-by-toolbar.js → esm2020/queries/get-plugin-by-toolbar.mjs} +12 -12
  283. package/{esm2015/queries/get-point-before.js → esm2020/queries/get-point-before.mjs} +62 -62
  284. package/{esm2015/queries/get-point-from-location.js → esm2020/queries/get-point-from-location.mjs} +15 -15
  285. package/{esm2015/queries/get-previous-path.js → esm2020/queries/get-previous-path.mjs} +9 -9
  286. package/{esm2015/queries/get-rang-from-block-start.js → esm2020/queries/get-rang-from-block-start.mjs} +16 -16
  287. package/{esm2015/queries/get-range-before.js → esm2020/queries/get-range-before.mjs} +17 -17
  288. package/esm2020/queries/get-selection-marks.mjs +18 -0
  289. package/{esm2015/queries/get-selection-nodes-by-type.js → esm2020/queries/get-selection-nodes-by-type.mjs} +29 -29
  290. package/{esm2015/queries/get-text.js → esm2020/queries/get-text.mjs} +9 -9
  291. package/esm2020/queries/get-toolbar-disabled.mjs +13 -0
  292. package/{esm2015/queries/index.js → esm2020/queries/index.mjs} +58 -58
  293. package/{esm2015/queries/is-across-blocks.js → esm2020/queries/is-across-blocks.mjs} +7 -7
  294. package/{esm2015/queries/is-ancestor-empty.js → esm2020/queries/is-ancestor-empty.mjs} +6 -6
  295. package/{esm2015/queries/is-ancestor.js → esm2020/queries/is-ancestor.mjs} +3 -3
  296. package/{esm2015/queries/is-block-above-empty.js → esm2020/queries/is-block-above-empty.mjs} +11 -11
  297. package/{esm2015/queries/is-block-active.js → esm2020/queries/is-block-active.mjs} +7 -7
  298. package/{esm2015/queries/is-block-card-cursor.js → esm2020/queries/is-block-card-cursor.mjs} +4 -4
  299. package/{esm2015/queries/is-block-text-empty-after-selection.js → esm2020/queries/is-block-text-empty-after-selection.mjs} +31 -31
  300. package/{esm2015/queries/is-collapsed.js → esm2020/queries/is-collapsed.mjs} +7 -7
  301. package/{esm2015/queries/is-contain-nested-type.js → esm2020/queries/is-contain-nested-type.mjs} +28 -28
  302. package/{esm2015/queries/is-container-type.js → esm2020/queries/is-container-type.mjs} +2 -2
  303. package/{esm2015/queries/is-descendant.js → esm2020/queries/is-descendant.mjs} +3 -3
  304. package/{esm2015/queries/is-empty-content.js → esm2020/queries/is-empty-content.mjs} +14 -14
  305. package/{esm2015/queries/is-empty-paragraph-by-path.js → esm2020/queries/is-empty-paragraph-by-path.mjs} +7 -7
  306. package/{esm2015/queries/is-empty-paragraph.js → esm2020/queries/is-empty-paragraph.mjs} +11 -11
  307. package/{esm2015/queries/is-first-child.js → esm2020/queries/is-first-child.mjs} +5 -5
  308. package/{esm2015/queries/is-include-types.js → esm2020/queries/is-include-types.mjs} +11 -11
  309. package/{esm2015/queries/is-node-type-in.js → esm2020/queries/is-node-type-in.mjs} +9 -9
  310. package/{esm2015/queries/is-node-type.js → esm2020/queries/is-node-type.mjs} +15 -15
  311. package/{esm2015/queries/is-paragraph.js → esm2020/queries/is-paragraph.mjs} +9 -9
  312. package/{esm2015/queries/is-point-at-root.js → esm2020/queries/is-point-at-root.mjs} +2 -2
  313. package/esm2020/queries/is-range-across-blocks.mjs +22 -0
  314. package/{esm2015/queries/is-range-at-root.js → esm2020/queries/is-range-at-root.mjs} +3 -3
  315. package/{esm2015/queries/is-start.js → esm2020/queries/is-start.mjs} +6 -6
  316. package/{esm2015/queries/some-node.js → esm2020/queries/some-node.mjs} +9 -9
  317. package/{esm2015/services/color-select.service.js → esm2020/services/color-select.service.mjs} +50 -50
  318. package/esm2020/services/context.service.mjs +59 -0
  319. package/{esm2015/services/table-contextmenu.service.js → esm2020/services/table-contextmenu.service.mjs} +190 -190
  320. package/esm2020/services/toolbar.service.mjs +48 -0
  321. package/{esm2015/shortcuts/index.js → esm2020/shortcuts/index.mjs} +5 -5
  322. package/{esm2015/shortcuts/mark.js → esm2020/shortcuts/mark.mjs} +24 -24
  323. package/{esm2015/transforms/apply-deep-to-nodes.js → esm2020/transforms/apply-deep-to-nodes.mjs} +21 -21
  324. package/{esm2015/transforms/clear-marks.js → esm2020/transforms/clear-marks.mjs} +23 -23
  325. package/{esm2015/transforms/close-conversion-hint.js → esm2020/transforms/close-conversion-hint.mjs} +8 -8
  326. package/{esm2015/transforms/delete-element.js → esm2020/transforms/delete-element.mjs} +11 -11
  327. package/{esm2015/transforms/handle-continual-delete-backward.js → esm2020/transforms/handle-continual-delete-backward.mjs} +17 -17
  328. package/{esm2015/transforms/handle-continual-insert-break.js → esm2020/transforms/handle-continual-insert-break.mjs} +19 -19
  329. package/{esm2015/transforms/index.js → esm2020/transforms/index.mjs} +18 -18
  330. package/esm2020/transforms/insert-elements.mjs +34 -0
  331. package/{esm2015/transforms/insert-paragraph.js → esm2020/transforms/insert-paragraph.mjs} +6 -6
  332. package/esm2020/transforms/merge-deep-to-nodes.mjs +9 -0
  333. package/{esm2015/transforms/move-children.js → esm2020/transforms/move-children.mjs} +21 -21
  334. package/{esm2015/transforms/on-keydown-reset-block-type.js → esm2020/transforms/on-keydown-reset-block-type.mjs} +22 -22
  335. package/{esm2015/transforms/set-end-selection.js → esm2020/transforms/set-end-selection.mjs} +10 -10
  336. package/{esm2015/transforms/set-marks.js → esm2020/transforms/set-marks.mjs} +9 -9
  337. package/{esm2015/transforms/set-node.js → esm2020/transforms/set-node.mjs} +5 -5
  338. package/{esm2015/transforms/split-node.js → esm2020/transforms/split-node.mjs} +31 -31
  339. package/{esm2015/transforms/un-hang-range.js → esm2020/transforms/un-hang-range.mjs} +11 -11
  340. package/{esm2015/transforms/un-wrap.js → esm2020/transforms/un-wrap.mjs} +11 -11
  341. package/esm2020/transforms/unwrap-nodes-by-type.mjs +14 -0
  342. package/{esm2015/utils/auto-focus.js → esm2020/utils/auto-focus.mjs} +13 -13
  343. package/{esm2015/utils/auto-scroll-view.js → esm2020/utils/auto-scroll-view.mjs} +24 -24
  344. package/{esm2015/utils/cast-array.js → esm2020/utils/cast-array.mjs} +7 -7
  345. package/{esm2015/utils/common.js → esm2020/utils/common.mjs} +2 -2
  346. package/{esm2015/utils/create-empty-paragraph.js → esm2020/utils/create-empty-paragraph.mjs} +14 -14
  347. package/{esm2015/utils/data-transform.js → esm2020/utils/data-transform.mjs} +48 -48
  348. package/{esm2015/utils/dom.js → esm2020/utils/dom.mjs} +46 -46
  349. package/{esm2015/utils/editor-uuid.js → esm2020/utils/editor-uuid.mjs} +8 -8
  350. package/{esm2015/utils/fragment.js → esm2020/utils/fragment.mjs} +65 -65
  351. package/{esm2015/utils/get-editable-element-height.js → esm2020/utils/get-editable-element-height.mjs} +6 -6
  352. package/{esm2015/utils/get-toolbar-class.js → esm2020/utils/get-toolbar-class.mjs} +6 -6
  353. package/{esm2015/utils/id-creator.js → esm2020/utils/id-creator.mjs} +11 -11
  354. package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +13 -13
  355. package/{esm2015/utils/is-clean-empty-paragraph.js → esm2020/utils/is-clean-empty-paragraph.mjs} +36 -36
  356. package/esm2020/utils/is-inline.mjs +9 -0
  357. package/{esm2015/utils/lodash.js → esm2020/utils/lodash.mjs} +3 -3
  358. package/esm2020/utils/match.mjs +32 -0
  359. package/{esm2015/utils/merge-element-options.js → esm2020/utils/merge-element-options.mjs} +19 -19
  360. package/{esm2015/utils/weak-maps.js → esm2020/utils/weak-maps.mjs} +3 -3
  361. package/{esm2015/worktile-theia.js → esm2020/worktile-theia.mjs} +4 -4
  362. package/fesm2015/{worktile-theia.js → worktile-theia.mjs} +13096 -13169
  363. package/fesm2015/worktile-theia.mjs.map +1 -0
  364. package/fesm2020/worktile-theia.mjs +13739 -0
  365. package/fesm2020/worktile-theia.mjs.map +1 -0
  366. package/interfaces/auto-format.d.ts +64 -64
  367. package/interfaces/editor.d.ts +146 -146
  368. package/interfaces/element.d.ts +9 -9
  369. package/interfaces/image.d.ts +25 -25
  370. package/interfaces/index.d.ts +8 -8
  371. package/interfaces/plugins/index.d.ts +4 -4
  372. package/interfaces/plugins/no-infer.d.ts +1 -1
  373. package/interfaces/plugins/plugin-key.d.ts +48 -48
  374. package/interfaces/plugins/plugins.d.ts +45 -45
  375. package/interfaces/plugins/with-override.d.ts +7 -7
  376. package/interfaces/reset-block-type-plugin-options.d.ts +23 -23
  377. package/interfaces/toolbar.d.ts +64 -64
  378. package/interfaces/upload.d.ts +11 -11
  379. package/interfaces/utility/index.d.ts +3 -3
  380. package/interfaces/utility/nested-structure-by-key.d.ts +3 -3
  381. package/interfaces/utility/override-by-key.d.ts +3 -3
  382. package/interfaces/utility/types.d.ts +1 -1
  383. package/interfaces/valid-children-types.d.ts +9 -9
  384. package/interfaces/view-base.d.ts +9 -9
  385. package/package.json +20 -6
  386. package/pipes.d.ts +16 -16
  387. package/plugins/align/align.editor.d.ts +7 -7
  388. package/plugins/align/align.plugin.d.ts +2 -2
  389. package/plugins/autoformat/autoformat.plugin.d.ts +6 -6
  390. package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -5
  391. package/plugins/autoformat/transforms/auto-format-inline.d.ts +9 -9
  392. package/plugins/blockquote/blockquote.component.d.ts +11 -11
  393. package/plugins/blockquote/blockquote.editor.d.ts +4 -4
  394. package/plugins/blockquote/blockquote.plugin.d.ts +2 -2
  395. package/plugins/code/code.component.d.ts +65 -65
  396. package/plugins/code/code.editor.d.ts +8 -8
  397. package/plugins/code/code.plugin.d.ts +2 -2
  398. package/plugins/color/color.editor.d.ts +8 -8
  399. package/plugins/color/color.plugin.d.ts +1 -1
  400. package/plugins/color/toolbar-item.component.d.ts +16 -16
  401. package/plugins/common/auto-insert-data..d.ts +2 -2
  402. package/plugins/common/block-card.plugin.d.ts +2 -2
  403. package/plugins/common/get-fragment.plugin.d.ts +6 -6
  404. package/plugins/common/history.plugin.d.ts +9 -9
  405. package/plugins/common/move-selection.plugin.d.ts +2 -2
  406. package/plugins/common/remove-empty.plugin.d.ts +2 -2
  407. package/plugins/common/remove-void.plugin.d.ts +2 -2
  408. package/plugins/common/reset-type.plugin.d.ts +2 -2
  409. package/plugins/common/transforms.plugin.d.ts +8 -8
  410. package/plugins/deserializers/deserialize-html.plugin.d.ts +2 -2
  411. package/plugins/deserializers/deserialize-md.plugin.d.ts +2 -2
  412. package/plugins/font-size/font-size.editor.d.ts +10 -10
  413. package/plugins/heading/heading.editor.d.ts +9 -9
  414. package/plugins/heading/heading.plugin.d.ts +7 -7
  415. package/plugins/hr/hr.component.d.ts +12 -12
  416. package/plugins/hr/hr.editor.d.ts +4 -4
  417. package/plugins/hr/hr.plugin.d.ts +2 -2
  418. package/plugins/image/image.component.d.ts +74 -74
  419. package/plugins/image/image.editor.d.ts +12 -12
  420. package/plugins/image/image.plugin.d.ts +7 -7
  421. package/plugins/indent/indent.editor.d.ts +10 -10
  422. package/plugins/indent/indent.plugin.d.ts +8 -8
  423. package/plugins/indent/on-keydown-indent.d.ts +3 -3
  424. package/plugins/index.d.ts +1 -1
  425. package/plugins/inline-code/inline-code.component.d.ts +9 -9
  426. package/plugins/inline-code/inline-code.editor.d.ts +7 -7
  427. package/plugins/inline-code/inline-code.plugin.d.ts +2 -2
  428. package/plugins/link/edit/link-edit.component.d.ts +36 -36
  429. package/plugins/link/hover/link-hover.component.d.ts +15 -15
  430. package/plugins/link/link.component.d.ts +39 -39
  431. package/plugins/link/link.editor.d.ts +7 -7
  432. package/plugins/link/link.plugin.d.ts +2 -2
  433. package/plugins/link/link.types.d.ts +9 -9
  434. package/plugins/list/components/bulleted-list.component.d.ts +15 -15
  435. package/plugins/list/components/list-item.component.d.ts +20 -20
  436. package/plugins/list/components/numbered-list.component.d.ts +16 -16
  437. package/plugins/list/list.editor.d.ts +12 -12
  438. package/plugins/list/list.plugin.d.ts +3 -3
  439. package/plugins/list/normalizers/get-list-normalizer.d.ts +6 -6
  440. package/plugins/list/normalizers/normalize-list-item.d.ts +5 -5
  441. package/plugins/list/normalizers/normalize-no.d.ts +2 -2
  442. package/plugins/list/on-key-down-list.d.ts +2 -2
  443. package/plugins/list/queries/get-list-item-entry.d.ts +10 -10
  444. package/plugins/list/queries/get-list-item-sublist.d.ts +6 -6
  445. package/plugins/list/queries/get-list-types.d.ts +2 -2
  446. package/plugins/list/queries/get-start-list-item.d.ts +8 -8
  447. package/plugins/list/queries/has-list-in-list-item.d.ts +15 -15
  448. package/plugins/list/queries/is-in-list.d.ts +2 -2
  449. package/plugins/list/queries/is-list-nested.d.ts +5 -5
  450. package/plugins/list/queries/is-list.d.ts +2 -2
  451. package/plugins/list/queries/is-node-type-list.d.ts +2 -2
  452. package/plugins/list/queries/is-selection-at-list-item-start.d.ts +5 -5
  453. package/plugins/list/queries/is-selection-in-same-list-item.d.ts +5 -5
  454. package/plugins/list/queries/is-single-list-item.d.ts +5 -5
  455. package/plugins/list/transforms/insert-list-data.d.ts +12 -12
  456. package/plugins/list/transforms/insert-list-item.d.ts +5 -5
  457. package/plugins/list/transforms/move-list-item-down.d.ts +6 -6
  458. package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +20 -20
  459. package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +19 -19
  460. package/plugins/list/transforms/move-list-item-up.d.ts +10 -10
  461. package/plugins/list/transforms/unwrap-list.d.ts +2 -2
  462. package/plugins/list/types.d.ts +7 -7
  463. package/plugins/mark/mark.editor.d.ts +8 -8
  464. package/plugins/mark/mark.plugin.d.ts +3 -3
  465. package/plugins/node-id/node-id.plugin.d.ts +8 -8
  466. package/plugins/normalizers/insert-paragraph-nodes.d.ts +7 -7
  467. package/plugins/normalizers/remove-empty-nodes.d.ts +7 -7
  468. package/plugins/normalizers/trailing-node.plugin.d.ts +9 -9
  469. package/plugins/paint-format/paint-format.editor.d.ts +8 -8
  470. package/plugins/public-api.d.ts +15 -15
  471. package/plugins/quick-insert/components/quick-insert.component.d.ts +28 -28
  472. package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +28 -28
  473. package/plugins/quick-insert/quick-insert.editor.d.ts +7 -7
  474. package/plugins/quick-insert/quick-insert.plugin.d.ts +10 -10
  475. package/plugins/soft-break/soft-break.plugin.d.ts +5 -5
  476. package/plugins/soft-break/soft-break.types.d.ts +8 -8
  477. package/plugins/table/components/insert-mark/insert-mark.component.d.ts +24 -24
  478. package/plugins/table/components/row/row.component.d.ts +14 -14
  479. package/plugins/table/components/table.component.d.ts +79 -79
  480. package/plugins/table/components/td/td.component.d.ts +95 -95
  481. package/plugins/table/components/toolbar/table-options.component.d.ts +20 -20
  482. package/plugins/table/components/toolbar/table-toolbar.component.d.ts +38 -38
  483. package/plugins/table/table.editor.d.ts +25 -25
  484. package/plugins/table/table.plugin.d.ts +3 -3
  485. package/plugins/table/table.service.d.ts +30 -30
  486. package/plugins/table/table.store.d.ts +71 -71
  487. package/plugins/table/table.types.d.ts +67 -67
  488. package/plugins/table/toolbar-item.component.d.ts +17 -17
  489. package/plugins/table/transforms/clear-cell.d.ts +6 -6
  490. package/plugins/table/transforms/clear-table-node.d.ts +6 -6
  491. package/plugins/table/transforms/insert-column.d.ts +12 -12
  492. package/plugins/table/transforms/insert-row.d.ts +6 -6
  493. package/plugins/table/transforms/insert-table.d.ts +6 -6
  494. package/plugins/table/transforms/remove-column.d.ts +3 -3
  495. package/plugins/table/transforms/remove-row.d.ts +3 -3
  496. package/plugins/table/transforms/remove-table.d.ts +3 -3
  497. package/plugins/table/utils/add-columns.d.ts +2 -2
  498. package/plugins/table/utils/calc-anchor-position.d.ts +6 -6
  499. package/plugins/table/utils/calc-span.d.ts +11 -11
  500. package/plugins/table/utils/create-cell.d.ts +16 -16
  501. package/plugins/table/utils/create-row.d.ts +7 -7
  502. package/plugins/table/utils/create-table.d.ts +7 -7
  503. package/plugins/table/utils/get-base-height.d.ts +9 -9
  504. package/plugins/table/utils/get-select-cell-node.d.ts +7 -7
  505. package/plugins/table/utils/index.d.ts +7 -7
  506. package/plugins/table/utils/is-range-in-table.d.ts +6 -6
  507. package/plugins/table/utils/is-selection-in-table.d.ts +6 -6
  508. package/plugins/table/utils/is-virtual-key.d.ts +1 -1
  509. package/plugins/table/utils/merge-cell.d.ts +21 -21
  510. package/plugins/table/utils/next-path.d.ts +2 -2
  511. package/plugins/table/utils/normalize-table.d.ts +2 -2
  512. package/plugins/table/utils/remove-columns.d.ts +2 -2
  513. package/plugins/table/utils/set-menu-cell-invisibility.d.ts +3 -3
  514. package/plugins/table/utils/split-cell.d.ts +4 -4
  515. package/plugins/table/utils/table-position.d.ts +97 -97
  516. package/plugins/todo-item/todo-item.component.d.ts +21 -21
  517. package/plugins/todo-item/todo-item.editor.d.ts +5 -5
  518. package/plugins/todo-item/todo-item.plugin.d.ts +5 -5
  519. package/plugins/vertical-align/toolbar-item.component.d.ts +25 -25
  520. package/plugins/vertical-align/vertical-align.editor.d.ts +7 -7
  521. package/public-api.d.ts +20 -20
  522. package/queries/anchor-block-entry.d.ts +2 -2
  523. package/queries/anchor-block.d.ts +2 -2
  524. package/queries/anchor-inline-entry.d.ts +2 -2
  525. package/queries/find-descendant.d.ts +10 -10
  526. package/queries/find-node.d.ts +15 -15
  527. package/queries/find-path.d.ts +6 -6
  528. package/queries/get-above-by-type.d.ts +6 -6
  529. package/queries/get-above.d.ts +6 -6
  530. package/queries/get-anchor-block-entry.d.ts +2 -2
  531. package/queries/get-block-above.d.ts +7 -7
  532. package/queries/get-block-card-above.d.ts +7 -7
  533. package/queries/get-block-card-cursor.d.ts +2 -2
  534. package/queries/get-container-blocks.d.ts +2 -2
  535. package/queries/get-directly-parent.d.ts +2 -2
  536. package/queries/get-insert-elements-path.d.ts +7 -7
  537. package/queries/get-last-child-path.d.ts +6 -6
  538. package/queries/get-last-node.d.ts +2 -2
  539. package/queries/get-next-sibling-nodes.d.ts +7 -7
  540. package/queries/get-node.d.ts +2 -2
  541. package/queries/get-nodes-by-type.d.ts +6 -6
  542. package/queries/get-nodes.d.ts +4 -4
  543. package/queries/get-parent.d.ts +7 -7
  544. package/queries/get-plain-text.d.ts +6 -6
  545. package/queries/get-plugin-by-toolbar.d.ts +3 -3
  546. package/queries/get-point-before.d.ts +38 -38
  547. package/queries/get-point-from-location.d.ts +5 -5
  548. package/queries/get-previous-path.d.ts +2 -2
  549. package/queries/get-rang-from-block-start.d.ts +9 -9
  550. package/queries/get-range-before.d.ts +7 -7
  551. package/queries/get-selection-marks.d.ts +12 -12
  552. package/queries/get-selection-nodes-by-type.d.ts +3 -3
  553. package/queries/get-text.d.ts +6 -6
  554. package/queries/get-toolbar-disabled.d.ts +4 -4
  555. package/queries/index.d.ts +58 -58
  556. package/queries/is-across-blocks.d.ts +2 -2
  557. package/queries/is-ancestor-empty.d.ts +5 -5
  558. package/queries/is-ancestor.d.ts +2 -2
  559. package/queries/is-block-above-empty.d.ts +5 -5
  560. package/queries/is-block-active.d.ts +3 -3
  561. package/queries/is-block-card-cursor.d.ts +2 -2
  562. package/queries/is-block-text-empty-after-selection.d.ts +7 -7
  563. package/queries/is-collapsed.d.ts +6 -6
  564. package/queries/is-contain-nested-type.d.ts +2 -2
  565. package/queries/is-container-type.d.ts +2 -2
  566. package/queries/is-descendant.d.ts +2 -2
  567. package/queries/is-empty-content.d.ts +2 -2
  568. package/queries/is-empty-paragraph-by-path.d.ts +2 -2
  569. package/queries/is-empty-paragraph.d.ts +2 -2
  570. package/queries/is-first-child.d.ts +5 -5
  571. package/queries/is-include-types.d.ts +3 -3
  572. package/queries/is-node-type-in.d.ts +6 -6
  573. package/queries/is-node-type.d.ts +6 -6
  574. package/queries/is-paragraph.d.ts +2 -2
  575. package/queries/is-point-at-root.d.ts +2 -2
  576. package/queries/is-range-across-blocks.d.ts +8 -8
  577. package/queries/is-range-at-root.d.ts +2 -2
  578. package/queries/is-start.d.ts +5 -5
  579. package/queries/some-node.d.ts +7 -7
  580. package/services/color-select.service.d.ts +20 -20
  581. package/services/context.service.d.ts +49 -49
  582. package/services/table-contextmenu.service.d.ts +25 -25
  583. package/services/toolbar.service.d.ts +9 -9
  584. package/shortcuts/index.d.ts +2 -2
  585. package/shortcuts/mark.d.ts +2 -2
  586. package/transforms/apply-deep-to-nodes.d.ts +12 -12
  587. package/transforms/clear-marks.d.ts +2 -2
  588. package/transforms/close-conversion-hint.d.ts +2 -2
  589. package/transforms/delete-element.d.ts +2 -2
  590. package/transforms/handle-continual-delete-backward.d.ts +3 -3
  591. package/transforms/handle-continual-insert-break.d.ts +3 -3
  592. package/transforms/index.d.ts +18 -18
  593. package/transforms/insert-elements.d.ts +2 -2
  594. package/transforms/insert-paragraph.d.ts +2 -2
  595. package/transforms/merge-deep-to-nodes.d.ts +5 -5
  596. package/transforms/move-children.d.ts +24 -24
  597. package/transforms/on-keydown-reset-block-type.d.ts +3 -3
  598. package/transforms/set-end-selection.d.ts +2 -2
  599. package/transforms/set-marks.d.ts +12 -12
  600. package/transforms/set-node.d.ts +2 -2
  601. package/transforms/split-node.d.ts +3 -3
  602. package/transforms/un-hang-range.d.ts +10 -10
  603. package/transforms/un-wrap.d.ts +3 -3
  604. package/transforms/unwrap-nodes-by-type.d.ts +6 -6
  605. package/utils/auto-focus.d.ts +2 -2
  606. package/utils/auto-scroll-view.d.ts +6 -6
  607. package/utils/cast-array.d.ts +1 -1
  608. package/utils/common.d.ts +2 -2
  609. package/utils/create-empty-paragraph.d.ts +2 -2
  610. package/utils/data-transform.d.ts +6 -6
  611. package/utils/dom.d.ts +10 -10
  612. package/utils/editor-uuid.d.ts +3 -3
  613. package/utils/fragment.d.ts +10 -10
  614. package/utils/get-editable-element-height.d.ts +2 -2
  615. package/utils/get-toolbar-class.d.ts +2 -2
  616. package/utils/id-creator.d.ts +1 -1
  617. package/utils/index.d.ts +13 -13
  618. package/utils/is-clean-empty-paragraph.d.ts +9 -9
  619. package/utils/is-inline.d.ts +2 -2
  620. package/utils/lodash.d.ts +1 -1
  621. package/utils/match.d.ts +18 -18
  622. package/utils/merge-element-options.d.ts +2 -2
  623. package/utils/weak-maps.d.ts +5 -5
  624. package/worktile-theia.d.ts +5 -5
  625. package/bundles/worktile-theia.umd.js +0 -14919
  626. package/bundles/worktile-theia.umd.js.map +0 -1
  627. package/esm2015/components/color-select/color-select.component.js +0 -113
  628. package/esm2015/components/column-resize/column-resize-notifier.js +0 -31
  629. package/esm2015/components/column-resize/column-resize.module.js +0 -34
  630. package/esm2015/components/contextmenu/contextmenu.component.js +0 -64
  631. package/esm2015/components/conversion-hint/conversion-hint.component.js +0 -59
  632. package/esm2015/components/element/element.component.js +0 -24
  633. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +0 -139
  634. package/esm2015/components/table-select/table-select.component.js +0 -53
  635. package/esm2015/components/template/template.component.js +0 -66
  636. package/esm2015/components/toolbar/toolbar.component.js +0 -250
  637. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +0 -133
  638. package/esm2015/components/toolbar-group/toolbar-group.component.js +0 -116
  639. package/esm2015/components/toolbar-item/toolbar-item.component.js +0 -105
  640. package/esm2015/core/create-toolbar.js +0 -57
  641. package/esm2015/core/toolbar-item/base-toolbar-item.js +0 -92
  642. package/esm2015/core/utils/get-plugin-options.js +0 -3
  643. package/esm2015/core/utils/get-plugins.js +0 -5
  644. package/esm2015/core/utils/merge-array.js +0 -18
  645. package/esm2015/editor.component.js +0 -440
  646. package/esm2015/interfaces/editor.js +0 -23
  647. package/esm2015/interfaces/reset-block-type-plugin-options.js +0 -2
  648. package/esm2015/interfaces/upload.js +0 -2
  649. package/esm2015/plugins/align/align.editor.js +0 -48
  650. package/esm2015/plugins/autoformat/autoformat.plugin.js +0 -110
  651. package/esm2015/plugins/blockquote/blockquote.editor.js +0 -21
  652. package/esm2015/plugins/code/code.component.js +0 -245
  653. package/esm2015/plugins/color/color.editor.js +0 -45
  654. package/esm2015/plugins/color/toolbar-item.component.js +0 -124
  655. package/esm2015/plugins/common/auto-insert-data..js +0 -78
  656. package/esm2015/plugins/common/get-fragment.plugin.js +0 -25
  657. package/esm2015/plugins/font-size/font-size.editor.js +0 -98
  658. package/esm2015/plugins/image/image.component.js +0 -370
  659. package/esm2015/plugins/image/image.plugin.js +0 -58
  660. package/esm2015/plugins/indent/indent.editor.js +0 -73
  661. package/esm2015/plugins/indent/indent.plugin.js +0 -60
  662. package/esm2015/plugins/link/edit/link-edit.component.js +0 -108
  663. package/esm2015/plugins/link/hover/link-hover.component.js +0 -39
  664. package/esm2015/plugins/list/components/bulleted-list.component.js +0 -34
  665. package/esm2015/plugins/list/components/list-item.component.js +0 -95
  666. package/esm2015/plugins/list/components/numbered-list.component.js +0 -40
  667. package/esm2015/plugins/list/list.plugin.js +0 -281
  668. package/esm2015/plugins/list/normalizers/normalize-list-item.js +0 -19
  669. package/esm2015/plugins/list/types.js +0 -2
  670. package/esm2015/plugins/mark/mark.editor.js +0 -29
  671. package/esm2015/plugins/mark/mark.plugin.js +0 -102
  672. package/esm2015/plugins/node-id/node-id.plugin.js +0 -69
  673. package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +0 -29
  674. package/esm2015/plugins/normalizers/trailing-node.plugin.js +0 -34
  675. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +0 -102
  676. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +0 -84
  677. package/esm2015/plugins/quick-insert/quick-insert.plugin.js +0 -75
  678. package/esm2015/plugins/soft-break/soft-break.plugin.js +0 -37
  679. package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +0 -103
  680. package/esm2015/plugins/table/components/table.component.js +0 -470
  681. package/esm2015/plugins/table/components/td/td.component.js +0 -698
  682. package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +0 -162
  683. package/esm2015/plugins/table/table.plugin.js +0 -424
  684. package/esm2015/plugins/table/table.store.js +0 -480
  685. package/esm2015/plugins/table/toolbar-item.component.js +0 -86
  686. package/esm2015/plugins/table/transforms/clear-cell.js +0 -11
  687. package/esm2015/plugins/table/transforms/insert-table.js +0 -15
  688. package/esm2015/plugins/todo-item/todo-item.component.js +0 -66
  689. package/esm2015/plugins/vertical-align/toolbar-item.component.js +0 -90
  690. package/esm2015/queries/get-above-by-type.js +0 -11
  691. package/esm2015/queries/get-block-above.js +0 -7
  692. package/esm2015/queries/get-block-card-above.js +0 -7
  693. package/esm2015/queries/get-nodes-by-type.js +0 -12
  694. package/esm2015/queries/get-plain-text.js +0 -16
  695. package/esm2015/queries/get-selection-marks.js +0 -19
  696. package/esm2015/queries/get-toolbar-disabled.js +0 -14
  697. package/esm2015/queries/is-range-across-blocks.js +0 -18
  698. package/esm2015/services/context.service.js +0 -60
  699. package/esm2015/services/toolbar.service.js +0 -48
  700. package/esm2015/transforms/insert-elements.js +0 -35
  701. package/esm2015/transforms/merge-deep-to-nodes.js +0 -9
  702. package/esm2015/transforms/unwrap-nodes-by-type.js +0 -11
  703. package/esm2015/utils/is-inline.js +0 -10
  704. package/esm2015/utils/match.js +0 -29
  705. package/fesm2015/worktile-theia.js.map +0 -1
@@ -1,56 +1,59 @@
1
- import { Component, Input, HostListener } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "ngx-tethys";
4
- import * as i2 from "ngx-tethys/action-menu";
5
- import * as i3 from "ngx-tethys/icon";
6
- import * as i4 from "@angular/common";
7
- export class TheTableOptionsComponent {
8
- constructor(popoverRef) {
9
- this.popoverRef = popoverRef;
10
- this.tableDropdownList = [
11
- // {
12
- // name: '表头行',
13
- // key: 'headerRow'
14
- // },
15
- // {
16
- // name: '表头列',
17
- // key: 'headerColumn'
18
- // },
19
- {
20
- name: '序号列',
21
- key: 'numberedColumn'
22
- }
23
- ];
24
- }
25
- get table() {
26
- return this.tableStore && this.tableStore.getTableEntry(this.editor)[0];
27
- }
28
- handleDocumentMouseDown(event) {
29
- if (this.popoverRef && !document.querySelector('.table-options-pannel').contains(event.target)) {
30
- this.popoverRef.close();
31
- }
32
- }
33
- ngOnInit() {
34
- this.setColumnOptions();
35
- }
36
- setColumnOptions() {
37
- this.tableDropdownList.forEach(item => {
38
- item.isActive = (this.table.options && this.table.options[item.key]) || false;
39
- });
40
- }
41
- setTableOptions(event, option) {
42
- event.preventDefault();
43
- event.stopPropagation();
44
- const currentOption = this.tableDropdownList.find(item => item.key === option.key);
45
- currentOption.isActive = !option.isActive;
46
- const tableOption = {};
47
- tableOption[option.key] = currentOption.isActive || null;
48
- this.tableStore.setTableOptions(this.editor, Object.assign(Object.assign({}, this.table.options), tableOption));
49
- this.popoverRef.close();
50
- }
51
- }
52
- TheTableOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableOptionsComponent, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
53
- TheTableOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableOptionsComponent, selector: "the-table-options", inputs: { tableStore: "tableStore", editor: "editor" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" } }, ngImport: i0, template: `
1
+ import { Component, Input, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-tethys";
4
+ import * as i2 from "ngx-tethys/action-menu";
5
+ import * as i3 from "ngx-tethys/icon";
6
+ import * as i4 from "@angular/common";
7
+ export class TheTableOptionsComponent {
8
+ constructor(popoverRef) {
9
+ this.popoverRef = popoverRef;
10
+ this.tableDropdownList = [
11
+ // {
12
+ // name: '表头行',
13
+ // key: 'headerRow'
14
+ // },
15
+ // {
16
+ // name: '表头列',
17
+ // key: 'headerColumn'
18
+ // },
19
+ {
20
+ name: '序号列',
21
+ key: 'numberedColumn'
22
+ }
23
+ ];
24
+ }
25
+ get table() {
26
+ return this.tableStore && this.tableStore.getTableEntry(this.editor)[0];
27
+ }
28
+ handleDocumentMouseDown(event) {
29
+ if (this.popoverRef && !document.querySelector('.table-options-pannel').contains(event.target)) {
30
+ this.popoverRef.close();
31
+ }
32
+ }
33
+ ngOnInit() {
34
+ this.setColumnOptions();
35
+ }
36
+ setColumnOptions() {
37
+ this.tableDropdownList.forEach(item => {
38
+ item.isActive = (this.table.options && this.table.options[item.key]) || false;
39
+ });
40
+ }
41
+ setTableOptions(event, option) {
42
+ event.preventDefault();
43
+ event.stopPropagation();
44
+ const currentOption = this.tableDropdownList.find(item => item.key === option.key);
45
+ currentOption.isActive = !option.isActive;
46
+ const tableOption = {};
47
+ tableOption[option.key] = currentOption.isActive || null;
48
+ this.tableStore.setTableOptions(this.editor, {
49
+ ...this.table.options,
50
+ ...tableOption
51
+ });
52
+ this.popoverRef.close();
53
+ }
54
+ }
55
+ TheTableOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTableOptionsComponent, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
56
+ TheTableOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheTableOptionsComponent, selector: "the-table-options", inputs: { tableStore: "tableStore", editor: "editor" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" } }, ngImport: i0, template: `
54
57
  <thy-action-menu class="table-drop-menu">
55
58
  <ng-container *ngFor="let option of tableDropdownList">
56
59
  <a thyActionMenuItem href="javascript:;" (mousedown)="setTableOptions($event, option)">
@@ -61,11 +64,11 @@ TheTableOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
61
64
  </a>
62
65
  </ng-container>
63
66
  </thy-action-menu>
64
- `, isInline: true, components: [{ type: i2.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i3.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.ThyActionMenuItemExtendIconDirective, selector: "[thyActionMenuItemExtendIcon]" }] });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableOptionsComponent, decorators: [{
66
- type: Component,
67
- args: [{
68
- selector: 'the-table-options',
67
+ `, isInline: true, components: [{ type: i2.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i3.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i2.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.ThyActionMenuItemExtendIconDirective, selector: "[thyActionMenuItemExtendIcon]" }] });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTableOptionsComponent, decorators: [{
69
+ type: Component,
70
+ args: [{
71
+ selector: 'the-table-options',
69
72
  template: `
70
73
  <thy-action-menu class="table-drop-menu">
71
74
  <ng-container *ngFor="let option of tableDropdownList">
@@ -77,14 +80,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
77
80
  </a>
78
81
  </ng-container>
79
82
  </thy-action-menu>
80
- `
81
- }]
82
- }], ctorParameters: function () { return [{ type: i1.ThyPopoverRef }]; }, propDecorators: { tableStore: [{
83
- type: Input
84
- }], editor: [{
85
- type: Input
86
- }], handleDocumentMouseDown: [{
87
- type: HostListener,
88
- args: ['document: mousedown', ['$event']]
89
- }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtb3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtb3B0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFxQnZFLE1BQU0sT0FBTyx3QkFBd0I7SUErQmpDLFlBQW9CLFVBQW1EO1FBQW5ELGVBQVUsR0FBVixVQUFVLENBQXlDO1FBdEJ2RSxzQkFBaUIsR0FBMEI7WUFDdkMsSUFBSTtZQUNKLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsS0FBSztZQUNMLElBQUk7WUFDSixtQkFBbUI7WUFDbkIsMEJBQTBCO1lBQzFCLEtBQUs7WUFDTDtnQkFDSSxJQUFJLEVBQUUsS0FBSztnQkFDWCxHQUFHLEVBQUUsZ0JBQWdCO2FBQ3hCO1NBQ0osQ0FBQztJQVN3RSxDQUFDO0lBMUIzRSxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFrQkQsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBcUIsQ0FBQyxFQUFFO1lBQzNHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBSUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDbEYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWlCLEVBQUUsTUFBMkI7UUFDMUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkYsYUFBYSxDQUFDLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDMUMsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sa0NBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUNsQixXQUFXLEVBQ2hCLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7O3NIQXZEUSx3QkFBd0I7MEdBQXhCLHdCQUF3QixvTUFidkI7Ozs7Ozs7Ozs7O0tBV1Q7NEZBRVEsd0JBQXdCO2tCQWZwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7S0FXVDtpQkFDSjtvR0FFWSxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFzQk4sdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi90YWJsZS5zdG9yZSc7XG5pbXBvcnQgeyBUYWJsZURyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vLi4vdGFibGUudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS10YWJsZS1vcHRpb25zJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8dGh5LWFjdGlvbi1tZW51IGNsYXNzPVwidGFibGUtZHJvcC1tZW51XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgdGFibGVEcm9wZG93bkxpc3RcIj5cbiAgICAgICAgICAgICAgICA8YSB0aHlBY3Rpb25NZW51SXRlbSBocmVmPVwiamF2YXNjcmlwdDo7XCIgKG1vdXNlZG93bik9XCJzZXRUYWJsZU9wdGlvbnMoJGV2ZW50LCBvcHRpb24pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHRoeUFjdGlvbk1lbnVJdGVtTmFtZT57eyBvcHRpb24ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gdGh5QWN0aW9uTWVudUl0ZW1FeHRlbmRJY29uIGNsYXNzPVwidGV4dC1wcmltYXJ5XCIgKm5nSWY9XCJvcHRpb24uaXNBY3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNoZWNrXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3RoeS1hY3Rpb24tbWVudT5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFRoZVRhYmxlT3B0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgdGFibGVTdG9yZTogVGFibGVTdG9yZTtcblxuICAgIEBJbnB1dCgpIGVkaXRvcjogRWRpdG9yO1xuXG4gICAgZ2V0IHRhYmxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVN0b3JlICYmIHRoaXMudGFibGVTdG9yZS5nZXRUYWJsZUVudHJ5KHRoaXMuZWRpdG9yKVswXTtcbiAgICB9XG5cbiAgICB0YWJsZURyb3Bkb3duTGlzdDogVGFibGVEcm9wZG93bk9wdGlvbltdID0gW1xuICAgICAgICAvLyB7XG4gICAgICAgIC8vICAgICBuYW1lOiAn6KGo5aS06KGMJyxcbiAgICAgICAgLy8gICAgIGtleTogJ2hlYWRlclJvdydcbiAgICAgICAgLy8gfSxcbiAgICAgICAgLy8ge1xuICAgICAgICAvLyAgICAgbmFtZTogJ+ihqOWktOWIlycsXG4gICAgICAgIC8vICAgICBrZXk6ICdoZWFkZXJDb2x1bW4nXG4gICAgICAgIC8vIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICfluo/lj7fliJcnLFxuICAgICAgICAgICAga2V5OiAnbnVtYmVyZWRDb2x1bW4nXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6IG1vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlRG9jdW1lbnRNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZiAmJiAhZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnRhYmxlLW9wdGlvbnMtcGFubmVsJykuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8VGhlVGFibGVPcHRpb25zQ29tcG9uZW50Pikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENvbHVtbk9wdGlvbnMoKTtcbiAgICB9XG5cbiAgICBzZXRDb2x1bW5PcHRpb25zKCkge1xuICAgICAgICB0aGlzLnRhYmxlRHJvcGRvd25MaXN0LmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gKHRoaXMudGFibGUub3B0aW9ucyAmJiB0aGlzLnRhYmxlLm9wdGlvbnNbaXRlbS5rZXldKSB8fCBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0VGFibGVPcHRpb25zKGV2ZW50OiBNb3VzZUV2ZW50LCBvcHRpb246IFRhYmxlRHJvcGRvd25PcHRpb24pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRPcHRpb24gPSB0aGlzLnRhYmxlRHJvcGRvd25MaXN0LmZpbmQoaXRlbSA9PiBpdGVtLmtleSA9PT0gb3B0aW9uLmtleSk7XG4gICAgICAgIGN1cnJlbnRPcHRpb24uaXNBY3RpdmUgPSAhb3B0aW9uLmlzQWN0aXZlO1xuICAgICAgICBjb25zdCB0YWJsZU9wdGlvbiA9IHt9O1xuICAgICAgICB0YWJsZU9wdGlvbltvcHRpb24ua2V5XSA9IGN1cnJlbnRPcHRpb24uaXNBY3RpdmUgfHwgbnVsbDtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNldFRhYmxlT3B0aW9ucyh0aGlzLmVkaXRvciwge1xuICAgICAgICAgICAgLi4udGhpcy50YWJsZS5vcHRpb25zLFxuICAgICAgICAgICAgLi4udGFibGVPcHRpb25cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cbn1cbiJdfQ==
83
+ `
84
+ }]
85
+ }], ctorParameters: function () { return [{ type: i1.ThyPopoverRef }]; }, propDecorators: { tableStore: [{
86
+ type: Input
87
+ }], editor: [{
88
+ type: Input
89
+ }], handleDocumentMouseDown: [{
90
+ type: HostListener,
91
+ args: ['document: mousedown', ['$event']]
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtb3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtb3B0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFxQnZFLE1BQU0sT0FBTyx3QkFBd0I7SUErQmpDLFlBQW9CLFVBQW1EO1FBQW5ELGVBQVUsR0FBVixVQUFVLENBQXlDO1FBdEJ2RSxzQkFBaUIsR0FBMEI7WUFDdkMsSUFBSTtZQUNKLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsS0FBSztZQUNMLElBQUk7WUFDSixtQkFBbUI7WUFDbkIsMEJBQTBCO1lBQzFCLEtBQUs7WUFDTDtnQkFDSSxJQUFJLEVBQUUsS0FBSztnQkFDWCxHQUFHLEVBQUUsZ0JBQWdCO2FBQ3hCO1NBQ0osQ0FBQztJQVN3RSxDQUFDO0lBMUIzRSxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFrQkQsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBcUIsQ0FBQyxFQUFFO1lBQzNHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBSUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDbEYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWlCLEVBQUUsTUFBMkI7UUFDMUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkYsYUFBYSxDQUFDLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDMUMsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN6QyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNyQixHQUFHLFdBQVc7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDOztxSEF2RFEsd0JBQXdCO3lHQUF4Qix3QkFBd0Isb01BYnZCOzs7Ozs7Ozs7OztLQVdUOzJGQUVRLHdCQUF3QjtrQkFmcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0tBV1Q7aUJBQ0o7b0dBRVksVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBc0JOLHVCQUF1QjtzQkFEdEIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cyc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vdGFibGUuc3RvcmUnO1xuaW1wb3J0IHsgVGFibGVEcm9wZG93bk9wdGlvbiB9IGZyb20gJy4uLy4uL3RhYmxlLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtdGFibGUtb3B0aW9ucycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPHRoeS1hY3Rpb24tbWVudSBjbGFzcz1cInRhYmxlLWRyb3AtbWVudVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHRhYmxlRHJvcGRvd25MaXN0XCI+XG4gICAgICAgICAgICAgICAgPGEgdGh5QWN0aW9uTWVudUl0ZW0gaHJlZj1cImphdmFzY3JpcHQ6O1wiIChtb3VzZWRvd24pPVwic2V0VGFibGVPcHRpb25zKCRldmVudCwgb3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiB0aHlBY3Rpb25NZW51SXRlbU5hbWU+e3sgb3B0aW9uLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHRoeUFjdGlvbk1lbnVJdGVtRXh0ZW5kSWNvbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiICpuZ0lmPVwib3B0aW9uLmlzQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjaGVja1wiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90aHktYWN0aW9uLW1lbnU+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBUaGVUYWJsZU9wdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHRhYmxlU3RvcmU6IFRhYmxlU3RvcmU7XG5cbiAgICBASW5wdXQoKSBlZGl0b3I6IEVkaXRvcjtcblxuICAgIGdldCB0YWJsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTdG9yZSAmJiB0aGlzLnRhYmxlU3RvcmUuZ2V0VGFibGVFbnRyeSh0aGlzLmVkaXRvcilbMF07XG4gICAgfVxuXG4gICAgdGFibGVEcm9wZG93bkxpc3Q6IFRhYmxlRHJvcGRvd25PcHRpb25bXSA9IFtcbiAgICAgICAgLy8ge1xuICAgICAgICAvLyAgICAgbmFtZTogJ+ihqOWktOihjCcsXG4gICAgICAgIC8vICAgICBrZXk6ICdoZWFkZXJSb3cnXG4gICAgICAgIC8vIH0sXG4gICAgICAgIC8vIHtcbiAgICAgICAgLy8gICAgIG5hbWU6ICfooajlpLTliJcnLFxuICAgICAgICAvLyAgICAga2V5OiAnaGVhZGVyQ29sdW1uJ1xuICAgICAgICAvLyB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAn5bqP5Y+35YiXJyxcbiAgICAgICAgICAgIGtleTogJ251bWJlcmVkQ29sdW1uJ1xuICAgICAgICB9XG4gICAgXTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OiBtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZURvY3VtZW50TW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJSZWYgJiYgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy50YWJsZS1vcHRpb25zLXBhbm5lbCcpLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPFRoZVRhYmxlT3B0aW9uc0NvbXBvbmVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDb2x1bW5PcHRpb25zKCk7XG4gICAgfVxuXG4gICAgc2V0Q29sdW1uT3B0aW9ucygpIHtcbiAgICAgICAgdGhpcy50YWJsZURyb3Bkb3duTGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9ICh0aGlzLnRhYmxlLm9wdGlvbnMgJiYgdGhpcy50YWJsZS5vcHRpb25zW2l0ZW0ua2V5XSkgfHwgZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldFRhYmxlT3B0aW9ucyhldmVudDogTW91c2VFdmVudCwgb3B0aW9uOiBUYWJsZURyb3Bkb3duT3B0aW9uKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBjb25zdCBjdXJyZW50T3B0aW9uID0gdGhpcy50YWJsZURyb3Bkb3duTGlzdC5maW5kKGl0ZW0gPT4gaXRlbS5rZXkgPT09IG9wdGlvbi5rZXkpO1xuICAgICAgICBjdXJyZW50T3B0aW9uLmlzQWN0aXZlID0gIW9wdGlvbi5pc0FjdGl2ZTtcbiAgICAgICAgY29uc3QgdGFibGVPcHRpb24gPSB7fTtcbiAgICAgICAgdGFibGVPcHRpb25bb3B0aW9uLmtleV0gPSBjdXJyZW50T3B0aW9uLmlzQWN0aXZlIHx8IG51bGw7XG4gICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXRUYWJsZU9wdGlvbnModGhpcy5lZGl0b3IsIHtcbiAgICAgICAgICAgIC4uLnRoaXMudGFibGUub3B0aW9ucyxcbiAgICAgICAgICAgIC4uLnRhYmxlT3B0aW9uXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,159 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { BackgroundColors, TableHeaderBackgroundColor, SpecialBackgroundColor } from '../../../../constants/color-select';
3
+ import { splitCell } from '../../utils/split-cell';
4
+ import { setCellMenuInvisibility } from '../../utils/set-menu-cell-invisibility';
5
+ import { TableEditor } from '../../table.editor';
6
+ import { TheTableOptionsComponent } from './table-options.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../../services/color-select.service";
9
+ import * as i2 from "ngx-tethys/popover";
10
+ import * as i3 from "ngx-tethys/nav";
11
+ import * as i4 from "ngx-tethys/icon";
12
+ import * as i5 from "../../../../components/nav-split-line/nav-split-line.component";
13
+ import * as i6 from "ngx-tethys/button";
14
+ import * as i7 from "@angular/common";
15
+ import * as i8 from "ngx-tethys/tooltip";
16
+ export class TheTableToolbarComponent {
17
+ constructor(ngZone, colorSelectService, thyPopover, popoverRef) {
18
+ this.ngZone = ngZone;
19
+ this.colorSelectService = colorSelectService;
20
+ this.thyPopover = thyPopover;
21
+ this.popoverRef = popoverRef;
22
+ this.cellMenuList = [
23
+ {
24
+ key: 'merge-cells',
25
+ name: '合并单元格',
26
+ invisibility: false,
27
+ icon: 'table-merge-cells',
28
+ actionHandle: () => {
29
+ event.preventDefault();
30
+ event.stopPropagation();
31
+ this.tableStore.mergeCell(this.editor);
32
+ this.popoverRef.close();
33
+ this.tableStore.clearSelectedCells();
34
+ }
35
+ },
36
+ {
37
+ key: 'split-cells',
38
+ name: '拆分单元格',
39
+ invisibility: false,
40
+ icon: 'table-unmerge-cells',
41
+ actionHandle: () => {
42
+ event.preventDefault();
43
+ event.stopPropagation();
44
+ splitCell(this.editor);
45
+ this.popoverRef.close();
46
+ this.tableStore.clearSelectedCells();
47
+ }
48
+ }
49
+ ];
50
+ }
51
+ get editor() {
52
+ return this.tableStore && this.tableStore.editor;
53
+ }
54
+ get isShowSplitLine() {
55
+ return this.cellMenuList.filter(item => !item.invisibility).length > 1;
56
+ }
57
+ ngOnInit() {
58
+ this.deleteIcon = DeleteIcon[this.getDeleteIcon()];
59
+ this.getIconName(this.deleteIcon);
60
+ setCellMenuInvisibility(this.editor, this.cellMenuList, this.tableStore.selectedCells, this.isActiveSelect);
61
+ this.selectedColor = this.tableStore.getSelectedCellBackgroundColor();
62
+ }
63
+ ngOnDestroy() {
64
+ this.colorSelectService.closeColorSelect();
65
+ }
66
+ getIconName(key) {
67
+ switch (key) {
68
+ case 'trash':
69
+ this.iconName = '删除表格';
70
+ break;
71
+ case 'table-delete-columns':
72
+ this.iconName = '删除整列';
73
+ break;
74
+ case 'table-delete-rows':
75
+ this.iconName = '删除整行';
76
+ break;
77
+ }
78
+ }
79
+ getDeleteIcon() {
80
+ if (this.tableStore.isSelectedTable) {
81
+ return DeleteIcon.trash;
82
+ }
83
+ if (this.tableStore.selectedRowsIndex.length > 0) {
84
+ return DeleteIcon['table-delete-rows'];
85
+ }
86
+ if (this.tableStore.selectedColumnsIndex.length > 0) {
87
+ return DeleteIcon['table-delete-columns'];
88
+ }
89
+ return null;
90
+ }
91
+ onDelete(event) {
92
+ event.preventDefault();
93
+ this.tableStore.removeColumnOrRows();
94
+ this.tableStore.clearDangerousCells();
95
+ this.tableStore.clearSelectedCells();
96
+ this.popoverRef.close();
97
+ }
98
+ onEnterDelete(event) {
99
+ this.tableStore.setDangerousCells();
100
+ }
101
+ onLeaveDelete(event) {
102
+ this.tableStore.clearDangerousCells();
103
+ }
104
+ openSelectColor(event) {
105
+ event.preventDefault();
106
+ event.stopPropagation();
107
+ const element = event.target.closest('.thy-icon-nav-link');
108
+ const isHeader = TableEditor.isActiveHeader(this.editor);
109
+ this.ngZone.run(() => {
110
+ this.colorSelectService.toggleColorSelect(element, this.selectedColor, BackgroundColors, {
111
+ perRowColorNumbers: 7,
112
+ rowOptions: { 1: '#bbb', 2: '#bbb' },
113
+ specialColor: isHeader ? TableHeaderBackgroundColor : SpecialBackgroundColor
114
+ }, (newColor) => {
115
+ if ((newColor === TableHeaderBackgroundColor && isHeader) || (newColor === SpecialBackgroundColor && !isHeader)) {
116
+ this.tableStore.setSelectedCellsBackgroundColor(null);
117
+ }
118
+ else {
119
+ this.tableStore.setSelectedCellsBackgroundColor(newColor);
120
+ }
121
+ this.selectedColor = newColor;
122
+ });
123
+ });
124
+ }
125
+ openTableOptionMenu(event) {
126
+ event.preventDefault();
127
+ event.stopPropagation();
128
+ this.thyPopover.open(TheTableOptionsComponent, {
129
+ origin: event.currentTarget,
130
+ initialState: {
131
+ tableStore: this.tableStore,
132
+ editor: this.editor
133
+ },
134
+ minWidth: 0,
135
+ insideClosable: false,
136
+ hasBackdrop: false,
137
+ placement: 'bottomLeft',
138
+ originActiveClass: 'table-options-active',
139
+ panelClass: 'table-options-pannel'
140
+ });
141
+ }
142
+ }
143
+ TheTableToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTableToolbarComponent, deps: [{ token: i0.NgZone }, { token: i1.TheColorSelectService }, { token: i2.ThyPopover }, { token: i2.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
144
+ TheTableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheTableToolbarComponent, selector: "the-table-toolbar", inputs: { tableStore: "tableStore", isActiveSelect: "isActiveSelect" }, ngImport: i0, template: "<thy-icon-nav>\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a href=\"javascript:;\" thyIconNavLink *ngIf=\"!item.invisibility\" [thyTooltip]=\"item.name\" (mousedown)=\"item.actionHandle()\">\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </a>\n </ng-container>\n <nav-split-line *ngIf=\"!isActiveSelect && isShowSplitLine\"></nav-split-line>\n <a href=\"javascript:;\" thyIconNavLink thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\" (mousedown)=\"openSelectColor($event)\">\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <nav-split-line *ngIf=\"tableStore.isSelectedTable\"></nav-split-line>\n <button\n thyButton=\"default\"\n *ngIf=\"tableStore.isSelectedTable\"\n class=\"mr-2\"\n thySize=\"md\"\n class=\"table-options\"\n (mousedown)=\"openTableOptionMenu($event)\"\n >\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon thyIconName=\"caret-down\"></thy-icon>\n </button>\n <nav-split-line *ngIf=\"deleteIcon\"></nav-split-line>\n <a\n *ngIf=\"deleteIcon\"\n href=\"javascript:;\"\n thyIconNavLink\n [thyTooltip]=\"iconName\"\n class=\"danger\"\n [thyIconNavLinkIcon]=\"deleteIcon\"\n (mousedown)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n</thy-icon-nav>\n", components: [{ type: i3.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }, { type: i6.ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thySquare", "thyBlock"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTableToolbarComponent, decorators: [{
146
+ type: Component,
147
+ args: [{ selector: 'the-table-toolbar', template: "<thy-icon-nav>\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a href=\"javascript:;\" thyIconNavLink *ngIf=\"!item.invisibility\" [thyTooltip]=\"item.name\" (mousedown)=\"item.actionHandle()\">\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </a>\n </ng-container>\n <nav-split-line *ngIf=\"!isActiveSelect && isShowSplitLine\"></nav-split-line>\n <a href=\"javascript:;\" thyIconNavLink thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\" (mousedown)=\"openSelectColor($event)\">\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <nav-split-line *ngIf=\"tableStore.isSelectedTable\"></nav-split-line>\n <button\n thyButton=\"default\"\n *ngIf=\"tableStore.isSelectedTable\"\n class=\"mr-2\"\n thySize=\"md\"\n class=\"table-options\"\n (mousedown)=\"openTableOptionMenu($event)\"\n >\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon thyIconName=\"caret-down\"></thy-icon>\n </button>\n <nav-split-line *ngIf=\"deleteIcon\"></nav-split-line>\n <a\n *ngIf=\"deleteIcon\"\n href=\"javascript:;\"\n thyIconNavLink\n [thyTooltip]=\"iconName\"\n class=\"danger\"\n [thyIconNavLinkIcon]=\"deleteIcon\"\n (mousedown)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n</thy-icon-nav>\n" }]
148
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.TheColorSelectService }, { type: i2.ThyPopover }, { type: i2.ThyPopoverRef }]; }, propDecorators: { tableStore: [{
149
+ type: Input
150
+ }], isActiveSelect: [{
151
+ type: Input
152
+ }] } });
153
+ export var DeleteIcon;
154
+ (function (DeleteIcon) {
155
+ DeleteIcon[DeleteIcon["table-delete-rows"] = 0] = "table-delete-rows";
156
+ DeleteIcon[DeleteIcon["table-delete-columns"] = 1] = "table-delete-columns";
157
+ DeleteIcon[DeleteIcon["trash"] = 2] = "trash";
158
+ })(DeleteIcon || (DeleteIcon = {}));
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJNUUsT0FBTyxFQUFhLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7OztBQU1yRSxNQUFNLE9BQU8sd0JBQXdCO0lBZ0RqQyxZQUNZLE1BQWMsRUFDZCxrQkFBeUMsRUFDekMsVUFBc0IsRUFDdEIsVUFBbUQ7UUFIbkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QztRQXJDL0QsaUJBQVksR0FBaUI7WUFDekI7Z0JBQ0ksR0FBRyxFQUFFLGFBQWE7Z0JBQ2xCLElBQUksRUFBRSxPQUFPO2dCQUNiLFlBQVksRUFBRSxLQUFLO2dCQUNuQixJQUFJLEVBQUUsbUJBQW1CO2dC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cUVBQW1CLENBQUE7SUFDbkIsMkVBQXNCLENBQUE7SUFDdEIsNkNBQU8sQ0FBQTtBQUNYLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL3RhYmxlLnN0b3JlJztcbmltcG9ydCB7IENvbG9yVHlwZSwgQmFja2dyb3VuZENvbG9ycywgVGFibGVIZWFkZXJCYWNrZ3JvdW5kQ29sb3IsIFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IHNwbGl0Q2VsbCB9IGZyb20gJy4uLy4uL3V0aWxzL3NwbGl0LWNlbGwnO1xuaW1wb3J0IHsgc2V0Q2VsbE1lbnVJbnZpc2liaWxpdHkgfSBmcm9tICcuLi8uLi91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eSc7XG5pbXBvcnQgeyBNZW51RW50aXR5IH0gZnJvbSAnLi4vLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuLi8uLi90YWJsZS5lZGl0b3InO1xuaW1wb3J0IHsgVGhlVGFibGVPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1vcHRpb25zLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRhYmxlLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAndGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHNlbGVjdGVkQ29sb3I6IHN0cmluZztcblxuICAgIGRlbGV0ZUljb246IHN0cmluZztcblxuICAgIGljb25OYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSB0YWJsZVN0b3JlOiBUYWJsZVN0b3JlO1xuXG4gICAgQElucHV0KCkgaXNBY3RpdmVTZWxlY3Q6IGJvb2xlYW47XG5cbiAgICBnZXQgZWRpdG9yKCk6IEVkaXRvciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlU3RvcmUgJiYgdGhpcy50YWJsZVN0b3JlLmVkaXRvcjtcbiAgICB9XG5cbiAgICBjZWxsTWVudUxpc3Q6IE1lbnVFbnRpdHlbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnbWVyZ2UtY2VsbHMnLFxuICAgICAgICAgICAgbmFtZTogJ+WQiOW5tuWNleWFg+agvCcsXG4gICAgICAgICAgICBpbnZpc2liaWxpdHk6IGZhbHNlLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLW1lcmdlLWNlbGxzJyxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLm1lcmdlQ2VsbCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdzcGxpdC1jZWxscycsXG4gICAgICAgICAgICBuYW1lOiAn5ouG5YiG5Y2V5YWD5qC8JyxcbiAgICAgICAgICAgIGludmlzaWJpbGl0eTogZmFsc2UsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtdW5tZXJnZS1jZWxscycsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHNwbGl0Q2VsbCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIGdldCBpc1Nob3dTcGxpdExpbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxNZW51TGlzdC5maWx0ZXIoaXRlbSA9PiAhaXRlbS5pbnZpc2liaWxpdHkpLmxlbmd0aCA+IDE7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgY29sb3JTZWxlY3RTZXJ2aWNlOiBUaGVDb2xvclNlbGVjdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudD5cbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kZWxldGVJY29uID0gRGVsZXRlSWNvblt0aGlzLmdldERlbGV0ZUljb24oKV07XG4gICAgICAgIHRoaXMuZ2V0SWNvbk5hbWUodGhpcy5kZWxldGVJY29uKTtcbiAgICAgICAgc2V0Q2VsbE1lbnVJbnZpc2liaWxpdHkodGhpcy5lZGl0b3IsIHRoaXMuY2VsbE1lbnVMaXN0LCB0aGlzLnRhYmxlU3RvcmUuc2VsZWN0ZWRDZWxscywgdGhpcy5pc0FjdGl2ZVNlbGVjdCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IHRoaXMudGFibGVTdG9yZS5nZXRTZWxlY3RlZENlbGxCYWNrZ3JvdW5kQ29sb3IoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jb2xvclNlbGVjdFNlcnZpY2UuY2xvc2VDb2xvclNlbGVjdCgpO1xuICAgIH1cblxuICAgIGdldEljb25OYW1lKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlICd0cmFzaCc6XG4gICAgICAgICAgICAgICAgdGhpcy5pY29uTmFtZSA9ICfliKDpmaTooajmoLwnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndGFibGUtZGVsZXRlLWNvbHVtbnMnOlxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbk5hbWUgPSAn5Yig6Zmk5pW05YiXJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3RhYmxlLWRlbGV0ZS1yb3dzJzpcbiAgICAgICAgICAgICAgICB0aGlzLmljb25OYW1lID0gJ+WIoOmZpOaVtOihjCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXREZWxldGVJY29uKCkge1xuICAgICAgICBpZiAodGhpcy50YWJsZVN0b3JlLmlzU2VsZWN0ZWRUYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIERlbGV0ZUljb24udHJhc2g7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudGFibGVTdG9yZS5zZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gRGVsZXRlSWNvblsndGFibGUtZGVsZXRlLXJvd3MnXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50YWJsZVN0b3JlLnNlbGVjdGVkQ29sdW1uc0luZGV4Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBEZWxldGVJY29uWyd0YWJsZS1kZWxldGUtY29sdW1ucyddO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMudGFibGVTdG9yZS5yZW1vdmVDb2x1bW5PclJvd3MoKTtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyRGFuZ2Vyb3VzQ2VsbHMoKTtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkVudGVyRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXREYW5nZXJvdXNDZWxscygpO1xuICAgIH1cblxuICAgIG9uTGVhdmVEZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyRGFuZ2Vyb3VzQ2VsbHMoKTtcbiAgICB9XG5cbiAgICBvcGVuU2VsZWN0Q29sb3IoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcudGh5LWljb24tbmF2LWxpbmsnKTtcbiAgICAgICAgY29uc3QgaXNIZWFkZXIgPSBUYWJsZUVkaXRvci5pc0FjdGl2ZUhlYWRlcih0aGlzLmVkaXRvcik7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbG9yU2VsZWN0U2VydmljZS50b2dnbGVDb2xvclNlbGVjdChcbiAgICAgICAgICAgICAgICBlbGVtZW50IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvcixcbiAgICAgICAgICAgICAgICBCYWNrZ3JvdW5kQ29sb3JzLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGVyUm93Q29sb3JOdW1iZXJzOiA3LFxuICAgICAgICAgICAgICAgICAgICByb3dPcHRpb25zOiB7IDE6ICcjYmJiJywgMjogJyNiYmInIH0sXG4gICAgICAgICAgICAgICAgICAgIHNwZWNpYWxDb2xvcjogaXNIZWFkZXIgPyBUYWJsZUhlYWRlckJhY2tncm91bmRDb2xvciA6IFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChuZXdDb2xvcjogQ29sb3JUeXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgobmV3Q29sb3IgPT09IFRhYmxlSGVhZGVyQmFja2dyb3VuZENvbG9yICYmIGlzSGVhZGVyKSB8fCAobmV3Q29sb3IgPT09IFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IgJiYgIWlzSGVhZGVyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNldFNlbGVjdGVkQ2VsbHNCYWNrZ3JvdW5kQ29sb3IobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2V0U2VsZWN0ZWRDZWxsc0JhY2tncm91bmRDb2xvcihuZXdDb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gbmV3Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3BlblRhYmxlT3B0aW9uTWVudShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoZVRhYmxlT3B0aW9uc0NvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgdGFibGVTdG9yZTogdGhpcy50YWJsZVN0b3JlLFxuICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3JcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6ICd0YWJsZS1vcHRpb25zLWFjdGl2ZScsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAndGFibGUtb3B0aW9ucy1wYW5uZWwnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gRGVsZXRlSWNvbiB7XG4gICAgJ3RhYmxlLWRlbGV0ZS1yb3dzJyxcbiAgICAndGFibGUtZGVsZXRlLWNvbHVtbnMnLFxuICAgICd0cmFzaCdcbn1cbiIsIjx0aHktaWNvbi1uYXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjZWxsTWVudUxpc3RcIj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIHRoeUljb25OYXZMaW5rICpuZ0lmPVwiIWl0ZW0uaW52aXNpYmlsaXR5XCIgW3RoeVRvb2x0aXBdPVwiaXRlbS5uYW1lXCIgKG1vdXNlZG93bik9XCJpdGVtLmFjdGlvbkhhbmRsZSgpXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIml0ZW0uaWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmF2LXNwbGl0LWxpbmUgKm5nSWY9XCIhaXNBY3RpdmVTZWxlY3QgJiYgaXNTaG93U3BsaXRMaW5lXCI+PC9uYXYtc3BsaXQtbGluZT5cbiAgICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgdGh5SWNvbk5hdkxpbmsgdGh5VG9vbHRpcD1cIuWNleWFg+agvOiDjOaZr1wiIChtb3VzZWRvd24pPVwib3BlblNlbGVjdENvbG9yKCRldmVudClcIj5cbiAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYmFja2dyb3VuZC10dFwiIHRoeUljb25UeXBlPVwidHdvdG9uZVwiIFt0aHlUd290b25lQ29sb3JdPVwic2VsZWN0ZWRDb2xvclwiPjwvdGh5LWljb24+XG4gICAgPC9hPlxuICAgIDxuYXYtc3BsaXQtbGluZSAqbmdJZj1cInRhYmxlU3RvcmUuaXNTZWxlY3RlZFRhYmxlXCI+PC9uYXYtc3BsaXQtbGluZT5cbiAgICA8YnV0dG9uXG4gICAgICAgIHRoeUJ1dHRvbj1cImRlZmF1bHRcIlxuICAgICAgICAqbmdJZj1cInRhYmxlU3RvcmUuaXNTZWxlY3RlZFRhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJtci0yXCJcbiAgICAgICAgdGh5U2l6ZT1cIm1kXCJcbiAgICAgICAgY2xhc3M9XCJ0YWJsZS1vcHRpb25zXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvcGVuVGFibGVPcHRpb25NZW51KCRldmVudClcIlxuICAgID5cbiAgICAgICAgPHNwYW4+6KGo5qC86YCJ6aG5PC9zcGFuPlxuICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjYXJldC1kb3duXCI+PC90aHktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmF2LXNwbGl0LWxpbmUgKm5nSWY9XCJkZWxldGVJY29uXCI+PC9uYXYtc3BsaXQtbGluZT5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cImRlbGV0ZUljb25cIlxuICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgdGh5SWNvbk5hdkxpbmtcbiAgICAgICAgW3RoeVRvb2x0aXBdPVwiaWNvbk5hbWVcIlxuICAgICAgICBjbGFzcz1cImRhbmdlclwiXG4gICAgICAgIFt0aHlJY29uTmF2TGlua0ljb25dPVwiZGVsZXRlSWNvblwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25EZWxldGUoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uRW50ZXJEZWxldGUoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTGVhdmVEZWxldGUoJGV2ZW50KVwiXG4gICAgPjwvYT5cbjwvdGh5LWljb24tbmF2PlxuIl19