@worktile/theia 3.0.8 → 3.1.0-next.1

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 (397) hide show
  1. package/components/toolbar/toolbar.component.d.ts +2 -3
  2. package/components/toolbar-dropdown/toolbar-dropdown.component.scss +0 -1
  3. package/components/toolbar-item/toolbar-item.component.d.ts +2 -3
  4. package/esm2020/components/color-select/color-select.component.mjs +109 -0
  5. package/{esm2015/components/column-resize/column-resize-notifier.js → esm2020/components/column-resize/column-resize-notifier.mjs} +4 -4
  6. package/{esm2015/components/column-resize/column-resize.directive.js → esm2020/components/column-resize/column-resize.directive.mjs} +4 -4
  7. package/esm2020/components/column-resize/column-resize.module.mjs +33 -0
  8. package/{esm2015/components/column-resize/event-dispatcher.js → esm2020/components/column-resize/event-dispatcher.mjs} +4 -4
  9. package/{esm2015/components/column-resize/overlay-handle.component.js → esm2020/components/column-resize/overlay-handle.component.mjs} +4 -4
  10. package/{esm2015/components/column-resize/resize-ref.js → esm2020/components/column-resize/resize-ref.mjs} +0 -0
  11. package/{esm2015/components/column-resize/resizing.store.js → esm2020/components/column-resize/resizing.store.mjs} +4 -4
  12. package/{esm2015/components/column-resize/selectors.js → esm2020/components/column-resize/selectors.mjs} +0 -0
  13. package/esm2020/components/contextmenu/contextmenu.component.mjs +61 -0
  14. package/esm2020/components/conversion-hint/conversion-hint.component.mjs +54 -0
  15. package/esm2020/components/element/element.component.mjs +23 -0
  16. package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +138 -0
  17. package/{esm2015/components/nav-split-line/nav-split-line.component.js → esm2020/components/nav-split-line/nav-split-line.component.mjs} +4 -4
  18. package/esm2020/components/table-select/table-select.component.mjs +50 -0
  19. package/esm2020/components/template/template.component.mjs +62 -0
  20. package/{esm2015/components/text/text.component.js → esm2020/components/text/text.component.mjs} +4 -4
  21. package/esm2020/components/toolbar/toolbar.component.mjs +241 -0
  22. package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +129 -0
  23. package/esm2020/components/toolbar-group/toolbar-group.component.mjs +110 -0
  24. package/esm2020/components/toolbar-item/toolbar-item.component.mjs +101 -0
  25. package/{esm2015/constants/auto-format-rules.js → esm2020/constants/auto-format-rules.mjs} +0 -0
  26. package/{esm2015/constants/code.js → esm2020/constants/code.mjs} +0 -0
  27. package/{esm2015/constants/color-select.js → esm2020/constants/color-select.mjs} +0 -0
  28. package/{esm2015/constants/default.js → esm2020/constants/default.mjs} +0 -0
  29. package/{esm2015/constants/error.js → esm2020/constants/error.mjs} +0 -0
  30. package/{esm2015/constants/index.js → esm2020/constants/index.mjs} +0 -0
  31. package/{esm2015/constants/node-types.js → esm2020/constants/node-types.mjs} +0 -0
  32. package/{esm2015/constants/selector.js → esm2020/constants/selector.mjs} +0 -0
  33. package/{esm2015/constants/toolbar.js → esm2020/constants/toolbar.mjs} +0 -0
  34. package/{esm2015/core/create-plugin.js → esm2020/core/create-plugin.mjs} +0 -0
  35. package/esm2020/core/create-toolbar.mjs +56 -0
  36. package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
  37. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +90 -0
  38. package/{esm2015/core/utils/combine-plugins.js → esm2020/core/utils/combine-plugins.mjs} +0 -0
  39. package/{esm2015/core/utils/flatten-deep-plugins.js → esm2020/core/utils/flatten-deep-plugins.mjs} +0 -0
  40. package/esm2020/core/utils/get-plugin-options.mjs +3 -0
  41. package/{esm2015/core/utils/get-plugin.js → esm2020/core/utils/get-plugin.mjs} +0 -0
  42. package/esm2020/core/utils/get-plugins.mjs +4 -0
  43. package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
  44. package/esm2020/core/utils/merge-array.mjs +18 -0
  45. package/{esm2015/core/utils/merge-deep-plugins.js → esm2020/core/utils/merge-deep-plugins.mjs} +0 -0
  46. package/{esm2015/core/utils/merge-options.js → esm2020/core/utils/merge-options.mjs} +0 -0
  47. package/{esm2015/core/utils/nested-structure-by-key.js → esm2020/core/utils/nested-structure-by-key.mjs} +0 -0
  48. package/{esm2015/core/utils/plugins-by-key.js → esm2020/core/utils/plugins-by-key.mjs} +0 -0
  49. package/{esm2015/core/with-theia.js → esm2020/core/with-theia.mjs} +0 -0
  50. package/{esm2015/custom-types.js → esm2020/custom-types.mjs} +0 -0
  51. package/esm2020/editor.component.mjs +431 -0
  52. package/{esm2015/editor.module.js → esm2020/editor.module.mjs} +5 -6
  53. package/{esm2015/interfaces/auto-format.js → esm2020/interfaces/auto-format.mjs} +0 -0
  54. package/esm2020/interfaces/editor.mjs +25 -0
  55. package/{esm2015/interfaces/element.js → esm2020/interfaces/element.mjs} +0 -0
  56. package/{esm2015/interfaces/image.js → esm2020/interfaces/image.mjs} +0 -0
  57. package/{esm2015/interfaces/index.js → esm2020/interfaces/index.mjs} +0 -0
  58. package/{esm2015/interfaces/plugins/index.js → esm2020/interfaces/plugins/index.mjs} +0 -0
  59. package/{esm2015/interfaces/plugins/no-infer.js → esm2020/interfaces/plugins/no-infer.mjs} +0 -0
  60. package/{esm2015/interfaces/plugins/plugin-key.js → esm2020/interfaces/plugins/plugin-key.mjs} +0 -0
  61. package/{esm2015/interfaces/plugins/plugins.js → esm2020/interfaces/plugins/plugins.mjs} +0 -0
  62. package/{esm2015/interfaces/plugins/with-override.js → esm2020/interfaces/plugins/with-override.mjs} +0 -0
  63. package/{esm2015/interfaces/reset-block-type-plugin-options.js → esm2020/interfaces/reset-block-type-plugin-options.mjs} +0 -0
  64. package/{esm2015/interfaces/toolbar.js → esm2020/interfaces/toolbar.mjs} +0 -0
  65. package/{esm2015/interfaces/upload.js → esm2020/interfaces/upload.mjs} +1 -1
  66. package/{esm2015/interfaces/utility/index.js → esm2020/interfaces/utility/index.mjs} +0 -0
  67. package/{esm2015/interfaces/utility/nested-structure-by-key.js → esm2020/interfaces/utility/nested-structure-by-key.mjs} +0 -0
  68. package/{esm2015/interfaces/utility/override-by-key.js → esm2020/interfaces/utility/override-by-key.mjs} +0 -0
  69. package/{esm2015/interfaces/utility/types.js → esm2020/interfaces/utility/types.mjs} +0 -0
  70. package/{esm2015/interfaces/valid-children-types.js → esm2020/interfaces/valid-children-types.mjs} +0 -0
  71. package/{esm2015/interfaces/view-base.js → esm2020/interfaces/view-base.mjs} +4 -4
  72. package/{esm2015/pipes.js → esm2020/pipes.mjs} +7 -7
  73. package/esm2020/plugins/align/align.editor.mjs +47 -0
  74. package/{esm2015/plugins/align/align.plugin.js → esm2020/plugins/align/align.plugin.mjs} +0 -0
  75. package/esm2020/plugins/autoformat/autoformat.plugin.mjs +109 -0
  76. package/{esm2015/plugins/autoformat/transforms/auto-format-block.js → esm2020/plugins/autoformat/transforms/auto-format-block.mjs} +0 -0
  77. package/{esm2015/plugins/autoformat/transforms/auto-format-inline.js → esm2020/plugins/autoformat/transforms/auto-format-inline.mjs} +0 -0
  78. package/{esm2015/plugins/blockquote/blockquote.component.js → esm2020/plugins/blockquote/blockquote.component.mjs} +4 -4
  79. package/esm2020/plugins/blockquote/blockquote.editor.mjs +20 -0
  80. package/{esm2015/plugins/blockquote/blockquote.plugin.js → esm2020/plugins/blockquote/blockquote.plugin.mjs} +0 -0
  81. package/esm2020/plugins/code/code.component.mjs +241 -0
  82. package/{esm2015/plugins/code/code.editor.js → esm2020/plugins/code/code.editor.mjs} +0 -0
  83. package/{esm2015/plugins/code/code.plugin.js → esm2020/plugins/code/code.plugin.mjs} +0 -0
  84. package/esm2020/plugins/color/color.editor.mjs +44 -0
  85. package/{esm2015/plugins/color/color.plugin.js → esm2020/plugins/color/color.plugin.mjs} +0 -0
  86. package/esm2020/plugins/color/toolbar-item.component.mjs +123 -0
  87. package/esm2020/plugins/common/auto-insert-data..mjs +77 -0
  88. package/{esm2015/plugins/common/block-card.plugin.js → esm2020/plugins/common/block-card.plugin.mjs} +2 -2
  89. package/esm2020/plugins/common/get-fragment.plugin.mjs +24 -0
  90. package/{esm2015/plugins/common/history.plugin.js → esm2020/plugins/common/history.plugin.mjs} +0 -0
  91. package/{esm2015/plugins/common/move-selection.plugin.js → esm2020/plugins/common/move-selection.plugin.mjs} +0 -0
  92. package/{esm2015/plugins/common/remove-empty.plugin.js → esm2020/plugins/common/remove-empty.plugin.mjs} +0 -0
  93. package/{esm2015/plugins/common/remove-void.plugin.js → esm2020/plugins/common/remove-void.plugin.mjs} +0 -0
  94. package/{esm2015/plugins/common/reset-type.plugin.js → esm2020/plugins/common/reset-type.plugin.mjs} +0 -0
  95. package/{esm2015/plugins/common/transforms.plugin.js → esm2020/plugins/common/transforms.plugin.mjs} +0 -0
  96. package/{esm2015/plugins/deserializers/deserialize-html.plugin.js → esm2020/plugins/deserializers/deserialize-html.plugin.mjs} +0 -0
  97. package/{esm2015/plugins/deserializers/deserialize-md.plugin.js → esm2020/plugins/deserializers/deserialize-md.plugin.mjs} +0 -0
  98. package/esm2020/plugins/font-size/font-size.editor.mjs +98 -0
  99. package/{esm2015/plugins/heading/heading.editor.js → esm2020/plugins/heading/heading.editor.mjs} +0 -0
  100. package/{esm2015/plugins/heading/heading.plugin.js → esm2020/plugins/heading/heading.plugin.mjs} +0 -0
  101. package/{esm2015/plugins/hr/hr.component.js → esm2020/plugins/hr/hr.component.mjs} +4 -4
  102. package/{esm2015/plugins/hr/hr.editor.js → esm2020/plugins/hr/hr.editor.mjs} +0 -0
  103. package/{esm2015/plugins/hr/hr.plugin.js → esm2020/plugins/hr/hr.plugin.mjs} +0 -0
  104. package/esm2020/plugins/image/image.component.mjs +365 -0
  105. package/{esm2015/plugins/image/image.editor.js → esm2020/plugins/image/image.editor.mjs} +0 -0
  106. package/esm2020/plugins/image/image.plugin.mjs +57 -0
  107. package/esm2020/plugins/indent/indent.editor.mjs +71 -0
  108. package/esm2020/plugins/indent/indent.plugin.mjs +58 -0
  109. package/{esm2015/plugins/indent/on-keydown-indent.js → esm2020/plugins/indent/on-keydown-indent.mjs} +0 -0
  110. package/{esm2015/plugins/index.js → esm2020/plugins/index.mjs} +0 -0
  111. package/{esm2015/plugins/inline-code/inline-code.component.js → esm2020/plugins/inline-code/inline-code.component.mjs} +4 -4
  112. package/{esm2015/plugins/inline-code/inline-code.editor.js → esm2020/plugins/inline-code/inline-code.editor.mjs} +2 -3
  113. package/{esm2015/plugins/inline-code/inline-code.plugin.js → esm2020/plugins/inline-code/inline-code.plugin.mjs} +0 -0
  114. package/esm2020/plugins/link/edit/link-edit.component.mjs +105 -0
  115. package/esm2020/plugins/link/hover/link-hover.component.mjs +36 -0
  116. package/{esm2015/plugins/link/link.component.js → esm2020/plugins/link/link.component.mjs} +7 -7
  117. package/{esm2015/plugins/link/link.editor.js → esm2020/plugins/link/link.editor.mjs} +0 -0
  118. package/{esm2015/plugins/link/link.plugin.js → esm2020/plugins/link/link.plugin.mjs} +0 -0
  119. package/{esm2015/plugins/link/link.types.js → esm2020/plugins/link/link.types.mjs} +0 -0
  120. package/esm2020/plugins/list/components/bulleted-list.component.mjs +33 -0
  121. package/esm2020/plugins/list/components/list-item.component.mjs +93 -0
  122. package/esm2020/plugins/list/components/numbered-list.component.mjs +39 -0
  123. package/{esm2015/plugins/list/list.editor.js → esm2020/plugins/list/list.editor.mjs} +0 -0
  124. package/esm2020/plugins/list/list.plugin.mjs +286 -0
  125. package/{esm2015/plugins/list/normalizers/get-list-normalizer.js → esm2020/plugins/list/normalizers/get-list-normalizer.mjs} +0 -0
  126. package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +18 -0
  127. package/{esm2015/plugins/list/normalizers/normalize-no.js → esm2020/plugins/list/normalizers/normalize-no.mjs} +0 -0
  128. package/{esm2015/plugins/list/on-key-down-list.js → esm2020/plugins/list/on-key-down-list.mjs} +0 -0
  129. package/{esm2015/plugins/list/queries/get-list-item-entry.js → esm2020/plugins/list/queries/get-list-item-entry.mjs} +0 -0
  130. package/{esm2015/plugins/list/queries/get-list-item-sublist.js → esm2020/plugins/list/queries/get-list-item-sublist.mjs} +0 -0
  131. package/{esm2015/plugins/list/queries/get-list-types.js → esm2020/plugins/list/queries/get-list-types.mjs} +0 -0
  132. package/{esm2015/plugins/list/queries/get-start-list-item.js → esm2020/plugins/list/queries/get-start-list-item.mjs} +0 -0
  133. package/{esm2015/plugins/list/queries/has-list-in-list-item.js → esm2020/plugins/list/queries/has-list-in-list-item.mjs} +0 -0
  134. package/{esm2015/plugins/list/queries/is-in-list.js → esm2020/plugins/list/queries/is-in-list.mjs} +0 -0
  135. package/{esm2015/plugins/list/queries/is-list-nested.js → esm2020/plugins/list/queries/is-list-nested.mjs} +0 -0
  136. package/{esm2015/plugins/list/queries/is-list.js → esm2020/plugins/list/queries/is-list.mjs} +0 -0
  137. package/{esm2015/plugins/list/queries/is-node-type-list.js → esm2020/plugins/list/queries/is-node-type-list.mjs} +0 -0
  138. package/{esm2015/plugins/list/queries/is-selection-at-list-item-start.js → esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs} +0 -0
  139. package/{esm2015/plugins/list/queries/is-selection-in-same-list-item.js → esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs} +0 -0
  140. package/{esm2015/plugins/list/queries/is-single-list-item.js → esm2020/plugins/list/queries/is-single-list-item.mjs} +0 -0
  141. package/{esm2015/plugins/list/transforms/insert-list-data.js → esm2020/plugins/list/transforms/insert-list-data.mjs} +0 -0
  142. package/{esm2015/plugins/list/transforms/insert-list-item.js → esm2020/plugins/list/transforms/insert-list-item.mjs} +0 -0
  143. package/{esm2015/plugins/list/transforms/move-list-item-down.js → esm2020/plugins/list/transforms/move-list-item-down.mjs} +0 -0
  144. 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} +0 -0
  145. 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} +0 -0
  146. package/{esm2015/plugins/list/transforms/move-list-item-up.js → esm2020/plugins/list/transforms/move-list-item-up.mjs} +0 -0
  147. package/{esm2015/plugins/list/transforms/unwrap-list.js → esm2020/plugins/list/transforms/unwrap-list.mjs} +0 -0
  148. package/{esm2015/plugins/list/types.js → esm2020/plugins/list/types.mjs} +0 -0
  149. package/esm2020/plugins/mark/mark.editor.mjs +28 -0
  150. package/esm2020/plugins/mark/mark.plugin.mjs +105 -0
  151. package/esm2020/plugins/node-id/node-id.plugin.mjs +78 -0
  152. package/esm2020/plugins/normalizers/insert-paragraph-nodes.mjs +28 -0
  153. package/{esm2015/plugins/normalizers/remove-empty-nodes.js → esm2020/plugins/normalizers/remove-empty-nodes.mjs} +0 -0
  154. package/esm2020/plugins/normalizers/trailing-node.plugin.mjs +33 -0
  155. package/{esm2015/plugins/paint-format/paint-format.editor.js → esm2020/plugins/paint-format/paint-format.editor.mjs} +0 -0
  156. package/{esm2015/plugins/public-api.js → esm2020/plugins/public-api.mjs} +0 -0
  157. package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +96 -0
  158. package/esm2020/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.mjs +80 -0
  159. package/{esm2015/plugins/quick-insert/quick-insert.editor.js → esm2020/plugins/quick-insert/quick-insert.editor.mjs} +0 -0
  160. package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +74 -0
  161. package/esm2020/plugins/soft-break/soft-break.plugin.mjs +36 -0
  162. package/{esm2015/plugins/soft-break/soft-break.types.js → esm2020/plugins/soft-break/soft-break.types.mjs} +0 -0
  163. package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +100 -0
  164. package/{esm2015/plugins/table/components/row/row.component.js → esm2020/plugins/table/components/row/row.component.mjs} +4 -4
  165. package/esm2020/plugins/table/components/table.component.mjs +461 -0
  166. package/esm2020/plugins/table/components/td/td.component.mjs +696 -0
  167. package/{esm2015/plugins/table/components/toolbar/table-options.component.js → esm2020/plugins/table/components/toolbar/table-options.component.mjs} +8 -5
  168. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +159 -0
  169. package/{esm2015/plugins/table/table.editor.js → esm2020/plugins/table/table.editor.mjs} +0 -0
  170. package/esm2020/plugins/table/table.plugin.mjs +427 -0
  171. package/{esm2015/plugins/table/table.service.js → esm2020/plugins/table/table.service.mjs} +4 -4
  172. package/esm2020/plugins/table/table.store.mjs +484 -0
  173. package/{esm2015/plugins/table/table.types.js → esm2020/plugins/table/table.types.mjs} +0 -0
  174. package/esm2020/plugins/table/toolbar-item.component.mjs +85 -0
  175. package/esm2020/plugins/table/transforms/clear-cell.mjs +14 -0
  176. package/{esm2015/plugins/table/transforms/clear-table-node.js → esm2020/plugins/table/transforms/clear-table-node.mjs} +0 -0
  177. package/{esm2015/plugins/table/transforms/insert-column.js → esm2020/plugins/table/transforms/insert-column.mjs} +0 -0
  178. package/{esm2015/plugins/table/transforms/insert-row.js → esm2020/plugins/table/transforms/insert-row.mjs} +0 -0
  179. package/esm2020/plugins/table/transforms/insert-table.mjs +15 -0
  180. package/{esm2015/plugins/table/transforms/remove-column.js → esm2020/plugins/table/transforms/remove-column.mjs} +0 -0
  181. package/{esm2015/plugins/table/transforms/remove-row.js → esm2020/plugins/table/transforms/remove-row.mjs} +0 -0
  182. package/{esm2015/plugins/table/transforms/remove-table.js → esm2020/plugins/table/transforms/remove-table.mjs} +0 -0
  183. package/{esm2015/plugins/table/utils/add-columns.js → esm2020/plugins/table/utils/add-columns.mjs} +0 -0
  184. package/{esm2015/plugins/table/utils/calc-anchor-position.js → esm2020/plugins/table/utils/calc-anchor-position.mjs} +0 -0
  185. package/{esm2015/plugins/table/utils/calc-span.js → esm2020/plugins/table/utils/calc-span.mjs} +0 -0
  186. package/{esm2015/plugins/table/utils/create-cell.js → esm2020/plugins/table/utils/create-cell.mjs} +0 -0
  187. package/{esm2015/plugins/table/utils/create-row.js → esm2020/plugins/table/utils/create-row.mjs} +0 -0
  188. package/{esm2015/plugins/table/utils/create-table.js → esm2020/plugins/table/utils/create-table.mjs} +0 -0
  189. package/{esm2015/plugins/table/utils/get-base-height.js → esm2020/plugins/table/utils/get-base-height.mjs} +0 -0
  190. package/{esm2015/plugins/table/utils/get-select-cell-node.js → esm2020/plugins/table/utils/get-select-cell-node.mjs} +5 -2
  191. package/{esm2015/plugins/table/utils/index.js → esm2020/plugins/table/utils/index.mjs} +0 -0
  192. package/{esm2015/plugins/table/utils/is-range-in-table.js → esm2020/plugins/table/utils/is-range-in-table.mjs} +0 -0
  193. package/{esm2015/plugins/table/utils/is-selection-in-table.js → esm2020/plugins/table/utils/is-selection-in-table.mjs} +0 -0
  194. package/{esm2015/plugins/table/utils/is-virtual-key.js → esm2020/plugins/table/utils/is-virtual-key.mjs} +0 -0
  195. package/{esm2015/plugins/table/utils/merge-cell.js → esm2020/plugins/table/utils/merge-cell.mjs} +0 -0
  196. package/{esm2015/plugins/table/utils/next-path.js → esm2020/plugins/table/utils/next-path.mjs} +0 -0
  197. package/{esm2015/plugins/table/utils/normalize-table.js → esm2020/plugins/table/utils/normalize-table.mjs} +0 -0
  198. package/{esm2015/plugins/table/utils/remove-columns.js → esm2020/plugins/table/utils/remove-columns.mjs} +0 -0
  199. package/{esm2015/plugins/table/utils/set-menu-cell-invisibility.js → esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs} +0 -0
  200. package/{esm2015/plugins/table/utils/split-cell.js → esm2020/plugins/table/utils/split-cell.mjs} +0 -0
  201. package/{esm2015/plugins/table/utils/table-position.js → esm2020/plugins/table/utils/table-position.mjs} +0 -0
  202. package/esm2020/plugins/todo-item/todo-item.component.mjs +64 -0
  203. package/{esm2015/plugins/todo-item/todo-item.editor.js → esm2020/plugins/todo-item/todo-item.editor.mjs} +0 -0
  204. package/{esm2015/plugins/todo-item/todo-item.plugin.js → esm2020/plugins/todo-item/todo-item.plugin.mjs} +0 -0
  205. package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +83 -0
  206. package/{esm2015/plugins/vertical-align/vertical-align.editor.js → esm2020/plugins/vertical-align/vertical-align.editor.mjs} +0 -0
  207. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  208. package/{esm2015/queries/anchor-block-entry.js → esm2020/queries/anchor-block-entry.mjs} +0 -0
  209. package/{esm2015/queries/anchor-block.js → esm2020/queries/anchor-block.mjs} +0 -0
  210. package/{esm2015/queries/anchor-inline-entry.js → esm2020/queries/anchor-inline-entry.mjs} +0 -0
  211. package/{esm2015/queries/find-descendant.js → esm2020/queries/find-descendant.mjs} +0 -0
  212. package/{esm2015/queries/find-node.js → esm2020/queries/find-node.mjs} +0 -0
  213. package/{esm2015/queries/find-path.js → esm2020/queries/find-path.mjs} +0 -0
  214. package/esm2020/queries/get-above-by-type.mjs +14 -0
  215. package/{esm2015/queries/get-above.js → esm2020/queries/get-above.mjs} +0 -0
  216. package/{esm2015/queries/get-anchor-block-entry.js → esm2020/queries/get-anchor-block-entry.mjs} +0 -0
  217. package/esm2020/queries/get-block-above.mjs +10 -0
  218. package/esm2020/queries/get-block-card-above.mjs +10 -0
  219. package/{esm2015/queries/get-block-card-cursor.js → esm2020/queries/get-block-card-cursor.mjs} +0 -0
  220. package/{esm2015/queries/get-container-blocks.js → esm2020/queries/get-container-blocks.mjs} +0 -0
  221. package/{esm2015/queries/get-directly-parent.js → esm2020/queries/get-directly-parent.mjs} +0 -0
  222. package/{esm2015/queries/get-insert-elements-path.js → esm2020/queries/get-insert-elements-path.mjs} +0 -0
  223. package/{esm2015/queries/get-last-child-path.js → esm2020/queries/get-last-child-path.mjs} +0 -0
  224. package/{esm2015/queries/get-last-node.js → esm2020/queries/get-last-node.mjs} +0 -0
  225. package/{esm2015/queries/get-next-sibling-nodes.js → esm2020/queries/get-next-sibling-nodes.mjs} +0 -0
  226. package/{esm2015/queries/get-node.js → esm2020/queries/get-node.mjs} +0 -0
  227. package/esm2020/queries/get-nodes-by-type.mjs +15 -0
  228. package/{esm2015/queries/get-nodes.js → esm2020/queries/get-nodes.mjs} +0 -0
  229. package/{esm2015/queries/get-parent.js → esm2020/queries/get-parent.mjs} +0 -0
  230. package/esm2020/queries/get-plain-text.mjs +16 -0
  231. package/{esm2015/queries/get-plugin-by-toolbar.js → esm2020/queries/get-plugin-by-toolbar.mjs} +0 -0
  232. package/{esm2015/queries/get-point-before.js → esm2020/queries/get-point-before.mjs} +0 -0
  233. package/{esm2015/queries/get-point-from-location.js → esm2020/queries/get-point-from-location.mjs} +0 -0
  234. package/{esm2015/queries/get-previous-path.js → esm2020/queries/get-previous-path.mjs} +0 -0
  235. package/{esm2015/queries/get-rang-from-block-start.js → esm2020/queries/get-rang-from-block-start.mjs} +0 -0
  236. package/{esm2015/queries/get-range-before.js → esm2020/queries/get-range-before.mjs} +0 -0
  237. package/esm2020/queries/get-selection-marks.mjs +18 -0
  238. package/{esm2015/queries/get-selection-nodes-by-type.js → esm2020/queries/get-selection-nodes-by-type.mjs} +0 -0
  239. package/{esm2015/queries/get-text.js → esm2020/queries/get-text.mjs} +0 -0
  240. package/esm2020/queries/get-toolbar-disabled.mjs +13 -0
  241. package/esm2020/queries/index.mjs +59 -0
  242. package/{esm2015/queries/is-across-blocks.js → esm2020/queries/is-across-blocks.mjs} +0 -0
  243. package/{esm2015/queries/is-ancestor-empty.js → esm2020/queries/is-ancestor-empty.mjs} +0 -0
  244. package/{esm2015/queries/is-ancestor.js → esm2020/queries/is-ancestor.mjs} +0 -0
  245. package/{esm2015/queries/is-block-above-empty.js → esm2020/queries/is-block-above-empty.mjs} +0 -0
  246. package/{esm2015/queries/is-block-active.js → esm2020/queries/is-block-active.mjs} +0 -0
  247. package/{esm2015/queries/is-block-card-cursor.js → esm2020/queries/is-block-card-cursor.mjs} +0 -0
  248. package/{esm2015/queries/is-block-text-empty-after-selection.js → esm2020/queries/is-block-text-empty-after-selection.mjs} +0 -0
  249. package/{esm2015/queries/is-collapsed.js → esm2020/queries/is-collapsed.mjs} +0 -0
  250. package/{esm2015/queries/is-contain-nested-type.js → esm2020/queries/is-contain-nested-type.mjs} +0 -0
  251. package/{esm2015/queries/is-container-type.js → esm2020/queries/is-container-type.mjs} +0 -0
  252. package/{esm2015/queries/is-descendant.js → esm2020/queries/is-descendant.mjs} +0 -0
  253. package/esm2020/queries/is-empty-content.mjs +15 -0
  254. package/{esm2015/queries/is-empty-paragraph-by-path.js → esm2020/queries/is-empty-paragraph-by-path.mjs} +0 -0
  255. package/{esm2015/queries/is-empty-paragraph.js → esm2020/queries/is-empty-paragraph.mjs} +0 -0
  256. package/{esm2015/queries/is-first-child.js → esm2020/queries/is-first-child.mjs} +0 -0
  257. package/{esm2015/queries/is-include-types.js → esm2020/queries/is-include-types.mjs} +0 -0
  258. package/{esm2015/queries/is-node-type-in.js → esm2020/queries/is-node-type-in.mjs} +0 -0
  259. package/{esm2015/queries/is-node-type.js → esm2020/queries/is-node-type.mjs} +0 -0
  260. package/{esm2015/queries/is-paragraph.js → esm2020/queries/is-paragraph.mjs} +0 -0
  261. package/{esm2015/queries/is-point-at-root.js → esm2020/queries/is-point-at-root.mjs} +0 -0
  262. package/esm2020/queries/is-range-across-blocks.mjs +22 -0
  263. package/{esm2015/queries/is-range-at-root.js → esm2020/queries/is-range-at-root.mjs} +0 -0
  264. package/{esm2015/queries/is-start.js → esm2020/queries/is-start.mjs} +0 -0
  265. package/{esm2015/queries/some-node.js → esm2020/queries/some-node.mjs} +0 -0
  266. package/{esm2015/services/color-select.service.js → esm2020/services/color-select.service.mjs} +4 -4
  267. package/esm2020/services/context.service.mjs +59 -0
  268. package/{esm2015/services/table-contextmenu.service.js → esm2020/services/table-contextmenu.service.mjs} +4 -4
  269. package/esm2020/services/toolbar.service.mjs +48 -0
  270. package/{esm2015/shortcuts/index.js → esm2020/shortcuts/index.mjs} +0 -0
  271. package/{esm2015/shortcuts/mark.js → esm2020/shortcuts/mark.mjs} +0 -0
  272. package/{esm2015/transforms/apply-deep-to-nodes.js → esm2020/transforms/apply-deep-to-nodes.mjs} +0 -0
  273. package/{esm2015/transforms/clear-marks.js → esm2020/transforms/clear-marks.mjs} +0 -0
  274. package/{esm2015/transforms/close-conversion-hint.js → esm2020/transforms/close-conversion-hint.mjs} +0 -0
  275. package/{esm2015/transforms/delete-element.js → esm2020/transforms/delete-element.mjs} +0 -0
  276. package/{esm2015/transforms/handle-continual-delete-backward.js → esm2020/transforms/handle-continual-delete-backward.mjs} +0 -0
  277. package/{esm2015/transforms/handle-continual-insert-break.js → esm2020/transforms/handle-continual-insert-break.mjs} +0 -0
  278. package/{esm2015/transforms/index.js → esm2020/transforms/index.mjs} +0 -0
  279. package/esm2020/transforms/insert-elements.mjs +34 -0
  280. package/{esm2015/transforms/insert-paragraph.js → esm2020/transforms/insert-paragraph.mjs} +0 -0
  281. package/esm2020/transforms/merge-deep-to-nodes.mjs +9 -0
  282. package/{esm2015/transforms/move-children.js → esm2020/transforms/move-children.mjs} +0 -0
  283. package/{esm2015/transforms/on-keydown-reset-block-type.js → esm2020/transforms/on-keydown-reset-block-type.mjs} +0 -0
  284. package/{esm2015/transforms/set-end-selection.js → esm2020/transforms/set-end-selection.mjs} +0 -0
  285. package/{esm2015/transforms/set-marks.js → esm2020/transforms/set-marks.mjs} +0 -0
  286. package/{esm2015/transforms/set-node.js → esm2020/transforms/set-node.mjs} +0 -0
  287. package/{esm2015/transforms/split-node.js → esm2020/transforms/split-node.mjs} +0 -0
  288. package/{esm2015/transforms/un-hang-range.js → esm2020/transforms/un-hang-range.mjs} +0 -0
  289. package/{esm2015/transforms/un-wrap.js → esm2020/transforms/un-wrap.mjs} +0 -0
  290. package/esm2020/transforms/unwrap-nodes-by-type.mjs +14 -0
  291. package/{esm2015/utils/auto-focus.js → esm2020/utils/auto-focus.mjs} +0 -0
  292. package/{esm2015/utils/auto-scroll-view.js → esm2020/utils/auto-scroll-view.mjs} +0 -0
  293. package/{esm2015/utils/cast-array.js → esm2020/utils/cast-array.mjs} +0 -0
  294. package/{esm2015/utils/common.js → esm2020/utils/common.mjs} +0 -0
  295. package/{esm2015/utils/create-empty-paragraph.js → esm2020/utils/create-empty-paragraph.mjs} +0 -0
  296. package/{esm2015/utils/data-transform.js → esm2020/utils/data-transform.mjs} +0 -0
  297. package/{esm2015/utils/dom.js → esm2020/utils/dom.mjs} +0 -0
  298. package/{esm2015/utils/editor-uuid.js → esm2020/utils/editor-uuid.mjs} +0 -0
  299. package/{esm2015/utils/fragment.js → esm2020/utils/fragment.mjs} +0 -0
  300. package/{esm2015/utils/get-editable-element-height.js → esm2020/utils/get-editable-element-height.mjs} +0 -0
  301. package/{esm2015/utils/get-toolbar-class.js → esm2020/utils/get-toolbar-class.mjs} +0 -0
  302. package/{esm2015/utils/id-creator.js → esm2020/utils/id-creator.mjs} +0 -0
  303. package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  304. package/{esm2015/utils/is-clean-empty-paragraph.js → esm2020/utils/is-clean-empty-paragraph.mjs} +0 -0
  305. package/esm2020/utils/is-inline.mjs +9 -0
  306. package/{esm2015/utils/lodash.js → esm2020/utils/lodash.mjs} +0 -0
  307. package/esm2020/utils/match.mjs +32 -0
  308. package/{esm2015/utils/merge-element-options.js → esm2020/utils/merge-element-options.mjs} +0 -0
  309. package/{esm2015/utils/weak-maps.js → esm2020/utils/weak-maps.mjs} +0 -0
  310. package/{esm2015/worktile-theia.js → esm2020/worktile-theia.mjs} +0 -0
  311. package/fesm2015/{worktile-theia.js → worktile-theia.mjs} +257 -316
  312. package/fesm2015/worktile-theia.mjs.map +1 -0
  313. package/fesm2020/worktile-theia.mjs +13739 -0
  314. package/fesm2020/worktile-theia.mjs.map +1 -0
  315. package/interfaces/editor.d.ts +3 -3
  316. package/interfaces/upload.d.ts +1 -1
  317. package/package.json +20 -6
  318. package/queries/index.d.ts +2 -1
  319. package/queries/is-empty-content.d.ts +2 -0
  320. package/bundles/worktile-theia.umd.js +0 -14905
  321. package/bundles/worktile-theia.umd.js.map +0 -1
  322. package/esm2015/components/color-select/color-select.component.js +0 -113
  323. package/esm2015/components/column-resize/column-resize.module.js +0 -34
  324. package/esm2015/components/contextmenu/contextmenu.component.js +0 -64
  325. package/esm2015/components/conversion-hint/conversion-hint.component.js +0 -59
  326. package/esm2015/components/element/element.component.js +0 -24
  327. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +0 -139
  328. package/esm2015/components/table-select/table-select.component.js +0 -53
  329. package/esm2015/components/template/template.component.js +0 -66
  330. package/esm2015/components/toolbar/toolbar.component.js +0 -250
  331. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +0 -133
  332. package/esm2015/components/toolbar-group/toolbar-group.component.js +0 -116
  333. package/esm2015/components/toolbar-item/toolbar-item.component.js +0 -105
  334. package/esm2015/core/create-toolbar.js +0 -57
  335. package/esm2015/core/toolbar-item/base-toolbar-item.js +0 -92
  336. package/esm2015/core/utils/get-plugin-options.js +0 -3
  337. package/esm2015/core/utils/get-plugins.js +0 -5
  338. package/esm2015/core/utils/merge-array.js +0 -18
  339. package/esm2015/editor.component.js +0 -440
  340. package/esm2015/interfaces/editor.js +0 -23
  341. package/esm2015/plugins/align/align.editor.js +0 -48
  342. package/esm2015/plugins/autoformat/autoformat.plugin.js +0 -110
  343. package/esm2015/plugins/blockquote/blockquote.editor.js +0 -21
  344. package/esm2015/plugins/code/code.component.js +0 -245
  345. package/esm2015/plugins/color/color.editor.js +0 -45
  346. package/esm2015/plugins/color/toolbar-item.component.js +0 -124
  347. package/esm2015/plugins/common/auto-insert-data..js +0 -78
  348. package/esm2015/plugins/common/get-fragment.plugin.js +0 -25
  349. package/esm2015/plugins/font-size/font-size.editor.js +0 -98
  350. package/esm2015/plugins/image/image.component.js +0 -370
  351. package/esm2015/plugins/image/image.plugin.js +0 -58
  352. package/esm2015/plugins/indent/indent.editor.js +0 -73
  353. package/esm2015/plugins/indent/indent.plugin.js +0 -60
  354. package/esm2015/plugins/link/edit/link-edit.component.js +0 -108
  355. package/esm2015/plugins/link/hover/link-hover.component.js +0 -39
  356. package/esm2015/plugins/list/components/bulleted-list.component.js +0 -34
  357. package/esm2015/plugins/list/components/list-item.component.js +0 -95
  358. package/esm2015/plugins/list/components/numbered-list.component.js +0 -40
  359. package/esm2015/plugins/list/list.plugin.js +0 -281
  360. package/esm2015/plugins/list/normalizers/normalize-list-item.js +0 -19
  361. package/esm2015/plugins/mark/mark.editor.js +0 -29
  362. package/esm2015/plugins/mark/mark.plugin.js +0 -102
  363. package/esm2015/plugins/node-id/node-id.plugin.js +0 -69
  364. package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +0 -29
  365. package/esm2015/plugins/normalizers/trailing-node.plugin.js +0 -34
  366. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +0 -102
  367. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +0 -84
  368. package/esm2015/plugins/quick-insert/quick-insert.plugin.js +0 -75
  369. package/esm2015/plugins/soft-break/soft-break.plugin.js +0 -37
  370. package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +0 -103
  371. package/esm2015/plugins/table/components/table.component.js +0 -470
  372. package/esm2015/plugins/table/components/td/td.component.js +0 -698
  373. package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +0 -162
  374. package/esm2015/plugins/table/table.plugin.js +0 -424
  375. package/esm2015/plugins/table/table.store.js +0 -480
  376. package/esm2015/plugins/table/toolbar-item.component.js +0 -86
  377. package/esm2015/plugins/table/transforms/clear-cell.js +0 -11
  378. package/esm2015/plugins/table/transforms/insert-table.js +0 -15
  379. package/esm2015/plugins/todo-item/todo-item.component.js +0 -66
  380. package/esm2015/plugins/vertical-align/toolbar-item.component.js +0 -90
  381. package/esm2015/queries/get-above-by-type.js +0 -11
  382. package/esm2015/queries/get-block-above.js +0 -7
  383. package/esm2015/queries/get-block-card-above.js +0 -7
  384. package/esm2015/queries/get-nodes-by-type.js +0 -12
  385. package/esm2015/queries/get-plain-text.js +0 -16
  386. package/esm2015/queries/get-selection-marks.js +0 -19
  387. package/esm2015/queries/get-toolbar-disabled.js +0 -14
  388. package/esm2015/queries/index.js +0 -58
  389. package/esm2015/queries/is-range-across-blocks.js +0 -18
  390. package/esm2015/services/context.service.js +0 -60
  391. package/esm2015/services/toolbar.service.js +0 -48
  392. package/esm2015/transforms/insert-elements.js +0 -35
  393. package/esm2015/transforms/merge-deep-to-nodes.js +0 -9
  394. package/esm2015/transforms/unwrap-nodes-by-type.js +0 -11
  395. package/esm2015/utils/is-inline.js +0 -10
  396. package/esm2015/utils/match.js +0 -29
  397. package/fesm2015/worktile-theia.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import isHotkey from 'is-hotkey';
