@umbraco-cms/backoffice 14.0.0-a353ecfe → 14.0.0-e0d20272
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/dist-cms/apps/app/app.element.js +17 -7
- package/dist-cms/apps/app/app.element.js.map +1 -1
- package/dist-cms/custom-elements.json +148 -25
- package/dist-cms/external/backend-api/index.js +1 -1
- package/dist-cms/external/rxjs/index.js +2 -2
- package/dist-cms/external/tinymce/index.js +49 -0
- package/dist-cms/mocks/data/data-type.data.js +69 -1
- package/dist-cms/mocks/data/data-type.data.js.map +1 -1
- package/dist-cms/mocks/data/document-type.data.js +18 -0
- package/dist-cms/mocks/data/document-type.data.js.map +1 -1
- package/dist-cms/mocks/data/document.data.js +7 -0
- package/dist-cms/mocks/data/document.data.js.map +1 -1
- package/dist-cms/mocks/data/template.data.d.ts +1 -1
- package/dist-cms/mocks/data/template.data.js +14 -5
- package/dist-cms/mocks/data/template.data.js.map +1 -1
- package/dist-cms/mocks/handlers/images.handlers.d.ts +1 -0
- package/dist-cms/mocks/handlers/images.handlers.js +8 -0
- package/dist-cms/mocks/handlers/images.handlers.js.map +1 -0
- package/dist-cms/mocks/handlers/manifests.handlers.js +1 -1
- package/dist-cms/mocks/handlers/manifests.handlers.js.map +1 -1
- package/dist-cms/mocks/handlers/rte-embed.handlers.js +6 -2
- package/dist-cms/mocks/handlers/rte-embed.handlers.js.map +1 -1
- package/dist-cms/packages/core/components/data-type/data-type-property-collection.class.d.ts +15 -0
- package/dist-cms/packages/core/components/data-type/data-type-property-collection.class.js +17 -0
- package/dist-cms/packages/core/components/data-type/data-type-property-collection.class.js.map +1 -1
- package/dist-cms/packages/core/components/index.d.ts +1 -0
- package/dist-cms/packages/core/components/index.js +1 -0
- package/dist-cms/packages/core/components/index.js.map +1 -1
- package/dist-cms/packages/core/components/input-tiny-mce/index.d.ts +6 -0
- package/dist-cms/packages/core/components/input-tiny-mce/index.js +7 -0
- package/dist-cms/packages/core/components/input-tiny-mce/index.js.map +1 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.defaults.d.ts +5 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.defaults.js +46 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.defaults.js.map +1 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.element.d.ts +29 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.element.js +270 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.element.js.map +1 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.handlers.d.ts +3 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.handlers.js +39 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.handlers.js.map +1 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.languages.d.ts +1 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.languages.js +79 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.languages.js.map +1 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.sanitizer.d.ts +6 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.sanitizer.js +54 -0
- package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.sanitizer.js.map +1 -0
- package/dist-cms/packages/core/components/input-tiny-mce/tiny-mce-plugin.d.ts +12 -0
- package/dist-cms/packages/core/components/input-tiny-mce/tiny-mce-plugin.js +8 -0
- package/dist-cms/packages/core/components/input-tiny-mce/tiny-mce-plugin.js.map +1 -0
- package/dist-cms/packages/core/components/property-editor-config/property-editor-config.element.d.ts +3 -3
- package/dist-cms/packages/core/components/property-editor-config/property-editor-config.element.js +10 -10
- package/dist-cms/packages/core/components/property-editor-config/property-editor-config.element.js.map +1 -1
- package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.js +3 -3
- package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.js.map +1 -1
- package/dist-cms/packages/core/components/ref-property-editor-ui/ref-property-editor-ui.element.d.ts +1 -1
- package/dist-cms/packages/core/components/ref-property-editor-ui/ref-property-editor-ui.element.js +5 -5
- package/dist-cms/packages/core/components/ref-property-editor-ui/ref-property-editor-ui.element.js.map +1 -1
- package/dist-cms/packages/core/extension-registry/models/index.d.ts +4 -2
- package/dist-cms/packages/core/extension-registry/models/index.js +1 -0
- package/dist-cms/packages/core/extension-registry/models/index.js.map +1 -1
- package/dist-cms/packages/core/extension-registry/models/property-editor.model.d.ts +5 -5
- package/dist-cms/packages/core/extension-registry/models/tinymce-plugin.model.d.ts +38 -0
- package/dist-cms/packages/core/extension-registry/models/tinymce-plugin.model.js +2 -0
- package/dist-cms/packages/core/extension-registry/models/tinymce-plugin.model.js.map +1 -0
- package/dist-cms/packages/core/index.d.ts +1 -0
- package/dist-cms/packages/core/index.js +3 -0
- package/dist-cms/packages/core/index.js.map +1 -1
- package/dist-cms/packages/core/macro/index.d.ts +1 -0
- package/dist-cms/packages/core/macro/index.js +2 -0
- package/dist-cms/packages/core/macro/index.js.map +1 -0
- package/dist-cms/packages/core/macro/macro.service.d.ts +26 -0
- package/dist-cms/packages/core/macro/macro.service.js +117 -0
- package/dist-cms/packages/core/macro/macro.service.js.map +1 -0
- package/dist-cms/packages/core/modal/common/code-editor/code-editor-modal.element.d.ts +17 -0
- package/dist-cms/packages/core/modal/common/code-editor/code-editor-modal.element.js +92 -0
- package/dist-cms/packages/core/modal/common/code-editor/code-editor-modal.element.js.map +1 -0
- package/dist-cms/packages/core/modal/common/embedded-media/embedded-media-modal.element.d.ts +3 -5
- package/dist-cms/packages/core/modal/common/embedded-media/embedded-media-modal.element.js +11 -11
- package/dist-cms/packages/core/modal/common/embedded-media/embedded-media-modal.element.js.map +1 -1
- package/dist-cms/packages/core/modal/common/manifests.js +6 -0
- package/dist-cms/packages/core/modal/common/manifests.js.map +1 -1
- package/dist-cms/packages/core/modal/token/code-editor-modal.token.d.ts +12 -0
- package/dist-cms/packages/core/modal/token/code-editor-modal.token.js +6 -0
- package/dist-cms/packages/core/modal/token/code-editor-modal.token.js.map +1 -0
- package/dist-cms/packages/core/modal/token/embedded-media-modal.token.d.ts +8 -7
- package/dist-cms/packages/core/modal/token/embedded-media-modal.token.js +2 -1
- package/dist-cms/packages/core/modal/token/embedded-media-modal.token.js.map +1 -1
- package/dist-cms/packages/core/modal/token/index.d.ts +1 -0
- package/dist-cms/packages/core/modal/token/index.js +1 -0
- package/dist-cms/packages/core/modal/token/index.js.map +1 -1
- package/dist-cms/packages/core/property-editors/manifests.d.ts +1 -1
- package/dist-cms/packages/core/property-editors/manifests.js +2 -2
- package/dist-cms/packages/core/property-editors/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.BlockGrid.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.BlockGrid.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.BlockGrid.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.BlockList.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.BlockList.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.BlockList.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.CheckboxList.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.CheckboxList.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.CheckboxList.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.ColorPicker.EyeDropper.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.ColorPicker.EyeDropper.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.ColorPicker.EyeDropper.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.ColorPicker.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.ColorPicker.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.ColorPicker.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.DateTime.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.DateTime.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.DateTime.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Decimal.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.Decimal.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Decimal.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Dropdown.Flexible.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.Dropdown.Flexible.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Dropdown.Flexible.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.EmailAddress.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.EmailAddress.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.EmailAddress.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.IconPicker.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.IconPicker.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.IconPicker.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.ImageCropper.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.ImageCropper.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.ImageCropper.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Integer.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.Integer.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Integer.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.JSON.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.JSON.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.JSON.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Label.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.Label.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Label.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.ListView.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.ListView.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.ListView.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MarkdownEditor.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.MarkdownEditor.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MarkdownEditor.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MediaPicker3.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.MediaPicker3.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MediaPicker3.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MemberGroupPicker.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.MemberGroupPicker.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MemberGroupPicker.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MemberPicker.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.MemberPicker.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MemberPicker.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultiNodeTreePicker.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultiNodeTreePicker.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultiNodeTreePicker.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultiUrlPicker.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultiUrlPicker.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultiUrlPicker.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultipleTextString.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultipleTextString.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.MultipleTextString.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.RadioButtonList.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.RadioButtonList.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.RadioButtonList.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.RichText.d.ts +2 -0
- package/dist-cms/packages/core/property-editors/models/{Umbraco.TinyMCE.js → Umbraco.RichText.js} +4 -3
- package/dist-cms/packages/core/property-editors/models/Umbraco.RichText.js.map +1 -0
- package/dist-cms/packages/core/property-editors/models/Umbraco.Slider.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.Slider.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Slider.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Tags.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.Tags.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.Tags.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.TextArea.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.TextArea.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.TextArea.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.TextBox.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.TextBox.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.TextBox.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.TrueFalse.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.TrueFalse.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.TrueFalse.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.UploadField.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.UploadField.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.UploadField.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.UserPicker.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.UserPicker.js +1 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.UserPicker.js.map +1 -1
- package/dist-cms/packages/core/property-editors/models/manifests.d.ts +2 -2
- package/dist-cms/packages/core/property-editors/models/manifests.js +2 -2
- package/dist-cms/packages/core/property-editors/models/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-grid/config/block-configuration/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-grid/config/block-configuration/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-grid/config/group-configuration/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-grid/config/group-configuration/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-grid/config/stylesheet-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-grid/config/stylesheet-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-grid/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-grid/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-list/config/block-configuration/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-list/config/block-configuration/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-list/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/block-list/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/checkbox-list/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/checkbox-list/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/config/bulk-action-permissions/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/config/bulk-action-permissions/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/config/column-configuration/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/config/column-configuration/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/config/layout-configuration/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/config/layout-configuration/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/config/order-by/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/config/order-by/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/collection-view/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/color-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/color-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/date-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/date-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/dropdown/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/dropdown/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/eye-dropper/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/eye-dropper/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/icon-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/icon-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/image-cropper/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/image-cropper/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/image-crops-configuration/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/image-crops-configuration/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/label/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/label/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/markdown-editor/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/markdown-editor/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/media-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/media-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/member-group-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/member-group-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/member-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/member-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/multi-url-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/multi-url-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/multiple-text-string/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/multiple-text-string/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/number/manifests.js +2 -2
- package/dist-cms/packages/core/property-editors/uis/number/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/number-range/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/number-range/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/order-direction/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/order-direction/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/overlay-size/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/overlay-size/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/radio-button-list/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/radio-button-list/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/slider/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/slider/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/text-box/manifests.js +2 -2
- package/dist-cms/packages/core/property-editors/uis/text-box/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/textarea/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/textarea/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/dimensions/property-editor-ui-tiny-mce-dimensions-configuration.element.d.ts +18 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/dimensions/property-editor-ui-tiny-mce-dimensions-configuration.element.js +31 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/dimensions/property-editor-ui-tiny-mce-dimensions-configuration.element.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/manifests.d.ts +2 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/manifests.js +52 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/manifests.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/max-image-size/property-editor-ui-tiny-mce-maximagesize-configuration.element.d.ts +15 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/max-image-size/property-editor-ui-tiny-mce-maximagesize-configuration.element.js +26 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/max-image-size/property-editor-ui-tiny-mce-maximagesize-configuration.element.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/stylesheets/property-editor-ui-tiny-mce-stylesheets-configuration.element.d.ts +16 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/stylesheets/property-editor-ui-tiny-mce-stylesheets-configuration.element.js +45 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/stylesheets/property-editor-ui-tiny-mce-stylesheets-configuration.element.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.d.ts +25 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.js +123 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/manifests.js +210 -7
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/manifests.d.ts +2 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/manifests.js +84 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/manifests.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-code-editor.plugin.d.ts +5 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-code-editor.plugin.js +34 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-code-editor.plugin.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.d.ts +5 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.js +69 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-linkpicker.plugin.d.ts +6 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-linkpicker.plugin.js +168 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-linkpicker.plugin.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-macropicker.plugin.d.ts +5 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-macropicker.plugin.js +166 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-macropicker.plugin.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-mediapicker.plugin.d.ts +5 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-mediapicker.plugin.js +141 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-mediapicker.plugin.js.map +1 -0
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/property-editor-ui-tiny-mce.element.d.ts +2 -1
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/property-editor-ui-tiny-mce.element.js +16 -7
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/property-editor-ui-tiny-mce.element.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/toggle/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/toggle/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/tree-picker/config/start-node/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/tree-picker/config/start-node/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/tree-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/tree-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/upload-field/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/upload-field/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/user-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/user-picker/manifests.js.map +1 -1
- package/dist-cms/packages/core/property-editors/uis/value-type/manifests.js +1 -1
- package/dist-cms/packages/core/property-editors/uis/value-type/manifests.js.map +1 -1
- package/dist-cms/packages/documents/documents/property-editors/Umbraco.ContentPicker.d.ts +2 -2
- package/dist-cms/packages/documents/documents/property-editors/Umbraco.ContentPicker.js +1 -1
- package/dist-cms/packages/documents/documents/property-editors/Umbraco.ContentPicker.js.map +1 -1
- package/dist-cms/packages/documents/documents/property-editors/document-picker/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/property-editors/document-picker/manifests.js.map +1 -1
- package/dist-cms/packages/media/media/repository/media.repository.js +12 -24
- package/dist-cms/packages/media/media/repository/media.repository.js.map +1 -1
- package/dist-cms/packages/members/members/repository/member.repository.js +6 -21
- package/dist-cms/packages/members/members/repository/member.repository.js.map +1 -1
- package/dist-cms/packages/settings/data-types/components/ref-data-type/ref-data-type.element.d.ts +1 -1
- package/dist-cms/packages/settings/data-types/components/ref-data-type/ref-data-type.element.js +5 -5
- package/dist-cms/packages/settings/data-types/components/ref-data-type/ref-data-type.element.js.map +1 -1
- package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.d.ts +1 -1
- package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.js +1 -1
- package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.js.map +1 -1
- package/dist-cms/packages/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.d.ts +1 -1
- package/dist-cms/packages/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.js +12 -12
- package/dist-cms/packages/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.js.map +1 -1
- package/dist-cms/packages/settings/logviewer/repository/log-viewer.repository.js +11 -25
- package/dist-cms/packages/settings/logviewer/repository/log-viewer.repository.js.map +1 -1
- package/dist-cms/packages/tags/property-editors/tags/config/storage-type/manifests.js +1 -1
- package/dist-cms/packages/tags/property-editors/tags/config/storage-type/manifests.js.map +1 -1
- package/dist-cms/packages/tags/property-editors/tags/manifests.js +1 -1
- package/dist-cms/packages/tags/property-editors/tags/manifests.js.map +1 -1
- package/dist-cms/packages/templating/stylesheets/repository/stylesheet.repository.js +3 -20
- package/dist-cms/packages/templating/stylesheets/repository/stylesheet.repository.js.map +1 -1
- package/dist-cms/packages/templating/templates/repository/sources/template.detail.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/templates/repository/sources/template.detail.server.data.js +2 -2
- package/dist-cms/packages/templating/templates/repository/sources/template.detail.server.data.js.map +1 -1
- package/dist-cms/packages/templating/templates/repository/sources/template.item.server.data.d.ts +1 -1
- package/dist-cms/packages/templating/templates/repository/sources/template.tree.server.data.d.ts +1 -1
- package/dist-cms/packages/templating/templates/repository/template-item.store.d.ts +1 -1
- package/dist-cms/packages/templating/templates/repository/template.repository.d.ts +3 -3
- package/dist-cms/packages/templating/templates/repository/template.repository.js +2 -2
- package/dist-cms/packages/templating/templates/repository/template.repository.js.map +1 -1
- package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +3 -33
- package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js.map +1 -1
- package/dist-cms/packages/templating/templates/workspace/template-workspace.context.d.ts +6 -3
- package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +35 -23
- package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js.map +1 -1
- package/dist-cms/shared/auth/auth.context.d.ts +1 -0
- package/dist-cms/shared/auth/auth.context.js +3 -0
- package/dist-cms/shared/auth/auth.context.js.map +1 -1
- package/dist-cms/shared/auth/auth.interface.d.ts +4 -0
- package/dist-cms/shared/repository/repository-items.manager.d.ts +1 -1
- package/dist-cms/shared/repository/repository-items.manager.js +7 -2
- package/dist-cms/shared/repository/repository-items.manager.js.map +1 -1
- package/dist-cms/shared/utils/index.d.ts +6 -0
- package/dist-cms/shared/utils/index.js +1 -0
- package/dist-cms/shared/utils/index.js.map +1 -1
- package/dist-cms/shared/utils/media-helper.service.d.ts +44 -0
- package/dist-cms/shared/utils/media-helper.service.js +152 -0
- package/dist-cms/shared/utils/media-helper.service.js.map +1 -0
- package/dist-cms/tinymce/CHANGELOG.md +3253 -0
- package/dist-cms/tinymce/README.md +71 -0
- package/dist-cms/tinymce/bower.json +27 -0
- package/dist-cms/tinymce/composer.json +52 -0
- package/dist-cms/tinymce/icons/default/icons.js +191 -0
- package/dist-cms/tinymce/icons/default/icons.min.js +1 -0
- package/dist-cms/tinymce/icons/default/index.js +7 -0
- package/dist-cms/tinymce/langs/ar.js +407 -0
- package/dist-cms/tinymce/langs/az.js +406 -0
- package/dist-cms/tinymce/langs/be.js +406 -0
- package/dist-cms/tinymce/langs/bg_BG.js +406 -0
- package/dist-cms/tinymce/langs/bn_BD.js +406 -0
- package/dist-cms/tinymce/langs/ca.js +406 -0
- package/dist-cms/tinymce/langs/cs.js +406 -0
- package/dist-cms/tinymce/langs/cy.js +406 -0
- package/dist-cms/tinymce/langs/da.js +406 -0
- package/dist-cms/tinymce/langs/de.js +406 -0
- package/dist-cms/tinymce/langs/dv.js +406 -0
- package/dist-cms/tinymce/langs/el.js +406 -0
- package/dist-cms/tinymce/langs/eo.js +406 -0
- package/dist-cms/tinymce/langs/es.js +406 -0
- package/dist-cms/tinymce/langs/es_MX.js +406 -0
- package/dist-cms/tinymce/langs/et.js +406 -0
- package/dist-cms/tinymce/langs/eu.js +406 -0
- package/dist-cms/tinymce/langs/fa.js +407 -0
- package/dist-cms/tinymce/langs/fi.js +406 -0
- package/dist-cms/tinymce/langs/fr_FR.js +406 -0
- package/dist-cms/tinymce/langs/ga.js +406 -0
- package/dist-cms/tinymce/langs/gl.js +406 -0
- package/dist-cms/tinymce/langs/he_IL.js +407 -0
- package/dist-cms/tinymce/langs/hi.js +406 -0
- package/dist-cms/tinymce/langs/hr.js +406 -0
- package/dist-cms/tinymce/langs/hu_HU.js +406 -0
- package/dist-cms/tinymce/langs/hy.js +406 -0
- package/dist-cms/tinymce/langs/id.js +406 -0
- package/dist-cms/tinymce/langs/is_IS.js +406 -0
- package/dist-cms/tinymce/langs/it.js +406 -0
- package/dist-cms/tinymce/langs/ja.js +406 -0
- package/dist-cms/tinymce/langs/kab.js +406 -0
- package/dist-cms/tinymce/langs/kk.js +406 -0
- package/dist-cms/tinymce/langs/ko_KR.js +406 -0
- package/dist-cms/tinymce/langs/ku.js +407 -0
- package/dist-cms/tinymce/langs/lt.js +406 -0
- package/dist-cms/tinymce/langs/lv.js +406 -0
- package/dist-cms/tinymce/langs/nb_NO.js +406 -0
- package/dist-cms/tinymce/langs/ne.js +406 -0
- package/dist-cms/tinymce/langs/nl.js +406 -0
- package/dist-cms/tinymce/langs/nl_BE.js +406 -0
- package/dist-cms/tinymce/langs/oc.js +406 -0
- package/dist-cms/tinymce/langs/pl.js +406 -0
- package/dist-cms/tinymce/langs/pt_BR.js +406 -0
- package/dist-cms/tinymce/langs/ro.js +406 -0
- package/dist-cms/tinymce/langs/ru.js +406 -0
- package/dist-cms/tinymce/langs/sk.js +406 -0
- package/dist-cms/tinymce/langs/sl_SI.js +406 -0
- package/dist-cms/tinymce/langs/sq.js +406 -0
- package/dist-cms/tinymce/langs/sr.js +406 -0
- package/dist-cms/tinymce/langs/sv_SE.js +406 -0
- package/dist-cms/tinymce/langs/ta.js +406 -0
- package/dist-cms/tinymce/langs/tg.js +406 -0
- package/dist-cms/tinymce/langs/th_TH.js +406 -0
- package/dist-cms/tinymce/langs/tr.js +406 -0
- package/dist-cms/tinymce/langs/ug.js +406 -0
- package/dist-cms/tinymce/langs/uk.js +406 -0
- package/dist-cms/tinymce/langs/vi.js +406 -0
- package/dist-cms/tinymce/langs/zh-Hans.js +406 -0
- package/dist-cms/tinymce/langs/zh-Hant.js +406 -0
- package/dist-cms/tinymce/langs/zh_HK.js +406 -0
- package/dist-cms/tinymce/langs/zh_MO.js +406 -0
- package/dist-cms/tinymce/langs/zh_SG.js +406 -0
- package/dist-cms/tinymce/license.txt +21 -0
- package/dist-cms/tinymce/models/dom/index.js +7 -0
- package/dist-cms/tinymce/models/dom/model.js +8040 -0
- package/dist-cms/tinymce/models/dom/model.min.js +4 -0
- package/dist-cms/tinymce/package.json +32 -0
- package/dist-cms/tinymce/plugins/accordion/index.js +7 -0
- package/dist-cms/tinymce/plugins/accordion/plugin.js +1033 -0
- package/dist-cms/tinymce/plugins/accordion/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/advlist/index.js +7 -0
- package/dist-cms/tinymce/plugins/advlist/plugin.js +259 -0
- package/dist-cms/tinymce/plugins/advlist/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/anchor/index.js +7 -0
- package/dist-cms/tinymce/plugins/anchor/plugin.js +214 -0
- package/dist-cms/tinymce/plugins/anchor/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/autolink/index.js +7 -0
- package/dist-cms/tinymce/plugins/autolink/plugin.js +228 -0
- package/dist-cms/tinymce/plugins/autolink/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/autoresize/index.js +7 -0
- package/dist-cms/tinymce/plugins/autoresize/plugin.js +192 -0
- package/dist-cms/tinymce/plugins/autoresize/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/autosave/index.js +7 -0
- package/dist-cms/tinymce/plugins/autosave/plugin.js +233 -0
- package/dist-cms/tinymce/plugins/autosave/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/charmap/index.js +7 -0
- package/dist-cms/tinymce/plugins/charmap/plugin.js +1658 -0
- package/dist-cms/tinymce/plugins/charmap/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/code/index.js +7 -0
- package/dist-cms/tinymce/plugins/code/plugin.js +85 -0
- package/dist-cms/tinymce/plugins/code/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/codesample/index.js +7 -0
- package/dist-cms/tinymce/plugins/codesample/plugin.js +2463 -0
- package/dist-cms/tinymce/plugins/codesample/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/directionality/index.js +7 -0
- package/dist-cms/tinymce/plugins/directionality/plugin.js +395 -0
- package/dist-cms/tinymce/plugins/directionality/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/emoticons/index.js +7 -0
- package/dist-cms/tinymce/plugins/emoticons/js/emojiimages.js +1 -0
- package/dist-cms/tinymce/plugins/emoticons/js/emojiimages.min.js +3 -0
- package/dist-cms/tinymce/plugins/emoticons/js/emojis.js +1 -0
- package/dist-cms/tinymce/plugins/emoticons/js/emojis.min.js +2 -0
- package/dist-cms/tinymce/plugins/emoticons/plugin.js +595 -0
- package/dist-cms/tinymce/plugins/emoticons/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/fullscreen/index.js +7 -0
- package/dist-cms/tinymce/plugins/fullscreen/plugin.js +1196 -0
- package/dist-cms/tinymce/plugins/fullscreen/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/help/index.js +7 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/ar.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/ca.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/cs.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/da.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/de.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/el.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/en.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/es.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/eu.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/fa.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/fi.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/he_IL.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/hi.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/hr.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/id.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/it.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/ja.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/kk.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/ms.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/nl.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/pl.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/ro.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/ru.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/sk.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/th_TH.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/tr.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/uk.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/vi.js +90 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +84 -0
- package/dist-cms/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +90 -0
- package/dist-cms/tinymce/plugins/help/plugin.js +893 -0
- package/dist-cms/tinymce/plugins/help/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/image/index.js +7 -0
- package/dist-cms/tinymce/plugins/image/plugin.js +1504 -0
- package/dist-cms/tinymce/plugins/image/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/importcss/index.js +7 -0
- package/dist-cms/tinymce/plugins/importcss/plugin.js +344 -0
- package/dist-cms/tinymce/plugins/importcss/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/insertdatetime/index.js +7 -0
- package/dist-cms/tinymce/plugins/insertdatetime/plugin.js +187 -0
- package/dist-cms/tinymce/plugins/insertdatetime/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/link/index.js +7 -0
- package/dist-cms/tinymce/plugins/link/plugin.js +1241 -0
- package/dist-cms/tinymce/plugins/link/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/lists/index.js +7 -0
- package/dist-cms/tinymce/plugins/lists/plugin.js +1948 -0
- package/dist-cms/tinymce/plugins/lists/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/media/index.js +7 -0
- package/dist-cms/tinymce/plugins/media/plugin.js +1235 -0
- package/dist-cms/tinymce/plugins/media/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/nonbreaking/index.js +7 -0
- package/dist-cms/tinymce/plugins/nonbreaking/plugin.js +123 -0
- package/dist-cms/tinymce/plugins/nonbreaking/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/pagebreak/index.js +7 -0
- package/dist-cms/tinymce/plugins/pagebreak/plugin.js +117 -0
- package/dist-cms/tinymce/plugins/pagebreak/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/preview/index.js +7 -0
- package/dist-cms/tinymce/plugins/preview/plugin.js +97 -0
- package/dist-cms/tinymce/plugins/preview/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/quickbars/index.js +7 -0
- package/dist-cms/tinymce/plugins/quickbars/plugin.js +438 -0
- package/dist-cms/tinymce/plugins/quickbars/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/save/index.js +7 -0
- package/dist-cms/tinymce/plugins/save/plugin.js +118 -0
- package/dist-cms/tinymce/plugins/save/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/searchreplace/index.js +7 -0
- package/dist-cms/tinymce/plugins/searchreplace/plugin.js +1093 -0
- package/dist-cms/tinymce/plugins/searchreplace/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/table/index.js +7 -0
- package/dist-cms/tinymce/plugins/table/plugin.js +3462 -0
- package/dist-cms/tinymce/plugins/table/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/template/index.js +7 -0
- package/dist-cms/tinymce/plugins/template/plugin.js +567 -0
- package/dist-cms/tinymce/plugins/template/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/visualblocks/index.js +7 -0
- package/dist-cms/tinymce/plugins/visualblocks/plugin.js +98 -0
- package/dist-cms/tinymce/plugins/visualblocks/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/visualchars/index.js +7 -0
- package/dist-cms/tinymce/plugins/visualchars/plugin.js +560 -0
- package/dist-cms/tinymce/plugins/visualchars/plugin.min.js +4 -0
- package/dist-cms/tinymce/plugins/wordcount/index.js +7 -0
- package/dist-cms/tinymce/plugins/wordcount/plugin.js +405 -0
- package/dist-cms/tinymce/plugins/wordcount/plugin.min.js +4 -0
- package/dist-cms/tinymce/skins/content/dark/content.css +66 -0
- package/dist-cms/tinymce/skins/content/dark/content.min.css +1 -0
- package/dist-cms/tinymce/skins/content/default/content.css +61 -0
- package/dist-cms/tinymce/skins/content/default/content.min.css +1 -0
- package/dist-cms/tinymce/skins/content/document/content.css +66 -0
- package/dist-cms/tinymce/skins/content/document/content.min.css +1 -0
- package/dist-cms/tinymce/skins/content/tinymce-5/content.css +61 -0
- package/dist-cms/tinymce/skins/content/tinymce-5/content.min.css +1 -0
- package/dist-cms/tinymce/skins/content/tinymce-5-dark/content.css +66 -0
- package/dist-cms/tinymce/skins/content/tinymce-5-dark/content.min.css +1 -0
- package/dist-cms/tinymce/skins/content/writer/content.css +62 -0
- package/dist-cms/tinymce/skins/content/writer/content.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/oxide/content.css +785 -0
- package/dist-cms/tinymce/skins/ui/oxide/content.inline.css +779 -0
- package/dist-cms/tinymce/skins/ui/oxide/content.inline.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/oxide/content.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/oxide/skin.css +3688 -0
- package/dist-cms/tinymce/skins/ui/oxide/skin.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/oxide/skin.shadowdom.css +30 -0
- package/dist-cms/tinymce/skins/ui/oxide/skin.shadowdom.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/oxide-dark/content.css +766 -0
- package/dist-cms/tinymce/skins/ui/oxide-dark/content.inline.css +779 -0
- package/dist-cms/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/oxide-dark/content.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/oxide-dark/skin.css +3691 -0
- package/dist-cms/tinymce/skins/ui/oxide-dark/skin.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +30 -0
- package/dist-cms/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5/content.css +785 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5/content.inline.css +779 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5/content.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5/skin.css +3782 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5/skin.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5/skin.shadowdom.css +30 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.css +766 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.inline.css +779 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.css +3782 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.css +30 -0
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +1 -0
- package/dist-cms/tinymce/themes/silver/index.js +7 -0
- package/dist-cms/tinymce/themes/silver/theme.js +30167 -0
- package/dist-cms/tinymce/themes/silver/theme.min.js +4 -0
- package/dist-cms/tinymce/tinymce.d.ts +3206 -0
- package/dist-cms/tinymce/tinymce.js +31297 -0
- package/dist-cms/tinymce/tinymce.min.js +4 -0
- package/dist-cms/tsconfig.tsbuildinfo +1 -1
- package/dist-cms/umbraco-package-schema.json +83 -7
- package/dist-cms/vscode-html-custom-data.json +86 -17
- package/package.json +4 -1
- package/dist-cms/packages/core/property-editors/models/Umbraco.TinyMCE.d.ts +0 -2
- package/dist-cms/packages/core/property-editors/models/Umbraco.TinyMCE.js.map +0 -1
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/configuration/manifests.d.ts +0 -2
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/configuration/manifests.js +0 -13
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/configuration/manifests.js.map +0 -1
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/configuration/property-editor-ui-tiny-mce-configuration.element.d.ts +0 -16
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/configuration/property-editor-ui-tiny-mce-configuration.element.js +0 -34
- package/dist-cms/packages/core/property-editors/uis/tiny-mce/config/configuration/property-editor-ui-tiny-mce-configuration.element.js.map +0 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { UmbTinyMcePluginBase } from '../../../../components/index.js';
|
|
2
|
+
import { UMB_EMBEDDED_MEDIA_MODAL, UMB_MODAL_MANAGER_CONTEXT_TOKEN, } from '../../../../modal/index.js';
|
|
3
|
+
export default class UmbTinyMceEmbeddedMediaPlugin extends UmbTinyMcePluginBase {
|
|
4
|
+
#modalContext;
|
|
5
|
+
constructor(args) {
|
|
6
|
+
super(args);
|
|
7
|
+
this.host.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (modalContext) => {
|
|
8
|
+
this.#modalContext = modalContext;
|
|
9
|
+
});
|
|
10
|
+
this.editor.ui.registry.addButton('umbembeddialog', {
|
|
11
|
+
icon: 'embed',
|
|
12
|
+
tooltip: 'Embed',
|
|
13
|
+
onAction: () => this.#onAction(),
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
#onAction() {
|
|
17
|
+
// Get the selected element
|
|
18
|
+
// Check nodename is a DIV and the claslist contains 'umb-embed-holder'
|
|
19
|
+
const selectedElm = this.editor.selection.getNode();
|
|
20
|
+
let modify = {
|
|
21
|
+
width: 360,
|
|
22
|
+
height: 240,
|
|
23
|
+
};
|
|
24
|
+
if (selectedElm.nodeName.toUpperCase() === 'DIV' && selectedElm.classList.contains('umb-embed-holder')) {
|
|
25
|
+
// See if we can go and get the attributes
|
|
26
|
+
const url = this.editor.dom.getAttrib(selectedElm, 'data-embed-url');
|
|
27
|
+
const embedWidth = this.editor.dom.getAttrib(selectedElm, 'data-embed-width');
|
|
28
|
+
const embedHeight = this.editor.dom.getAttrib(selectedElm, 'data-embed-height');
|
|
29
|
+
const constrain = this.editor.dom.getAttrib(selectedElm, 'data-embed-constrain') === 'true';
|
|
30
|
+
modify = {
|
|
31
|
+
url,
|
|
32
|
+
constrain,
|
|
33
|
+
width: parseInt(embedWidth) || modify.width,
|
|
34
|
+
height: parseInt(embedHeight) || modify.height,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
this.#showModal(selectedElm, modify);
|
|
38
|
+
}
|
|
39
|
+
#insertInEditor(embed, activeElement) {
|
|
40
|
+
// Wrap HTML preview content here in a DIV with non-editable class of .mceNonEditable
|
|
41
|
+
// This turns it into a selectable/cutable block to move about
|
|
42
|
+
const wrapper = this.editor.dom.create('div', {
|
|
43
|
+
class: 'mceNonEditable umb-embed-holder',
|
|
44
|
+
'data-embed-url': embed.url ?? '',
|
|
45
|
+
'data-embed-height': embed.height,
|
|
46
|
+
'data-embed-width': embed.width,
|
|
47
|
+
'data-embed-constrain': embed.constrain ?? false,
|
|
48
|
+
contenteditable: false,
|
|
49
|
+
}, embed.preview);
|
|
50
|
+
// Only replace if activeElement is an Embed element.
|
|
51
|
+
if (activeElement?.nodeName.toUpperCase() === 'DIV' && activeElement.classList.contains('umb-embed-holder')) {
|
|
52
|
+
activeElement.replaceWith(wrapper); // directly replaces the html node
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this.editor.selection.setNode(wrapper);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async #showModal(selectedElm, embeddedMediaModalData) {
|
|
59
|
+
const modalHandler = this.#modalContext?.open(UMB_EMBEDDED_MEDIA_MODAL, embeddedMediaModalData);
|
|
60
|
+
if (!modalHandler)
|
|
61
|
+
return;
|
|
62
|
+
const result = await modalHandler.onSubmit();
|
|
63
|
+
if (!result)
|
|
64
|
+
return;
|
|
65
|
+
this.#insertInEditor(result, selectedElm);
|
|
66
|
+
this.editor.dispatch('Change');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=tiny-mce-embeddedmedia.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiny-mce-embeddedmedia.plugin.js","sourceRoot":"","sources":["../../../../../../../src/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.ts"],"names":[],"mappings":"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"}
|
package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-linkpicker.plugin.js
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { UmbTinyMcePluginBase } from '../../../../components/index.js';
|
|
2
|
+
import { UMB_LINK_PICKER_MODAL, UMB_MODAL_MANAGER_CONTEXT_TOKEN, } from '../../../../modal/index.js';
|
|
3
|
+
export default class UmbTinyMceLinkPickerPlugin extends UmbTinyMcePluginBase {
|
|
4
|
+
#modalContext;
|
|
5
|
+
#linkPickerData;
|
|
6
|
+
#anchorElement;
|
|
7
|
+
constructor(args) {
|
|
8
|
+
super(args);
|
|
9
|
+
this.host.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (modalContext) => {
|
|
10
|
+
this.#modalContext = modalContext;
|
|
11
|
+
});
|
|
12
|
+
// const editorEventSetupCallback = (buttonApi: { setEnabled: (state: boolean) => void }) => {
|
|
13
|
+
// const editorEventCallback = (eventApi: { element: Element}) => {
|
|
14
|
+
// buttonApi.setEnabled(eventApi.element.nodeName.toLowerCase() === 'a' && eventApi.element.hasAttribute('href'));
|
|
15
|
+
// };
|
|
16
|
+
// editor.on('NodeChange', editorEventCallback);
|
|
17
|
+
// return () => editor.off('NodeChange', editorEventCallback);
|
|
18
|
+
// };
|
|
19
|
+
args.editor.ui.registry.addButton('link', {
|
|
20
|
+
icon: 'link',
|
|
21
|
+
tooltip: 'Insert/edit link',
|
|
22
|
+
onAction: () => this.showDialog(),
|
|
23
|
+
});
|
|
24
|
+
args.editor.ui.registry.addButton('unlink', {
|
|
25
|
+
icon: 'unlink',
|
|
26
|
+
tooltip: 'Remove link',
|
|
27
|
+
onAction: () => args.editor.execCommand('unlink'),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async showDialog() {
|
|
31
|
+
const selectedElm = this.editor.selection.getNode();
|
|
32
|
+
this.#anchorElement = this.editor.dom.getParent(selectedElm, 'a[href]');
|
|
33
|
+
const data = {
|
|
34
|
+
text: this.#anchorElement
|
|
35
|
+
? this.#anchorElement.innerText || (this.#anchorElement.textContent ?? '')
|
|
36
|
+
: this.editor.selection.getContent({ format: 'text' }),
|
|
37
|
+
href: this.#anchorElement?.getAttribute('href') ?? '',
|
|
38
|
+
target: this.#anchorElement?.target ?? '',
|
|
39
|
+
rel: this.#anchorElement?.rel ?? '',
|
|
40
|
+
};
|
|
41
|
+
if (selectedElm.nodeName === 'IMG') {
|
|
42
|
+
data.text = ' ';
|
|
43
|
+
}
|
|
44
|
+
if (!this.#anchorElement) {
|
|
45
|
+
this.#openLinkPicker();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
//if we already have a link selected, we want to pass that data over to the dialog
|
|
49
|
+
const currentTarget = {
|
|
50
|
+
name: this.#anchorElement.title,
|
|
51
|
+
url: this.#anchorElement.getAttribute('href') ?? '',
|
|
52
|
+
target: this.#anchorElement.target,
|
|
53
|
+
};
|
|
54
|
+
// drop the lead char from the anchor text, if it has a value
|
|
55
|
+
const anchorVal = this.#anchorElement.dataset.anchor;
|
|
56
|
+
if (anchorVal) {
|
|
57
|
+
currentTarget.queryString = anchorVal.substring(1);
|
|
58
|
+
}
|
|
59
|
+
if (currentTarget.url?.includes('localLink:')) {
|
|
60
|
+
currentTarget.udi =
|
|
61
|
+
currentTarget.url?.substring(currentTarget.url.indexOf(':') + 1, currentTarget.url.lastIndexOf('}')) ?? '';
|
|
62
|
+
}
|
|
63
|
+
this.#openLinkPicker(currentTarget);
|
|
64
|
+
}
|
|
65
|
+
// TODO => get anchors to provide to link picker?
|
|
66
|
+
async #openLinkPicker(currentTarget) {
|
|
67
|
+
const modalHandler = this.#modalContext?.open(UMB_LINK_PICKER_MODAL, {
|
|
68
|
+
config: {
|
|
69
|
+
ignoreUserStartNodes: this.configuration?.getValueByAlias('ignoreUserStartNodes') ?? false,
|
|
70
|
+
},
|
|
71
|
+
link: currentTarget ?? {},
|
|
72
|
+
index: null,
|
|
73
|
+
});
|
|
74
|
+
if (!modalHandler)
|
|
75
|
+
return;
|
|
76
|
+
const linkPickerData = await modalHandler.onSubmit();
|
|
77
|
+
if (!linkPickerData)
|
|
78
|
+
return;
|
|
79
|
+
this.#linkPickerData = linkPickerData;
|
|
80
|
+
this.#updateLink();
|
|
81
|
+
}
|
|
82
|
+
//Create a json obj used to create the attributes for the tag
|
|
83
|
+
// TODO => where has rel gone?
|
|
84
|
+
#createElemAttributes() {
|
|
85
|
+
const a = Object.assign({}, this.#linkPickerData?.link, { 'data-anchor': null });
|
|
86
|
+
// always need to map back to href for tinymce to render correctly
|
|
87
|
+
// do this first as checking querystring below may modify the href property
|
|
88
|
+
if (this.#linkPickerData?.link.url) {
|
|
89
|
+
a.href = this.#linkPickerData.link.url;
|
|
90
|
+
}
|
|
91
|
+
if (this.#linkPickerData?.link.queryString?.startsWith('#')) {
|
|
92
|
+
a['data-anchor'] = this.#linkPickerData?.link.queryString;
|
|
93
|
+
a.href += this.#linkPickerData?.link.queryString;
|
|
94
|
+
}
|
|
95
|
+
return a;
|
|
96
|
+
}
|
|
97
|
+
#insertLink() {
|
|
98
|
+
if (this.#anchorElement) {
|
|
99
|
+
this.editor.dom.setAttribs(this.#anchorElement, this.#createElemAttributes());
|
|
100
|
+
this.editor.selection.select(this.#anchorElement);
|
|
101
|
+
this.editor.execCommand('mceEndTyping');
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
// If there is no selected content, we can't insert a link
|
|
105
|
+
// as TinyMCE needs selected content for this, so instead we
|
|
106
|
+
// create a new dom element and insert it, using the chosen
|
|
107
|
+
// link name as the content.
|
|
108
|
+
if (this.editor.selection.getContent() !== '') {
|
|
109
|
+
this.editor.execCommand('CreateLink', false, this.#createElemAttributes());
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// Using the target url as a fallback, as href might be confusing with a local link
|
|
113
|
+
const linkContent = typeof this.#linkPickerData?.link.name !== 'undefined' && this.#linkPickerData?.link.name !== ''
|
|
114
|
+
? this.#linkPickerData?.link.name
|
|
115
|
+
: this.#linkPickerData?.link.url;
|
|
116
|
+
// only insert if link has content
|
|
117
|
+
if (linkContent) {
|
|
118
|
+
const domElement = this.editor.dom.createHTML('a', this.#createElemAttributes(), linkContent);
|
|
119
|
+
this.editor.execCommand('mceInsertContent', false, domElement);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
#updateLink() {
|
|
123
|
+
// if an anchor exists, check that it is appropriately prefixed
|
|
124
|
+
if (this.#linkPickerData?.link.queryString &&
|
|
125
|
+
!this.#linkPickerData.link.queryString.startsWith('?') &&
|
|
126
|
+
!this.#linkPickerData.link.queryString.startsWith('#')) {
|
|
127
|
+
this.#linkPickerData.link.queryString =
|
|
128
|
+
(this.#linkPickerData.link.queryString.startsWith('=') ? '#' : '?') + this.#linkPickerData.link.queryString;
|
|
129
|
+
}
|
|
130
|
+
// the href might be an external url, so check the value for an anchor/qs
|
|
131
|
+
// href has the anchor re-appended later, hence the reset here to avoid duplicating the anchor
|
|
132
|
+
if (this.#linkPickerData && !this.#linkPickerData?.link.queryString) {
|
|
133
|
+
const urlParts = this.#linkPickerData?.link.url?.split(/(#|\?)/);
|
|
134
|
+
if (urlParts?.length === 3) {
|
|
135
|
+
this.#linkPickerData.link.url = urlParts[0];
|
|
136
|
+
this.#linkPickerData.link.queryString = urlParts[1] + urlParts[2];
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (!this.#linkPickerData?.link.url && !this.#linkPickerData?.link.queryString) {
|
|
140
|
+
this.editor.execCommand('unlink');
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
//if we have an id, it must be a locallink:id
|
|
144
|
+
if (this.#linkPickerData?.link.udi) {
|
|
145
|
+
this.#linkPickerData.link.url = '/{localLink:' + this.#linkPickerData.link.udi + '}';
|
|
146
|
+
this.#insertLink();
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (!this.#linkPickerData?.link.url) {
|
|
150
|
+
this.#linkPickerData.link.url = '';
|
|
151
|
+
}
|
|
152
|
+
// Is email and not //user@domain.com and protocol (e.g. mailto:, sip:) is not specified
|
|
153
|
+
if (this.#linkPickerData?.link.url.includes('@') &&
|
|
154
|
+
!this.#linkPickerData.link.url.includes('//') &&
|
|
155
|
+
!this.#linkPickerData.link.url.includes(':')) {
|
|
156
|
+
// assume it's a mailto link
|
|
157
|
+
this.#linkPickerData.link.url = 'mailto:' + this.#linkPickerData?.link.url;
|
|
158
|
+
this.#insertLink();
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
// Is www. prefixed
|
|
162
|
+
if (/^\s*www\./i.test(this.#linkPickerData?.link.url)) {
|
|
163
|
+
this.#linkPickerData.link.url = 'http://' + this.#linkPickerData.link.url;
|
|
164
|
+
}
|
|
165
|
+
this.#insertLink();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=tiny-mce-linkpicker.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiny-mce-linkpicker.plugin.js","sourceRoot":"","sources":["../../../../../../../src/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-linkpicker.plugin.ts"],"names":[],"mappings":"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"}
|
package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-macropicker.plugin.js
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { UmbMacroService } from '../../../../macro/index.js';
|
|
2
|
+
import { UmbTinyMcePluginBase } from '../../../../components/index.js';
|
|
3
|
+
import { UMB_CONFIRM_MODAL, UMB_MODAL_MANAGER_CONTEXT_TOKEN, } from '../../../../modal/index.js';
|
|
4
|
+
// TODO => This is a quick transplant of the existing macro plugin - needs to be finished, and need to
|
|
5
|
+
// determine how to replicate the existing macro service
|
|
6
|
+
export default class UmbTinyMceMacroPickerPlugin extends UmbTinyMcePluginBase {
|
|
7
|
+
#macroService = new UmbMacroService();
|
|
8
|
+
#modalContext;
|
|
9
|
+
constructor(args) {
|
|
10
|
+
super(args);
|
|
11
|
+
this.host.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (modalContext) => {
|
|
12
|
+
this.#modalContext = modalContext;
|
|
13
|
+
});
|
|
14
|
+
/** Adds custom rules for the macro plugin and custom serialization */
|
|
15
|
+
this.editor.on('preInit', () => {
|
|
16
|
+
//this is requires so that we tell the serializer that a 'div' is actually allowed in the root,
|
|
17
|
+
// otherwise the cleanup will strip it out
|
|
18
|
+
this.editor.serializer.addRules('div');
|
|
19
|
+
/** This checks if the div is a macro container, if so, checks if its wrapped in a p tag and then unwraps it (removes p tag) */
|
|
20
|
+
this.editor.serializer.addNodeFilter('div', (nodes) => {
|
|
21
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
22
|
+
if (nodes[i].attr('class') === 'umb-macro-holder' && nodes[i].parent?.name.toLowerCase() === 'p') {
|
|
23
|
+
nodes[i].parent?.unwrap();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
/** when the contents load we need to find any macros declared and load in their content */
|
|
29
|
+
this.editor.on('SetContent', () => {
|
|
30
|
+
//get all macro divs and load their content
|
|
31
|
+
this.editor.dom.select('.umb-macro-holder.mceNonEditable').forEach((macroElement) => {
|
|
32
|
+
this.#loadMacroContent(macroElement, null);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
/** Adds the button instance */
|
|
36
|
+
this.editor.ui.registry.addButton('umbmacro', {
|
|
37
|
+
icon: 'preferences',
|
|
38
|
+
tooltip: 'Insert macro',
|
|
39
|
+
/** The insert macro button click event handler */
|
|
40
|
+
onAction: () => {
|
|
41
|
+
let dialogData = {
|
|
42
|
+
//flag for use in rte so we only show macros flagged for the editor
|
|
43
|
+
richTextEditor: true,
|
|
44
|
+
};
|
|
45
|
+
//when we click we could have a macro already selected and in that case we'll want to edit the current parameters
|
|
46
|
+
//so we'll need to extract them and submit them to the dialog.
|
|
47
|
+
const activeMacroElement = this.#getRealMacroElem();
|
|
48
|
+
if (activeMacroElement) {
|
|
49
|
+
//we have a macro selected so we'll need to parse it's alias and parameters
|
|
50
|
+
const comment = Array.from(activeMacroElement.childNodes).find((x) => x.nodeType === 8);
|
|
51
|
+
if (!comment) {
|
|
52
|
+
throw 'Cannot parse the current macro, the syntax in the editor is invalid';
|
|
53
|
+
}
|
|
54
|
+
const syntax = comment.textContent?.trim();
|
|
55
|
+
const parsed = this.#macroService?.parseMacroSyntax(syntax);
|
|
56
|
+
dialogData = {
|
|
57
|
+
richTextEditor: false,
|
|
58
|
+
macroData: parsed,
|
|
59
|
+
activeMacroElement, //pass the active element along so we can retrieve it later
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
this.#showMacroPicker(dialogData);
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/** loads in the macro content async from the server */
|
|
67
|
+
#loadMacroContent(macroDiv, macroData) {
|
|
68
|
+
//if we don't have the macroData, then we'll need to parse it from the macro div
|
|
69
|
+
if (!macroData && macroDiv) {
|
|
70
|
+
const comment = Array.from(macroDiv.childNodes).find((x) => x.nodeType === 8);
|
|
71
|
+
if (!comment) {
|
|
72
|
+
throw 'Cannot parse the current macro, the syntax in the editor is invalid';
|
|
73
|
+
}
|
|
74
|
+
const syntax = comment.textContent?.trim();
|
|
75
|
+
const parsed = this.#macroService?.parseMacroSyntax(syntax);
|
|
76
|
+
macroData = parsed;
|
|
77
|
+
}
|
|
78
|
+
//show the throbber
|
|
79
|
+
macroDiv?.classList.add('loading');
|
|
80
|
+
// Add the contenteditable="false" attribute
|
|
81
|
+
// As just the CSS class of .mceNonEditable is not working by itself?!
|
|
82
|
+
macroDiv?.setAttribute('contenteditable', 'false');
|
|
83
|
+
// TODO => macro data service?
|
|
84
|
+
// const contentId = $routeParams.id;
|
|
85
|
+
// //need to wrap in safe apply since this might be occuring outside of angular
|
|
86
|
+
// angularHelper.safeApply($rootScope, function () {
|
|
87
|
+
// tryExecuteAndNotify(this, macroResource
|
|
88
|
+
// .getMacroResultAsHtmlForEditor(macroData.macroAlias, contentId, macroData.macroParamsDictionary))
|
|
89
|
+
// .then(function (htmlResult) {
|
|
90
|
+
// $macroDiv.removeClass('loading');
|
|
91
|
+
// htmlResult = htmlResult.trim();
|
|
92
|
+
// if (htmlResult !== '') {
|
|
93
|
+
// const wasDirty = editor.isDirty();
|
|
94
|
+
// const $ins = macroDiv?.querySelector('ins');
|
|
95
|
+
// $ins.html(htmlResult);
|
|
96
|
+
// if (!wasDirty) {
|
|
97
|
+
// editor.undoManager.clear();
|
|
98
|
+
// }
|
|
99
|
+
// }
|
|
100
|
+
// });
|
|
101
|
+
// });
|
|
102
|
+
}
|
|
103
|
+
#insertInEditor(macroObject, activeMacroElement) {
|
|
104
|
+
//Important note: the TinyMce plugin "noneditable" is used here so that the macro cannot be edited,
|
|
105
|
+
// for this to work the mceNonEditable class needs to come last and we also need to use the attribute contenteditable = false
|
|
106
|
+
// (even though all the docs and examples say that is not necessary)
|
|
107
|
+
//put the macro syntax in comments, we will parse this out on the server side to be used
|
|
108
|
+
//for persisting.
|
|
109
|
+
const macroSyntaxComment = `<!-- ${macroObject.syntax} -->`;
|
|
110
|
+
//create an id class for this element so we can re-select it after inserting
|
|
111
|
+
const uniqueId = 'umb-macro-' + this.editor.dom.uniqueId();
|
|
112
|
+
let macroDiv = this.editor.dom.create('div', {
|
|
113
|
+
class: `umb-macro-holder ${macroObject.macroAlias} ${uniqueId} mceNonEditable`,
|
|
114
|
+
contenteditable: 'false',
|
|
115
|
+
}, `${macroSyntaxComment}<ins>Macro alias: <strong>${macroObject.macroAlias}</strong></ins>`);
|
|
116
|
+
//if there's an activeMacroElement then replace it, otherwise set the contents of the selected node
|
|
117
|
+
if (activeMacroElement) {
|
|
118
|
+
activeMacroElement.replaceWith(macroDiv); //directly replaces the html node
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.editor.selection.setNode(macroDiv);
|
|
122
|
+
}
|
|
123
|
+
macroDiv = this.editor.dom.select('div.umb-macro-holder.' + uniqueId)[0];
|
|
124
|
+
this.editor.setDirty(true);
|
|
125
|
+
//async load the macro content
|
|
126
|
+
this.#loadMacroContent(macroDiv, macroObject);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Because the macro got wrapped in a P tag because of the way 'enter' works in older versions of Umbraco, this
|
|
130
|
+
* method will return the macro element if not wrapped in a p, or the p if the macro
|
|
131
|
+
* element is the only one inside of it even if we are deep inside an element inside the macro
|
|
132
|
+
*/
|
|
133
|
+
#getRealMacroElem() {
|
|
134
|
+
// Ask the editor for the currently selected element
|
|
135
|
+
const element = this.editor?.selection.getNode();
|
|
136
|
+
if (!element) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
const e = element.closest('.umb-macro-holder');
|
|
140
|
+
if (!e || e === null)
|
|
141
|
+
return null;
|
|
142
|
+
if (e.parentNode?.nodeName === 'P') {
|
|
143
|
+
//now check if we're the only element
|
|
144
|
+
if (element.parentNode?.childNodes.length === 1) {
|
|
145
|
+
return e.parentNode;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return e;
|
|
149
|
+
}
|
|
150
|
+
// TODO => depends on macro picker, which doesn't exist, just showing a generic modal for now
|
|
151
|
+
async #showMacroPicker(dialogData) {
|
|
152
|
+
const modalHandler = this.#modalContext?.open(UMB_CONFIRM_MODAL, {
|
|
153
|
+
headline: 'Macro picker',
|
|
154
|
+
content: 'Yet to be implemented',
|
|
155
|
+
});
|
|
156
|
+
if (!modalHandler)
|
|
157
|
+
return;
|
|
158
|
+
const result = await modalHandler.onSubmit();
|
|
159
|
+
if (!result)
|
|
160
|
+
return;
|
|
161
|
+
// TODO => object here should be the response from the modal
|
|
162
|
+
this.#insertInEditor({}, dialogData.activeMacroElement);
|
|
163
|
+
this.editor.dispatch('Change');
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=tiny-mce-macropicker.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiny-mce-macropicker.plugin.js","sourceRoot":"","sources":["../../../../../../../src/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-macropicker.plugin.ts"],"names":[],"mappings":"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"}
|
package/dist-cms/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-mediapicker.plugin.js
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { UmbTinyMcePluginBase } from '../../../../components/index.js';
|
|
2
|
+
import { UmbMediaHelper } from '../../../../../../shared/utils/index.js';
|
|
3
|
+
import { UMB_MEDIA_TREE_PICKER_MODAL, UMB_MODAL_MANAGER_CONTEXT_TOKEN, } from '../../../../modal/index.js';
|
|
4
|
+
export default class UmbTinyMceMediaPickerPlugin extends UmbTinyMcePluginBase {
|
|
5
|
+
#mediaHelper;
|
|
6
|
+
#currentUser;
|
|
7
|
+
#modalContext;
|
|
8
|
+
#auth;
|
|
9
|
+
constructor(args) {
|
|
10
|
+
super(args);
|
|
11
|
+
this.#mediaHelper = new UmbMediaHelper();
|
|
12
|
+
this.host.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (modalContext) => {
|
|
13
|
+
this.#modalContext = modalContext;
|
|
14
|
+
});
|
|
15
|
+
// TODO => this breaks tests. disabling for now
|
|
16
|
+
// will ignore user media start nodes
|
|
17
|
+
// this.host.consumeContext(UMB_AUTH, (instance) => {
|
|
18
|
+
// this.#auth = instance;
|
|
19
|
+
// this.#observeCurrentUser();
|
|
20
|
+
// });
|
|
21
|
+
this.editor.ui.registry.addButton('umbmediapicker', {
|
|
22
|
+
icon: 'image',
|
|
23
|
+
tooltip: 'Media Picker',
|
|
24
|
+
//stateSelector: 'img[data-udi]', TODO => Investigate where stateselector has gone, or if it is still needed
|
|
25
|
+
onAction: () => this.#onAction(),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async #observeCurrentUser() {
|
|
29
|
+
if (!this.#auth)
|
|
30
|
+
return;
|
|
31
|
+
this.host.observe(this.#auth.currentUser, (currentUser) => (this.#currentUser = currentUser));
|
|
32
|
+
}
|
|
33
|
+
async #onAction() {
|
|
34
|
+
const selectedElm = this.editor.selection.getNode();
|
|
35
|
+
let currentTarget = {};
|
|
36
|
+
if (selectedElm.nodeName === 'IMG') {
|
|
37
|
+
const img = selectedElm;
|
|
38
|
+
const hasUdi = img.hasAttribute('data-udi');
|
|
39
|
+
const hasDataTmpImg = img.hasAttribute('data-tmpimg');
|
|
40
|
+
currentTarget = {
|
|
41
|
+
altText: img.alt,
|
|
42
|
+
url: img.src,
|
|
43
|
+
caption: img.dataset.caption,
|
|
44
|
+
};
|
|
45
|
+
if (hasUdi) {
|
|
46
|
+
currentTarget['udi'] = img.dataset.udi;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
currentTarget['id'] = img.getAttribute('rel') ?? undefined;
|
|
50
|
+
}
|
|
51
|
+
if (hasDataTmpImg) {
|
|
52
|
+
currentTarget['tmpimg'] = img.dataset.tmpimg;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
this.#showMediaPicker(currentTarget);
|
|
56
|
+
}
|
|
57
|
+
async #showMediaPicker(currentTarget) {
|
|
58
|
+
let startNodeId;
|
|
59
|
+
let startNodeIsVirtual;
|
|
60
|
+
if (!this.configuration?.getByAlias('startNodeId')) {
|
|
61
|
+
if (this.configuration?.getValueByAlias('ignoreUserStartNodes') === true) {
|
|
62
|
+
startNodeId = -1;
|
|
63
|
+
startNodeIsVirtual = true;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
startNodeId = this.#currentUser?.mediaStartNodeIds?.length !== 1 ? -1 : this.#currentUser?.mediaStartNodeIds[0];
|
|
67
|
+
startNodeIsVirtual = this.#currentUser?.mediaStartNodeIds?.length !== 1;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// TODO => startNodeId and startNodeIsVirtual do not exist on ContentTreeItemResponseModel
|
|
71
|
+
const modalHandler = this.#modalContext?.open(UMB_MEDIA_TREE_PICKER_MODAL, {
|
|
72
|
+
selection: currentTarget.udi ? [...currentTarget.udi] : [],
|
|
73
|
+
multiple: false,
|
|
74
|
+
//startNodeId,
|
|
75
|
+
//startNodeIsVirtual,
|
|
76
|
+
});
|
|
77
|
+
if (!modalHandler)
|
|
78
|
+
return;
|
|
79
|
+
const { selection } = await modalHandler.onSubmit();
|
|
80
|
+
if (!selection.length)
|
|
81
|
+
return;
|
|
82
|
+
this.#insertInEditor(selection[0]);
|
|
83
|
+
this.editor.dispatch('Change');
|
|
84
|
+
}
|
|
85
|
+
// TODO => mediaPicker returns a UDI, so need to fetch it. Wait for backend CLI before implementing
|
|
86
|
+
async #insertInEditor(img) {
|
|
87
|
+
if (!img)
|
|
88
|
+
return;
|
|
89
|
+
// We need to create a NEW DOM <img> element to insert
|
|
90
|
+
// setting an attribute of ID to __mcenew, so we can gather a reference to the node, to be able to update its size accordingly to the size of the image.
|
|
91
|
+
const data = {
|
|
92
|
+
alt: img.altText || '',
|
|
93
|
+
src: img.url ? img.url : 'nothing.jpg',
|
|
94
|
+
id: '__mcenew',
|
|
95
|
+
'data-udi': img.udi,
|
|
96
|
+
'data-caption': img.caption,
|
|
97
|
+
};
|
|
98
|
+
const newImage = this.editor.dom.createHTML('img', data);
|
|
99
|
+
const parentElement = this.editor.selection.getNode().parentElement;
|
|
100
|
+
if (img.caption && parentElement) {
|
|
101
|
+
const figCaption = this.editor.dom.createHTML('figcaption', {}, img.caption);
|
|
102
|
+
const combined = newImage + figCaption;
|
|
103
|
+
if (parentElement.nodeName !== 'FIGURE') {
|
|
104
|
+
const fragment = this.editor.dom.createHTML('figure', {}, combined);
|
|
105
|
+
this.editor.selection.setContent(fragment);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
parentElement.innerHTML = combined;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
//if caption is removed, remove the figure element
|
|
113
|
+
if (parentElement?.nodeName === 'FIGURE' && parentElement.parentElement) {
|
|
114
|
+
parentElement.parentElement.innerHTML = newImage;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.editor.selection.setContent(newImage);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Using settimeout to wait for a DoM-render, so we can find the new element by ID.
|
|
121
|
+
setTimeout(() => {
|
|
122
|
+
const imgElm = this.editor.dom.get('__mcenew');
|
|
123
|
+
if (!imgElm)
|
|
124
|
+
return;
|
|
125
|
+
this.editor.dom.setAttrib(imgElm, 'id', null);
|
|
126
|
+
// When image is loaded we are ready to call sizeImageInEditor.
|
|
127
|
+
const onImageLoaded = () => {
|
|
128
|
+
this.#mediaHelper?.sizeImageInEditor(this.editor, imgElm, img.url);
|
|
129
|
+
this.editor.dispatch('Change');
|
|
130
|
+
};
|
|
131
|
+
// Check if image already is loaded.
|
|
132
|
+
if (imgElm.complete === true) {
|
|
133
|
+
onImageLoaded();
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
imgElm.onload = onImageLoaded;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=tiny-mce-mediapicker.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiny-mce-mediapicker.plugin.js","sourceRoot":"","sources":["../../../../../../../src/packages/core/property-editors/uis/tiny-mce/plugins/tiny-mce-mediapicker.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,9 @@ import { UmbDataTypePropertyCollection } from '../../../components/index.js';
|
|
|
5
5
|
* @element umb-property-editor-ui-tiny-mce
|
|
6
6
|
*/
|
|
7
7
|
export declare class UmbPropertyEditorUITinyMceElement extends UmbLitElement implements UmbPropertyEditorExtensionElement {
|
|
8
|
+
#private;
|
|
8
9
|
value: string;
|
|
9
|
-
config: UmbDataTypePropertyCollection;
|
|
10
|
+
set config(config: UmbDataTypePropertyCollection);
|
|
10
11
|
render(): import("lit-html").TemplateResult<1>;
|
|
11
12
|
static styles: import("@lit/reactive-element/css-tag").CSSResult[];
|
|
12
13
|
}
|