@vendure/admin-ui 2.0.0-next.11 → 2.0.0-next.14
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/README.md +49 -0
- package/angular.json +175 -0
- package/i18n-coverage.json +71 -0
- package/{catalog → package/catalog}/catalog.module.d.ts +0 -0
- package/{catalog → package/catalog}/catalog.routes.d.ts +0 -0
- package/{catalog → package/catalog}/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/asset-detail/asset-detail.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/asset-list/asset-list.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/assets/assets.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/collection-contents/collection-contents.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/collection-detail/collection-detail.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/collection-list/collection-list.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/collection-tree/array-to-tree.d.ts +0 -0
- package/{catalog → package/catalog}/components/collection-tree/collection-tree-node.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/collection-tree/collection-tree.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/collection-tree/collection-tree.service.d.ts +0 -0
- package/{catalog → package/catalog}/components/collection-tree/collection-tree.types.d.ts +0 -0
- package/{catalog → package/catalog}/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/facet-detail/facet-detail.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/facet-list/facet-list.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/generate-product-variants/generate-product-variants.component.d.ts +3 -3
- package/{catalog → package/catalog}/components/option-value-input/option-value-input.component.d.ts +21 -9
- package/{catalog → package/catalog}/components/product-detail/product-detail.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/product-detail/product-detail.types.d.ts +0 -0
- package/{catalog → package/catalog}/components/product-list/product-list.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/product-options-editor/product-options-editor.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/product-variants-editor/product-variants-editor.component.d.ts +10 -3
- package/{catalog → package/catalog}/components/product-variants-list/product-variants-list.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/product-variants-table/product-variants-table.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/update-product-option-dialog/update-product-option-dialog.component.d.ts +0 -0
- package/{catalog → package/catalog}/components/variant-price-detail/variant-price-detail.component.d.ts +0 -0
- package/{catalog → package/catalog}/package.json +0 -0
- package/{catalog → package/catalog}/providers/product-detail/product-detail.service.d.ts +0 -0
- package/{catalog → package/catalog}/providers/product-detail/replace-last.d.ts +0 -0
- package/{catalog → package/catalog}/providers/routing/asset-resolver.d.ts +0 -0
- package/{catalog → package/catalog}/providers/routing/collection-resolver.d.ts +0 -0
- package/{catalog → package/catalog}/providers/routing/facet-resolver.d.ts +0 -0
- package/{catalog → package/catalog}/providers/routing/product-resolver.d.ts +0 -0
- package/{catalog → package/catalog}/providers/routing/product-variants-resolver.d.ts +0 -0
- package/{catalog → package/catalog}/public_api.d.ts +0 -0
- package/{catalog → package/catalog}/vendure-admin-ui-catalog.d.ts +0 -0
- package/{core → package/core}/app.component.d.ts +0 -0
- package/{core → package/core}/app.component.module.d.ts +0 -0
- package/{core → package/core}/app.config.d.ts +0 -0
- package/{core → package/core}/common/base-detail.component.d.ts +0 -0
- package/{core → package/core}/common/base-entity-resolver.d.ts +0 -0
- package/{core → package/core}/common/base-list.component.d.ts +0 -0
- package/{core → package/core}/common/component-registry-types.d.ts +0 -0
- package/{core → package/core}/common/deactivate-aware.d.ts +0 -0
- package/{core → package/core}/common/detail-breadcrumb.d.ts +0 -0
- package/{core → package/core}/common/generated-types.d.ts +242 -127
- package/{core → package/core}/common/introspection-result-wrapper.d.ts +0 -0
- package/{core → package/core}/common/introspection-result.d.ts +0 -0
- package/{core → package/core}/common/single-search-selection-model.d.ts +0 -0
- package/{core → package/core}/common/utilities/configurable-operation-utils.d.ts +4 -2
- package/{core → package/core}/common/utilities/create-updated-translatable.d.ts +0 -0
- package/{core → package/core}/common/utilities/find-translation.d.ts +0 -0
- package/{core → package/core}/common/utilities/flatten-facet-values.d.ts +0 -0
- package/{core → package/core}/common/utilities/get-default-ui-language.d.ts +0 -0
- package/{core → package/core}/common/utilities/interpolate-description.d.ts +0 -0
- package/{core → package/core}/common/utilities/selection-manager.d.ts +0 -0
- package/{core → package/core}/common/utilities/string-to-color.d.ts +0 -0
- package/package/core/common/version.d.ts +1 -0
- package/{core → package/core}/components/app-shell/app-shell.component.d.ts +0 -0
- package/{core → package/core}/components/breadcrumb/breadcrumb.component.d.ts +0 -0
- package/{core → package/core}/components/channel-switcher/channel-switcher.component.d.ts +0 -0
- package/{core → package/core}/components/main-nav/main-nav.component.d.ts +0 -0
- package/{core → package/core}/components/notification/notification.component.d.ts +0 -0
- package/{core → package/core}/components/overlay-host/overlay-host.component.d.ts +0 -0
- package/{core → package/core}/components/theme-switcher/theme-switcher.component.d.ts +0 -0
- package/{core → package/core}/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +0 -0
- package/{core → package/core}/components/user-menu/user-menu.component.d.ts +0 -0
- package/{core → package/core}/core.module.d.ts +0 -0
- package/{core → package/core}/data/check-jobs-link.d.ts +0 -0
- package/{core → package/core}/data/client-state/client-defaults.d.ts +0 -0
- package/{core → package/core}/data/client-state/client-resolvers.d.ts +0 -0
- package/{core → package/core}/data/data.module.d.ts +0 -0
- package/{core → package/core}/data/definitions/administrator-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/auth-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/client-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/collection-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/customer-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/facet-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/order-definitions.d.ts +2 -0
- package/{core → package/core}/data/definitions/product-definitions.d.ts +1 -0
- package/{core → package/core}/data/definitions/promotion-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/settings-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/shared-definitions.d.ts +0 -0
- package/{core → package/core}/data/definitions/shipping-definitions.d.ts +0 -0
- package/{core → package/core}/data/omit-typename-link.d.ts +0 -0
- package/{core → package/core}/data/providers/administrator-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/auth-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/base-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/client-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/collection-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/customer-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/facet-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/fetch-adapter.d.ts +0 -0
- package/{core → package/core}/data/providers/interceptor.d.ts +0 -0
- package/{core → package/core}/data/providers/order-data.service.d.ts +1 -0
- package/{core → package/core}/data/providers/product-data.service.d.ts +1 -0
- package/{core → package/core}/data/providers/promotion-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/settings-data.service.d.ts +0 -0
- package/{core → package/core}/data/providers/shipping-method-data.service.d.ts +0 -0
- package/{core → package/core}/data/query-result.d.ts +0 -0
- package/{core → package/core}/data/server-config.d.ts +0 -0
- package/{core → package/core}/data/utils/add-custom-fields.d.ts +0 -0
- package/{core → package/core}/data/utils/get-server-location.d.ts +0 -0
- package/{core → package/core}/data/utils/remove-readonly-custom-fields.d.ts +0 -0
- package/{core → package/core}/data/utils/transform-relation-custom-field-inputs.d.ts +0 -0
- package/{core → package/core}/package.json +0 -0
- package/{core → package/core}/providers/auth/auth.service.d.ts +0 -0
- package/{core → package/core}/providers/component-registry/component-registry.service.d.ts +0 -0
- package/{core → package/core}/providers/custom-detail-component/custom-detail-component-types.d.ts +0 -0
- package/{core → package/core}/providers/custom-detail-component/custom-detail-component.service.d.ts +0 -0
- package/{core → package/core}/providers/custom-field-component/custom-field-component.service.d.ts +0 -0
- package/{core → package/core}/providers/dashboard-widget/dashboard-widget-types.d.ts +0 -0
- package/{core → package/core}/providers/dashboard-widget/dashboard-widget.service.d.ts +0 -0
- package/{core → package/core}/providers/dashboard-widget/register-dashboard-widget.d.ts +0 -0
- package/{core → package/core}/providers/guard/auth.guard.d.ts +0 -0
- package/{core → package/core}/providers/health-check/health-check.service.d.ts +0 -0
- package/{core → package/core}/providers/i18n/custom-http-loader.d.ts +0 -0
- package/{core → package/core}/providers/i18n/custom-message-format-compiler.d.ts +0 -0
- package/{core → package/core}/providers/i18n/i18n.service.d.ts +0 -0
- package/{core → package/core}/providers/job-queue/job-queue.service.d.ts +0 -0
- package/{core → package/core}/providers/local-storage/local-storage.service.d.ts +0 -0
- package/{core → package/core}/providers/modal/modal.service.d.ts +0 -0
- package/{core → package/core}/providers/modal/modal.types.d.ts +0 -0
- package/{core → package/core}/providers/nav-builder/nav-builder-types.d.ts +0 -0
- package/{core → package/core}/providers/nav-builder/nav-builder.service.d.ts +0 -0
- package/{core → package/core}/providers/notification/notification.service.d.ts +0 -0
- package/{core → package/core}/providers/overlay-host/overlay-host.service.d.ts +0 -0
- package/{core → package/core}/public_api.d.ts +11 -1
- package/{core → package/core}/shared/components/action-bar/action-bar.component.d.ts +0 -0
- package/{core → package/core}/shared/components/action-bar-items/action-bar-items.component.d.ts +0 -0
- package/{core → package/core}/shared/components/address-form/address-form.component.d.ts +0 -0
- package/{core → package/core}/shared/components/affixed-input/affixed-input.component.d.ts +0 -0
- package/{core → package/core}/shared/components/affixed-input/percentage-suffix-input.component.d.ts +0 -0
- package/{core → package/core}/shared/components/asset-file-input/asset-file-input.component.d.ts +0 -0
- package/{core → package/core}/shared/components/asset-gallery/asset-gallery.component.d.ts +0 -0
- package/{core → package/core}/shared/components/asset-gallery/asset-gallery.types.d.ts +0 -0
- package/{core → package/core}/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/components/asset-preview/asset-preview.component.d.ts +0 -0
- package/{core → package/core}/shared/components/asset-preview-dialog/asset-preview-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/components/asset-preview-links/asset-preview-links.component.d.ts +0 -0
- package/{core → package/core}/shared/components/asset-search-input/asset-search-input.component.d.ts +0 -0
- package/{core → package/core}/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +0 -0
- package/{core → package/core}/shared/components/channel-badge/channel-badge.component.d.ts +0 -0
- package/{core → package/core}/shared/components/chip/chip.component.d.ts +0 -0
- package/{core → package/core}/shared/components/configurable-input/configurable-input.component.d.ts +0 -0
- package/{core → package/core}/shared/components/currency-input/currency-input.component.d.ts +0 -0
- package/{core → package/core}/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +0 -0
- package/{core → package/core}/shared/components/custom-field-control/custom-field-control.component.d.ts +0 -0
- package/{core → package/core}/shared/components/customer-label/customer-label.component.d.ts +0 -0
- package/{core → package/core}/shared/components/data-table/data-table-column.component.d.ts +0 -0
- package/{core → package/core}/shared/components/data-table/data-table.component.d.ts +0 -0
- package/{core → package/core}/shared/components/datetime-picker/constants.d.ts +0 -0
- package/{core → package/core}/shared/components/datetime-picker/datetime-picker.component.d.ts +0 -0
- package/{core → package/core}/shared/components/datetime-picker/datetime-picker.service.d.ts +0 -0
- package/{core → package/core}/shared/components/datetime-picker/types.d.ts +0 -0
- package/{core → package/core}/shared/components/dropdown/dropdown-item.directive.d.ts +0 -0
- package/{core → package/core}/shared/components/dropdown/dropdown-menu.component.d.ts +2 -1
- package/{core → package/core}/shared/components/dropdown/dropdown-trigger.directive.d.ts +0 -0
- package/{core → package/core}/shared/components/dropdown/dropdown.component.d.ts +0 -0
- package/{core → package/core}/shared/components/edit-note-dialog/edit-note-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/components/empty-placeholder/empty-placeholder.component.d.ts +0 -0
- package/{core → package/core}/shared/components/entity-info/entity-info.component.d.ts +0 -0
- package/{core → package/core}/shared/components/extension-host/extension-host-config.d.ts +0 -0
- package/{core → package/core}/shared/components/extension-host/extension-host.component.d.ts +0 -0
- package/{core → package/core}/shared/components/extension-host/extension-host.service.d.ts +0 -0
- package/{core → package/core}/shared/components/extension-host/host-external-frame.d.ts +0 -0
- package/{core → package/core}/shared/components/facet-value-chip/facet-value-chip.component.d.ts +0 -0
- package/{core → package/core}/shared/components/facet-value-selector/facet-value-selector.component.d.ts +0 -0
- package/{core → package/core}/shared/components/focal-point-control/focal-point-control.component.d.ts +0 -0
- package/{core → package/core}/shared/components/form-field/form-field-control.directive.d.ts +0 -0
- package/{core → package/core}/shared/components/form-field/form-field.component.d.ts +0 -0
- package/{core → package/core}/shared/components/form-item/form-item.component.d.ts +0 -0
- package/{core → package/core}/shared/components/formatted-address/formatted-address.component.d.ts +0 -0
- package/{core → package/core}/shared/components/help-tooltip/help-tooltip.component.d.ts +0 -0
- package/{core → package/core}/shared/components/history-entry-detail/history-entry-detail.component.d.ts +0 -0
- package/{core → package/core}/shared/components/items-per-page-controls/items-per-page-controls.component.d.ts +0 -0
- package/{core → package/core}/shared/components/labeled-data/labeled-data.component.d.ts +0 -0
- package/{core → package/core}/shared/components/language-selector/language-selector.component.d.ts +0 -0
- package/{core → package/core}/shared/components/manage-tags-dialog/manage-tags-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/components/modal-dialog/dialog-buttons.directive.d.ts +0 -0
- package/{core → package/core}/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +0 -0
- package/{core → package/core}/shared/components/modal-dialog/dialog-title.directive.d.ts +0 -0
- package/{core → package/core}/shared/components/modal-dialog/modal-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/components/object-tree/object-tree.component.d.ts +0 -0
- package/{core → package/core}/shared/components/order-state-label/order-state-label.component.d.ts +0 -0
- package/{core → package/core}/shared/components/pagination-controls/pagination-controls.component.d.ts +0 -0
- package/{core → package/core}/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/components/product-search-input/product-search-input.component.d.ts +0 -0
- package/{core → package/core}/shared/components/product-variant-selector/product-variant-selector.component.d.ts +0 -0
- package/{core → package/core}/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/components/rich-text-editor/link-dialog/link-dialog.component.d.ts +0 -0
- package/package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +31 -0
- package/package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +34 -0
- package/package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
- package/package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +8 -0
- package/{core → package/core}/shared/components/rich-text-editor/prosemirror/keymap.d.ts +0 -0
- package/{core → package/core}/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +1 -1
- package/package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +16 -0
- package/package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
- package/{core → package/core}/shared/components/rich-text-editor/prosemirror/menu/menu.d.ts +0 -0
- package/package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
- package/package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
- package/{core → package/core}/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +1 -1
- package/package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
- package/package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
- package/{core → package/core}/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +7 -3
- package/{core → package/core}/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -2
- package/{core → package/core}/shared/components/rich-text-editor/prosemirror/utils.d.ts +0 -0
- package/package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +21 -0
- package/{core → package/core}/shared/components/rich-text-editor/rich-text-editor.component.d.ts +6 -2
- package/{core → package/core}/shared/components/select-toggle/select-toggle.component.d.ts +0 -0
- package/{core → package/core}/shared/components/simple-dialog/simple-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/components/status-badge/status-badge.component.d.ts +0 -0
- package/{core → package/core}/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +0 -0
- package/{core → package/core}/shared/components/table-row-action/table-row-action.component.d.ts +0 -0
- package/{core → package/core}/shared/components/tag-selector/tag-selector.component.d.ts +0 -0
- package/{core → package/core}/shared/components/timeline-entry/timeline-entry.component.d.ts +0 -0
- package/{core → package/core}/shared/components/title-input/title-input.component.d.ts +0 -0
- package/{core → package/core}/shared/components/ui-extension-point/ui-extension-point.component.d.ts +0 -0
- package/{core → package/core}/shared/directives/disabled.directive.d.ts +0 -0
- package/{core → package/core}/shared/directives/if-default-channel-active.directive.d.ts +0 -0
- package/{core → package/core}/shared/directives/if-directive-base.d.ts +0 -0
- package/{core → package/core}/shared/directives/if-multichannel.directive.d.ts +0 -0
- package/{core → package/core}/shared/directives/if-permissions.directive.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +0 -0
- package/package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +30 -0
- package/package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +22 -0
- package/{core → package/core}/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +5 -17
- package/{core → package/core}/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +2 -1
- package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +0 -0
- package/{core → package/core}/shared/pipes/asset-preview.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/channel-label.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/custom-field-label.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/duration.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/file-size.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/has-permission.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/locale-base.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/locale-currency-name.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/locale-currency.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/locale-date.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/locale-language-name.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/locale-region-name.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/sentence-case.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/sort.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/state-i18n-token.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/string-to-color.pipe.d.ts +0 -0
- package/{core → package/core}/shared/pipes/time-ago.pipe.d.ts +0 -0
- package/{core → package/core}/shared/providers/routing/can-deactivate-detail-guard.d.ts +0 -0
- package/{core → package/core}/shared/shared.module.d.ts +33 -30
- package/{core → package/core}/validators/unicode-pattern.validator.d.ts +0 -0
- package/{core → package/core}/vendure-admin-ui-core.d.ts +0 -0
- package/{customer → package/customer}/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.d.ts +0 -0
- package/{customer → package/customer}/components/address-card/address-card.component.d.ts +0 -0
- package/{customer → package/customer}/components/address-detail-dialog/address-detail-dialog.component.d.ts +0 -0
- package/{customer → package/customer}/components/customer-detail/customer-detail.component.d.ts +0 -0
- package/{customer → package/customer}/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +0 -0
- package/{customer → package/customer}/components/customer-group-list/customer-group-list.component.d.ts +0 -0
- package/{customer → package/customer}/components/customer-group-member-list/customer-group-member-list.component.d.ts +0 -0
- package/{customer → package/customer}/components/customer-history/customer-history.component.d.ts +0 -0
- package/{customer → package/customer}/components/customer-list/customer-list.component.d.ts +0 -0
- package/{customer → package/customer}/components/customer-status-label/customer-status-label.component.d.ts +0 -0
- package/{customer → package/customer}/components/select-customer-group-dialog/select-customer-group-dialog.component.d.ts +0 -0
- package/{customer → package/customer}/customer.module.d.ts +0 -0
- package/{customer → package/customer}/customer.routes.d.ts +0 -0
- package/{customer → package/customer}/package.json +0 -0
- package/{customer → package/customer}/providers/routing/customer-resolver.d.ts +0 -0
- package/{customer → package/customer}/public_api.d.ts +0 -0
- package/{customer → package/customer}/vendure-admin-ui-customer.d.ts +0 -0
- package/{dashboard → package/dashboard}/components/dashboard/dashboard.component.d.ts +0 -0
- package/{dashboard → package/dashboard}/components/dashboard-widget/dashboard-widget.component.d.ts +0 -0
- package/{dashboard → package/dashboard}/dashboard.module.d.ts +0 -0
- package/{dashboard → package/dashboard}/dashboard.routes.d.ts +0 -0
- package/{dashboard → package/dashboard}/default-widgets.d.ts +0 -0
- package/{dashboard → package/dashboard}/package.json +0 -0
- package/{dashboard → package/dashboard}/public_api.d.ts +0 -0
- package/{dashboard → package/dashboard}/vendure-admin-ui-dashboard.d.ts +0 -0
- package/{dashboard → package/dashboard}/widgets/latest-orders-widget/latest-orders-widget.component.d.ts +0 -0
- package/{dashboard → package/dashboard}/widgets/order-summary-widget/order-summary-widget.component.d.ts +0 -0
- package/{dashboard → package/dashboard}/widgets/test-widget/test-widget.component.d.ts +0 -0
- package/{dashboard → package/dashboard}/widgets/welcome-widget/welcome-widget.component.d.ts +0 -0
- package/{esm2020 → package/esm2020}/catalog/catalog.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/catalog.routes.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/asset-detail/asset-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/asset-list/asset-list.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/assets/assets.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/collection-contents/collection-contents.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/collection-detail/collection-detail.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/catalog/components/collection-list/collection-list.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/collection-tree/array-to-tree.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/collection-tree/collection-tree-node.component.mjs +2 -2
- package/{esm2020 → package/esm2020}/catalog/components/collection-tree/collection-tree.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/collection-tree/collection-tree.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/collection-tree/collection-tree.types.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/facet-detail/facet-detail.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/catalog/components/facet-list/facet-list.component.mjs +1 -1
- package/package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +87 -0
- package/package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +151 -0
- package/{esm2020 → package/esm2020}/catalog/components/product-detail/product-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/product-detail/product-detail.types.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/product-list/product-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/catalog/components/product-options-editor/product-options-editor.component.mjs +0 -0
- package/package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +413 -0
- package/{esm2020 → package/esm2020}/catalog/components/product-variants-list/product-variants-list.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/product-variants-table/product-variants-table.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/components/variant-price-detail/variant-price-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/providers/product-detail/product-detail.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/providers/product-detail/replace-last.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/providers/routing/asset-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/providers/routing/collection-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/providers/routing/facet-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/providers/routing/product-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/providers/routing/product-variants-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/catalog/vendure-admin-ui-catalog.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/app.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/app.component.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/app.config.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/base-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/base-entity-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/base-list.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/component-registry-types.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/deactivate-aware.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/detail-breadcrumb.mjs +0 -0
- package/package/esm2020/core/common/generated-types.mjs +983 -0
- package/{esm2020 → package/esm2020}/core/common/introspection-result-wrapper.mjs +0 -0
- package/package/esm2020/core/common/introspection-result.mjs +195 -0
- package/{esm2020 → package/esm2020}/core/common/single-search-selection-model.mjs +0 -0
- package/package/esm2020/core/common/utilities/configurable-operation-utils.mjs +105 -0
- package/{esm2020 → package/esm2020}/core/common/utilities/create-updated-translatable.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/utilities/find-translation.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/utilities/flatten-facet-values.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/utilities/get-default-ui-language.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/utilities/interpolate-description.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/utilities/selection-manager.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/utilities/string-to-color.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/common/version.mjs +2 -2
- package/{esm2020 → package/esm2020}/core/components/app-shell/app-shell.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/components/breadcrumb/breadcrumb.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/components/channel-switcher/channel-switcher.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/components/main-nav/main-nav.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/components/notification/notification.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/components/overlay-host/overlay-host.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/components/theme-switcher/theme-switcher.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/components/user-menu/user-menu.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/core.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/check-jobs-link.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/client-state/client-defaults.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/client-state/client-resolvers.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/data.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/administrator-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/auth-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/client-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/collection-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/customer-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/facet-definitions.mjs +0 -0
- package/package/esm2020/core/data/definitions/order-definitions.mjs +472 -0
- package/package/esm2020/core/data/definitions/product-definitions.mjs +745 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/promotion-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/settings-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/shared-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/definitions/shipping-definitions.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/omit-typename-link.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/administrator-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/auth-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/base-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/client-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/collection-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/customer-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/facet-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/fetch-adapter.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/interceptor.mjs +0 -0
- package/package/esm2020/core/data/providers/order-data.service.mjs +105 -0
- package/package/esm2020/core/data/providers/product-data.service.mjs +243 -0
- package/{esm2020 → package/esm2020}/core/data/providers/promotion-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/settings-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/providers/shipping-method-data.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/query-result.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/server-config.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/utils/add-custom-fields.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/utils/get-server-location.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/utils/remove-readonly-custom-fields.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/data/utils/transform-relation-custom-field-inputs.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/auth/auth.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/component-registry/component-registry.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/custom-detail-component/custom-detail-component-types.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/custom-detail-component/custom-detail-component.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/custom-field-component/custom-field-component.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/dashboard-widget/dashboard-widget-types.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/dashboard-widget/dashboard-widget.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/dashboard-widget/register-dashboard-widget.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/guard/auth.guard.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/health-check/health-check.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/i18n/custom-http-loader.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/i18n/custom-message-format-compiler.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/i18n/i18n.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/job-queue/job-queue.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/local-storage/local-storage.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/modal/modal.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/modal/modal.types.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/nav-builder/nav-builder-types.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/nav-builder/nav-builder.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/notification/notification.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/providers/overlay-host/overlay-host.service.mjs +0 -0
- package/package/esm2020/core/public_api.mjs +236 -0
- package/{esm2020 → package/esm2020}/core/shared/components/action-bar/action-bar.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/action-bar-items/action-bar-items.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/address-form/address-form.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/affixed-input/affixed-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/asset-file-input/asset-file-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/asset-gallery/asset-gallery.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/asset-gallery/asset-gallery.types.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/asset-preview/asset-preview.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/shared/components/asset-search-input/asset-search-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/channel-badge/channel-badge.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/chip/chip.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/configurable-input/configurable-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/currency-input/currency-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/custom-field-control/custom-field-control.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/customer-label/customer-label.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/data-table/data-table-column.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/data-table/data-table.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/datetime-picker/constants.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/datetime-picker/datetime-picker.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/shared/components/datetime-picker/datetime-picker.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/datetime-picker/types.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/dropdown/dropdown-item.directive.mjs +0 -0
- package/package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +130 -0
- package/{esm2020 → package/esm2020}/core/shared/components/dropdown/dropdown-trigger.directive.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/shared/components/dropdown/dropdown.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/entity-info/entity-info.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/shared/components/extension-host/extension-host-config.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/extension-host/extension-host.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/extension-host/extension-host.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/extension-host/host-external-frame.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/focal-point-control/focal-point-control.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/form-field/form-field-control.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/form-field/form-field.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/form-item/form-item.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/formatted-address/formatted-address.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/help-tooltip/help-tooltip.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/labeled-data/labeled-data.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/language-selector/language-selector.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/modal-dialog/dialog-title.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/modal-dialog/modal-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/object-tree/object-tree.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/order-state-label/order-state-label.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/pagination-controls/pagination-controls.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/product-search-input/product-search-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +3 -3
- package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +0 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +136 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +46 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +57 -0
- package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/prosemirror/inputrules.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/prosemirror/keymap.mjs +0 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +69 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +41 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.mjs +12 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +247 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.mjs +16 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +100 -0
- package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.mjs +0 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.mjs +96 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.mjs +166 -0
- package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +141 -0
- package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/prosemirror/types.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/prosemirror/utils.mjs +0 -0
- package/package/esm2020/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +59 -0
- package/package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +105 -0
- package/{esm2020 → package/esm2020}/core/shared/components/select-toggle/select-toggle.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/simple-dialog/simple-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/status-badge/status-badge.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/table-row-action/table-row-action.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/tag-selector/tag-selector.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/timeline-entry/timeline-entry.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/title-input/title-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/core/shared/directives/disabled.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/directives/if-default-channel-active.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/directives/if-directive-base.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/directives/if-multichannel.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/directives/if-permissions.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +0 -0
- package/package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +57 -0
- package/package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +63 -0
- package/package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +85 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +0 -0
- package/package/esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +136 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/asset-preview.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/channel-label.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/custom-field-label.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/duration.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/file-size.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/has-permission.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/locale-base.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/locale-currency-name.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/locale-currency.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/locale-date.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/locale-language-name.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/locale-region-name.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/sentence-case.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/sort.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/state-i18n-token.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/string-to-color.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/pipes/time-ago.pipe.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/shared/providers/routing/can-deactivate-detail-guard.mjs +0 -0
- package/package/esm2020/core/shared/shared.module.mjs +552 -0
- package/{esm2020 → package/esm2020}/core/validators/unicode-pattern.validator.mjs +0 -0
- package/{esm2020 → package/esm2020}/core/vendure-admin-ui-core.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/components/address-card/address-card.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/components/customer-detail/customer-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/components/customer-group-list/customer-group-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/components/customer-history/customer-history.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/customer/components/customer-list/customer-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/customer/components/customer-status-label/customer-status-label.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/customer.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/customer.routes.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/providers/routing/customer-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/customer/vendure-admin-ui-customer.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/components/dashboard/dashboard.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/dashboard.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/dashboard.routes.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/default-widgets.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/vendure-admin-ui-dashboard.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/widgets/test-widget/test-widget.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/login/components/login/login.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/login/login.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/login/login.routes.mjs +0 -0
- package/{esm2020 → package/esm2020}/login/providers/login.guard.mjs +0 -0
- package/{esm2020 → package/esm2020}/login/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/login/vendure-admin-ui-login.mjs +0 -0
- package/{esm2020 → package/esm2020}/marketing/components/promotion-detail/promotion-detail.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/marketing/components/promotion-list/promotion-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/marketing/marketing.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/marketing/marketing.routes.mjs +0 -0
- package/{esm2020 → package/esm2020}/marketing/providers/routing/promotion-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/marketing/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/marketing/vendure-admin-ui-marketing.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +6 -2
- package/{esm2020 → package/esm2020}/order/components/fulfillment-card/fulfillment-card.component.mjs +1 -1
- package/package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +53 -0
- package/{esm2020 → package/esm2020}/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +0 -0
- package/package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +54 -0
- package/{esm2020 → package/esm2020}/order/components/line-refunds/line-refunds.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/modification-detail/modification-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-detail/order-detail.component.mjs +49 -21
- package/{esm2020 → package/esm2020}/order/components/order-editor/order-editor.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-history/order-history.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/order/components/order-list/order-list.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-payment-card/order-payment-card.component.mjs +3 -3
- package/{esm2020 → package/esm2020}/order/components/order-process-graph/constants.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-process-graph/order-process-edge.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-process-graph/order-process-graph.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-process-graph/order-process-node.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-process-graph/types.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/order-table/order-table.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/order/components/payment-detail/payment-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/payment-state-label/payment-state-label.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/refund-order-dialog/refund-order-dialog.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/order/components/refund-state-label/refund-state-label.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/components/simple-item-list/simple-item-list.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/order.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/order.routes.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/providers/order-transition.service.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/providers/routing/order-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/order/vendure-admin-ui-order.mjs +0 -0
- package/{esm2020 → package/esm2020}/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/admin-detail/admin-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/administrator-list/administrator-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/channel-detail/channel-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/channel-list/channel-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/country-detail/country-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/country-list/country-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/global-settings/global-settings.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/payment-method-detail/payment-method-detail.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/payment-method-list/payment-method-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/permission-grid/permission-grid.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/profile/profile.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/role-detail/role-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/role-list/role-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/shipping-method-list/shipping-method-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/tax-category-detail/tax-category-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/tax-category-list/tax-category-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/tax-rate-list/tax-rate-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/test-address-form/test-address-form.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/test-order-builder/test-order-builder.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/zone-detail-dialog/zone-detail-dialog.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/zone-list/zone-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/settings/components/zone-member-list/zone-member-controls.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/zone-member-list/zone-member-list-header.directive.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/components/zone-member-list/zone-member-list.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/administrator-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/channel-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/country-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/global-settings-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/payment-method-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/profile-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/role-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/shipping-method-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/tax-category-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/providers/routing/tax-rate-resolver.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/settings.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/settings.routes.mjs +0 -0
- package/{esm2020 → package/esm2020}/settings/vendure-admin-ui-settings.mjs +0 -0
- package/{esm2020 → package/esm2020}/system/components/health-check/health-check.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/system/components/job-list/job-list.component.mjs +1 -1
- package/{esm2020 → package/esm2020}/system/components/job-state-label/job-state-label.component.mjs +0 -0
- package/{esm2020 → package/esm2020}/system/public_api.mjs +0 -0
- package/{esm2020 → package/esm2020}/system/system.module.mjs +0 -0
- package/{esm2020 → package/esm2020}/system/system.routes.mjs +0 -0
- package/{esm2020 → package/esm2020}/system/vendure-admin-ui-system.mjs +0 -0
- package/{esm2020 → package/esm2020}/vendure-admin-ui.mjs +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-catalog.mjs +192 -28
- package/package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-core.mjs +1948 -1159
- package/package/fesm2015/vendure-admin-ui-core.mjs.map +1 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-customer.mjs +4 -4
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-customer.mjs.map +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-dashboard.mjs +1 -1
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-dashboard.mjs.map +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-login.mjs +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-login.mjs.map +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-marketing.mjs +2 -2
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-marketing.mjs.map +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-order.mjs +75 -65
- package/package/fesm2015/vendure-admin-ui-order.mjs.map +1 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-settings.mjs +11 -11
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-settings.mjs.map +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-system.mjs +1 -1
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui-system.mjs.map +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui.mjs +0 -0
- package/{fesm2015 → package/fesm2015}/vendure-admin-ui.mjs.map +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-catalog.mjs +185 -28
- package/package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-core.mjs +1943 -1161
- package/package/fesm2020/vendure-admin-ui-core.mjs.map +1 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-customer.mjs +4 -4
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-customer.mjs.map +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-dashboard.mjs +1 -1
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-dashboard.mjs.map +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-login.mjs +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-login.mjs.map +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-marketing.mjs +2 -2
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-marketing.mjs.map +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-order.mjs +73 -64
- package/package/fesm2020/vendure-admin-ui-order.mjs.map +1 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-settings.mjs +11 -11
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-settings.mjs.map +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-system.mjs +1 -1
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui-system.mjs.map +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui.mjs +0 -0
- package/{fesm2020 → package/fesm2020}/vendure-admin-ui.mjs.map +0 -0
- package/{login → package/login}/components/login/login.component.d.ts +0 -0
- package/{login → package/login}/login.module.d.ts +0 -0
- package/{login → package/login}/login.routes.d.ts +0 -0
- package/{login → package/login}/package.json +0 -0
- package/{login → package/login}/providers/login.guard.d.ts +0 -0
- package/{login → package/login}/public_api.d.ts +0 -0
- package/{login → package/login}/vendure-admin-ui-login.d.ts +0 -0
- package/{marketing → package/marketing}/components/promotion-detail/promotion-detail.component.d.ts +0 -0
- package/{marketing → package/marketing}/components/promotion-list/promotion-list.component.d.ts +0 -0
- package/{marketing → package/marketing}/marketing.module.d.ts +0 -0
- package/{marketing → package/marketing}/marketing.routes.d.ts +0 -0
- package/{marketing → package/marketing}/package.json +0 -0
- package/{marketing → package/marketing}/providers/routing/promotion-resolver.d.ts +0 -0
- package/{marketing → package/marketing}/public_api.d.ts +0 -0
- package/{marketing → package/marketing}/vendure-admin-ui-marketing.d.ts +0 -0
- package/{order → package/order}/components/add-manual-payment-dialog/add-manual-payment-dialog.component.d.ts +0 -0
- package/{order → package/order}/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +0 -0
- package/{order → package/order}/components/fulfill-order-dialog/fulfill-order-dialog.component.d.ts +0 -0
- package/{order → package/order}/components/fulfillment-card/fulfillment-card.component.d.ts +0 -0
- package/{order → package/order}/components/fulfillment-detail/fulfillment-detail.component.d.ts +0 -0
- package/{order → package/order}/components/fulfillment-state-label/fulfillment-state-label.component.d.ts +0 -0
- package/{order → package/order}/components/line-fulfillment/line-fulfillment.component.d.ts +0 -0
- package/{order → package/order}/components/line-refunds/line-refunds.component.d.ts +0 -0
- package/{order → package/order}/components/modification-detail/modification-detail.component.d.ts +0 -0
- package/{order → package/order}/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +0 -0
- package/{order → package/order}/components/order-detail/order-detail.component.d.ts +0 -0
- package/{order → package/order}/components/order-editor/order-editor.component.d.ts +0 -0
- package/{order → package/order}/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +0 -0
- package/{order → package/order}/components/order-history/order-history.component.d.ts +0 -0
- package/{order → package/order}/components/order-list/order-list.component.d.ts +0 -0
- package/{order → package/order}/components/order-payment-card/order-payment-card.component.d.ts +0 -0
- package/{order → package/order}/components/order-process-graph/constants.d.ts +0 -0
- package/{order → package/order}/components/order-process-graph/order-process-edge.component.d.ts +0 -0
- package/{order → package/order}/components/order-process-graph/order-process-graph.component.d.ts +0 -0
- package/{order → package/order}/components/order-process-graph/order-process-node.component.d.ts +0 -0
- package/{order → package/order}/components/order-process-graph/types.d.ts +0 -0
- package/{order → package/order}/components/order-process-graph-dialog/order-process-graph-dialog.component.d.ts +0 -0
- package/{order → package/order}/components/order-state-select-dialog/order-state-select-dialog.component.d.ts +0 -0
- package/{order → package/order}/components/order-table/order-table.component.d.ts +0 -0
- package/{order → package/order}/components/payment-detail/payment-detail.component.d.ts +0 -0
- package/{order → package/order}/components/payment-state-label/payment-state-label.component.d.ts +0 -0
- package/{order → package/order}/components/refund-order-dialog/refund-order-dialog.component.d.ts +0 -0
- package/{order → package/order}/components/refund-state-label/refund-state-label.component.d.ts +0 -0
- package/{order → package/order}/components/settle-refund-dialog/settle-refund-dialog.component.d.ts +0 -0
- package/{order → package/order}/components/simple-item-list/simple-item-list.component.d.ts +0 -0
- package/{order → package/order}/order.module.d.ts +0 -0
- package/{order → package/order}/order.routes.d.ts +0 -0
- package/{order → package/order}/package.json +0 -0
- package/{order → package/order}/providers/order-transition.service.d.ts +0 -0
- package/{order → package/order}/providers/routing/order-resolver.d.ts +0 -0
- package/{order → package/order}/public_api.d.ts +0 -0
- package/{order → package/order}/vendure-admin-ui-order.d.ts +0 -0
- package/package/package.json +143 -0
- package/{public_api.d.ts → package/public_api.d.ts} +0 -0
- package/{settings → package/settings}/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.d.ts +0 -0
- package/{settings → package/settings}/components/admin-detail/admin-detail.component.d.ts +0 -0
- package/{settings → package/settings}/components/administrator-list/administrator-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/channel-detail/channel-detail.component.d.ts +0 -0
- package/{settings → package/settings}/components/channel-list/channel-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/country-detail/country-detail.component.d.ts +0 -0
- package/{settings → package/settings}/components/country-list/country-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/global-settings/global-settings.component.d.ts +0 -0
- package/{settings → package/settings}/components/payment-method-detail/payment-method-detail.component.d.ts +0 -0
- package/{settings → package/settings}/components/payment-method-list/payment-method-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/permission-grid/permission-grid.component.d.ts +0 -0
- package/{settings → package/settings}/components/profile/profile.component.d.ts +0 -0
- package/{settings → package/settings}/components/role-detail/role-detail.component.d.ts +0 -0
- package/{settings → package/settings}/components/role-list/role-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.d.ts +0 -0
- package/{settings → package/settings}/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -0
- package/{settings → package/settings}/components/shipping-method-list/shipping-method-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/shipping-method-test-result/shipping-method-test-result.component.d.ts +0 -0
- package/{settings → package/settings}/components/tax-category-detail/tax-category-detail.component.d.ts +0 -0
- package/{settings → package/settings}/components/tax-category-list/tax-category-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/tax-rate-detail/tax-rate-detail.component.d.ts +0 -0
- package/{settings → package/settings}/components/tax-rate-list/tax-rate-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/test-address-form/test-address-form.component.d.ts +0 -0
- package/{settings → package/settings}/components/test-order-builder/test-order-builder.component.d.ts +0 -0
- package/{settings → package/settings}/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +0 -0
- package/{settings → package/settings}/components/zone-list/zone-list.component.d.ts +0 -0
- package/{settings → package/settings}/components/zone-member-list/zone-member-controls.directive.d.ts +0 -0
- package/{settings → package/settings}/components/zone-member-list/zone-member-list-header.directive.d.ts +0 -0
- package/{settings → package/settings}/components/zone-member-list/zone-member-list.component.d.ts +0 -0
- package/{settings → package/settings}/package.json +0 -0
- package/{settings → package/settings}/providers/routing/administrator-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/channel-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/country-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/global-settings-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/payment-method-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/profile-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/role-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/shipping-method-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/tax-category-resolver.d.ts +0 -0
- package/{settings → package/settings}/providers/routing/tax-rate-resolver.d.ts +0 -0
- package/{settings → package/settings}/public_api.d.ts +0 -0
- package/{settings → package/settings}/settings.module.d.ts +0 -0
- package/{settings → package/settings}/settings.routes.d.ts +0 -0
- package/{settings → package/settings}/vendure-admin-ui-settings.d.ts +0 -0
- package/{static → package/static}/assets/.gitkeep +0 -0
- package/{static → package/static}/assets/logo-300px.png +0 -0
- package/{static → package/static}/assets/logo-75px.png +0 -0
- package/{static → package/static}/favicon.ico +0 -0
- package/{static → package/static}/i18n-messages/cs.json +2 -1
- package/{static → package/static}/i18n-messages/de.json +2 -1
- package/{static → package/static}/i18n-messages/en.json +3 -1
- package/{static → package/static}/i18n-messages/es.json +2 -1
- package/{static → package/static}/i18n-messages/fr.json +2 -1
- package/{static → package/static}/i18n-messages/it.json +2 -1
- package/{static → package/static}/i18n-messages/pl.json +2 -1
- package/{static → package/static}/i18n-messages/pt_BR.json +2 -1
- package/{static → package/static}/i18n-messages/pt_PT.json +2 -1
- package/{static → package/static}/i18n-messages/ru.json +2 -1
- package/{static → package/static}/i18n-messages/uk.json +2 -1
- package/{static → package/static}/i18n-messages/zh_Hans.json +2 -1
- package/{static → package/static}/i18n-messages/zh_Hant.json +2 -1
- package/{static → package/static}/index.html +0 -0
- package/{static → package/static}/polyfills.ts +0 -0
- package/{static → package/static}/styles/_mixins.scss +0 -0
- package/{static → package/static}/styles/_variables.scss +0 -0
- package/{static → package/static}/styles/global/_forms.scss +0 -0
- package/{static → package/static}/styles/global/_overrides.scss +0 -0
- package/{static → package/static}/styles/global/_sass-overrides.scss +0 -0
- package/{static → package/static}/styles/global/_utilities.scss +1 -0
- package/{static → package/static}/styles/styles.scss +0 -0
- package/{static → package/static}/styles/theme/dark.scss +0 -0
- package/{static → package/static}/styles/theme/default.scss +0 -0
- package/{static → package/static}/styles/ui-extension-theme.scss +0 -0
- package/{static → package/static}/theme.min.css +1 -1
- package/{static → package/static}/vendure-ui-config.json +0 -0
- package/{system → package/system}/components/health-check/health-check.component.d.ts +0 -0
- package/{system → package/system}/components/job-list/job-list.component.d.ts +0 -0
- package/{system → package/system}/components/job-state-label/job-state-label.component.d.ts +0 -0
- package/{system → package/system}/package.json +0 -0
- package/{system → package/system}/public_api.d.ts +0 -0
- package/{system → package/system}/system.module.d.ts +0 -0
- package/{system → package/system}/system.routes.d.ts +0 -0
- package/{system → package/system}/vendure-admin-ui-system.d.ts +0 -0
- package/{vendure-admin-ui.d.ts → package/vendure-admin-ui.d.ts} +0 -0
- package/package.json +58 -105
- package/tsconfig.json +61 -0
- package/tsconfig.lib.json +26 -0
- package/tsconfig.lib.prod.json +14 -0
- package/tslint.json +33 -0
- package/vendure-admin-ui-2.0.0-next.14.tgz +0 -0
- package/LICENSE +0 -9
- package/core/common/version.d.ts +0 -1
- package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +0 -8
- package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
- package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +0 -4
- package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +0 -79
- package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +0 -97
- package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +0 -318
- package/esm2020/core/common/generated-types.mjs +0 -982
- package/esm2020/core/common/introspection-result.mjs +0 -259
- package/esm2020/core/common/utilities/configurable-operation-utils.mjs +0 -102
- package/esm2020/core/data/definitions/order-definitions.mjs +0 -458
- package/esm2020/core/data/definitions/product-definitions.mjs +0 -737
- package/esm2020/core/data/providers/order-data.service.mjs +0 -100
- package/esm2020/core/data/providers/product-data.service.mjs +0 -240
- package/esm2020/core/public_api.mjs +0 -226
- package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +0 -127
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/images.mjs +0 -36
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +0 -69
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +0 -20
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +0 -192
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +0 -112
- package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +0 -93
- package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +0 -120
- package/esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +0 -134
- package/esm2020/core/shared/shared.module.mjs +0 -540
- package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +0 -62
- package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +0 -68
- package/fesm2015/vendure-admin-ui-catalog.mjs.map +0 -1
- package/fesm2015/vendure-admin-ui-core.mjs.map +0 -1
- package/fesm2015/vendure-admin-ui-order.mjs.map +0 -1
- package/fesm2020/vendure-admin-ui-catalog.mjs.map +0 -1
- package/fesm2020/vendure-admin-ui-core.mjs.map +0 -1
- package/fesm2020/vendure-admin-ui-order.mjs.map +0 -1
package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { MenuItem } from 'prosemirror-menu';
|
|
2
|
+
import { NodeSelection, Plugin } from 'prosemirror-state';
|
|
3
|
+
import { ExternalImageDialogComponent, } from '../../external-image-dialog/external-image-dialog.component';
|
|
4
|
+
import { canInsert, renderClarityIcon } from '../menu/menu-common';
|
|
5
|
+
export function insertImageItem(nodeType, modalService) {
|
|
6
|
+
return new MenuItem({
|
|
7
|
+
title: 'Insert image',
|
|
8
|
+
label: 'Image',
|
|
9
|
+
render: renderClarityIcon({ shape: 'image', label: 'Image' }),
|
|
10
|
+
class: '',
|
|
11
|
+
css: '',
|
|
12
|
+
enable(state) {
|
|
13
|
+
return canInsert(state, nodeType);
|
|
14
|
+
},
|
|
15
|
+
run(state, _, view) {
|
|
16
|
+
let attrs;
|
|
17
|
+
if (state.selection instanceof NodeSelection && state.selection.node.type === nodeType) {
|
|
18
|
+
attrs = state.selection.node.attrs;
|
|
19
|
+
}
|
|
20
|
+
modalService
|
|
21
|
+
.fromComponent(ExternalImageDialogComponent, {
|
|
22
|
+
closable: true,
|
|
23
|
+
locals: {
|
|
24
|
+
existing: attrs,
|
|
25
|
+
},
|
|
26
|
+
})
|
|
27
|
+
.subscribe(result => {
|
|
28
|
+
if (result) {
|
|
29
|
+
// tslint:disable-next-line:no-non-null-assertion
|
|
30
|
+
view.dispatch(view.state.tr.replaceSelectionWith(nodeType.createAndFill(result)));
|
|
31
|
+
}
|
|
32
|
+
view.focus();
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
export const imageContextMenuPlugin = (contextMenuService, modalService) => new Plugin({
|
|
38
|
+
view: () => {
|
|
39
|
+
return {
|
|
40
|
+
update: view => {
|
|
41
|
+
if (!view.hasFocus()) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const { doc, selection } = view.state;
|
|
45
|
+
let imageNode;
|
|
46
|
+
let imageNodePos = 0;
|
|
47
|
+
doc.nodesBetween(selection.from, selection.to, (n, pos, parent) => {
|
|
48
|
+
if (n.type.name === 'image') {
|
|
49
|
+
imageNode = n;
|
|
50
|
+
imageNodePos = pos;
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
if (imageNode) {
|
|
55
|
+
const node = view.nodeDOM(imageNodePos);
|
|
56
|
+
if (node instanceof HTMLImageElement) {
|
|
57
|
+
contextMenuService.setContextMenu({
|
|
58
|
+
ref: selection,
|
|
59
|
+
title: 'Image',
|
|
60
|
+
iconShape: 'image',
|
|
61
|
+
element: node,
|
|
62
|
+
coords: view.coordsAtPos(imageNodePos),
|
|
63
|
+
items: [
|
|
64
|
+
{
|
|
65
|
+
enabled: true,
|
|
66
|
+
iconShape: 'image',
|
|
67
|
+
label: 'Image properties',
|
|
68
|
+
onClick: () => {
|
|
69
|
+
contextMenuService.clearContextMenu();
|
|
70
|
+
modalService
|
|
71
|
+
.fromComponent(ExternalImageDialogComponent, {
|
|
72
|
+
closable: true,
|
|
73
|
+
locals: {
|
|
74
|
+
// tslint:disable-next-line:no-non-null-assertion
|
|
75
|
+
existing: imageNode.attrs,
|
|
76
|
+
},
|
|
77
|
+
})
|
|
78
|
+
.subscribe(result => {
|
|
79
|
+
if (result) {
|
|
80
|
+
// tslint:disable-next-line:no-non-null-assertion
|
|
81
|
+
view.dispatch(view.state.tr.replaceSelectionWith(
|
|
82
|
+
// tslint:disable-next-line:no-non-null-assertion
|
|
83
|
+
imageNode.type.createAndFill(result)));
|
|
84
|
+
}
|
|
85
|
+
view.focus();
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
contextMenuService.clearContextMenu();
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3Byb3NlbWlycm9yL3BsdWdpbnMvaW1hZ2UtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBaUJwRixPQUFPLEVBRUgsNEJBQTRCLEdBQy9CLE1BQU0sNkRBQTZELENBQUM7QUFHckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5FLE1BQU0sVUFBVSxlQUFlLENBQUMsUUFBa0IsRUFBRSxZQUEwQjtJQUMxRSxPQUFPLElBQUksUUFBUSxDQUFDO1FBQ2hCLEtBQUssRUFBRSxjQUFjO1FBQ3JCLEtBQUssRUFBRSxPQUFPO1FBQ2QsTUFBTSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0QsS0FBSyxFQUFFLEVBQUU7UUFDVCxHQUFHLEVBQUUsRUFBRTtRQUNQLE1BQU0sQ0FBQyxLQUFrQjtZQUNyQixPQUFPLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELEdBQUcsQ0FBQyxLQUFrQixFQUFFLENBQUMsRUFBRSxJQUFnQjtZQUN2QyxJQUFJLEtBQXFDLENBQUM7WUFDMUMsSUFBSSxLQUFLLENBQUMsU0FBUyxZQUFZLGFBQWEsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUNwRixLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJ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LEVBQUUsQ0FBQzt3Q0FDakIsQ0FBQyxDQUFDLENBQUM7b0NBQ1gsQ0FBQztpQ0FDSjs2QkFDSjt5QkFDSixDQUFDLENBQUM7cUJBQ047aUJBQ0o7cUJBQU07b0JBQ0gsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekM7WUFDTCxDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3Byb3NlbWlycm9yLW1lbnUnO1xyXG5pbXBvcnQgeyBOb2RlLCBOb2RlVHlwZSB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcclxuaW1wb3J0IHsgRWRpdG9yU3RhdGUsIE5vZGVTZWxlY3Rpb24sIFBsdWdpbiwgVHJhbnNhY3Rpb24gfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XHJcbmltcG9ydCB7XHJcbiAgICBhZGRDb2x1bW5BZnRlcixcclxuICAgIGFkZENvbHVtbkJlZm9yZSxcclxuICAgIGFkZFJvd0FmdGVyLFxyXG4gICAgYWRkUm93QmVmb3JlLFxyXG4gICAgZGVsZXRlQ29sdW1uLFxyXG4gICAgZGVsZXRlUm93LFxyXG4gICAgZGVsZXRlVGFibGUsXHJcbiAgICBtZXJnZUNlbGxzLFxyXG4gICAgc3BsaXRDZWxsLFxyXG4gICAgdG9nZ2xlSGVhZGVyQ29sdW1uLFxyXG4gICAgdG9nZ2xlSGVhZGVyUm93LFxyXG59IGZyb20gJ3Byb3NlbWlycm9yLXRhYmxlcyc7XHJcbmltcG9ydCB7IEVkaXRvclZpZXcgfSBmcm9tICdwcm9zZW1pcnJvci12aWV3JztcclxuXHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICAgIEV4dGVybmFsSW1hZ2VBdHRycyxcclxuICAgIEV4dGVybmFsSW1hZ2VEaWFsb2dDb21wb25lbnQsXHJcbn0gZnJvbSAnLi4vLi4vZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nL2V4dGVybmFsLWltYWdlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSYXdIdG1sRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcmF3LWh0bWwtZGlhbG9nL3Jhdy1odG1sLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250ZXh0TWVudUl0ZW0sIENvbnRleHRNZW51U2VydmljZSB9IGZyb20gJy4uL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7IGNhbkluc2VydCwgcmVuZGVyQ2xhcml0eUljb24gfSBmcm9tICcuLi9tZW51L21lbnUtY29tbW9uJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRJbWFnZUl0ZW0obm9kZVR5cGU6IE5vZGVUeXBlLCBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSkge1xyXG4gICAgcmV0dXJuIG5ldyBNZW51SXRlbSh7XHJcbiAgICAgICAgdGl0bGU6ICdJbnNlcnQgaW1hZ2UnLFxyXG4gICAgICAgIGxhYmVsOiAnSW1hZ2UnLFxyXG4gICAgICAgIHJlbmRlcjogcmVuZGVyQ2xhcml0eUljb24oeyBzaGFwZTogJ2ltYWdlJywgbGFiZWw6ICdJbWFnZScgfSksXHJcbiAgICAgICAgY2xhc3M6ICcnLFxyXG4gICAgICAgIGNzczogJycsXHJcbiAgICAgICAgZW5hYmxlKHN0YXRlOiBFZGl0b3JTdGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FuSW5zZXJ0KHN0YXRlLCBub2RlVHlwZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBydW4oc3RhdGU6IEVkaXRvclN0YXRlLCBfLCB2aWV3OiBFZGl0b3JWaWV3KSB7XHJcbiAgICAgICAgICAgIGxldCBhdHRyczogRXh0ZXJuYWxJbWFnZUF0dHJzIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBpZiAoc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2YgTm9kZVNlbGVjdGlvbiAmJiBzdGF0ZS5zZWxlY3Rpb24ubm9kZS50eXBlID09PSBub2RlVHlwZSkge1xyXG4gICAgICAgICAgICAgICAgYXR0cnMgPSBzdGF0ZS5zZWxlY3Rpb24ubm9kZS5hdHRycyBhcyBFeHRlcm5hbEltYWdlQXR0cnM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAuZnJvbUNvbXBvbmVudChFeHRlcm5hbEltYWdlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nOiBhdHRycyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlldy5kaXNwYXRjaCh2aWV3LnN0YXRlLnRyLnJlcGxhY2VTZWxlY3Rpb25XaXRoKG5vZGVUeXBlLmNyZWF0ZUFuZEZpbGwocmVzdWx0KSEpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdmlldy5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaW1hZ2VDb250ZXh0TWVudVBsdWdpbiA9IChjb250ZXh0TWVudVNlcnZpY2U6IENvbnRleHRNZW51U2VydmljZSwgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UpID0+XHJcbiAgICBuZXcgUGx1Z2luKHtcclxuICAgICAgICB2aWV3OiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB1cGRhdGU6IHZpZXcgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdmlldy5oYXNGb2N1cygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBkb2MsIHNlbGVjdGlvbiB9ID0gdmlldy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaW1hZ2VOb2RlOiBOb2RlIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpbWFnZU5vZGVQb3MgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvYy5ub2Rlc0JldHdlZW4oc2VsZWN0aW9uLmZyb20sIHNlbGVjdGlvbi50bywgKG4sIHBvcywgcGFyZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuLnR5cGUubmFtZSA9PT0gJ2ltYWdlJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VOb2RlID0gbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlTm9kZVBvcyA9IHBvcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbWFnZU5vZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHZpZXcubm9kZURPTShpbWFnZU5vZGVQb3MpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51U2VydmljZS5zZXRDb250ZXh0TWVudSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiBzZWxlY3Rpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdJbWFnZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblNoYXBlOiAnaW1hZ2UnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IG5vZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29vcmRzOiB2aWV3LmNvb3Jkc0F0UG9zKGltYWdlTm9kZVBvcyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TaGFwZTogJ2ltYWdlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW1hZ2UgcHJvcGVydGllcycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dE1lbnVTZXJ2aWNlLmNsZWFyQ29udGV4dE1lbnUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZyb21Db21wb25lbnQoRXh0ZXJuYWxJbWFnZURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbm9uLW51bGwtYXNzZXJ0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhpc3Rpbmc6IGltYWdlTm9kZSEuYXR0cnMgYXMgRXh0ZXJuYWxJbWFnZUF0dHJzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3LmRpc3BhdGNoKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3LnN0YXRlLnRyLnJlcGxhY2VTZWxlY3Rpb25XaXRoKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VOb2RlIS50eXBlLmNyZWF0ZUFuZEZpbGwocmVzdWx0KSEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXcuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51U2VydmljZS5jbGVhckNvbnRleHRNZW51KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiJdfQ==
|
|
File without changes
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { DOMParser, DOMSerializer } from 'prosemirror-model';
|
|
2
|
+
import { Plugin } from 'prosemirror-state';
|
|
3
|
+
import { RawHtmlDialogComponent } from '../../raw-html-dialog/raw-html-dialog.component';
|
|
4
|
+
/**
|
|
5
|
+
* Implements editing of raw HTML for the selected node in the editor.
|
|
6
|
+
*/
|
|
7
|
+
export const rawEditorPlugin = (contextMenuService, modalService) => new Plugin({
|
|
8
|
+
view: _view => {
|
|
9
|
+
const domParser = DOMParser.fromSchema(_view.state.schema);
|
|
10
|
+
const domSerializer = DOMSerializer.fromSchema(_view.state.schema);
|
|
11
|
+
return {
|
|
12
|
+
update: view => {
|
|
13
|
+
if (!view.hasFocus()) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
let topLevelNode;
|
|
17
|
+
const { doc, selection } = view.state;
|
|
18
|
+
let topLevelNodePos = 0;
|
|
19
|
+
doc.nodesBetween(selection.from, selection.to, (n, pos, parent) => {
|
|
20
|
+
if (parent === doc) {
|
|
21
|
+
topLevelNode = n;
|
|
22
|
+
topLevelNodePos = pos;
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
if (topLevelNode) {
|
|
27
|
+
const node = view.nodeDOM(topLevelNodePos);
|
|
28
|
+
if (node instanceof HTMLElement) {
|
|
29
|
+
contextMenuService.setContextMenu({
|
|
30
|
+
ref: selection,
|
|
31
|
+
title: '',
|
|
32
|
+
// iconShape: 'ellipsis-vertical',
|
|
33
|
+
element: node,
|
|
34
|
+
coords: view.coordsAtPos(topLevelNodePos),
|
|
35
|
+
items: [
|
|
36
|
+
{
|
|
37
|
+
enabled: true,
|
|
38
|
+
iconShape: 'code',
|
|
39
|
+
label: 'Edit HTML',
|
|
40
|
+
onClick: () => {
|
|
41
|
+
contextMenuService.clearContextMenu();
|
|
42
|
+
const element = domSerializer.serializeNode(
|
|
43
|
+
// tslint:disable-next-line:no-non-null-assertion
|
|
44
|
+
topLevelNode);
|
|
45
|
+
modalService
|
|
46
|
+
.fromComponent(RawHtmlDialogComponent, {
|
|
47
|
+
size: 'xl',
|
|
48
|
+
locals: {
|
|
49
|
+
html: element.outerHTML,
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
.subscribe(result => {
|
|
53
|
+
if (result) {
|
|
54
|
+
const domNode = htmlToDomNode(result, topLevelNode?.isLeaf ? undefined : node);
|
|
55
|
+
if (domNode) {
|
|
56
|
+
let tr = view.state.tr;
|
|
57
|
+
const parsedNodeSlice = domParser.parse(domNode);
|
|
58
|
+
try {
|
|
59
|
+
tr = tr.replaceRangeWith(topLevelNodePos, topLevelNodePos +
|
|
60
|
+
(topLevelNode?.nodeSize ?? 0), parsedNodeSlice);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
// tslint:disable-next-line:no-console
|
|
64
|
+
console.error(err);
|
|
65
|
+
}
|
|
66
|
+
view.dispatch(tr);
|
|
67
|
+
view.focus();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
function htmlToDomNode(html, wrapInParent) {
|
|
82
|
+
html = `${html.trim()}`;
|
|
83
|
+
const template = document.createElement('template');
|
|
84
|
+
if (wrapInParent) {
|
|
85
|
+
const parentClone = wrapInParent.cloneNode(false);
|
|
86
|
+
parentClone.innerHTML = html;
|
|
87
|
+
template.content.appendChild(parentClone);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const parent = document.createElement('p');
|
|
91
|
+
parent.innerHTML = html;
|
|
92
|
+
template.content.appendChild(parent);
|
|
93
|
+
}
|
|
94
|
+
return template.content.firstChild;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LWVkaXRvci1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvcGx1Z2lucy9yYXctZWRpdG9yLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUd6Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLGtCQUFzQyxFQUFFLFlBQTBCLEVBQUUsRUFBRSxDQUNsRyxJQUFJLE1BQU0sQ0FBQztJQUNQLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTtRQUNWLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkUsT0FBTztZQUNILE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNsQixPQUFPO2lCQUNWO2dCQUNELElBQUksWUFBOEIsQ0FBQztnQkFDbkMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUN0QyxJQUFJLGVBQWUsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtvQkFDOUQsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO3dCQUNoQixZQUFZLEdBQUcsQ0FBQyxDQUFDO3dCQUNqQixlQUFlLEdBQUcsR0FBRyxDQUFDO3dCQUN0QixPQUFPLEtBQUssQ0FBQztxQkFDaEI7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxZQUFZLEVBQUU7b0JBQ2QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDM0MsSUFBSSxJQUFJLFlBQVksV0FBVyxFQUFFO3dCQUM3QixrQkFBa0IsQ0FBQyxjQUFjLENBQUM7NEJBQzlCLEdBQUcsRUFBRSxTQUFTOzRCQUNkLEtBQUssRUFBRSxFQUFFOzRCQUNULGtDQUFrQzs0QkFDbEMsT0FBTyxFQUFFLElBQUk7NEJBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDOzRCQUN6QyxLQUFLLEVBQUU7Z0NBQ0g7b0NBQ0ksT0FBTyxFQUFFLElBQUk7b0NBQ2IsU0FBUyxFQUFFLE1BQU07b0NBQ2pCLEtBQUssRUFBRSxXQUFXO29DQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO3dDQUNWLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLENBQUM7d0NBQ3RDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxhQUFhO3dDQUN2QyxpREFBaUQ7d0NBQ2pELFlBQWEsQ0FDRCxDQUFDO3dDQUNqQixZQUFZOzZDQUNQLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRTs0Q0FDbkMsSUFBSSxFQUFFLElBQUk7NENBQ1YsTUFBTSxFQUFFO2dEQUNKLElBQUksRUFBRSxPQUFPLENBQUMsU0FBUzs2Q0FDMUI7eUNBQ0osQ0FBQzs2Q0FDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7NENBQ2hCLElBQUksTUFBTSxFQUFFO2dEQUNSLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FDekIsTUFBTSxFQUNOLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxQyxDQUFDO2dEQUNGLElBQUksT0FBTyxFQUFFO29EQUNULElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29EQUN2QixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29EQUNqRCxJQUFJO3dEQUNBLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQ3BCLGVBQWUsRUFDZixlQUFlOzREQUNYLENBQUMsWUFBWSxFQUFFLFFBQVEsSUFBSSxDQUFDLENBQUMsRUFDakMsZUFBZSxDQUNsQixDQUFDO3FEQUNMO29EQUFDLE9BQU8sR0FBUSxFQUFFO3dEQUNmLHNDQUFzQzt3REFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztxREFDdEI7b0RBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztvREFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2lEQUNoQjs2Q0FDSjt3Q0FDTCxDQUFDLENBQUMsQ0FBQztvQ0FDWCxDQUFDO2lDQUNKOzZCQUNKO3lCQUNKLENBQUMsQ0FBQztxQkFDTjtpQkFDSjtZQUNMLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVQLFNBQVMsYUFBYSxDQUFDLElBQVksRUFBRSxZQUEwQjtJQUMzRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUN4QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELElBQUksWUFBWSxFQUFFO1FBQ2QsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQWdCLENBQUM7UUFDakUsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDN0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDN0M7U0FBTTtRQUNILE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDeEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDeEM7SUFDRCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET01QYXJzZXIsIERPTVNlcmlhbGl6ZXIsIE5vZGUgfSBmcm9tICdwcm9zZW1pcnJvci1tb2RlbCc7XHJcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcclxuaW1wb3J0IHsgUHJvdG9jb2wgfSBmcm9tICdwdXBwZXRlZXInO1xyXG5cclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSYXdIdG1sRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcmF3LWh0bWwtZGlhbG9nL3Jhdy1odG1sLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250ZXh0TWVudVNlcnZpY2UgfSBmcm9tICcuLi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEltcGxlbWVudHMgZWRpdGluZyBvZiByYXcgSFRNTCBmb3IgdGhlIHNlbGVjdGVkIG5vZGUgaW4gdGhlIGVkaXRvci5cclxuICovXHJcbmV4cG9ydCBjb25zdCByYXdFZGl0b3JQbHVnaW4gPSAoY29udGV4dE1lbnVTZXJ2aWNlOiBDb250ZXh0TWVudVNlcnZpY2UsIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSA9PlxyXG4gICAgbmV3IFBsdWdpbih7XHJcbiAgICAgICAgdmlldzogX3ZpZXcgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBkb21QYXJzZXIgPSBET01QYXJzZXIuZnJvbVNjaGVtYShfdmlldy5zdGF0ZS5zY2hlbWEpO1xyXG4gICAgICAgICAgICBjb25zdCBkb21TZXJpYWxpemVyID0gRE9NU2VyaWFsaXplci5mcm9tU2NoZW1hKF92aWV3LnN0YXRlLnNjaGVtYSk7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB1cGRhdGU6IHZpZXcgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdmlldy5oYXNGb2N1cygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRvcExldmVsTm9kZTogTm9kZSB8IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRvYywgc2VsZWN0aW9uIH0gPSB2aWV3LnN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0b3BMZXZlbE5vZGVQb3MgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvYy5ub2Rlc0JldHdlZW4oc2VsZWN0aW9uLmZyb20sIHNlbGVjdGlvbi50bywgKG4sIHBvcywgcGFyZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnQgPT09IGRvYykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wTGV2ZWxOb2RlID0gbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcExldmVsTm9kZVBvcyA9IHBvcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0b3BMZXZlbE5vZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHZpZXcubm9kZURPTSh0b3BMZXZlbE5vZGVQb3MpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0TWVudVNlcnZpY2Uuc2V0Q29udGV4dE1lbnUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2VsZWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpY29uU2hhcGU6ICdlbGxpcHNpcy12ZXJ0aWNhbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogbm9kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29yZHM6IHZpZXcuY29vcmRzQXRQb3ModG9wTGV2ZWxOb2RlUG9zKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblNoYXBlOiAnY29kZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0VkaXQgSFRNTCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dE1lbnVTZXJ2aWNlLmNsZWFyQ29udGV4dE1lbnUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9tU2VyaWFsaXplci5zZXJpYWxpemVOb2RlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbm9uLW51bGwtYXNzZXJ0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcExldmVsTm9kZSEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZyb21Db21wb25lbnQoUmF3SHRtbERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogJ3hsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6IGVsZW1lbnQub3V0ZXJIVE1MLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvbU5vZGUgPSBodG1sVG9Eb21Ob2RlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcExldmVsTm9kZT8uaXNMZWFmID8gdW5kZWZpbmVkIDogbm9kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkb21Ob2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0ciA9IHZpZXcuc3RhdGUudHI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZE5vZGVTbGljZSA9IGRvbVBhcnNlci5wYXJzZShkb21Ob2RlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyID0gdHIucmVwbGFjZVJhbmdlV2l0aChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3BMZXZlbE5vZGVQb3MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wTGV2ZWxOb2RlUG9zICtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRvcExldmVsTm9kZT8ubm9kZVNpemUgPz8gMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VkTm9kZVNsaWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1jb25zb2xlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldy5kaXNwYXRjaCh0cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXcuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbmZ1bmN0aW9uIGh0bWxUb0RvbU5vZGUoaHRtbDogc3RyaW5nLCB3cmFwSW5QYXJlbnQ/OiBIVE1MRWxlbWVudCkge1xyXG4gICAgaHRtbCA9IGAke2h0bWwudHJpbSgpfWA7XHJcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RlbXBsYXRlJyk7XHJcbiAgICBpZiAod3JhcEluUGFyZW50KSB7XHJcbiAgICAgICAgY29uc3QgcGFyZW50Q2xvbmUgPSB3cmFwSW5QYXJlbnQuY2xvbmVOb2RlKGZhbHNlKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBwYXJlbnRDbG9uZS5pbm5lckhUTUwgPSBodG1sO1xyXG4gICAgICAgIHRlbXBsYXRlLmNvbnRlbnQuYXBwZW5kQ2hpbGQocGFyZW50Q2xvbmUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7XHJcbiAgICAgICAgcGFyZW50LmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICAgICAgdGVtcGxhdGUuY29udGVudC5hcHBlbmRDaGlsZChwYXJlbnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RDaGlsZDtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { MenuItem } from 'prosemirror-menu';
|
|
2
|
+
import { Plugin, TextSelection } from 'prosemirror-state';
|
|
3
|
+
import { addColumnAfter, addColumnBefore, addRowAfter, addRowBefore, deleteColumn, deleteRow, deleteTable, isInTable, mergeCells, splitCell, tableNodes, tableNodeTypes, toggleHeaderCell, toggleHeaderColumn, toggleHeaderRow, } from 'prosemirror-tables';
|
|
4
|
+
import { renderClarityIcon } from '../menu/menu-common';
|
|
5
|
+
export const tableContextMenuPlugin = (contextMenuService) => new Plugin({
|
|
6
|
+
view: () => {
|
|
7
|
+
return {
|
|
8
|
+
update: view => {
|
|
9
|
+
if (!view.hasFocus()) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const { doc, selection } = view.state;
|
|
13
|
+
let tableNode;
|
|
14
|
+
let tableNodePos = 0;
|
|
15
|
+
doc.nodesBetween(selection.from, selection.to, (n, pos, parent) => {
|
|
16
|
+
if (n.type.name === 'table') {
|
|
17
|
+
tableNode = n;
|
|
18
|
+
tableNodePos = pos;
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
if (tableNode) {
|
|
23
|
+
const node = view.nodeDOM(tableNodePos);
|
|
24
|
+
if (node instanceof Element) {
|
|
25
|
+
function createMenuItem(label, commandFn, iconClass) {
|
|
26
|
+
const enabled = commandFn(view.state);
|
|
27
|
+
return {
|
|
28
|
+
label,
|
|
29
|
+
enabled,
|
|
30
|
+
iconClass,
|
|
31
|
+
onClick: () => {
|
|
32
|
+
contextMenuService.clearContextMenu();
|
|
33
|
+
view.focus();
|
|
34
|
+
commandFn(view.state, view.dispatch);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const separator = {
|
|
39
|
+
label: '',
|
|
40
|
+
separator: true,
|
|
41
|
+
enabled: true,
|
|
42
|
+
onClick: () => {
|
|
43
|
+
/**/
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
contextMenuService.setContextMenu({
|
|
47
|
+
ref: selection,
|
|
48
|
+
title: 'Table',
|
|
49
|
+
iconShape: 'table',
|
|
50
|
+
element: node,
|
|
51
|
+
coords: view.coordsAtPos(tableNodePos),
|
|
52
|
+
items: [
|
|
53
|
+
createMenuItem('Insert column before', addColumnBefore, 'add-column'),
|
|
54
|
+
createMenuItem('Insert column after', addColumnAfter, 'add-column'),
|
|
55
|
+
createMenuItem('Insert row before', addRowBefore, 'add-row'),
|
|
56
|
+
createMenuItem('Insert row after', addRowAfter, 'add-row'),
|
|
57
|
+
createMenuItem('Merge cells', mergeCells),
|
|
58
|
+
createMenuItem('Split cell', splitCell),
|
|
59
|
+
separator,
|
|
60
|
+
createMenuItem('Toggle header column', toggleHeaderColumn),
|
|
61
|
+
createMenuItem('Toggle header row', toggleHeaderRow),
|
|
62
|
+
separator,
|
|
63
|
+
createMenuItem('Delete column', deleteColumn),
|
|
64
|
+
createMenuItem('Delete row', deleteRow),
|
|
65
|
+
createMenuItem('Delete table', deleteTable),
|
|
66
|
+
],
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
contextMenuService.clearContextMenu();
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
export function getTableNodes() {
|
|
78
|
+
return tableNodes({
|
|
79
|
+
tableGroup: 'block',
|
|
80
|
+
cellContent: 'block+',
|
|
81
|
+
cellAttributes: {
|
|
82
|
+
background: {
|
|
83
|
+
default: null,
|
|
84
|
+
getFromDOM(dom) {
|
|
85
|
+
return dom.style.backgroundColor || null;
|
|
86
|
+
},
|
|
87
|
+
setDOMAttr(value, attrs) {
|
|
88
|
+
if (value) {
|
|
89
|
+
attrs.style = (attrs.style || '') + `background-color: ${value};`;
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
export function getTableMenu(schema) {
|
|
97
|
+
function item(label, cmd, iconShape) {
|
|
98
|
+
return new MenuItem({
|
|
99
|
+
label,
|
|
100
|
+
select: cmd,
|
|
101
|
+
run: cmd,
|
|
102
|
+
render: iconShape ? renderClarityIcon({ shape: iconShape, label }) : undefined,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function separator() {
|
|
106
|
+
return new MenuItem({
|
|
107
|
+
select: state => isInTable(state),
|
|
108
|
+
run: state => {
|
|
109
|
+
/**/
|
|
110
|
+
},
|
|
111
|
+
render: view => {
|
|
112
|
+
const el = document.createElement('div');
|
|
113
|
+
el.classList.add('menu-separator');
|
|
114
|
+
return el;
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return [
|
|
119
|
+
item('Insert column before', addColumnBefore),
|
|
120
|
+
item('Insert column after', addColumnAfter),
|
|
121
|
+
item('Insert row before', addRowBefore),
|
|
122
|
+
item('Insert row after', addRowAfter),
|
|
123
|
+
item('Merge cells', mergeCells),
|
|
124
|
+
item('Split cell', splitCell),
|
|
125
|
+
separator(),
|
|
126
|
+
item('Toggle header column', toggleHeaderColumn),
|
|
127
|
+
item('Toggle header row', toggleHeaderRow),
|
|
128
|
+
item('Toggle header cells', toggleHeaderCell),
|
|
129
|
+
separator(),
|
|
130
|
+
item('Delete column', deleteColumn),
|
|
131
|
+
item('Delete row', deleteRow),
|
|
132
|
+
item('Delete table', deleteTable),
|
|
133
|
+
];
|
|
134
|
+
}
|
|
135
|
+
export function addTable(state, dispatch, { rowsCount, colsCount, withHeaderRow, cellContent }) {
|
|
136
|
+
const offset = state.tr.selection.anchor + 1;
|
|
137
|
+
const nodes = createTable(state, rowsCount, colsCount, withHeaderRow, cellContent);
|
|
138
|
+
const tr = state.tr.replaceSelectionWith(nodes).scrollIntoView();
|
|
139
|
+
const resolvedPos = tr.doc.resolve(offset);
|
|
140
|
+
tr.setSelection(TextSelection.near(resolvedPos));
|
|
141
|
+
dispatch(tr);
|
|
142
|
+
}
|
|
143
|
+
function createTable(state, rowsCount, colsCount, withHeaderRow, cellContent) {
|
|
144
|
+
const types = tableNodeTypes(state.schema);
|
|
145
|
+
const headerCells = [];
|
|
146
|
+
const cells = [];
|
|
147
|
+
const createCell = (cellType, _cellContent) => _cellContent ? cellType.createChecked(null, _cellContent) : cellType.createAndFill();
|
|
148
|
+
for (let index = 0; index < colsCount; index += 1) {
|
|
149
|
+
const cell = createCell(types.cell, cellContent);
|
|
150
|
+
if (cell) {
|
|
151
|
+
cells.push(cell);
|
|
152
|
+
}
|
|
153
|
+
if (withHeaderRow) {
|
|
154
|
+
const headerCell = createCell(types.header_cell, cellContent);
|
|
155
|
+
if (headerCell) {
|
|
156
|
+
headerCells.push(headerCell);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const rows = [];
|
|
161
|
+
for (let index = 0; index < rowsCount; index += 1) {
|
|
162
|
+
rows.push(types.row.createChecked(null, withHeaderRow && index === 0 ? headerCells : cells));
|
|
163
|
+
}
|
|
164
|
+
return types.table.createChecked(null, rows);
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9wbHVnaW5zL3RhYmxlcy1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELE9BQU8sRUFBZSxNQUFNLEVBQUUsYUFBYSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDcEYsT0FBTyxFQUNILGNBQWMsRUFDZCxlQUFlLEVBQ2YsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBSzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsa0JBQXNDLEVBQUUsRUFBRSxDQUM3RSxJQUFJLE1BQU0sQ0FBQztJQUNQLElBQUksRUFBRSxHQUFHLEVBQUU7UUFDUCxPQUFPO1lBQ0gsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ2xCLE9BQU87aUJBQ1Y7Z0JBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUN0QyxJQUFJLFNBQTJCLENBQUM7Z0JBQ2hDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztnQkFDckIsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNB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QUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxhQUFhLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQ2hHO0lBRUQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVFbGVtZW50LCBNZW51SXRlbSB9IGZyb20gJ3Byb3NlbWlycm9yLW1lbnUnO1xyXG5pbXBvcnQgeyBOb2RlLCBTY2hlbWEgfSBmcm9tICdwcm9zZW1pcnJvci1tb2RlbCc7XHJcbmltcG9ydCB7IEVkaXRvclN0YXRlLCBQbHVnaW4sIFRleHRTZWxlY3Rpb24sIFRyYW5zYWN0aW9uIH0gZnJvbSAncHJvc2VtaXJyb3Itc3RhdGUnO1xyXG5pbXBvcnQge1xyXG4gICAgYWRkQ29sdW1uQWZ0ZXIsXHJcbiAgICBhZGRDb2x1bW5CZWZvcmUsXHJcbiAgICBhZGRSb3dBZnRlcixcclxuICAgIGFkZFJvd0JlZm9yZSxcclxuICAgIGRlbGV0ZUNvbHVtbixcclxuICAgIGRlbGV0ZVJvdyxcclxuICAgIGRlbGV0ZVRhYmxlLFxyXG4gICAgaXNJblRhYmxlLFxyXG4gICAgbWVyZ2VDZWxscyxcclxuICAgIHNwbGl0Q2VsbCxcclxuICAgIHRhYmxlTm9kZXMsXHJcbiAgICB0YWJsZU5vZGVUeXBlcyxcclxuICAgIHRvZ2dsZUhlYWRlckNlbGwsXHJcbiAgICB0b2dnbGVIZWFkZXJDb2x1bW4sXHJcbiAgICB0b2dnbGVIZWFkZXJSb3csXHJcbn0gZnJvbSAncHJvc2VtaXJyb3ItdGFibGVzJztcclxuaW1wb3J0IHsgRGVjb3JhdGlvbiwgRGVjb3JhdGlvblNldCB9IGZyb20gJ3Byb3NlbWlycm9yLXZpZXcnO1xyXG5cclxuaW1wb3J0IHsgQ29udGV4dE1lbnVJdGVtLCBDb250ZXh0TWVudVNlcnZpY2UgfSBmcm9tICcuLi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBidWlsZE1lbnVJdGVtcyB9IGZyb20gJy4uL21lbnUvbWVudSc7XHJcbmltcG9ydCB7IHJlbmRlckNsYXJpdHlJY29uIH0gZnJvbSAnLi4vbWVudS9tZW51LWNvbW1vbic7XHJcblxyXG5leHBvcnQgY29uc3QgdGFibGVDb250ZXh0TWVudVBsdWdpbiA9IChjb250ZXh0TWVudVNlcnZpY2U6IENvbnRleHRNZW51U2VydmljZSkgPT5cclxuICAgIG5ldyBQbHVnaW4oe1xyXG4gICAgICAgIHZpZXc6ICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZTogdmlldyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2aWV3Lmhhc0ZvY3VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRvYywgc2VsZWN0aW9uIH0gPSB2aWV3LnN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0YWJsZU5vZGU6IE5vZGUgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRhYmxlTm9kZVBvcyA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jLm5vZGVzQmV0d2VlbihzZWxlY3Rpb24uZnJvbSwgc2VsZWN0aW9uLnRvLCAobiwgcG9zLCBwYXJlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4udHlwZS5uYW1lID09PSAndGFibGUnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZU5vZGUgPSBuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVOb2RlUG9zID0gcG9zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhYmxlTm9kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gdmlldy5ub2RlRE9NKHRhYmxlTm9kZVBvcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlIGluc3RhbmNlb2YgRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY3JlYXRlTWVudUl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kRm46IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IEVkaXRvclN0YXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD86ICh0cjogVHJhbnNhY3Rpb24pID0+IHZvaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA9PiBib29sZWFuLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz86IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk6IENvbnRleHRNZW51SXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5hYmxlZCA9IGNvbW1hbmRGbih2aWV3LnN0YXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0TWVudVNlcnZpY2UuY2xlYXJDb250ZXh0TWVudSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldy5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZEZuKHZpZXcuc3RhdGUsIHZpZXcuZGlzcGF0Y2gpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXBhcmF0b3I6IENvbnRleHRNZW51SXRlbSA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0TWVudVNlcnZpY2Uuc2V0Q29udGV4dE1lbnUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2VsZWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnVGFibGUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TaGFwZTogJ3RhYmxlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBub2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkczogdmlldy5jb29yZHNBdFBvcyh0YWJsZU5vZGVQb3MpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1lbnVJdGVtKCdJbnNlcnQgY29sdW1uIGJlZm9yZScsIGFkZENvbHVtbkJlZm9yZSwgJ2FkZC1jb2x1bW4nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWVudUl0ZW0oJ0luc2VydCBjb2x1bW4gYWZ0ZXInLCBhZGRDb2x1bW5BZnRlciwgJ2FkZC1jb2x1bW4nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWVudUl0ZW0oJ0luc2VydCByb3cgYmVmb3JlJywgYWRkUm93QmVmb3JlLCAnYWRkLXJvdycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVNZW51SXRlbSgnSW5zZXJ0IHJvdyBhZnRlcicsIGFkZFJvd0FmdGVyLCAnYWRkLXJvdycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVNZW51SXRlbSgnTWVyZ2UgY2VsbHMnLCBtZXJnZUNlbGxzKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWVudUl0ZW0oJ1NwbGl0IGNlbGwnLCBzcGxpdENlbGwpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1lbnVJdGVtKCdUb2dnbGUgaGVhZGVyIGNvbHVtbicsIHRvZ2dsZUhlYWRlckNvbHVtbiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1lbnVJdGVtKCdUb2dnbGUgaGVhZGVyIHJvdycsIHRvZ2dsZUhlYWRlclJvdyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTWVudUl0ZW0oJ0RlbGV0ZSBjb2x1bW4nLCBkZWxldGVDb2x1bW4pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVNZW51SXRlbSgnRGVsZXRlIHJvdycsIGRlbGV0ZVJvdyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU1lbnVJdGVtKCdEZWxldGUgdGFibGUnLCBkZWxldGVUYWJsZSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dE1lbnVTZXJ2aWNlLmNsZWFyQ29udGV4dE1lbnUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZU5vZGVzKCkge1xyXG4gICAgcmV0dXJuIHRhYmxlTm9kZXMoe1xyXG4gICAgICAgIHRhYmxlR3JvdXA6ICdibG9jaycsXHJcbiAgICAgICAgY2VsbENvbnRlbnQ6ICdibG9jaysnLFxyXG4gICAgICAgIGNlbGxBdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBnZXRGcm9tRE9NKGRvbSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoZG9tIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgfHwgbnVsbDtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzZXRET01BdHRyKHZhbHVlLCBhdHRycykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRycy5zdHlsZSA9IChhdHRycy5zdHlsZSB8fCAnJykgKyBgYmFja2dyb3VuZC1jb2xvcjogJHt2YWx1ZX07YDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhYmxlTWVudShzY2hlbWE6IFNjaGVtYSkge1xyXG4gICAgZnVuY3Rpb24gaXRlbShcclxuICAgICAgICBsYWJlbDogc3RyaW5nLFxyXG4gICAgICAgIGNtZDogKHN0YXRlOiBFZGl0b3JTdGF0ZSwgZGlzcGF0Y2g/OiAodHI6IFRyYW5zYWN0aW9uKSA9PiB2b2lkKSA9PiBib29sZWFuLFxyXG4gICAgICAgIGljb25TaGFwZT86IHN0cmluZyxcclxuICAgICkge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWVudUl0ZW0oe1xyXG4gICAgICAgICAgICBsYWJlbCxcclxuICAgICAgICAgICAgc2VsZWN0OiBjbWQsXHJcbiAgICAgICAgICAgIHJ1bjogY21kLFxyXG4gICAgICAgICAgICByZW5kZXI6IGljb25TaGFwZSA/IHJlbmRlckNsYXJpdHlJY29uKHsgc2hhcGU6IGljb25TaGFwZSwgbGFiZWwgfSkgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gc2VwYXJhdG9yKCk6IE1lbnVFbGVtZW50IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1lbnVJdGVtKHtcclxuICAgICAgICAgICAgc2VsZWN0OiBzdGF0ZSA9PiBpc0luVGFibGUoc3RhdGUpLFxyXG4gICAgICAgICAgICBydW46IHN0YXRlID0+IHtcclxuICAgICAgICAgICAgICAgIC8qKi9cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcmVuZGVyOiB2aWV3ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKCdtZW51LXNlcGFyYXRvcicpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXHJcbiAgICAgICAgaXRlbSgnSW5zZXJ0IGNvbHVtbiBiZWZvcmUnLCBhZGRDb2x1bW5CZWZvcmUpLFxyXG4gICAgICAgIGl0ZW0oJ0luc2VydCBjb2x1bW4gYWZ0ZXInLCBhZGRDb2x1bW5BZnRlciksXHJcbiAgICAgICAgaXRlbSgnSW5zZXJ0IHJvdyBiZWZvcmUnLCBhZGRSb3dCZWZvcmUpLFxyXG4gICAgICAgIGl0ZW0oJ0luc2VydCByb3cgYWZ0ZXInLCBhZGRSb3dBZnRlciksXHJcbiAgICAgICAgaXRlbSgnTWVyZ2UgY2VsbHMnLCBtZXJnZUNlbGxzKSxcclxuICAgICAgICBpdGVtKCdTcGxpdCBjZWxsJywgc3BsaXRDZWxsKSxcclxuICAgICAgICBzZXBhcmF0b3IoKSxcclxuICAgICAgICBpdGVtKCdUb2dnbGUgaGVhZGVyIGNvbHVtbicsIHRvZ2dsZUhlYWRlckNvbHVtbiksXHJcbiAgICAgICAgaXRlbSgnVG9nZ2xlIGhlYWRlciByb3cnLCB0b2dnbGVIZWFkZXJSb3cpLFxyXG4gICAgICAgIGl0ZW0oJ1RvZ2dsZSBoZWFkZXIgY2VsbHMnLCB0b2dnbGVIZWFkZXJDZWxsKSxcclxuICAgICAgICBzZXBhcmF0b3IoKSxcclxuICAgICAgICBpdGVtKCdEZWxldGUgY29sdW1uJywgZGVsZXRlQ29sdW1uKSxcclxuICAgICAgICBpdGVtKCdEZWxldGUgcm93JywgZGVsZXRlUm93KSxcclxuICAgICAgICBpdGVtKCdEZWxldGUgdGFibGUnLCBkZWxldGVUYWJsZSksXHJcbiAgICBdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRkVGFibGUoc3RhdGUsIGRpc3BhdGNoLCB7IHJvd3NDb3VudCwgY29sc0NvdW50LCB3aXRoSGVhZGVyUm93LCBjZWxsQ29udGVudCB9KSB7XHJcbiAgICBjb25zdCBvZmZzZXQgPSBzdGF0ZS50ci5zZWxlY3Rpb24uYW5jaG9yICsgMTtcclxuXHJcbiAgICBjb25zdCBub2RlcyA9IGNyZWF0ZVRhYmxlKHN0YXRlLCByb3dzQ291bnQsIGNvbHNDb3VudCwgd2l0aEhlYWRlclJvdywgY2VsbENvbnRlbnQpO1xyXG4gICAgY29uc3QgdHIgPSBzdGF0ZS50ci5yZXBsYWNlU2VsZWN0aW9uV2l0aChub2Rlcykuc2Nyb2xsSW50b1ZpZXcoKTtcclxuICAgIGNvbnN0IHJlc29sdmVkUG9zID0gdHIuZG9jLnJlc29sdmUob2Zmc2V0KTtcclxuXHJcbiAgICB0ci5zZXRTZWxlY3Rpb24oVGV4dFNlbGVjdGlvbi5uZWFyKHJlc29sdmVkUG9zKSk7XHJcblxyXG4gICAgZGlzcGF0Y2godHIpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVUYWJsZShzdGF0ZSwgcm93c0NvdW50LCBjb2xzQ291bnQsIHdpdGhIZWFkZXJSb3csIGNlbGxDb250ZW50KSB7XHJcbiAgICBjb25zdCB0eXBlcyA9IHRhYmxlTm9kZVR5cGVzKHN0YXRlLnNjaGVtYSk7XHJcbiAgICBjb25zdCBoZWFkZXJDZWxsczogTm9kZVtdID0gW107XHJcbiAgICBjb25zdCBjZWxsczogTm9kZVtdID0gW107XHJcbiAgICBjb25zdCBjcmVhdGVDZWxsID0gKGNlbGxUeXBlLCBfY2VsbENvbnRlbnQpID0+XHJcbiAgICAgICAgX2NlbGxDb250ZW50ID8gY2VsbFR5cGUuY3JlYXRlQ2hlY2tlZChudWxsLCBfY2VsbENvbnRlbnQpIDogY2VsbFR5cGUuY3JlYXRlQW5kRmlsbCgpO1xyXG5cclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb2xzQ291bnQ7IGluZGV4ICs9IDEpIHtcclxuICAgICAgICBjb25zdCBjZWxsID0gY3JlYXRlQ2VsbCh0eXBlcy5jZWxsLCBjZWxsQ29udGVudCk7XHJcblxyXG4gICAgICAgIGlmIChjZWxsKSB7XHJcbiAgICAgICAgICAgIGNlbGxzLnB1c2goY2VsbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAod2l0aEhlYWRlclJvdykge1xyXG4gICAgICAgICAgICBjb25zdCBoZWFkZXJDZWxsID0gY3JlYXRlQ2VsbCh0eXBlcy5oZWFkZXJfY2VsbCwgY2VsbENvbnRlbnQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGhlYWRlckNlbGwpIHtcclxuICAgICAgICAgICAgICAgIGhlYWRlckNlbGxzLnB1c2goaGVhZGVyQ2VsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgcm93czogTm9kZVtdID0gW107XHJcblxyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHJvd3NDb3VudDsgaW5kZXggKz0gMSkge1xyXG4gICAgICAgIHJvd3MucHVzaCh0eXBlcy5yb3cuY3JlYXRlQ2hlY2tlZChudWxsLCB3aXRoSGVhZGVyUm93ICYmIGluZGV4ID09PSAwID8gaGVhZGVyQ2VsbHMgOiBjZWxscykpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0eXBlcy50YWJsZS5jcmVhdGVDaGVja2VkKG51bGwsIHJvd3MpO1xyXG59XHJcbiJdfQ==
|
package/package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { baseKeymap } from 'prosemirror-commands';
|
|
3
|
+
import { dropCursor } from 'prosemirror-dropcursor';
|
|
4
|
+
import { gapCursor } from 'prosemirror-gapcursor';
|
|
5
|
+
import { history } from 'prosemirror-history';
|
|
6
|
+
import { keymap } from 'prosemirror-keymap';
|
|
7
|
+
import { DOMParser, DOMSerializer, Schema } from 'prosemirror-model';
|
|
8
|
+
import { schema } from 'prosemirror-schema-basic';
|
|
9
|
+
import { addListNodes } from 'prosemirror-schema-list';
|
|
10
|
+
import { EditorState, Plugin } from 'prosemirror-state';
|
|
11
|
+
import { columnResizing, fixTables, tableEditing } from 'prosemirror-tables';
|
|
12
|
+
import { EditorView } from 'prosemirror-view';
|
|
13
|
+
import { ModalService } from '../../../../providers/modal/modal.service';
|
|
14
|
+
import { iframeNode, iframeNodeView } from './custom-nodes';
|
|
15
|
+
import { buildInputRules } from './inputrules';
|
|
16
|
+
import { buildKeymap } from './keymap';
|
|
17
|
+
import { customMenuPlugin } from './menu/menu-plugin';
|
|
18
|
+
import { imageContextMenuPlugin } from './plugins/image-plugin';
|
|
19
|
+
import { linkSelectPlugin } from './plugins/link-select-plugin';
|
|
20
|
+
import { rawEditorPlugin } from './plugins/raw-editor-plugin';
|
|
21
|
+
import { getTableNodes, tableContextMenuPlugin } from './plugins/tables-plugin';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
import * as i1 from "./context-menu/context-menu.service";
|
|
24
|
+
export class ProsemirrorService {
|
|
25
|
+
constructor(injector, contextMenuService) {
|
|
26
|
+
this.injector = injector;
|
|
27
|
+
this.contextMenuService = contextMenuService;
|
|
28
|
+
// Mix the nodes from prosemirror-schema-list into the basic schema to
|
|
29
|
+
// create a schema with list support.
|
|
30
|
+
this.mySchema = new Schema({
|
|
31
|
+
nodes: addListNodes(schema.spec.nodes, 'paragraph block*', 'block')
|
|
32
|
+
.append(getTableNodes())
|
|
33
|
+
.addToEnd('iframe', iframeNode),
|
|
34
|
+
marks: schema.spec.marks,
|
|
35
|
+
});
|
|
36
|
+
this.enabled = true;
|
|
37
|
+
}
|
|
38
|
+
createEditorView(options) {
|
|
39
|
+
this.editorView = new EditorView(options.element, {
|
|
40
|
+
state: this.getStateFromText(''),
|
|
41
|
+
dispatchTransaction: tr => {
|
|
42
|
+
if (!this.enabled) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
this.editorView.updateState(this.editorView.state.apply(tr));
|
|
46
|
+
if (tr.docChanged) {
|
|
47
|
+
const content = this.getTextFromState(this.editorView.state);
|
|
48
|
+
options.onTextInput(content);
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
editable: () => options.isReadOnly(),
|
|
52
|
+
handleDOMEvents: {
|
|
53
|
+
focus: view => {
|
|
54
|
+
this.contextMenuService.setVisibility(true);
|
|
55
|
+
},
|
|
56
|
+
blur: view => {
|
|
57
|
+
this.contextMenuService.setVisibility(false);
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
nodeViews: {
|
|
61
|
+
iframe: iframeNodeView,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
update(text) {
|
|
66
|
+
if (this.editorView) {
|
|
67
|
+
const currentText = this.getTextFromState(this.editorView.state);
|
|
68
|
+
if (text !== currentText) {
|
|
69
|
+
let state = this.getStateFromText(text);
|
|
70
|
+
if (document.body.contains(this.editorView.dom)) {
|
|
71
|
+
const fix = fixTables(state);
|
|
72
|
+
if (fix)
|
|
73
|
+
state = state.apply(fix.setMeta('addToHistory', false));
|
|
74
|
+
this.editorView.updateState(state);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
destroy() {
|
|
80
|
+
if (this.editorView) {
|
|
81
|
+
this.editorView.destroy();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
setEnabled(enabled) {
|
|
85
|
+
if (this.editorView) {
|
|
86
|
+
this.enabled = enabled;
|
|
87
|
+
// Updating the state causes ProseMirror to check the
|
|
88
|
+
// `editable()` function from the contructor config object
|
|
89
|
+
// newly.
|
|
90
|
+
this.editorView.updateState(this.editorView.state);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
getStateFromText(text) {
|
|
94
|
+
const div = document.createElement('div');
|
|
95
|
+
div.innerHTML = text ?? '';
|
|
96
|
+
return EditorState.create({
|
|
97
|
+
doc: DOMParser.fromSchema(this.mySchema).parse(div),
|
|
98
|
+
plugins: this.configurePlugins({ schema: this.mySchema, floatingMenu: false }),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
getTextFromState(state) {
|
|
102
|
+
const div = document.createElement('div');
|
|
103
|
+
const fragment = DOMSerializer.fromSchema(this.mySchema).serializeFragment(state.doc.content);
|
|
104
|
+
div.appendChild(fragment);
|
|
105
|
+
return div.innerHTML;
|
|
106
|
+
}
|
|
107
|
+
configurePlugins(options) {
|
|
108
|
+
const plugins = [
|
|
109
|
+
buildInputRules(options.schema),
|
|
110
|
+
keymap(buildKeymap(options.schema, options.mapKeys)),
|
|
111
|
+
keymap(baseKeymap),
|
|
112
|
+
dropCursor(),
|
|
113
|
+
gapCursor(),
|
|
114
|
+
linkSelectPlugin,
|
|
115
|
+
columnResizing({}),
|
|
116
|
+
tableEditing({ allowTableNodeSelection: true }),
|
|
117
|
+
tableContextMenuPlugin(this.contextMenuService),
|
|
118
|
+
imageContextMenuPlugin(this.contextMenuService, this.injector.get(ModalService)),
|
|
119
|
+
rawEditorPlugin(this.contextMenuService, this.injector.get(ModalService)),
|
|
120
|
+
customMenuPlugin({
|
|
121
|
+
floatingMenu: options.floatingMenu,
|
|
122
|
+
injector: this.injector,
|
|
123
|
+
schema: options.schema,
|
|
124
|
+
}),
|
|
125
|
+
];
|
|
126
|
+
if (options.history !== false) {
|
|
127
|
+
plugins.push(history());
|
|
128
|
+
}
|
|
129
|
+
return plugins.concat(new Plugin({
|
|
130
|
+
props: {
|
|
131
|
+
attributes: { class: 'vdr-prosemirror' },
|
|
132
|
+
},
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
ProsemirrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ProsemirrorService, deps: [{ token: i0.Injector }, { token: i1.ContextMenuService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
137
|
+
ProsemirrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ProsemirrorService });
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ProsemirrorService, decorators: [{
|
|
139
|
+
type: Injectable
|
|
140
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.ContextMenuService }]; } });
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvc2VtaXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9wcm9zZW1pcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUd6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFj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TCxDQUFDO1FBQ0YsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRTtZQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDM0I7UUFFRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQ2pCLElBQUksTUFBTSxDQUFDO1lBQ1AsS0FBSyxFQUFFO2dCQUNILFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTthQUMzQztTQUNKLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7K0dBM0hRLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBiYXNlS2V5bWFwIH0gZnJvbSAncHJvc2VtaXJyb3ItY29tbWFuZHMnO1xyXG5pbXBvcnQgeyBkcm9wQ3Vyc29yIH0gZnJvbSAncHJvc2VtaXJyb3ItZHJvcGN1cnNvcic7XHJcbmltcG9ydCB7IGdhcEN1cnNvciB9IGZyb20gJ3Byb3NlbWlycm9yLWdhcGN1cnNvcic7XHJcbmltcG9ydCB7IGhpc3RvcnkgfSBmcm9tICdwcm9zZW1pcnJvci1oaXN0b3J5JztcclxuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSAncHJvc2VtaXJyb3Ita2V5bWFwJztcclxuaW1wb3J0IHsgRE9NUGFyc2VyLCBET01TZXJpYWxpemVyLCBTY2hlbWEgfSBmcm9tICdwcm9zZW1pcnJvci1tb2RlbCc7XHJcbmltcG9ydCB7IHNjaGVtYSB9IGZyb20gJ3Byb3NlbWlycm9yLXNjaGVtYS1iYXNpYyc7XHJcbmltcG9ydCB7IGFkZExpc3ROb2RlcyB9IGZyb20gJ3Byb3NlbWlycm9yLXNjaGVtYS1saXN0JztcclxuaW1wb3J0IHsgRWRpdG9yU3RhdGUsIFBsdWdpbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcclxuaW1wb3J0IHsgY29sdW1uUmVzaXppbmcsIGZpeFRhYmxlcywgdGFibGVFZGl0aW5nIH0gZnJvbSAncHJvc2VtaXJyb3ItdGFibGVzJztcclxuaW1wb3J0IHsgRWRpdG9yVmlldyB9IGZyb20gJ3Byb3NlbWlycm9yLXZpZXcnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0TWVudVNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7IGlmcmFtZU5vZGUsIGlmcmFtZU5vZGVWaWV3IH0gZnJvbSAnLi9jdXN0b20tbm9kZXMnO1xyXG5pbXBvcnQgeyBidWlsZElucHV0UnVsZXMgfSBmcm9tICcuL2lucHV0cnVsZXMnO1xyXG5pbXBvcnQgeyBidWlsZEtleW1hcCB9IGZyb20gJy4va2V5bWFwJztcclxuaW1wb3J0IHsgY3VzdG9tTWVudVBsdWdpbiB9IGZyb20gJy4vbWVudS9tZW51LXBsdWdpbic7XHJcbmltcG9ydCB7IGltYWdlQ29udGV4dE1lbnVQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvaW1hZ2UtcGx1Z2luJztcclxuaW1wb3J0IHsgbGlua1NlbGVjdFBsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9saW5rLXNlbGVjdC1wbHVnaW4nO1xyXG5pbXBvcnQgeyByYXdFZGl0b3JQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvcmF3LWVkaXRvci1wbHVnaW4nO1xyXG5pbXBvcnQgeyBnZXRUYWJsZU5vZGVzLCB0YWJsZUNvbnRleHRNZW51UGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlcy1wbHVnaW4nO1xyXG5pbXBvcnQgeyBTZXR1cE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRWRpdG9yVmlld09wdGlvbnMge1xyXG4gICAgb25UZXh0SW5wdXQ6IChjb250ZW50OiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICAgIGlzUmVhZE9ubHk6ICgpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFByb3NlbWlycm9yU2VydmljZSB7XHJcbiAgICBlZGl0b3JWaWV3OiBFZGl0b3JWaWV3O1xyXG5cclxuICAgIC8vIE1peCB0aGUgbm9kZXMgZnJvbSBwcm9zZW1pcnJvci1zY2hlbWEtbGlzdCBpbnRvIHRoZSBiYXNpYyBzY2hlbWEgdG9cclxuICAgIC8vIGNyZWF0ZSBhIHNjaGVtYSB3aXRoIGxpc3Qgc3VwcG9ydC5cclxuICAgIHByaXZhdGUgbXlTY2hlbWEgPSBuZXcgU2NoZW1hKHtcclxuICAgICAgICBub2RlczogYWRkTGlzdE5vZGVzKHNjaGVtYS5zcGVjLm5vZGVzLCAncGFyYWdyYXBoIGJsb2NrKicsICdibG9jaycpXHJcbiAgICAgICAgICAgIC5hcHBlbmQoZ2V0VGFibGVOb2RlcygpIGFzIGFueSlcclxuICAgICAgICAgICAgLmFkZFRvRW5kKCdpZnJhbWUnLCBpZnJhbWVOb2RlKSxcclxuICAgICAgICBtYXJrczogc2NoZW1hLnNwZWMubWFya3MsXHJcbiAgICB9KTtcclxuICAgIHByaXZhdGUgZW5hYmxlZCA9IHRydWU7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgY29udGV4dE1lbnVTZXJ2aWNlOiBDb250ZXh0TWVudVNlcnZpY2UpIHt9XHJcblxyXG4gICAgY29udGV4dE1lbnVJdGVtcyQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuXHJcbiAgICBjcmVhdGVFZGl0b3JWaWV3KG9wdGlvbnM6IENyZWF0ZUVkaXRvclZpZXdPcHRpb25zKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JWaWV3ID0gbmV3IEVkaXRvclZpZXcob3B0aW9ucy5lbGVtZW50LCB7XHJcbiAgICAgICAgICAgIHN0YXRlOiB0aGlzLmdldFN0YXRlRnJvbVRleHQoJycpLFxyXG4gICAgICAgICAgICBkaXNwYXRjaFRyYW5zYWN0aW9uOiB0ciA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yVmlldy51cGRhdGVTdGF0ZSh0aGlzLmVkaXRvclZpZXcuc3RhdGUuYXBwbHkodHIpKTtcclxuICAgICAgICAgICAgICAgIGlmICh0ci5kb2NDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0VGV4dEZyb21TdGF0ZSh0aGlzLmVkaXRvclZpZXcuc3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMub25UZXh0SW5wdXQoY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVkaXRhYmxlOiAoKSA9PiBvcHRpb25zLmlzUmVhZE9ubHkoKSxcclxuICAgICAgICAgICAgaGFuZGxlRE9NRXZlbnRzOiB7XHJcbiAgICAgICAgICAgICAgICBmb2N1czogdmlldyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0TWVudVNlcnZpY2Uuc2V0VmlzaWJpbGl0eSh0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBibHVyOiB2aWV3ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5zZXRWaXNpYmlsaXR5KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIG5vZGVWaWV3czoge1xyXG4gICAgICAgICAgICAgICAgaWZyYW1lOiBpZnJhbWVOb2RlVmlldyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUodGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yVmlldykge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VGV4dCA9IHRoaXMuZ2V0VGV4dEZyb21TdGF0ZSh0aGlzLmVkaXRvclZpZXcuc3RhdGUpO1xyXG4gICAgICAgICAgICBpZiAodGV4dCAhPT0gY3VycmVudFRleHQpIHtcclxuICAgICAgICAgICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuZ2V0U3RhdGVGcm9tVGV4dCh0ZXh0KTtcclxuICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNvbnRhaW5zKHRoaXMuZWRpdG9yVmlldy5kb20pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZml4ID0gZml4VGFibGVzKHN0YXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZml4KSBzdGF0ZSA9IHN0YXRlLmFwcGx5KGZpeC5zZXRNZXRhKCdhZGRUb0hpc3RvcnknLCBmYWxzZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yVmlldy51cGRhdGVTdGF0ZShzdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWaWV3KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yVmlldy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldEVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRvclZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVkID0gZW5hYmxlZDtcclxuICAgICAgICAgICAgLy8gVXBkYXRpbmcgdGhlIHN0YXRlIGNhdXNlcyBQcm9zZU1pcnJvciB0byBjaGVjayB0aGVcclxuICAgICAgICAgICAgLy8gYGVkaXRhYmxlKClgIGZ1bmN0aW9uIGZyb20gdGhlIGNvbnRydWN0b3IgY29uZmlnIG9iamVjdFxyXG4gICAgICAgICAgICAvLyBuZXdseS5cclxuICAgICAgICAgICAgdGhpcy5lZGl0b3JWaWV3LnVwZGF0ZVN0YXRlKHRoaXMuZWRpdG9yVmlldy5zdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U3RhdGVGcm9tVGV4dCh0ZXh0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogRWRpdG9yU3RhdGUge1xyXG4gICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGRpdi5pbm5lckhUTUwgPSB0ZXh0ID8/ICcnO1xyXG4gICAgICAgIHJldHVybiBFZGl0b3JTdGF0ZS5jcmVhdGUoe1xyXG4gICAgICAgICAgICBkb2M6IERPTVBhcnNlci5mcm9tU2NoZW1hKHRoaXMubXlTY2hlbWEpLnBhcnNlKGRpdiksXHJcbiAgICAgICAgICAgIHBsdWdpbnM6IHRoaXMuY29uZmlndXJlUGx1Z2lucyh7IHNjaGVtYTogdGhpcy5teVNjaGVtYSwgZmxvYXRpbmdNZW51OiBmYWxzZSB9KSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFRleHRGcm9tU3RhdGUoc3RhdGU6IEVkaXRvclN0YXRlKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBjb25zdCBmcmFnbWVudCA9IERPTVNlcmlhbGl6ZXIuZnJvbVNjaGVtYSh0aGlzLm15U2NoZW1hKS5zZXJpYWxpemVGcmFnbWVudChzdGF0ZS5kb2MuY29udGVudCk7XHJcblxyXG4gICAgICAgIGRpdi5hcHBlbmRDaGlsZChmcmFnbWVudCk7XHJcblxyXG4gICAgICAgIHJldHVybiBkaXYuaW5uZXJIVE1MO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY29uZmlndXJlUGx1Z2lucyhvcHRpb25zOiBTZXR1cE9wdGlvbnMpIHtcclxuICAgICAgICBjb25zdCBwbHVnaW5zID0gW1xyXG4gICAgICAgICAgICBidWlsZElucHV0UnVsZXMob3B0aW9ucy5zY2hlbWEpLFxyXG4gICAgICAgICAgICBrZXltYXAoYnVpbGRLZXltYXAob3B0aW9ucy5zY2hlbWEsIG9wdGlvbnMubWFwS2V5cykpLFxyXG4gICAgICAgICAgICBrZXltYXAoYmFzZUtleW1hcCksXHJcbiAgICAgICAgICAgIGRyb3BDdXJzb3IoKSxcclxuICAgICAgICAgICAgZ2FwQ3Vyc29yKCksXHJcbiAgICAgICAgICAgIGxpbmtTZWxlY3RQbHVnaW4sXHJcbiAgICAgICAgICAgIGNvbHVtblJlc2l6aW5nKHt9KSxcclxuICAgICAgICAgICAgdGFibGVFZGl0aW5nKHsgYWxsb3dUYWJsZU5vZGVTZWxlY3Rpb246IHRydWUgfSksXHJcbiAgICAgICAgICAgIHRhYmxlQ29udGV4dE1lbnVQbHVnaW4odGhpcy5jb250ZXh0TWVudVNlcnZpY2UpLFxyXG4gICAgICAgICAgICBpbWFnZUNvbnRleHRNZW51UGx1Z2luKHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLCB0aGlzLmluamVjdG9yLmdldChNb2RhbFNlcnZpY2UpKSxcclxuICAgICAgICAgICAgcmF3RWRpdG9yUGx1Z2luKHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLCB0aGlzLmluamVjdG9yLmdldChNb2RhbFNlcnZpY2UpKSxcclxuICAgICAgICAgICAgY3VzdG9tTWVudVBsdWdpbih7XHJcbiAgICAgICAgICAgICAgICBmbG9hdGluZ01lbnU6IG9wdGlvbnMuZmxvYXRpbmdNZW51LFxyXG4gICAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICBzY2hlbWE6IG9wdGlvbnMuc2NoZW1hLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICBdO1xyXG4gICAgICAgIGlmIChvcHRpb25zLmhpc3RvcnkgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHBsdWdpbnMucHVzaChoaXN0b3J5KCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHBsdWdpbnMuY29uY2F0KFxyXG4gICAgICAgICAgICBuZXcgUGx1Z2luKHtcclxuICAgICAgICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyBjbGFzczogJ3Zkci1wcm9zZW1pcnJvcicgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/prosemirror/types.mjs
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJvc2VtaXJyb3ItbWVudSc7XHJcbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2V0dXBPcHRpb25zIHtcclxuICAgIHNjaGVtYTogU2NoZW1hO1xyXG4gICAgbWFwS2V5cz86IEtleW1hcDtcclxuICAgIG1lbnVCYXI/OiBib29sZWFuO1xyXG4gICAgaGlzdG9yeT86IGJvb2xlYW47XHJcbiAgICBmbG9hdGluZ01lbnU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJvc2VtaXJyb3ItbWVudSc7XHJcbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2V0dXBPcHRpb25zIHtcclxuICAgIHNjaGVtYTogU2NoZW1hO1xyXG4gICAgbWFwS2V5cz86IEtleW1hcDtcclxuICAgIG1lbnVCYXI/OiBib29sZWFuO1xyXG4gICAgaGlzdG9yeT86IGJvb2xlYW47XHJcbiAgICBmbG9hdGluZ01lbnU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBLZXltYXAgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XHJcbiJdfQ==
|
package/{esm2020 → package/esm2020}/core/shared/components/rich-text-editor/prosemirror/utils.mjs
RENAMED
|
File without changes
|