2
+ import { createPluginFactory, getPluginOptions } from '../../core';
3
+ import { PluginKeys } from '../../interfaces';
4
+ import { ElementKinds } from '../../constants';
5
+ import * as TheQueries from '../../queries';
6
+ export const withSoftBreak = (editor) => {
7
+ const { onKeydown } = editor;
8
+ const rules = getPluginOptions(editor, PluginKeys.softBreak)?.rules ?? [];
9
+ editor.onKeydown = (event) => {
10
+ const entry = TheQueries.getBlockAbove(editor);
11
+ rules.forEach(({ hotkey, query }) => {
12
+ if (isHotkey(hotkey, event) && TheQueries.isNodeType(entry, query)) {
13
+ event.preventDefault();
14
+ editor.insertText('\n');
15
+ }
16
+ });
17
+ onKeydown(event);
18
+ };
19
+ return editor;
20
+ };
21
+ export const createSoftBreakPlugin = createPluginFactory({
22
+ key: PluginKeys.softBreak,
23
+ withOverrides: withSoftBreak,
24
+ options: {
25
+ rules: [
26
+ { hotkey: 'shift+enter' },
27
+ {
28
+ hotkey: 'enter',
29
+ query: {
30
+ allow: [ElementKinds.blockquote]
31
+ }
32
+ }
33
+ ]
34
+ }
35
+ });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdC1icmVhay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9zb2Z0LWJyZWFrL3NvZnQtYnJlYWsucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBd0MsTUFBUyxFQUFLLEVBQUU7SUFDakYsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU3QixNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBNEIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0lBRXJHLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDeEMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFhLENBQUMsQ0FBQztRQUV0RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNoQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFFdkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLG1CQUFtQixDQUE0QjtJQUNoRixHQUFHLEVBQUUsVUFBVSxDQUFDLFNBQVM7SUFDekIsYUFBYSxFQUFFLGFBQWE7SUFDNUIsT0FBTyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0gsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFO1lBQ3pCO2dCQUNJLE1BQU0sRUFBRSxPQUFPO2dCQUNmLEtBQUssRUFBRTtvQkFDSCxLQUFLLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO2lCQUNuQzthQUNKO1NBQ0o7S0FDSjtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5LCBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVHJhbnNmb3JtRWRpdG9yIH0gZnJvbSAnLi4vY29tbW9uL3RyYW5zZm9ybXMucGx1Z2luJztcbmltcG9ydCB7IFNvZnRCcmVha09uS2V5RG93bk9wdGlvbnMgfSBmcm9tICcuL3NvZnQtYnJlYWsudHlwZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhTb2Z0QnJlYWsgPSA8VCBleHRlbmRzIFRoZUVkaXRvciAmIFRyYW5zZm9ybUVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBvbktleWRvd24gfSA9IGVkaXRvcjtcblxuICAgIGNvbnN0IHJ1bGVzID0gZ2V0UGx1Z2luT3B0aW9uczxTb2Z0QnJlYWtPbktleURvd25PcHRpb25zPihlZGl0b3IsIFBsdWdpbktleXMuc29mdEJyZWFrKT8ucnVsZXMgPz8gW107XG5cbiAgICBlZGl0b3Iub25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0gVGhlUXVlcmllcy5nZXRCbG9ja0Fib3ZlKGVkaXRvciBhcyBhbnkpO1xuXG4gICAgICAgIHJ1bGVzLmZvckVhY2goKHsgaG90a2V5LCBxdWVyeSB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoaG90a2V5LCBldmVudCkgJiYgVGhlUXVlcmllcy5pc05vZGVUeXBlKGVudHJ5LCBxdWVyeSkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgZWRpdG9yLmluc2VydFRleHQoJ1xcbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTb2Z0QnJlYWtQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PFNvZnRCcmVha09uS2V5RG93bk9wdGlvbnM+KHtcbiAgICBrZXk6IFBsdWdpbktleXMuc29mdEJyZWFrLFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhTb2Z0QnJlYWssXG4gICAgb3B0aW9uczoge1xuICAgICAgICBydWxlczogW1xuICAgICAgICAgICAgeyBob3RrZXk6ICdzaGlmdCtlbnRlcicgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBob3RrZXk6ICdlbnRlcicsXG4gICAgICAgICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxsb3c6IFtFbGVtZW50S2luZHMuYmxvY2txdW90ZV1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICB9XG59KTtcbiJdfQ==
@@ -0,0 +1,100 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { Range, Transforms } from 'slate';
3
+ import { ELEMENT_TO_COMPONENT } from 'slate-angular';
4
+ import { TableEditor } from '../../table.editor';
5
+ import { TablePosition } from '../../utils/table-position';
6
+ import { TableOptions } from '../../table.types';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "ngx-tethys/tooltip";
9
+ import * as i2 from "@angular/common";
10
+ export class TheInsertMarkComponent {
11
+ constructor(cdr) {
12
+ this.cdr = cdr;
13
+ this.tooltipContent = '';
14
+ }
15
+ get disabled() {
16
+ return this.tableStore && !!this.tableStore.selectedCells.length;
17
+ }
18
+ get editor() {
19
+ return this.tableStore && this.tableStore.editor;
20
+ }
21
+ ngOnInit() {
22
+ this.tooltipContent = this.type === 'row' ? '插入行' : '插入列';
23
+ }
24
+ onMouseDown(event) {
25
+ event.preventDefault();
26
+ event.stopPropagation();
27
+ if (this.disabled) {
28
+ return;
29
+ }
30
+ const fun = this.type === 'row' ? TableEditor.insertRow : TableEditor.insertColumn;
31
+ fun(this.editor, 1, this.at);
32
+ // update header
33
+ if (this.type === 'row' && this.at === 0) {
34
+ const { selection } = this.editor;
35
+ const opts = new TableOptions();
36
+ const table = TablePosition.create(opts, this.editor, selection.anchor.path);
37
+ Transforms.setNodes(this.editor, { header: true }, { at: table.tableEntry[1].concat(0) });
38
+ Transforms.setNodes(this.editor, { header: null }, { at: table.tableEntry[1].concat(1) });
39
+ }
40
+ this.tableStore.changeCells();
41
+ }
42
+ onMouseEnter(event) {
43
+ event.preventDefault();
44
+ event.stopPropagation();
45
+ if (this.disabled) {
46
+ return;
47
+ }
48
+ this.dotWrapperHovered = true;
49
+ this.insertLength = this.getLength();
50
+ this.cdr.detectChanges();
51
+ }
52
+ onMouseLeave(event) {
53
+ event.preventDefault();
54
+ event.stopPropagation();
55
+ if (this.disabled) {
56
+ return;
57
+ }
58
+ this.dotWrapperHovered = false;
59
+ this.cdr.detectChanges();
60
+ }
61
+ getLength() {
62
+ const { selection } = this.editor;
63
+ if (selection && Range.isCollapsed(selection)) {
64
+ const { table } = TablePosition.create(new TableOptions(), this.editor, selection.anchor.path);
65
+ if (!table) {
66
+ return;
67
+ }
68
+ const tableComponent = ELEMENT_TO_COMPONENT.get(table);
69
+ const tableWrapper = tableComponent.tableWrapper.nativeElement;
70
+ const tableElement = tableComponent.theTableElement.nativeElement;
71
+ let result = 0;
72
+ const rowControl = tableComponent.nativeElement.querySelector('.the-temp-table-row-controls');
73
+ let rowControlWidth = 11;
74
+ if (rowControl) {
75
+ rowControlWidth = rowControl.getBoundingClientRect().width;
76
+ }
77
+ if (this.type === 'row') {
78
+ result = tableWrapper.offsetWidth + rowControlWidth - 2;
79
+ }
80
+ else {
81
+ result = tableElement.offsetHeight - 1;
82
+ }
83
+ return result + 'px';
84
+ }
85
+ }
86
+ ngOnDestroy() { }
87
+ }
88
+ TheInsertMarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheInsertMarkComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
89
+ TheInsertMarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: { type: "type", at: "at", tableStore: "tableStore" }, ngImport: i0, template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-temp-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-temp-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n", directives: [{ type: i1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheInsertMarkComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'the-table-insert-mark', template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-temp-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-temp-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n" }]
93
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
94
+ type: Input
95
+ }], at: [{
96
+ type: Input
97
+ }], tableStore: [{
98
+ type: Input
99
+ }] } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LW1hcmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9pbnNlcnQtbWFyay9pbnNlcnQtbWFyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL2luc2VydC1tYXJrL2luc2VydC1tYXJrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBTWpELE1BQU0sT0FBTyxzQkFBc0I7SUFtQi9CLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVjFDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO0lBVXlCLENBQUM7SUFSOUMsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDckUsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNyRCxDQUFDO0lBSUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUI7UUFDekIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUNuRixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLGdCQUFnQjtRQUNoQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7WUFDaEMsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdFLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUYsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM3RjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQjtRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWlCO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbEMsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvRixJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNSLE9BQU87YUFDVjtZQUNELE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQXNCLENBQUM7WUFDNUUsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxhQUE0QixDQUFDO1lBQzlFLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxlQUFlLENBQUMsYUFBNEIsQ0FBQztZQUNqRixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDZixNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBZ0IsQ0FBQztZQUM3RyxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDekIsSUFBSSxVQUFVLEVBQUU7Z0JBQ1osZUFBZSxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQzthQUM5RDtZQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7Z0JBQ3JCLE1BQU0sR0FBRyxZQUFZLENBQUMsV0FBVyxHQUFHLGVBQWUsR0FBRyxDQUFDLENBQUM7YUFDM0Q7aUJBQU07Z0JBQ0gsTUFBTSxHQUFHLFlBQVksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO2FBQzFDO1lBQ0QsT0FBTyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELFdBQVcsS0FBSSxDQUFDOzttSEExRlAsc0JBQXNCO3VHQUF0QixzQkFBc0IsMkhDYm5DLHlrQkFnQkE7MkZESGEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNJLHVCQUF1Qjt3R0FJeEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3IsIFJhbmdlLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRUxFTUVOVF9UT19DT01QT05FTlQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vLi4vdGFibGUuZWRpdG9yJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuLi8uLi91dGlscy90YWJsZS1wb3NpdGlvbic7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vdGFibGUuc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBUaGVUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi8uLi90YWJsZS50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRhYmxlLWluc2VydC1tYXJrJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5zZXJ0LW1hcmsuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRoZUluc2VydE1hcmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdHlwZTogJ3JvdycgfCAnY29sdW1uJztcbiAgICBASW5wdXQoKSBhdDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHRhYmxlU3RvcmU6IFRhYmxlU3RvcmU7XG5cbiAgICBwdWJsaWMgaW5zZXJ0TGVuZ3RoOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZG90V3JhcHBlckhvdmVyZWQ6IGJvb2xlYW47XG5cbiAgICB0b29sdGlwQ29udGVudCA9ICcnO1xuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVN0b3JlICYmICEhdGhpcy50YWJsZVN0b3JlLnNlbGVjdGVkQ2VsbHMubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBlZGl0b3IoKTogRWRpdG9yIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTdG9yZSAmJiB0aGlzLnRhYmxlU3RvcmUuZWRpdG9yO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnRvb2x0aXBDb250ZW50ID0gdGhpcy50eXBlID09PSAncm93JyA/ICfmj5LlhaXooYwnIDogJ+aPkuWFpeWIlyc7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZnVuID0gdGhpcy50eXBlID09PSAncm93JyA/IFRhYmxlRWRpdG9yLmluc2VydFJvdyA6IFRhYmxlRWRpdG9yLmluc2VydENvbHVtbjtcbiAgICAgICAgZnVuKHRoaXMuZWRpdG9yLCAxLCB0aGlzLmF0KTtcbiAgICAgICAgLy8gdXBkYXRlIGhlYWRlclxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAncm93JyAmJiB0aGlzLmF0ID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gdGhpcy5lZGl0b3I7XG4gICAgICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICAgICAgY29uc3QgdGFibGUgPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCB0aGlzLmVkaXRvciwgc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXModGhpcy5lZGl0b3IsIHsgaGVhZGVyOiB0cnVlIH0sIHsgYXQ6IHRhYmxlLnRhYmxlRW50cnlbMV0uY29uY2F0KDApIH0pO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2Rlcyh0aGlzLmVkaXRvciwgeyBoZWFkZXI6IG51bGwgfSwgeyBhdDogdGFibGUudGFibGVFbnRyeVsxXS5jb25jYXQoMSkgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNoYW5nZUNlbGxzKCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZG90V3JhcHBlckhvdmVyZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmluc2VydExlbmd0aCA9IHRoaXMuZ2V0TGVuZ3RoKCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kb3RXcmFwcGVySG92ZXJlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0TGVuZ3RoKCkge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gdGhpcy5lZGl0b3I7XG4gICAgICAgIGlmIChzZWxlY3Rpb24gJiYgUmFuZ2UuaXNDb2xsYXBzZWQoc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gVGFibGVQb3NpdGlvbi5jcmVhdGUobmV3IFRhYmxlT3B0aW9ucygpLCB0aGlzLmVkaXRvciwgc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgIGlmICghdGFibGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0YWJsZUNvbXBvbmVudCA9IEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldCh0YWJsZSkgYXMgVGhlVGFibGVDb21wb25lbnQ7XG4gICAgICAgICAgICBjb25zdCB0YWJsZVdyYXBwZXIgPSB0YWJsZUNvbXBvbmVudC50YWJsZVdyYXBwZXIubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlRWxlbWVudCA9IHRhYmxlQ29tcG9uZW50LnRoZVRhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgICAgICBjb25zdCByb3dDb250cm9sID0gdGFibGVDb21wb25lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGhlLXRlbXAtdGFibGUtcm93LWNvbnRyb2xzJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBsZXQgcm93Q29udHJvbFdpZHRoID0gMTE7XG4gICAgICAgICAgICBpZiAocm93Q29udHJvbCkge1xuICAgICAgICAgICAgICAgIHJvd0NvbnRyb2xXaWR0aCA9IHJvd0NvbnRyb2wuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAncm93Jykge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRhYmxlV3JhcHBlci5vZmZzZXRXaWR0aCArIHJvd0NvbnRyb2xXaWR0aCAtIDI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRhYmxlRWxlbWVudC5vZmZzZXRIZWlnaHQgLSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHt9XG59XG4iLCI8ZGl2XG4gICAgW3RoeVRvb2x0aXBdPVwiIWRpc2FibGVkICYmIHRvb2x0aXBDb250ZW50XCJcbiAgICBjbGFzcz1cInRoZS10ZW1wLXRhYmxlLWNvbnRyb2xzLWluc2VydC13cmFwcGVyXCJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcbiAgICBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiXG4gICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbiAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoJGV2ZW50KVwiXG4gICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKCRldmVudClcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0aGUtdGVtcC10YWJsZS1jb250cm9scy1pbnNlcnQtbGluZVwiXG4gICAgICAgICpuZ0lmPVwiZG90V3JhcHBlckhvdmVyZWRcIlxuICAgICAgICBbYXR0ci5kYXRhLWRvdC10eXBlXT1cInR5cGVcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7IGhlaWdodDogdHlwZSA9PT0gJ2NvbHVtbicgJiYgaW5zZXJ0TGVuZ3RoLCB3aWR0aDogdHlwZSA9PT0gJ3JvdycgJiYgaW5zZXJ0TGVuZ3RoIH1cIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -29,9 +29,9 @@ export class TheTableRowComponent extends TheBaseElementComponent {
29
29
  }
