@worktile/theia 18.0.16 → 19.0.0
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.
- package/constants/node-types.d.ts +1 -0
- package/core/toolbar-item/base-toolbar-item.d.ts +2 -2
- package/fesm2022/worktile-theia.mjs +262 -281
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/package.json +4 -6
- package/plugins/code/code.component.scss +1 -2
- package/plugins/image/image.component.d.ts +1 -1
- package/plugins/mention/suggestion.component.d.ts +1 -1
- package/esm2022/components/action/prevent-default.mjs +0 -21
- package/esm2022/components/column-resize/column-resize-notifier.mjs +0 -31
- package/esm2022/components/column-resize/column-resize.directive.mjs +0 -124
- package/esm2022/components/column-resize/event-dispatcher.mjs +0 -56
- package/esm2022/components/column-resize/overlay-handle.component.mjs +0 -144
- package/esm2022/components/column-resize/resize-ref.mjs +0 -26
- package/esm2022/components/column-resize/resizing.store.mjs +0 -92
- package/esm2022/components/column-resize/selectors.mjs +0 -4
- package/esm2022/components/contextmenu/contextmenu.component.mjs +0 -99
- package/esm2022/components/conversion-hint/conversion-hint.component.mjs +0 -56
- package/esm2022/components/element/element.component.mjs +0 -23
- package/esm2022/components/index.mjs +0 -24
- package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +0 -131
- package/esm2022/components/listbox/listbox.mjs +0 -380
- package/esm2022/components/listbox/listbox.type.mjs +0 -5
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +0 -272
- package/esm2022/components/table-select/table-select.component.mjs +0 -49
- package/esm2022/components/template/template.component.mjs +0 -62
- package/esm2022/components/text/text.component.mjs +0 -57
- package/esm2022/components/toolbar/toolbar.component.mjs +0 -262
- package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -137
- package/esm2022/components/toolbar-group/toolbar-group.component.mjs +0 -125
- package/esm2022/components/toolbar-item/toolbar-item.component.mjs +0 -80
- package/esm2022/constants/auto-format-rules.mjs +0 -167
- package/esm2022/constants/code.mjs +0 -85
- package/esm2022/constants/color-select.mjs +0 -3
- package/esm2022/constants/default.mjs +0 -11
- package/esm2022/constants/error.mjs +0 -7
- package/esm2022/constants/index.mjs +0 -9
- package/esm2022/constants/node-types.mjs +0 -136
- package/esm2022/constants/plugin-menu.mjs +0 -311
- package/esm2022/constants/selector.mjs +0 -3
- package/esm2022/constants/toolbar.mjs +0 -53
- package/esm2022/core/create-plugin.mjs +0 -5
- package/esm2022/core/create-toolbar.mjs +0 -55
- package/esm2022/core/index.mjs +0 -6
- package/esm2022/core/toolbar-item/base-toolbar-item.mjs +0 -95
- package/esm2022/core/utils/combine-plugins.mjs +0 -10
- package/esm2022/core/utils/flatten-deep-plugins.mjs +0 -19
- package/esm2022/core/utils/get-plugin-options.mjs +0 -3
- package/esm2022/core/utils/get-plugin.mjs +0 -2
- package/esm2022/core/utils/get-plugins.mjs +0 -4
- package/esm2022/core/utils/index.mjs +0 -12
- package/esm2022/core/utils/merge-array.mjs +0 -18
- package/esm2022/core/utils/merge-deep-plugins.mjs +0 -14
- package/esm2022/core/utils/merge-options.mjs +0 -25
- package/esm2022/core/utils/nested-structure-by-key.mjs +0 -11
- package/esm2022/core/utils/plugin-menu.mjs +0 -63
- package/esm2022/core/utils/plugins-by-key.mjs +0 -10
- package/esm2022/core/with-theia.mjs +0 -25
- package/esm2022/custom-types.mjs +0 -2
- package/esm2022/editor.component.mjs +0 -488
- package/esm2022/editor.module.mjs +0 -18
- package/esm2022/i18n/i18n.mjs +0 -10
- package/esm2022/i18n/i18n.service.mjs +0 -46
- package/esm2022/i18n/i18n.token.mjs +0 -9
- package/esm2022/i18n/index.mjs +0 -10
- package/esm2022/i18n/locales/de-de.mjs +0 -102
- package/esm2022/i18n/locales/en-us.mjs +0 -102
- package/esm2022/i18n/locales/ja-jp.mjs +0 -102
- package/esm2022/i18n/locales/ru-ru.mjs +0 -102
- package/esm2022/i18n/locales/zh-hans.mjs +0 -102
- package/esm2022/i18n/locales/zh-hant.mjs +0 -102
- package/esm2022/interfaces/auto-format.mjs +0 -2
- package/esm2022/interfaces/editor.mjs +0 -26
- package/esm2022/interfaces/element.mjs +0 -2
- package/esm2022/interfaces/image.mjs +0 -3
- package/esm2022/interfaces/index.mjs +0 -11
- package/esm2022/interfaces/plugins/index.mjs +0 -6
- package/esm2022/interfaces/plugins/no-infer.mjs +0 -2
- package/esm2022/interfaces/plugins/plugin-key.mjs +0 -42
- package/esm2022/interfaces/plugins/plugin-menu.mjs +0 -19
- package/esm2022/interfaces/plugins/plugins.mjs +0 -2
- package/esm2022/interfaces/plugins/with-override.mjs +0 -2
- package/esm2022/interfaces/preset.mjs +0 -3
- package/esm2022/interfaces/reset-block-type-plugin-options.mjs +0 -2
- package/esm2022/interfaces/toolbar.mjs +0 -12
- package/esm2022/interfaces/upload.mjs +0 -2
- package/esm2022/interfaces/utility/index.mjs +0 -4
- package/esm2022/interfaces/utility/nested-structure-by-key.mjs +0 -2
- package/esm2022/interfaces/utility/override-by-key.mjs +0 -2
- package/esm2022/interfaces/utility/types.mjs +0 -2
- package/esm2022/interfaces/valid-children-types.mjs +0 -36
- package/esm2022/interfaces/view-base.mjs +0 -38
- package/esm2022/pipes.mjs +0 -61
- package/esm2022/plugins/align/align.editor.mjs +0 -41
- package/esm2022/plugins/align/align.plugin.mjs +0 -64
- package/esm2022/plugins/autoformat/autoformat.plugin.mjs +0 -109
- package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
- package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
- package/esm2022/plugins/blockquote/blockquote.component.mjs +0 -16
- package/esm2022/plugins/blockquote/blockquote.editor.mjs +0 -20
- package/esm2022/plugins/blockquote/blockquote.plugin.mjs +0 -84
- package/esm2022/plugins/code/code.component.mjs +0 -255
- package/esm2022/plugins/code/code.editor.mjs +0 -59
- package/esm2022/plugins/code/code.plugin.mjs +0 -67
- package/esm2022/plugins/color/color.editor.mjs +0 -27
- package/esm2022/plugins/color/color.plugin.mjs +0 -32
- package/esm2022/plugins/color/toolbar-item.component.mjs +0 -99
- package/esm2022/plugins/common/block-card.plugin.mjs +0 -330
- package/esm2022/plugins/common/common.plugin.mjs +0 -49
- package/esm2022/plugins/common/get-fragment.plugin.mjs +0 -24
- package/esm2022/plugins/common/history.plugin.mjs +0 -31
- package/esm2022/plugins/common/insert-data-by-invalid-type.mjs +0 -23
- package/esm2022/plugins/common/move-selection.plugin.mjs +0 -105
- package/esm2022/plugins/common/remove-empty.plugin.mjs +0 -61
- package/esm2022/plugins/common/remove-void.plugin.mjs +0 -60
- package/esm2022/plugins/common/reset-type.plugin.mjs +0 -35
- package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +0 -61
- package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +0 -142
- package/esm2022/plugins/font-size/font-size.editor.mjs +0 -98
- package/esm2022/plugins/heading/heading.editor.mjs +0 -54
- package/esm2022/plugins/heading/heading.plugin.mjs +0 -136
- package/esm2022/plugins/hr/hr.component.mjs +0 -37
- package/esm2022/plugins/hr/hr.editor.mjs +0 -16
- package/esm2022/plugins/hr/hr.plugin.mjs +0 -56
- package/esm2022/plugins/image/image.component.mjs +0 -474
- package/esm2022/plugins/image/image.editor.mjs +0 -116
- package/esm2022/plugins/image/image.plugin.mjs +0 -90
- package/esm2022/plugins/indent/indent.editor.mjs +0 -78
- package/esm2022/plugins/indent/indent.plugin.mjs +0 -59
- package/esm2022/plugins/indent/on-keydown-indent.mjs +0 -59
- package/esm2022/plugins/index.mjs +0 -73
- package/esm2022/plugins/inline-code/inline-code.component.mjs +0 -28
- package/esm2022/plugins/inline-code/inline-code.editor.mjs +0 -49
- package/esm2022/plugins/inline-code/inline-code.plugin.mjs +0 -67
- package/esm2022/plugins/link/edit/link-edit.component.mjs +0 -104
- package/esm2022/plugins/link/hover/link-hover.component.mjs +0 -38
- package/esm2022/plugins/link/link.component.mjs +0 -170
- package/esm2022/plugins/link/link.editor.mjs +0 -87
- package/esm2022/plugins/link/link.plugin.mjs +0 -89
- package/esm2022/plugins/link/link.types.mjs +0 -12
- package/esm2022/plugins/list/components/bulleted-list.component.mjs +0 -28
- package/esm2022/plugins/list/components/list-item.component.mjs +0 -88
- package/esm2022/plugins/list/components/numbered-list.component.mjs +0 -37
- package/esm2022/plugins/list/list.editor.mjs +0 -128
- package/esm2022/plugins/list/list.plugin.mjs +0 -302
- package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
- package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +0 -18
- package/esm2022/plugins/list/normalizers/normalize-no.mjs +0 -43
- package/esm2022/plugins/list/on-key-down-list.mjs +0 -33
- package/esm2022/plugins/list/queries/get-list-item-entry.mjs +0 -28
- package/esm2022/plugins/list/queries/get-list-item-sublist.mjs +0 -12
- package/esm2022/plugins/list/queries/get-list-types.mjs +0 -5
- package/esm2022/plugins/list/queries/get-start-list-item.mjs +0 -27
- package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +0 -27
- package/esm2022/plugins/list/queries/is-in-list.mjs +0 -6
- package/esm2022/plugins/list/queries/is-list-nested.mjs +0 -10
- package/esm2022/plugins/list/queries/is-list.mjs +0 -5
- package/esm2022/plugins/list/queries/is-node-type-list.mjs +0 -5
- package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
- package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
- package/esm2022/plugins/list/queries/is-single-list-item.mjs +0 -9
- package/esm2022/plugins/list/transforms/insert-list-data.mjs +0 -72
- package/esm2022/plugins/list/transforms/insert-list-item.mjs +0 -73
- package/esm2022/plugins/list/transforms/move-list-item-down.mjs +0 -41
- package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
- package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
- package/esm2022/plugins/list/transforms/move-list-item-up.mjs +0 -78
- package/esm2022/plugins/list/transforms/unwrap-list.mjs +0 -10
- package/esm2022/plugins/list/types.mjs +0 -2
- package/esm2022/plugins/mark/mark.editor.mjs +0 -28
- package/esm2022/plugins/mark/mark.plugin.mjs +0 -105
- package/esm2022/plugins/mention/index.mjs +0 -5
- package/esm2022/plugins/mention/mention.editor.mjs +0 -179
- package/esm2022/plugins/mention/mention.plugin.mjs +0 -92
- package/esm2022/plugins/mention/mention.type.mjs +0 -2
- package/esm2022/plugins/mention/suggestion.component.mjs +0 -22
- package/esm2022/plugins/node-id/node-id.plugin.mjs +0 -78
- package/esm2022/plugins/normalizers/insert-paragraph-nodes.mjs +0 -28
- package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +0 -18
- package/esm2022/plugins/normalizers/trailing-node.plugin.mjs +0 -33
- package/esm2022/plugins/paint-format/paint-format.editor.mjs +0 -126
- package/esm2022/plugins/public-api.mjs +0 -20
- package/esm2022/plugins/quick-insert/components/quick-insert.component.mjs +0 -126
- package/esm2022/plugins/quick-insert/index.mjs +0 -4
- package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +0 -70
- package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +0 -109
- package/esm2022/plugins/soft-break/soft-break.plugin.mjs +0 -36
- package/esm2022/plugins/soft-break/soft-break.types.mjs +0 -2
- package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -132
- package/esm2022/plugins/table/components/row/row.component.mjs +0 -93
- package/esm2022/plugins/table/components/table.component.mjs +0 -887
- package/esm2022/plugins/table/components/td/td.component.mjs +0 -610
- package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +0 -102
- package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -179
- package/esm2022/plugins/table/table.editor.mjs +0 -301
- package/esm2022/plugins/table/table.pipe.mjs +0 -66
- package/esm2022/plugins/table/table.plugin.mjs +0 -556
- package/esm2022/plugins/table/table.service.mjs +0 -122
- package/esm2022/plugins/table/table.store.mjs +0 -417
- package/esm2022/plugins/table/table.types.mjs +0 -68
- package/esm2022/plugins/table/toolbar-item.component.mjs +0 -95
- package/esm2022/plugins/table/transforms/clear-cell.mjs +0 -14
- package/esm2022/plugins/table/transforms/clear-table-node.mjs +0 -27
- package/esm2022/plugins/table/transforms/index.mjs +0 -8
- package/esm2022/plugins/table/transforms/insert-column.mjs +0 -69
- package/esm2022/plugins/table/transforms/insert-row.mjs +0 -50
- package/esm2022/plugins/table/transforms/insert-table.mjs +0 -15
- package/esm2022/plugins/table/transforms/move-selection-from-cell.mjs +0 -91
- package/esm2022/plugins/table/transforms/remove-column.mjs +0 -51
- package/esm2022/plugins/table/transforms/remove-row.mjs +0 -48
- package/esm2022/plugins/table/transforms/remove-table.mjs +0 -49
- package/esm2022/plugins/table/utils/add-columns.mjs +0 -38
- package/esm2022/plugins/table/utils/calc-anchor-position.mjs +0 -26
- package/esm2022/plugins/table/utils/calc-span.mjs +0 -73
- package/esm2022/plugins/table/utils/calculate-table.mjs +0 -116
- package/esm2022/plugins/table/utils/cell-position.mjs +0 -57
- package/esm2022/plugins/table/utils/create-cell.mjs +0 -19
- package/esm2022/plugins/table/utils/create-row.mjs +0 -12
- package/esm2022/plugins/table/utils/create-table-position.mjs +0 -10
- package/esm2022/plugins/table/utils/create-table.mjs +0 -15
- package/esm2022/plugins/table/utils/get-grid-columns.mjs +0 -79
- package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
- package/esm2022/plugins/table/utils/get-next-cell.mjs +0 -44
- package/esm2022/plugins/table/utils/get-select-cell-node.mjs +0 -16
- package/esm2022/plugins/table/utils/handle-cell.mjs +0 -25
- package/esm2022/plugins/table/utils/index.mjs +0 -16
- package/esm2022/plugins/table/utils/is-header-row.mjs +0 -15
- package/esm2022/plugins/table/utils/is-legal-table.mjs +0 -26
- package/esm2022/plugins/table/utils/is-range-in-table.mjs +0 -16
- package/esm2022/plugins/table/utils/is-selection-in-table.mjs +0 -51
- package/esm2022/plugins/table/utils/is-virtual-key.mjs +0 -13
- package/esm2022/plugins/table/utils/merge-cell.mjs +0 -110
- package/esm2022/plugins/table/utils/next-path.mjs +0 -5
- package/esm2022/plugins/table/utils/normalize-table.mjs +0 -31
- package/esm2022/plugins/table/utils/remove-columns.mjs +0 -23
- package/esm2022/plugins/table/utils/remove-row-column.mjs +0 -45
- package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
- package/esm2022/plugins/table/utils/split-cell.mjs +0 -29
- package/esm2022/plugins/table/utils/table-entry.mjs +0 -21
- package/esm2022/plugins/table/utils/table-position.mjs +0 -251
- package/esm2022/plugins/table/utils/table-viewport.mjs +0 -41
- package/esm2022/plugins/todo-item/todo-item.component.mjs +0 -65
- package/esm2022/plugins/todo-item/todo-item.editor.mjs +0 -32
- package/esm2022/plugins/todo-item/todo-item.plugin.mjs +0 -93
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +0 -95
- package/esm2022/plugins/vertical-align/vertical-align.editor.mjs +0 -59
- package/esm2022/public-api.mjs +0 -22
- package/esm2022/queries/anchor-block-entry.mjs +0 -13
- package/esm2022/queries/anchor-block.mjs +0 -6
- package/esm2022/queries/anchor-inline-entry.mjs +0 -10
- package/esm2022/queries/find-descendant.mjs +0 -47
- package/esm2022/queries/find-node.mjs +0 -45
- package/esm2022/queries/find-path.mjs +0 -28
- package/esm2022/queries/get-above-by-type.mjs +0 -14
- package/esm2022/queries/get-above.mjs +0 -9
- package/esm2022/queries/get-anchor-block-entry.mjs +0 -8
- package/esm2022/queries/get-block-above.mjs +0 -10
- package/esm2022/queries/get-block-card-above.mjs +0 -10
- package/esm2022/queries/get-block-card-cursor.mjs +0 -9
- package/esm2022/queries/get-container-blocks.mjs +0 -12
- package/esm2022/queries/get-directly-parent.mjs +0 -12
- package/esm2022/queries/get-insert-elements-path.mjs +0 -46
- package/esm2022/queries/get-last-child-path.mjs +0 -9
- package/esm2022/queries/get-last-node.mjs +0 -17
- package/esm2022/queries/get-next-sibling-nodes.mjs +0 -17
- package/esm2022/queries/get-node.mjs +0 -10
- package/esm2022/queries/get-nodes-by-type.mjs +0 -15
- package/esm2022/queries/get-nodes.mjs +0 -7
- package/esm2022/queries/get-parent.mjs +0 -12
- package/esm2022/queries/get-plain-text.mjs +0 -16
- package/esm2022/queries/get-plugin-by-toolbar.mjs +0 -13
- package/esm2022/queries/get-point-before.mjs +0 -62
- package/esm2022/queries/get-point-from-location.mjs +0 -15
- package/esm2022/queries/get-previous-path.mjs +0 -9
- package/esm2022/queries/get-rang-from-block-start.mjs +0 -16
- package/esm2022/queries/get-range-before.mjs +0 -17
- package/esm2022/queries/get-selection-marks.mjs +0 -18
- package/esm2022/queries/get-selection-nodes-by-type.mjs +0 -30
- package/esm2022/queries/get-text.mjs +0 -9
- package/esm2022/queries/get-toolbar-disabled.mjs +0 -13
- package/esm2022/queries/index.mjs +0 -62
- package/esm2022/queries/is-across-blocks.mjs +0 -7
- package/esm2022/queries/is-ancestor-empty.mjs +0 -6
- package/esm2022/queries/is-ancestor.mjs +0 -3
- package/esm2022/queries/is-block-above-empty.mjs +0 -11
- package/esm2022/queries/is-block-active.mjs +0 -8
- package/esm2022/queries/is-block-card-cursor.mjs +0 -16
- package/esm2022/queries/is-block-text-empty-after-selection.mjs +0 -31
- package/esm2022/queries/is-collapsed.mjs +0 -7
- package/esm2022/queries/is-contain-nested-type.mjs +0 -29
- package/esm2022/queries/is-container-type.mjs +0 -3
- package/esm2022/queries/is-descendant.mjs +0 -3
- package/esm2022/queries/is-empty-content-filter.mjs +0 -22
- package/esm2022/queries/is-empty-content.mjs +0 -15
- package/esm2022/queries/is-empty-paragraph-by-path.mjs +0 -7
- package/esm2022/queries/is-empty-paragraph.mjs +0 -28
- package/esm2022/queries/is-first-child.mjs +0 -5
- package/esm2022/queries/is-global-collapsed.mjs +0 -5
- package/esm2022/queries/is-include-types.mjs +0 -12
- package/esm2022/queries/is-node-type-in.mjs +0 -9
- package/esm2022/queries/is-node-type.mjs +0 -15
- package/esm2022/queries/is-paragraph.mjs +0 -9
- package/esm2022/queries/is-point-at-root.mjs +0 -2
- package/esm2022/queries/is-range-across-blocks.mjs +0 -22
- package/esm2022/queries/is-range-at-root.mjs +0 -3
- package/esm2022/queries/is-root-path.mjs +0 -2
- package/esm2022/queries/is-start.mjs +0 -6
- package/esm2022/queries/some-node.mjs +0 -9
- package/esm2022/services/context.service.mjs +0 -140
- package/esm2022/services/table-contextmenu.service.mjs +0 -288
- package/esm2022/services/toolbar.service.mjs +0 -47
- package/esm2022/shortcuts/index.mjs +0 -5
- package/esm2022/shortcuts/mark.mjs +0 -25
- package/esm2022/test/basic/basic.component.mjs +0 -61
- package/esm2022/test/faker/data-transfer-faker.mjs +0 -13
- package/esm2022/test/faker/tethys-icon-faker.mjs +0 -22
- package/esm2022/test/index.mjs +0 -7
- package/esm2022/test/utils/mock-plugins.mjs +0 -104
- package/esm2022/test/utils/preset-config.mjs +0 -17
- package/esm2022/test/utils/with-plugin.mjs +0 -11
- package/esm2022/transforms/apply-deep-to-nodes.mjs +0 -22
- package/esm2022/transforms/clear-marks.mjs +0 -23
- package/esm2022/transforms/delete-element.mjs +0 -12
- package/esm2022/transforms/delete-node-by-type.mjs +0 -10
- package/esm2022/transforms/handle-continual-delete-backward.mjs +0 -18
- package/esm2022/transforms/handle-continual-insert-break.mjs +0 -20
- package/esm2022/transforms/index.mjs +0 -19
- package/esm2022/transforms/insert-elements.mjs +0 -55
- package/esm2022/transforms/insert-paragraph.mjs +0 -6
- package/esm2022/transforms/merge-deep-to-nodes.mjs +0 -9
- package/esm2022/transforms/move-children.mjs +0 -22
- package/esm2022/transforms/on-keydown-reset-block-type.mjs +0 -23
- package/esm2022/transforms/set-end-selection.mjs +0 -10
- package/esm2022/transforms/set-marks.mjs +0 -9
- package/esm2022/transforms/set-node-by-type.mjs +0 -10
- package/esm2022/transforms/set-node.mjs +0 -6
- package/esm2022/transforms/un-hang-range.mjs +0 -11
- package/esm2022/transforms/un-wrap.mjs +0 -12
- package/esm2022/transforms/unwrap-nodes-by-type.mjs +0 -14
- package/esm2022/utils/auto-focus.mjs +0 -24
- package/esm2022/utils/blob.mjs +0 -16
- package/esm2022/utils/cast-array.mjs +0 -7
- package/esm2022/utils/color-picker.mjs +0 -15
- package/esm2022/utils/common.mjs +0 -11
- package/esm2022/utils/copy-node.mjs +0 -38
- package/esm2022/utils/create-empty-paragraph.mjs +0 -14
- package/esm2022/utils/data-transform.mjs +0 -48
- package/esm2022/utils/dom.mjs +0 -56
- package/esm2022/utils/editor-uuid.mjs +0 -8
- package/esm2022/utils/fragment.mjs +0 -82
- package/esm2022/utils/get-editable-element-height.mjs +0 -6
- package/esm2022/utils/get-mode.mjs +0 -14
- package/esm2022/utils/get-toolbar-class.mjs +0 -6
- package/esm2022/utils/id-creator.mjs +0 -11
- package/esm2022/utils/index.mjs +0 -23
- package/esm2022/utils/insert-data-by-invalid-type.mjs +0 -70
- package/esm2022/utils/is-clean-empty-paragraph.mjs +0 -37
- package/esm2022/utils/is-inline.mjs +0 -9
- package/esm2022/utils/lodash.mjs +0 -3
- package/esm2022/utils/match.mjs +0 -32
- package/esm2022/utils/merge-element-options.mjs +0 -19
- package/esm2022/utils/normalize.mjs +0 -61
- package/esm2022/utils/refocus.mjs +0 -47
- package/esm2022/utils/scrolling.mjs +0 -43
- package/esm2022/utils/update-popover-position.mjs +0 -26
- package/esm2022/utils/weak-maps.mjs +0 -9
- package/esm2022/worktile-theia.mjs +0 -5
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { TheContextMenu } from '../components';
|
|
3
|
-
import { TableEditor } from '../plugins/table/table.editor';
|
|
4
|
-
import { TableInsertType } from '../plugins/table/table.types';
|
|
5
|
-
import { getSelectCellNode } from '../plugins/table/utils/get-select-cell-node';
|
|
6
|
-
import { sortCell } from '../plugins/table/utils/handle-cell';
|
|
7
|
-
import { calculateCellSpan, getLeftCellDict } from '../plugins/table/utils/merge-cell';
|
|
8
|
-
import { removeColumnOrRows } from '../plugins/table/utils/remove-row-column';
|
|
9
|
-
import { setCellMenuVisibility } from '../plugins/table/utils/set-menu-cell-invisibility';
|
|
10
|
-
import { getSelectedCell } from '../plugins/table/utils/table-entry';
|
|
11
|
-
import { reSelection, refocus } from '../utils';
|
|
12
|
-
import { injectTranslations, TheI18nService } from '../i18n';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "../plugins/table/table.store";
|
|
15
|
-
import * as i2 from "ngx-tethys/popover";
|
|
16
|
-
import * as i3 from "./context.service";
|
|
17
|
-
export class TheTableContextMenuService {
|
|
18
|
-
get isOpened() {
|
|
19
|
-
return this.menuRef && this.menuRef.componentInstance;
|
|
20
|
-
}
|
|
21
|
-
get editor() {
|
|
22
|
-
return this.tableStore && this.tableStore.editor;
|
|
23
|
-
}
|
|
24
|
-
get backgroundColor() {
|
|
25
|
-
const cell = getSelectedCell(this.editor);
|
|
26
|
-
return cell ? cell.backgroundColor : '';
|
|
27
|
-
}
|
|
28
|
-
constructor(tableStore, thyPopover, ngZone, theContextService) {
|
|
29
|
-
this.tableStore = tableStore;
|
|
30
|
-
this.thyPopover = thyPopover;
|
|
31
|
-
this.ngZone = ngZone;
|
|
32
|
-
this.theContextService = theContextService;
|
|
33
|
-
this.locale = injectTranslations(inject(TheI18nService));
|
|
34
|
-
this.menuEntities = [
|
|
35
|
-
{
|
|
36
|
-
key: 'background-color',
|
|
37
|
-
icon: 'background-tt',
|
|
38
|
-
divider: true,
|
|
39
|
-
name: this.locale().cellBackground,
|
|
40
|
-
extendIcon: 'angle-right',
|
|
41
|
-
visibility: true,
|
|
42
|
-
actionHandle: () => { },
|
|
43
|
-
activeHandle: (event, item) => {
|
|
44
|
-
TableEditor.setCellsBackgroundColor(this.editor, item.backgroundColor);
|
|
45
|
-
},
|
|
46
|
-
deactivateHandle: (event) => {
|
|
47
|
-
if (event.relatedTarget instanceof HTMLElement) {
|
|
48
|
-
if (event.relatedTarget.classList.contains('color-select-container')) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
key: TableInsertType.insertRowsUp,
|
|
56
|
-
icon: 'table-insert-rows-top',
|
|
57
|
-
name: this.locale().insertUpward,
|
|
58
|
-
visibility: true,
|
|
59
|
-
isInputNumber: true,
|
|
60
|
-
nameSuffix: this.locale().row,
|
|
61
|
-
actionHandle: (item) => {
|
|
62
|
-
const { targetRowIndex } = this.getTargetRowOrColIndex();
|
|
63
|
-
TableEditor.insertRow(this.editor, item.count, targetRowIndex);
|
|
64
|
-
this.tableStore.changeCells();
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
key: TableInsertType.insertRowsDown,
|
|
69
|
-
icon: 'table-insert-rows-down',
|
|
70
|
-
name: this.locale().insertDownward,
|
|
71
|
-
visibility: true,
|
|
72
|
-
isInputNumber: true,
|
|
73
|
-
nameSuffix: this.locale().row,
|
|
74
|
-
actionHandle: (item) => {
|
|
75
|
-
const { targetRowIndex } = this.getTargetRowOrColIndex(false);
|
|
76
|
-
TableEditor.insertRow(this.editor, item.count, targetRowIndex);
|
|
77
|
-
this.tableStore.changeCells();
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
key: TableInsertType.insertColumnsLeft,
|
|
82
|
-
icon: 'table-insert-columns-left',
|
|
83
|
-
name: this.locale().insertLeft,
|
|
84
|
-
visibility: true,
|
|
85
|
-
isInputNumber: true,
|
|
86
|
-
nameSuffix: this.locale().column,
|
|
87
|
-
actionHandle: (item) => {
|
|
88
|
-
const { targetColIndex } = this.getTargetRowOrColIndex();
|
|
89
|
-
TableEditor.insertColumn(this.editor, item.count, targetColIndex);
|
|
90
|
-
this.tableStore.changeCells();
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
key: TableInsertType.insertColumnsRight,
|
|
95
|
-
icon: 'table-insert-columns-right',
|
|
96
|
-
divider: true,
|
|
97
|
-
name: this.locale().insertRight,
|
|
98
|
-
visibility: true,
|
|
99
|
-
isInputNumber: true,
|
|
100
|
-
nameSuffix: this.locale().column,
|
|
101
|
-
actionHandle: (item) => {
|
|
102
|
-
const { targetColIndex } = this.getTargetRowOrColIndex(false);
|
|
103
|
-
TableEditor.insertColumn(this.editor, item.count, targetColIndex);
|
|
104
|
-
this.tableStore.changeCells();
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
key: 'clear-selection',
|
|
109
|
-
icon: 'sweep',
|
|
110
|
-
divider: true,
|
|
111
|
-
name: this.locale().clearSelection,
|
|
112
|
-
visibility: true,
|
|
113
|
-
actionHandle: () => {
|
|
114
|
-
TableEditor.clearCellsContent(this.editor);
|
|
115
|
-
this.tableStore.selectFirstCell();
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
key: 'merge-cells',
|
|
120
|
-
icon: 'table-merge-cells',
|
|
121
|
-
name: this.locale().mergeCells,
|
|
122
|
-
visibility: true,
|
|
123
|
-
actionHandle: () => {
|
|
124
|
-
TableEditor.mergeCell(this.editor);
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
key: 'split-cells',
|
|
129
|
-
icon: 'table-unmerge-cells',
|
|
130
|
-
name: this.locale().splitCells,
|
|
131
|
-
divider: true,
|
|
132
|
-
visibility: true,
|
|
133
|
-
actionHandle: () => {
|
|
134
|
-
TableEditor.splitCell(this.editor);
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
key: 'delete-selection-rows',
|
|
139
|
-
icon: 'table-delete-rows',
|
|
140
|
-
name: this.locale().deleteTheRow,
|
|
141
|
-
visibility: true,
|
|
142
|
-
actionHandle: () => {
|
|
143
|
-
removeColumnOrRows(this.editor, this.tableStore, {
|
|
144
|
-
selectedColumnsIndex: this.tableStore.dangerousColumnsIndex,
|
|
145
|
-
selectedRowsIndex: this.tableStore.dangerousRowsIndex
|
|
146
|
-
});
|
|
147
|
-
this.tableStore.clearDangerousCells();
|
|
148
|
-
this.tableStore.clearSelectedCells();
|
|
149
|
-
},
|
|
150
|
-
activeHandle: () => {
|
|
151
|
-
this.tableStore.setDangerousRows();
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
key: 'delete-selection-columns',
|
|
156
|
-
icon: 'table-delete-columns',
|
|
157
|
-
divider: true,
|
|
158
|
-
name: this.locale().deleteTheColumn,
|
|
159
|
-
visibility: true,
|
|
160
|
-
actionHandle: () => {
|
|
161
|
-
removeColumnOrRows(this.editor, this.tableStore, {
|
|
162
|
-
selectedColumnsIndex: this.tableStore.dangerousColumnsIndex,
|
|
163
|
-
selectedRowsIndex: this.tableStore.dangerousRowsIndex
|
|
164
|
-
});
|
|
165
|
-
this.tableStore.clearDangerousCells();
|
|
166
|
-
this.tableStore.clearSelectedCells();
|
|
167
|
-
},
|
|
168
|
-
activeHandle: () => {
|
|
169
|
-
this.tableStore.setDangerousColumns();
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
key: 'delete-table',
|
|
174
|
-
icon: 'trash',
|
|
175
|
-
name: this.locale().deleteTable,
|
|
176
|
-
visibility: true,
|
|
177
|
-
actionHandle: () => {
|
|
178
|
-
TableEditor.removeTable(this.editor);
|
|
179
|
-
this.tableStore.clearDangerousCells();
|
|
180
|
-
this.tableStore.clearSelectedCells();
|
|
181
|
-
},
|
|
182
|
-
activeHandle: () => {
|
|
183
|
-
this.tableStore.setDangerousTable();
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
];
|
|
187
|
-
}
|
|
188
|
-
getSelectedCell() {
|
|
189
|
-
const selectedCellPositions = this.tableStore.getSelectedCellPositions();
|
|
190
|
-
const selectCellNodes = getSelectCellNode(this.editor, selectedCellPositions);
|
|
191
|
-
sortCell(selectCellNodes);
|
|
192
|
-
const leftCellDict = getLeftCellDict(selectCellNodes);
|
|
193
|
-
const { rowspan, colspan } = calculateCellSpan(selectCellNodes, leftCellDict);
|
|
194
|
-
return { row: rowspan, col: colspan, selectCellNodes };
|
|
195
|
-
}
|
|
196
|
-
getTargetRowOrColIndex(isFront = true) {
|
|
197
|
-
const { row, col, selectCellNodes } = this.getSelectedCell();
|
|
198
|
-
const firstSelectCell = selectCellNodes[0];
|
|
199
|
-
const targetRowIndex = isFront ? firstSelectCell.row : row + firstSelectCell.row;
|
|
200
|
-
const targetColIndex = isFront ? firstSelectCell.col : col + firstSelectCell.col;
|
|
201
|
-
return { targetRowIndex, targetColIndex };
|
|
202
|
-
}
|
|
203
|
-
openMenuList(event) {
|
|
204
|
-
this.ngZone.run(() => {
|
|
205
|
-
const { isFullscreen, selectedRowsIndex, selectedColumnsIndex, isSelectedTable } = this.tableStore;
|
|
206
|
-
const selectedCellPositions = this.tableStore.getSelectedCellPositions();
|
|
207
|
-
const tableInfo = { selectedCellPositions, isFullscreen, selectedRowsIndex, selectedColumnsIndex, isSelectedTable };
|
|
208
|
-
const { row, col } = this.getSelectedCell();
|
|
209
|
-
setCellMenuVisibility(this.editor, this.menuEntities, tableInfo);
|
|
210
|
-
this.menuEntities.forEach(item => {
|
|
211
|
-
switch (item.key) {
|
|
212
|
-
case 'background-color':
|
|
213
|
-
item.backgroundColor = this.backgroundColor;
|
|
214
|
-
break;
|
|
215
|
-
case TableInsertType.insertRowsUp:
|
|
216
|
-
case TableInsertType.insertRowsDown:
|
|
217
|
-
item.count = row;
|
|
218
|
-
break;
|
|
219
|
-
case TableInsertType.insertColumnsLeft:
|
|
220
|
-
case TableInsertType.insertColumnsRight:
|
|
221
|
-
item.count = col;
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
this.menuRef = this.thyPopover.open(TheContextMenu, {
|
|
226
|
-
origin: event.target,
|
|
227
|
-
initialState: {
|
|
228
|
-
menuEntities: this.menuEntities,
|
|
229
|
-
actionHandle: (entity) => {
|
|
230
|
-
if (!this.editor.selection) {
|
|
231
|
-
refocus(this.editor);
|
|
232
|
-
}
|
|
233
|
-
entity.actionHandle(entity);
|
|
234
|
-
},
|
|
235
|
-
activeHandle: (menuEvent, entity) => {
|
|
236
|
-
if (entity.activeHandle) {
|
|
237
|
-
if (this.menuRef.containerInstance.animationState === 'exit') {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
if (!this.editor.selection) {
|
|
241
|
-
reSelection(this.editor);
|
|
242
|
-
}
|
|
243
|
-
entity.activeHandle(menuEvent);
|
|
244
|
-
}
|
|
245
|
-
},
|
|
246
|
-
deactivateHandle: (menuEvent, entity) => {
|
|
247
|
-
if (this.menuRef.containerInstance.animationState === 'exit') {
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
if (entity.key.indexOf('delete') >= 0) {
|
|
251
|
-
this.tableStore.clearDangerousCells();
|
|
252
|
-
}
|
|
253
|
-
if (entity.deactivateHandle) {
|
|
254
|
-
if (!this.editor.selection) {
|
|
255
|
-
reSelection(this.editor);
|
|
256
|
-
}
|
|
257
|
-
entity.deactivateHandle(menuEvent);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
},
|
|
261
|
-
originPosition: {
|
|
262
|
-
x: event.x + 30,
|
|
263
|
-
y: event.y
|
|
264
|
-
},
|
|
265
|
-
hasBackdrop: false,
|
|
266
|
-
placement: 'bottomLeft',
|
|
267
|
-
panelClass: 'the-table-contextmenu-panel',
|
|
268
|
-
viewContainerRef: this.theContextService.getOptions().viewContainerRef,
|
|
269
|
-
manualClosure: true,
|
|
270
|
-
insideClosable: false,
|
|
271
|
-
backdropClosable: false
|
|
272
|
-
});
|
|
273
|
-
this.menuRef.componentInstance.cdr.markForCheck();
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
closeContextMenu() {
|
|
277
|
-
if (this.isOpened) {
|
|
278
|
-
this.menuRef.close();
|
|
279
|
-
return this.menuRef.afterClosed();
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheTableContextMenuService, deps: [{ token: i1.TableStore }, { token: i2.ThyPopover }, { token: i0.NgZone }, { token: i3.TheContextService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
283
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheTableContextMenuService }); }
|
|
284
|
-
}
|
|
285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheTableContextMenuService, decorators: [{
|
|
286
|
-
type: Injectable
|
|
287
|
-
}], ctorParameters: () => [{ type: i1.TableStore }, { type: i2.ThyPopover }, { type: i0.NgZone }, { type: i3.TheContextService }] });
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udGV4dG1lbnUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9zZXJ2aWNlcy90YWJsZS1jb250ZXh0bWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RCxPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBc0IsTUFBTSxTQUFTLENBQUM7Ozs7O0FBR2pGLE1BQU0sT0FBTywwQkFBMEI7SUFLbkMsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFB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QUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLENBQUM7SUFDTCxDQUFDOytHQXhSUSwwQkFBMEI7bUhBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGhlQ29udGV4dE1lbnUgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS90YWJsZS5lZGl0b3InO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uL3BsdWdpbnMvdGFibGUvdGFibGUuc3RvcmUnO1xuaW1wb3J0IHsgTWVudUVudGl0eSwgVGFibGVJbnNlcnRUeXBlIH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBnZXRTZWxlY3RDZWxsTm9kZSB9IGZyb20gJy4uL3BsdWdpbnMvdGFibGUvdXRpbHMvZ2V0LXNlbGVjdC1jZWxsLW5vZGUnO1xuaW1wb3J0IHsgc29ydENlbGwgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3V0aWxzL2hhbmRsZS1jZWxsJztcbmltcG9ydCB7IGNhbGN1bGF0ZUNlbGxTcGFuLCBnZXRMZWZ0Q2VsbERpY3QgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3V0aWxzL21lcmdlLWNlbGwnO1xuaW1wb3J0IHsgcmVtb3ZlQ29sdW1uT3JSb3dzIH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS91dGlscy9yZW1vdmUtcm93LWNvbHVtbic7XG5pbXBvcnQgeyBzZXRDZWxsTWVudVZpc2liaWxpdHkgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3V0aWxzL3NldC1tZW51LWNlbGwtaW52aXNpYmlsaXR5JztcbmltcG9ydCB7IGdldFNlbGVjdGVkQ2VsbCB9IGZyb20gJy4uL3BsdWdpbnMvdGFibGUvdXRpbHMvdGFibGUtZW50cnknO1xuaW1wb3J0IHsgcmVTZWxlY3Rpb24sIHJlZm9jdXMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IGluamVjdFRyYW5zbGF0aW9ucywgVGhlSTE4blNlcnZpY2UsIFRoZUkxOG5UcmFuc2xhdGlvbiB9IGZyb20gJy4uL2kxOG4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGhlVGFibGVDb250ZXh0TWVudVNlcnZpY2Uge1xuICAgIGxvY2FsZTogU2lnbmFsPFRoZUkxOG5UcmFuc2xhdGlvbj4gPSBpbmplY3RUcmFuc2xhdGlvbnMoaW5qZWN0KFRoZUkxOG5TZXJ2aWNlKSk7XG5cbiAgICBtZW51UmVmOiBUaHlQb3BvdmVyUmVmPFRoZUNvbnRleHRNZW51PjtcblxuICAgIGdldCBpc09wZW5lZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVudVJlZiAmJiB0aGlzLm1lbnVSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgfVxuXG4gICAgZ2V0IGVkaXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTdG9yZSAmJiB0aGlzLnRhYmxlU3RvcmUuZWRpdG9yO1xuICAgIH1cblxuICAgIGdldCBiYWNrZ3JvdW5kQ29sb3IoKSB7XG4gICAgICAgIGNvbnN0IGNlbGwgPSBnZXRTZWxlY3RlZENlbGwodGhpcy5lZGl0b3IpO1xuICAgICAgICByZXR1cm4gY2VsbCA/IGNlbGwuYmFja2dyb3VuZENvbG9yIDogJyc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdGFibGVTdG9yZTogVGFibGVTdG9yZSxcbiAgICAgICAgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHRoZUNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZVxuICAgICkge31cblxuICAgIG1lbnVFbnRpdGllczogTWVudUVudGl0eVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdiYWNrZ3JvdW5kLWNvbG9yJyxcbiAgICAgICAgICAgIGljb246ICdiYWNrZ3JvdW5kLXR0JyxcbiAgICAgICAgICAgIGRpdmlkZXI6IHRydWUsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmxvY2FsZSgpLmNlbGxCYWNrZ3JvdW5kLFxuICAgICAgICAgICAgZXh0ZW5kSWNvbjogJ2FuZ2xlLXJpZ2h0JyxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6ICgpID0+IHt9LFxuICAgICAgICAgICAgYWN0aXZlSGFuZGxlOiAoZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5zZXRDZWxsc0JhY2tncm91bmRDb2xvcih0aGlzLmVkaXRvciwgaXRlbS5iYWNrZ3JvdW5kQ29sb3IpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlYWN0aXZhdGVIYW5kbGU6IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5yZWxhdGVkVGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LnJlbGF0ZWRUYXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjb2xvci1zZWxlY3QtY29udGFpbmVyJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRSb3dzVXAsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtaW5zZXJ0LXJvd3MtdG9wJyxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubG9jYWxlKCkuaW5zZXJ0VXB3YXJkLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGlzSW5wdXROdW1iZXI6IHRydWUsXG4gICAgICAgICAgICBuYW1lU3VmZml4OiB0aGlzLmxvY2FsZSgpLnJvdyxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKGl0ZW06IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHRhcmdldFJvd0luZGV4IH0gPSB0aGlzLmdldFRhcmdldFJvd09yQ29sSW5kZXgoKTtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5pbnNlcnRSb3codGhpcy5lZGl0b3IsIGl0ZW0uY291bnQsIHRhcmdldFJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2hhbmdlQ2VsbHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Um93c0Rvd24sXG4gICAgICAgICAgICBpY29uOiAndGFibGUtaW5zZXJ0LXJvd3MtZG93bicsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmxvY2FsZSgpLmluc2VydERvd253YXJkLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGlzSW5wdXROdW1iZXI6IHRydWUsXG4gICAgICAgICAgICBuYW1lU3VmZml4OiB0aGlzLmxvY2FsZSgpLnJvdyxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKGl0ZW06IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHRhcmdldFJvd0luZGV4IH0gPSB0aGlzLmdldFRhcmdldFJvd09yQ29sSW5kZXgoZmFsc2UpO1xuICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLmluc2VydFJvdyh0aGlzLmVkaXRvciwgaXRlbS5jb3VudCwgdGFyZ2V0Um93SW5kZXgpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jaGFuZ2VDZWxscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRDb2x1bW5zTGVmdCxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS1pbnNlcnQtY29sdW1ucy1sZWZ0JyxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubG9jYWxlKCkuaW5zZXJ0TGVmdCxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBpc0lucHV0TnVtYmVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZVN1ZmZpeDogdGhpcy5sb2NhbGUoKS5jb2x1bW4sXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6IChpdGVtOiBNZW51RW50aXR5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0YXJnZXRDb2xJbmRleCB9ID0gdGhpcy5nZXRUYXJnZXRSb3dPckNvbEluZGV4KCk7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IuaW5zZXJ0Q29sdW1uKHRoaXMuZWRpdG9yLCBpdGVtLmNvdW50LCB0YXJnZXRDb2xJbmRleCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNoYW5nZUNlbGxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNSaWdodCxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS1pbnNlcnQtY29sdW1ucy1yaWdodCcsXG4gICAgICAgICAgICBkaXZpZGVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5sb2NhbGUoKS5pbnNlcnRSaWdodCxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBpc0lucHV0TnVtYmVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZVN1ZmZpeDogdGhpcy5sb2NhbGUoKS5jb2x1bW4sXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6IChpdGVtOiBNZW51RW50aXR5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0YXJnZXRDb2xJbmRleCB9ID0gdGhpcy5nZXRUYXJnZXRSb3dPckNvbEluZGV4KGZhbHNlKTtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5pbnNlcnRDb2x1bW4odGhpcy5lZGl0b3IsIGl0ZW0uY291bnQsIHRhcmdldENvbEluZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2hhbmdlQ2VsbHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdjbGVhci1zZWxlY3Rpb24nLFxuICAgICAgICAgICAgaWNvbjogJ3N3ZWVwJyxcbiAgICAgICAgICAgIGRpdmlkZXI6IHRydWUsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmxvY2FsZSgpLmNsZWFyU2VsZWN0aW9uLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLmNsZWFyQ2VsbHNDb250ZW50KHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2VsZWN0Rmlyc3RDZWxsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ21lcmdlLWNlbGxzJyxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS1tZXJnZS1jZWxscycsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmxvY2FsZSgpLm1lcmdlQ2VsbHMsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IubWVyZ2VDZWxsKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnc3BsaXQtY2VsbHMnLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLXVubWVyZ2UtY2VsbHMnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5sb2NhbGUoKS5zcGxpdENlbGxzLFxuICAgICAgICAgICAgZGl2aWRlcjogdHJ1ZSxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5zcGxpdENlbGwodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdkZWxldGUtc2VsZWN0aW9uLXJvd3MnLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLWRlbGV0ZS1yb3dzJyxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubG9jYWxlKCkuZGVsZXRlVGhlUm93LFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlbW92ZUNvbHVtbk9yUm93cyh0aGlzLmVkaXRvciwgdGhpcy50YWJsZVN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sdW1uc0luZGV4OiB0aGlzLnRhYmxlU3RvcmUuZGFuZ2Vyb3VzQ29sdW1uc0luZGV4LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFJvd3NJbmRleDogdGhpcy50YWJsZVN0b3JlLmRhbmdlcm91c1Jvd3NJbmRleFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhckRhbmdlcm91c0NlbGxzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjdGl2ZUhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXREYW5nZXJvdXNSb3dzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ2RlbGV0ZS1zZWxlY3Rpb24tY29sdW1ucycsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtZGVsZXRlLWNvbHVtbnMnLFxuICAgICAgICAgICAgZGl2aWRlcjogdHJ1ZSxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubG9jYWxlKCkuZGVsZXRlVGhlQ29sdW1uLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlbW92ZUNvbHVtbk9yUm93cyh0aGlzLmVkaXRvciwgdGhpcy50YWJsZVN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sdW1uc0luZGV4OiB0aGlzLnRhYmxlU3RvcmUuZGFuZ2Vyb3VzQ29sdW1uc0luZGV4LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFJvd3NJbmRleDogdGhpcy50YWJsZVN0b3JlLmRhbmdlcm91c1Jvd3NJbmRleFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhckRhbmdlcm91c0NlbGxzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjdGl2ZUhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXREYW5nZXJvdXNDb2x1bW5zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ2RlbGV0ZS10YWJsZScsXG4gICAgICAgICAgICBpY29uOiAndHJhc2gnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5sb2NhbGUoKS5kZWxldGVUYWJsZSxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5yZW1vdmVUYWJsZSh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyRGFuZ2Vyb3VzQ2VsbHMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJTZWxlY3RlZENlbGxzKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWN0aXZlSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNldERhbmdlcm91c1RhYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgZ2V0U2VsZWN0ZWRDZWxsKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENlbGxQb3NpdGlvbnMgPSB0aGlzLnRhYmxlU3RvcmUuZ2V0U2VsZWN0ZWRDZWxsUG9zaXRpb25zKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdENlbGxOb2RlcyA9IGdldFNlbGVjdENlbGxOb2RlKHRoaXMuZWRpdG9yLCBzZWxlY3RlZENlbGxQb3NpdGlvbnMpO1xuICAgICAgICBzb3J0Q2VsbChzZWxlY3RDZWxsTm9kZXMpO1xuICAgICAgICBjb25zdCBsZWZ0Q2VsbERpY3QgPSBnZXRMZWZ0Q2VsbERpY3Qoc2VsZWN0Q2VsbE5vZGVzKTtcbiAgICAgICAgY29uc3QgeyByb3dzcGFuLCBjb2xzcGFuIH0gPSBjYWxjdWxhdGVDZWxsU3BhbihzZWxlY3RDZWxsTm9kZXMsIGxlZnRDZWxsRGljdCk7XG5cbiAgICAgICAgcmV0dXJuIHsgcm93OiByb3dzcGFuLCBjb2w6IGNvbHNwYW4sIHNlbGVjdENlbGxOb2RlcyB9O1xuICAgIH1cblxuICAgIGdldFRhcmdldFJvd09yQ29sSW5kZXgoaXNGcm9udCA9IHRydWUpIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNvbCwgc2VsZWN0Q2VsbE5vZGVzIH0gPSB0aGlzLmdldFNlbGVjdGVkQ2VsbCgpO1xuICAgICAgICBjb25zdCBmaXJzdFNlbGVjdENlbGwgPSBzZWxlY3RDZWxsTm9kZXNbMF07XG4gICAgICAgIGNvbnN0IHRhcmdldFJvd0luZGV4ID0gaXNGcm9udCA/IGZpcnN0U2VsZWN0Q2VsbC5yb3cgOiByb3cgKyBmaXJzdFNlbGVjdENlbGwucm93O1xuICAgICAgICBjb25zdCB0YXJnZXRDb2xJbmRleCA9IGlzRnJvbnQgPyBmaXJzdFNlbGVjdENlbGwuY29sIDogY29sICsgZmlyc3RTZWxlY3RDZWxsLmNvbDtcblxuICAgICAgICByZXR1cm4geyB0YXJnZXRSb3dJbmRleCwgdGFyZ2V0Q29sSW5kZXggfTtcbiAgICB9XG5cbiAgICBvcGVuTWVudUxpc3QoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaXNGdWxsc2NyZWVuLCBzZWxlY3RlZFJvd3NJbmRleCwgc2VsZWN0ZWRDb2x1bW5zSW5kZXgsIGlzU2VsZWN0ZWRUYWJsZSB9ID0gdGhpcy50YWJsZVN0b3JlO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRDZWxsUG9zaXRpb25zID0gdGhpcy50YWJsZVN0b3JlLmdldFNlbGVjdGVkQ2VsbFBvc2l0aW9ucygpO1xuICAgICAgICAgICAgY29uc3QgdGFibGVJbmZvID0geyBzZWxlY3RlZENlbGxQb3NpdGlvbnMsIGlzRnVsbHNjcmVlbiwgc2VsZWN0ZWRSb3dzSW5kZXgsIHNlbGVjdGVkQ29sdW1uc0luZGV4LCBpc1NlbGVjdGVkVGFibGUgfTtcbiAgICAgICAgICAgIGNvbnN0IHsgcm93LCBjb2wgfSA9IHRoaXMuZ2V0U2VsZWN0ZWRDZWxsKCk7XG4gICAgICAgICAgICBzZXRDZWxsTWVudVZpc2liaWxpdHkodGhpcy5lZGl0b3IsIHRoaXMubWVudUVudGl0aWVzLCB0YWJsZUluZm8pO1xuXG4gICAgICAgICAgICB0aGlzLm1lbnVFbnRpdGllcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5rZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYmFja2dyb3VuZC1jb2xvcic6XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJhY2tncm91bmRDb2xvciA9IHRoaXMuYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NVcDpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Um93c0Rvd246XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvdW50ID0gcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNMZWZ0OlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRDb2x1bW5zUmlnaHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvdW50ID0gY29sO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLm1lbnVSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihUaGVDb250ZXh0TWVudSwge1xuICAgICAgICAgICAgICAgIG9yaWdpbjogZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgICAgICBtZW51RW50aXRpZXM6IHRoaXMubWVudUVudGl0aWVzLFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb25IYW5kbGU6IChlbnRpdHk6IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmb2N1cyh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkuYWN0aW9uSGFuZGxlKGVudGl0eSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUhhbmRsZTogKG1lbnVFdmVudDogTW91c2VFdmVudCwgZW50aXR5OiBNZW51RW50aXR5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5LmFjdGl2ZUhhbmRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1lbnVSZWYuY29udGFpbmVySW5zdGFuY2UuYW5pbWF0aW9uU3RhdGUgPT09ICdleGl0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlU2VsZWN0aW9uKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5LmFjdGl2ZUhhbmRsZShtZW51RXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZWFjdGl2YXRlSGFuZGxlOiAobWVudUV2ZW50OiBNb3VzZUV2ZW50LCBlbnRpdHk6IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1lbnVSZWYuY29udGFpbmVySW5zdGFuY2UuYW5pbWF0aW9uU3RhdGUgPT09ICdleGl0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHkua2V5LmluZGV4T2YoJ2RlbGV0ZScpID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJEYW5nZXJvdXNDZWxscygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eS5kZWFjdGl2YXRlSGFuZGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVTZWxlY3Rpb24odGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkuZGVhY3RpdmF0ZUhhbmRsZShtZW51RXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvcmlnaW5Qb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICB4OiBldmVudC54ICsgMzAsXG4gICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgICAgICBwYW5lbENsYXNzOiAndGhlLXRhYmxlLWNvbnRleHRtZW51LXBhbmVsJyxcbiAgICAgICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKS52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgIG1hbnVhbENsb3N1cmU6IHRydWUsXG4gICAgICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IGZhbHNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMubWVudVJlZi5jb21wb25lbnRJbnN0YW5jZS5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsb3NlQ29udGV4dE1lbnUoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1lbnVSZWYuYWZ0ZXJDbG9zZWQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition } from '../constants';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TheToolbarService {
|
|
5
|
-
initialize(toolbarItems, global = DefaultGlobalToolbarDefinition, inline = DefaultInlineToolbarDefinition) {
|
|
6
|
-
const toolbarDefinition = {
|
|
7
|
-
global,
|
|
8
|
-
inline
|
|
9
|
-
};
|
|
10
|
-
const toolbarOperations = new Map();
|
|
11
|
-
toolbarItems.forEach(i => toolbarOperations.set(i.key, i));
|
|
12
|
-
const toolbarEntity = this.nextToolbarEntity(toolbarDefinition, toolbarOperations);
|
|
13
|
-
return {
|
|
14
|
-
toolbarDefinition,
|
|
15
|
-
toolbarOperations,
|
|
16
|
-
toolbarEntity
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
nextToolbarEntity(toolbarDefinition, toolbarItems) {
|
|
20
|
-
const entity = {};
|
|
21
|
-
for (const defKey in toolbarDefinition) {
|
|
22
|
-
entity[defKey] = this.getToolbarItemByKeys(toolbarDefinition[defKey], toolbarItems);
|
|
23
|
-
}
|
|
24
|
-
return entity;
|
|
25
|
-
}
|
|
26
|
-
getToolbarItemByKeys(keys, toolbarItems) {
|
|
27
|
-
return keys.map((key) => {
|
|
28
|
-
if (key === `split`) {
|
|
29
|
-
return { key: `split` };
|
|
30
|
-
}
|
|
31
|
-
const item = toolbarItems.get(key);
|
|
32
|
-
if (!item) {
|
|
33
|
-
throw new Error(`Read a non-existent toolbar key`);
|
|
34
|
-
}
|
|
35
|
-
if (item.includes) {
|
|
36
|
-
return { ...item, includes: this.getToolbarItemByKeys(item.includes, toolbarItems) };
|
|
37
|
-
}
|
|
38
|
-
return item;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarService }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarService, decorators: [{
|
|
45
|
-
type: Injectable
|
|
46
|
-
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3NlcnZpY2VzL3Rvb2xiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFJOUYsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixVQUFVLENBQ04sWUFBMkIsRUFDM0IsU0FBbUIsOEJBQThCLEVBQ2pELFNBQW1CLDhCQUE4QjtRQUVqRCxNQUFNLGlCQUFpQixHQUFHO1lBQ3RCLE1BQU07WUFDTixNQUFNO1NBQ1QsQ0FBQztRQUVGLE1BQU0saUJBQWlCLEdBQTZCLElBQUksR0FBRyxFQUF1QixDQUFDO1FBQ25GLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRW5GLE9BQU87WUFDSCxpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGFBQWE7U0FDaEIsQ0FBQztJQUNOLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxpQkFBb0MsRUFBRSxZQUFzQztRQUMxRixNQUFNLE1BQU0sR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLEtBQUssTUFBTSxNQUFNLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBa0IsRUFBRSxZQUFzQztRQUMzRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFlLEVBQUUsRUFBRTtZQUNoQyxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQXdCLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN6RyxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTdDUSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlZmF1bHRHbG9iYWxUb29sYmFyRGVmaW5pdGlvbiwgRGVmYXVsdElubGluZVRvb2xiYXJEZWZpbml0aW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRvb2xiYXJLZXksIFRvb2xiYXJJdGVtLCBUb29sYmFyRGVmaW5pdGlvbiwgVG9vbGJhckVudGl0eSwgVG9vbGJhckluaXRPcHRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoZVRvb2xiYXJTZXJ2aWNlIHtcbiAgICBpbml0aWFsaXplKFxuICAgICAgICB0b29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10sXG4gICAgICAgIGdsb2JhbDogc3RyaW5nW10gPSBEZWZhdWx0R2xvYmFsVG9vbGJhckRlZmluaXRpb24sXG4gICAgICAgIGlubGluZTogc3RyaW5nW10gPSBEZWZhdWx0SW5saW5lVG9vbGJhckRlZmluaXRpb25cbiAgICApOiBUb29sYmFySW5pdE9wdGlvbiB7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJEZWZpbml0aW9uID0ge1xuICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgdG9vbGJhck9wZXJhdGlvbnM6IE1hcDxzdHJpbmcsIFRvb2xiYXJJdGVtPiA9IG5ldyBNYXA8c3RyaW5nLCBUb29sYmFySXRlbT4oKTtcbiAgICAgICAgdG9vbGJhckl0ZW1zLmZvckVhY2goaSA9PiB0b29sYmFyT3BlcmF0aW9ucy5zZXQoaS5rZXksIGkpKTtcblxuICAgICAgICBjb25zdCB0b29sYmFyRW50aXR5ID0gdGhpcy5uZXh0VG9vbGJhckVudGl0eSh0b29sYmFyRGVmaW5pdGlvbiwgdG9vbGJhck9wZXJhdGlvbnMpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b29sYmFyRGVmaW5pdGlvbixcbiAgICAgICAgICAgIHRvb2xiYXJPcGVyYXRpb25zLFxuICAgICAgICAgICAgdG9vbGJhckVudGl0eVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG5leHRUb29sYmFyRW50aXR5KHRvb2xiYXJEZWZpbml0aW9uOiBUb29sYmFyRGVmaW5pdGlvbiwgdG9vbGJhckl0ZW1zOiBNYXA8c3RyaW5nLCBUb29sYmFySXRlbT4pOiBUb29sYmFyRW50aXR5IHtcbiAgICAgICAgY29uc3QgZW50aXR5OiBUb29sYmFyRW50aXR5ID0ge307XG4gICAgICAgIGZvciAoY29uc3QgZGVmS2V5IGluIHRvb2xiYXJEZWZpbml0aW9uKSB7XG4gICAgICAgICAgICBlbnRpdHlbZGVmS2V5XSA9IHRoaXMuZ2V0VG9vbGJhckl0ZW1CeUtleXModG9vbGJhckRlZmluaXRpb25bZGVmS2V5XSwgdG9vbGJhckl0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50aXR5O1xuICAgIH1cblxuICAgIGdldFRvb2xiYXJJdGVtQnlLZXlzKGtleXM6IFRvb2xiYXJLZXlbXSwgdG9vbGJhckl0ZW1zOiBNYXA8c3RyaW5nLCBUb29sYmFySXRlbT4pOiBUb29sYmFySXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIGtleXMubWFwKChrZXk6IFRvb2xiYXJLZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChrZXkgPT09IGBzcGxpdGApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBrZXk6IGBzcGxpdGAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0b29sYmFySXRlbXMuZ2V0KGtleSk7XG4gICAgICAgICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlYWQgYSBub24tZXhpc3RlbnQgdG9vbGJhciBrZXlgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmluY2x1ZGVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwgaW5jbHVkZXM6IHRoaXMuZ2V0VG9vbGJhckl0ZW1CeUtleXMoaXRlbS5pbmNsdWRlcyBhcyBUb29sYmFyS2V5W10sIHRvb2xiYXJJdGVtcykgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { markShortcuts } from './mark';
|
|
2
|
-
export const shortcuts = (editor, event) => {
|
|
3
|
-
markShortcuts(editor, event);
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvc2hvcnRjdXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBYyxFQUFFLEtBQW9CLEVBQUUsRUFBRTtJQUM5RCxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IG1hcmtTaG9ydGN1dHMgfSBmcm9tICcuL21hcmsnO1xuXG5leHBvcnQgY29uc3Qgc2hvcnRjdXRzID0gKGVkaXRvcjogRWRpdG9yLCBldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIG1hcmtTaG9ydGN1dHMoZWRpdG9yLCBldmVudCk7XG59O1xuIl19
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { isKeyHotkey } from 'is-hotkey';
|
|
2
|
-
import { InlineCodeEditor } from '../plugins/inline-code/inline-code.editor';
|
|
3
|
-
import { ElementKinds, MarkTypes } from '../constants/node-types';
|
|
4
|
-
import { MarkEditor } from '../plugins/mark/mark.editor';
|
|
5
|
-
const HOTKEYS = {
|
|
6
|
-
'mod+b': MarkTypes.bold,
|
|
7
|
-
'mod+i': MarkTypes.italic,
|
|
8
|
-
'mod+u': MarkTypes.underline,
|
|
9
|
-
'mod+e': ElementKinds.inlineCode
|
|
10
|
-
};
|
|
11
|
-
export const markShortcuts = (editor, event) => {
|
|
12
|
-
for (const hotkey in HOTKEYS) {
|
|
13
|
-
if (isKeyHotkey(hotkey, event)) {
|
|
14
|
-
event.preventDefault();
|
|
15
|
-
const mark = HOTKEYS[hotkey];
|
|
16
|
-
if (mark === ElementKinds.inlineCode) {
|
|
17
|
-
InlineCodeEditor.toggleInlineCode(editor);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
MarkEditor.toggleMark(editor, mark);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9zaG9ydGN1dHMvbWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXpELE1BQU0sT0FBTyxHQUFHO0lBQ1osT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtJQUN6QixPQUFPLEVBQUUsU0FBUyxDQUFDLFNBQVM7SUFDNUIsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVO0NBQ25DLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBb0IsRUFBRSxFQUFFO0lBQ2xFLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QixJQUFJLElBQUksS0FBSyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25DLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0tleUhvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBJbmxpbmVDb2RlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5lZGl0b3InO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBNYXJrVHlwZXMgfSBmcm9tICcuLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5pbXBvcnQgeyBNYXJrRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9tYXJrL21hcmsuZWRpdG9yJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgICAnbW9kK2InOiBNYXJrVHlwZXMuYm9sZCxcbiAgICAnbW9kK2knOiBNYXJrVHlwZXMuaXRhbGljLFxuICAgICdtb2QrdSc6IE1hcmtUeXBlcy51bmRlcmxpbmUsXG4gICAgJ21vZCtlJzogRWxlbWVudEtpbmRzLmlubGluZUNvZGVcbn07XG5leHBvcnQgY29uc3QgbWFya1Nob3J0Y3V0cyA9IChlZGl0b3I6IEVkaXRvciwgZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBmb3IgKGNvbnN0IGhvdGtleSBpbiBIT1RLRVlTKSB7XG4gICAgICAgIGlmIChpc0tleUhvdGtleShob3RrZXksIGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleV07XG4gICAgICAgICAgICBpZiAobWFyayA9PT0gRWxlbWVudEtpbmRzLmlubGluZUNvZGUpIHtcbiAgICAgICAgICAgICAgICBJbmxpbmVDb2RlRWRpdG9yLnRvZ2dsZUlubGluZUNvZGUoZWRpdG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgbWFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { NgClass } from '@angular/common';
|
|
2
|
-
import { Component, signal, ViewChild } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { ThyIconRegistry } from 'ngx-tethys/icon';
|
|
5
|
-
import { ThyPopoverModule } from 'ngx-tethys/popover';
|
|
6
|
-
import { THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER, ThyTooltipModule } from 'ngx-tethys/tooltip';
|
|
7
|
-
import { ElementKinds } from '../../constants';
|
|
8
|
-
import { TheEditorComponent } from '../../editor.component';
|
|
9
|
-
import { TheEditorModule } from '../../editor.module';
|
|
10
|
-
import { theTethysIconRegistryFaker } from '../faker/tethys-icon-faker';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "../../i18n";
|
|
13
|
-
import * as i2 from "@angular/forms";
|
|
14
|
-
import * as i3 from "../../editor.component";
|
|
15
|
-
export class BasicTest {
|
|
16
|
-
constructor(i18n) {
|
|
17
|
-
this.value = [
|
|
18
|
-
{
|
|
19
|
-
type: ElementKinds.paragraph,
|
|
20
|
-
children: [
|
|
21
|
-
{
|
|
22
|
-
text: ''
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
26
|
-
];
|
|
27
|
-
this.plugins = [];
|
|
28
|
-
this.locale = signal(i18n.getLocale()().translations);
|
|
29
|
-
}
|
|
30
|
-
editorCreate(editor) {
|
|
31
|
-
this.editor = editor;
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasicTest, deps: [{ token: i1.TheI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BasicTest, isStandalone: true, selector: "basic-editor-component", providers: [
|
|
35
|
-
THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER,
|
|
36
|
-
{
|
|
37
|
-
provide: ThyIconRegistry,
|
|
38
|
-
useClass: theTethysIconRegistryFaker
|
|
39
|
-
}
|
|
40
|
-
], viewQueries: [{ propertyName: "editorComponent", first: true, predicate: TheEditorComponent, descendants: true, static: true }], ngImport: i0, template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "ngmodule", type: TheEditorModule }, { kind: "component", type: i3.TheEditorComponent, selector: "the-editor, theEditor", inputs: ["theOptions", "thePlugins", "theGlobalToolbar", "theDecorate", "theOnError"], outputs: ["theOnSave", "theOnDOMEvent", "theEditorCreated", "theUploadingStatus"] }] }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasicTest, decorators: [{
|
|
43
|
-
type: Component,
|
|
44
|
-
args: [{
|
|
45
|
-
selector: 'basic-editor-component',
|
|
46
|
-
template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`,
|
|
47
|
-
standalone: true,
|
|
48
|
-
imports: [NgClass, FormsModule, ThyPopoverModule, ThyTooltipModule, TheEditorModule],
|
|
49
|
-
providers: [
|
|
50
|
-
THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER,
|
|
51
|
-
{
|
|
52
|
-
provide: ThyIconRegistry,
|
|
53
|
-
useClass: theTethysIconRegistryFaker
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
}]
|
|
57
|
-
}], ctorParameters: () => [{ type: i1.TheI18nService }], propDecorators: { editorComponent: [{
|
|
58
|
-
type: ViewChild,
|
|
59
|
-
args: [TheEditorComponent, { static: true }]
|
|
60
|
-
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3Rlc3QvYmFzaWMvYmFzaWMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQWdCeEUsTUFBTSxPQUFPLFNBQVM7SUFxQmxCLFlBQVksSUFBb0I7UUFwQmhDLFVBQUssR0FBYztZQUNmO2dCQUNJLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztnQkFDNUIsUUFBUSxFQUFFO29CQUNOO3dCQUNJLElBQUksRUFBRSxFQUFFO3FCQUNYO2lCQUNKO2FBQ0o7U0FDSixDQUFDO1FBRUYsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQVVULElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxZQUFZLENBQUMsTUFBaUI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQzsrR0EzQlEsU0FBUzttR0FBVCxTQUFTLHFFQVJQO1lBQ1AsbUNBQW1DO1lBQ25DO2dCQUNJLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixRQUFRLEVBQUUsMEJBQTBCO2FBQ3ZDO1NBQ0osMkVBb0JVLGtCQUFrQiw4REE3Qm5CLGdIQUFnSCwyREFFdkcsV0FBVyw4VkFBRSxnQkFBZ0IsOEJBQUUsZ0JBQWdCLDhCQUFFLGVBQWU7OzRGQVMxRSxTQUFTO2tCQWJyQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxnSEFBZ0g7b0JBQzFILFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztvQkFDcEYsU0FBUyxFQUFFO3dCQUNQLG1DQUFtQzt3QkFDbkM7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSwwQkFBMEI7eUJBQ3ZDO3FCQUNKO2lCQUNKO21GQW9CRyxlQUFlO3NCQURkLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgU2lnbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5SWNvblJlZ2lzdHJ5IH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeVBvcG92ZXJNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVEhZX1RPT0xUSVBfREVGQVVMVF9DT05GSUdfUFJPVklERVIsIFRoeVRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUaGVFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvck1vZHVsZSB9IGZyb20gJy4uLy4uL2VkaXRvci5tb2R1bGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyB0aGVUZXRoeXNJY29uUmVnaXN0cnlGYWtlciB9IGZyb20gJy4uL2Zha2VyL3RldGh5cy1pY29uLWZha2VyJztcbmltcG9ydCB7IFRoZUkxOG5TZXJ2aWNlLCBUaGVJMThuVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi9pMThuJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYXNpYy1lZGl0b3ItY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZTogYDx0aGUtZWRpdG9yIFsobmdNb2RlbCldPVwidmFsdWVcIiBbdGhlUGx1Z2luc109XCJwbHVnaW5zXCIgKHRoZUVkaXRvckNyZWF0ZWQpPVwiZWRpdG9yQ3JlYXRlKCRldmVudClcIj48L3RoZS1lZGl0b3I+YCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBGb3Jtc01vZHVsZSwgVGh5UG9wb3Zlck1vZHVsZSwgVGh5VG9vbHRpcE1vZHVsZSwgVGhlRWRpdG9yTW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVEhZX1RPT0xUSVBfREVGQVVMVF9DT05GSUdfUFJPVklERVIsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRoeUljb25SZWdpc3RyeSxcbiAgICAgICAgICAgIHVzZUNsYXNzOiB0aGVUZXRoeXNJY29uUmVnaXN0cnlGYWtlclxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBCYXNpY1Rlc3Qge1xuICAgIHZhbHVlOiBFbGVtZW50W10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcGx1Z2lucyA9IFtdO1xuXG4gICAgZWRpdG9yOiBUaGVFZGl0b3I7XG5cbiAgICBsb2NhbGU6IFNpZ25hbDxUaGVJMThuVHJhbnNsYXRpb24+O1xuXG4gICAgQFZpZXdDaGlsZChUaGVFZGl0b3JDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgZWRpdG9yQ29tcG9uZW50OiBUaGVFZGl0b3JDb21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihpMThuOiBUaGVJMThuU2VydmljZSkge1xuICAgICAgICB0aGlzLmxvY2FsZSA9IHNpZ25hbChpMThuLmdldExvY2FsZSgpKCkudHJhbnNsYXRpb25zKTtcbiAgICB9XG5cbiAgICBlZGl0b3JDcmVhdGUoZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBlZGl0b3I7XG4gICAgfVxufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class DataTransferFaker {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.map = new Map();
|
|
4
|
-
this.files = [];
|
|
5
|
-
}
|
|
6
|
-
getData(format) {
|
|
7
|
-
return this.map.get(format);
|
|
8
|
-
}
|
|
9
|
-
setData(format, data) {
|
|
10
|
-
this.map.set(format, data);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10cmFuc2Zlci1mYWtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy90ZXN0L2Zha2VyL2RhdGEtdHJhbnNmZXItZmFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNJLFFBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFVBQUssR0FBRyxFQUFFLENBQUM7SUFTZixDQUFDO0lBUEcsT0FBTyxDQUFDLE1BQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWMsRUFBRSxJQUFTO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRGF0YVRyYW5zZmVyRmFrZXIge1xuICAgIG1hcCA9IG5ldyBNYXAoKTtcbiAgICBmaWxlcyA9IFtdO1xuXG4gICAgZ2V0RGF0YShmb3JtYXQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXAuZ2V0KGZvcm1hdCk7XG4gICAgfVxuXG4gICAgc2V0RGF0YShmb3JtYXQ6IHN0cmluZywgZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMubWFwLnNldChmb3JtYXQsIGRhdGEpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ThyIconRegistry } from 'ngx-tethys/icon';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class theTethysIconRegistryFaker extends ThyIconRegistry {
|
|
6
|
-
getSvgIcon(name, namespace) {
|
|
7
|
-
return new Observable(observer => {
|
|
8
|
-
var svgFaker = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
9
|
-
observer.next(svgFaker);
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
splitIconName(iconName) {
|
|
13
|
-
return ['', ''];
|
|
14
|
-
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: theTethysIconRegistryFaker, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: theTethysIconRegistryFaker, providedIn: 'root' }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: theTethysIconRegistryFaker, decorators: [{
|
|
19
|
-
type: Injectable,
|
|
20
|
-
args: [{ providedIn: 'root' }]
|
|
21
|
-
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV0aHlzLWljb24tZmFrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdGVzdC9mYWtlci90ZXRoeXMtaWNvbi1mYWtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdsQyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsZUFBZTtJQUMzRCxVQUFVLENBQUMsSUFBWSxFQUFFLFNBQWtCO1FBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQWEsUUFBUSxDQUFDLEVBQUU7WUFDekMsSUFBSSxRQUFRLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3RSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFnQjtRQUMxQixPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7K0dBVlEsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FEYixNQUFNOzs0RkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUljb25SZWdpc3RyeSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgdGhlVGV0aHlzSWNvblJlZ2lzdHJ5RmFrZXIgZXh0ZW5kcyBUaHlJY29uUmVnaXN0cnkge1xuICAgIGdldFN2Z0ljb24obmFtZTogc3RyaW5nLCBuYW1lc3BhY2U/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNWR0VsZW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFNWR0VsZW1lbnQ+KG9ic2VydmVyID0+IHtcbiAgICAgICAgICAgIHZhciBzdmdGYWtlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnc3ZnJyk7XG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KHN2Z0Zha2VyKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3BsaXRJY29uTmFtZShpY29uTmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgICAgIHJldHVybiBbJycsICcnXTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/test/index.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './basic/basic.component';
|
|
2
|
-
export * from './faker/data-transfer-faker';
|
|
3
|
-
export * from './faker/tethys-icon-faker';
|
|
4
|
-
export * from './utils/mock-plugins';
|
|
5
|
-
export * from './utils/preset-config';
|
|
6
|
-
export * from './utils/with-plugin';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdGVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzaWMvYmFzaWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmFrZXIvZGF0YS10cmFuc2Zlci1mYWtlcic7XG5leHBvcnQgKiBmcm9tICcuL2Zha2VyL3RldGh5cy1pY29uLWZha2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvbW9jay1wbHVnaW5zJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcHJlc2V0LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3dpdGgtcGx1Z2luJztcbiJdfQ==
|