30
30
  }
31
31
  }
32
- TheTableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
- TheTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableRowComponent, selector: "tr[theTableRow]", host: { properties: { "style.backgroundColor": "this.backgroundColor", "style.height": "this.height" } }, usesInheritance: true, ngImport: i0, template: '<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>', isInline: true, components: [{ type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableRowComponent, decorators: [{
32
+ TheTableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
+ TheTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheTableRowComponent, selector: "tr[theTableRow]", host: { properties: { "style.backgroundColor": "this.backgroundColor", "style.height": "this.height" } }, usesInheritance: true, ngImport: i0, template: '<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>', isInline: true, components: [{ type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTableRowComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{
37
37
  selector: 'tr[theTableRow]',
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
44
44
  type: HostBinding,
45
45
  args: ['style.height']
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvcm93L3Jvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQU0zRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXdDO0lBSTlFLGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7U0FDcEM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM5QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUM1QztJQUNMLENBQUM7O2tIQS9CUSxvQkFBb0I7c0dBQXBCLG9CQUFvQix3TEFGbkIsaUhBQWlIOzRGQUVsSCxvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLGlIQUFpSDtpQkFDOUg7OEJBRXlDLGVBQWU7c0JBQXBELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNQLE1BQU07c0JBQWxDLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy92aWV3LWJhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RyW3RoZVRhYmxlUm93XScsXG4gICAgdGVtcGxhdGU6ICc8c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj4nXG59KVxuZXhwb3J0IGNsYXNzIFRoZVRhYmxlUm93Q29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQ8VGFibGVSb3dFbGVtZW50PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kQ29sb3InKSBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodDogc3RyaW5nO1xuXG4gICAgb25Db250ZXh0Q2hhbmdlKCkge1xuICAgICAgICBzdXBlci5vbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXNlQmFja2dyb3VuZCgpO1xuICAgICAgICAgICAgdGhpcy51c2VIZWlnaHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnVzZUJhY2tncm91bmQoKTtcbiAgICAgICAgdGhpcy51c2VIZWlnaHQoKTtcbiAgICB9XG5cbiAgICB1c2VCYWNrZ3JvdW5kKCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmhlYWRlciAmJiAhdGhpcy5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID0gJyNGM0YzRjMnO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50LmhlYWRlciAmJiB0aGlzLmJhY2tncm91bmRDb2xvcikge1xuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXNlSGVpZ2h0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLmVsZW1lbnQuaGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvcm93L3Jvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQU0zRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXdDO0lBSTlFLGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7U0FDcEM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM5QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUM1QztJQUNMLENBQUM7O2lIQS9CUSxvQkFBb0I7cUdBQXBCLG9CQUFvQix3TEFGbkIsaUhBQWlIOzJGQUVsSCxvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLGlIQUFpSDtpQkFDOUg7OEJBRXlDLGVBQWU7c0JBQXBELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNQLE1BQU07c0JBQWxDLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy92aWV3LWJhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RyW3RoZVRhYmxlUm93XScsXG4gICAgdGVtcGxhdGU6ICc8c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj4nXG59KVxuZXhwb3J0IGNsYXNzIFRoZVRhYmxlUm93Q29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQ8VGFibGVSb3dFbGVtZW50PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kQ29sb3InKSBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodDogc3RyaW5nO1xuXG4gICAgb25Db250ZXh0Q2hhbmdlKCkge1xuICAgICAgICBzdXBlci5vbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXNlQmFja2dyb3VuZCgpO1xuICAgICAgICAgICAgdGhpcy51c2VIZWlnaHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnVzZUJhY2tncm91bmQoKTtcbiAgICAgICAgdGhpcy51c2VIZWlnaHQoKTtcbiAgICB9XG5cbiAgICB1c2VCYWNrZ3JvdW5kKCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmhlYWRlciAmJiAhdGhpcy5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID0gJyNGM0YzRjMnO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50LmhlYWRlciAmJiB0aGlzLmJhY2tncm91bmRDb2xvcikge1xuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXNlSGVpZ2h0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLmVsZW1lbnQuaGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==