@tiny-mce-umbraco/backoffice 16.0.0-rc2 → 16.0.0-rc2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist-cms/README.md +1 -0
- package/dist-cms/api/client.gen.d.ts +13 -0
- package/dist-cms/api/client.gen.d.ts.map +1 -0
- package/dist-cms/api/client.gen.js +5 -0
- package/dist-cms/api/index.d.ts +3 -0
- package/dist-cms/api/index.d.ts.map +1 -0
- package/dist-cms/api/index.js +3 -0
- package/dist-cms/api/sdk.gen.d.ts +19 -0
- package/dist-cms/api/sdk.gen.d.ts.map +1 -0
- package/dist-cms/api/sdk.gen.js +16 -0
- package/dist-cms/api/types.gen.d.ts +72 -0
- package/dist-cms/api/types.gen.d.ts.map +1 -0
- package/dist-cms/api/types.gen.js +7 -0
- package/dist-cms/components/constants.d.ts +2 -0
- package/dist-cms/components/constants.d.ts.map +1 -0
- package/dist-cms/components/constants.js +1 -0
- package/dist-cms/components/index.d.ts +6 -0
- package/dist-cms/components/index.d.ts.map +1 -0
- package/dist-cms/components/index.js +5 -0
- package/dist-cms/components/input-tiny-mce/index.d.ts +7 -0
- package/dist-cms/components/input-tiny-mce/index.d.ts.map +1 -0
- package/dist-cms/components/input-tiny-mce/index.js +6 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.defaults.d.ts +5 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.defaults.d.ts.map +1 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.defaults.js +159 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.element.d.ts +37 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.element.d.ts.map +1 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.element.js +449 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.handlers.d.ts +3 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.handlers.d.ts.map +1 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.handlers.js +8 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.languages.d.ts +2 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.languages.d.ts.map +1 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.languages.js +78 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.sanitizer.d.ts +9 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.sanitizer.d.ts.map +1 -0
- package/dist-cms/components/input-tiny-mce/input-tiny-mce.sanitizer.js +47 -0
- package/dist-cms/components/input-tiny-mce/tiny-mce-plugin.d.ts +24 -0
- package/dist-cms/components/input-tiny-mce/tiny-mce-plugin.d.ts.map +1 -0
- package/dist-cms/components/input-tiny-mce/tiny-mce-plugin.js +16 -0
- package/dist-cms/components/manifests.d.ts +2 -0
- package/dist-cms/components/manifests.d.ts.map +1 -0
- package/dist-cms/components/manifests.js +2 -0
- package/dist-cms/components/stylesheet-rule-input/constants.d.ts +3 -0
- package/dist-cms/components/stylesheet-rule-input/constants.d.ts.map +1 -0
- package/dist-cms/components/stylesheet-rule-input/constants.js +2 -0
- package/dist-cms/components/stylesheet-rule-input/manifests.d.ts +3 -0
- package/dist-cms/components/stylesheet-rule-input/manifests.d.ts.map +1 -0
- package/dist-cms/components/stylesheet-rule-input/manifests.js +9 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-input.element.d.ts +18 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-input.element.d.ts.map +1 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-input.element.js +119 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-settings-modal.element.d.ts +12 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-settings-modal.element.d.ts.map +1 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-settings-modal.element.js +142 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-settings-modal.token.d.ts +7 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-settings-modal.token.d.ts.map +1 -0
- package/dist-cms/components/stylesheet-rule-input/stylesheet-rule-settings-modal.token.js +9 -0
- package/dist-cms/components/stylesheet-rule-ref/stylesheet-rule-ref.element.d.ts +16 -0
- package/dist-cms/components/stylesheet-rule-ref/stylesheet-rule-ref.element.d.ts.map +1 -0
- package/dist-cms/components/stylesheet-rule-ref/stylesheet-rule-ref.element.js +24 -0
- package/dist-cms/constants.d.ts +2 -0
- package/dist-cms/constants.d.ts.map +1 -0
- package/dist-cms/constants.js +1 -0
- package/dist-cms/entry-points/entry-point.d.ts +4 -0
- package/dist-cms/entry-points/entry-point.d.ts.map +1 -0
- package/dist-cms/entry-points/entry-point.js +25 -0
- package/dist-cms/entry-points/manifest.d.ts +2 -0
- package/dist-cms/entry-points/manifest.d.ts.map +1 -0
- package/dist-cms/entry-points/manifest.js +8 -0
- package/dist-cms/external/tinymce/index.d.ts +22 -0
- package/dist-cms/external/tinymce/index.d.ts.map +1 -0
- package/dist-cms/external/tinymce/index.js +18 -0
- package/dist-cms/icons/icons.d.ts +6 -0
- package/dist-cms/icons/icons.d.ts.map +1 -0
- package/dist-cms/icons/icons.js +1 -0
- package/dist-cms/icons/manifests.d.ts +2 -0
- package/dist-cms/icons/manifests.d.ts.map +1 -0
- package/dist-cms/icons/manifests.js +8 -0
- package/dist-cms/index.d.ts +5 -0
- package/dist-cms/index.d.ts.map +1 -0
- package/dist-cms/index.js +3 -0
- package/dist-cms/localizations/ar.d.ts +4 -0
- package/dist-cms/localizations/ar.d.ts.map +1 -0
- package/dist-cms/localizations/ar.js +5 -0
- package/dist-cms/localizations/bs.d.ts +4 -0
- package/dist-cms/localizations/bs.d.ts.map +1 -0
- package/dist-cms/localizations/bs.js +5 -0
- package/dist-cms/localizations/cs.d.ts +4 -0
- package/dist-cms/localizations/cs.d.ts.map +1 -0
- package/dist-cms/localizations/cs.js +5 -0
- package/dist-cms/localizations/cy.d.ts +4 -0
- package/dist-cms/localizations/cy.d.ts.map +1 -0
- package/dist-cms/localizations/cy.js +5 -0
- package/dist-cms/localizations/da.d.ts +4 -0
- package/dist-cms/localizations/da.d.ts.map +1 -0
- package/dist-cms/localizations/da.js +5 -0
- package/dist-cms/localizations/de.d.ts +4 -0
- package/dist-cms/localizations/de.d.ts.map +1 -0
- package/dist-cms/localizations/de.js +5 -0
- package/dist-cms/localizations/en.d.ts +4 -0
- package/dist-cms/localizations/en.d.ts.map +1 -0
- package/dist-cms/localizations/en.js +5 -0
- package/dist-cms/localizations/fr.d.ts +4 -0
- package/dist-cms/localizations/fr.d.ts.map +1 -0
- package/dist-cms/localizations/fr.js +5 -0
- package/dist-cms/localizations/hr.d.ts +4 -0
- package/dist-cms/localizations/hr.d.ts.map +1 -0
- package/dist-cms/localizations/hr.js +5 -0
- package/dist-cms/localizations/it.d.ts +4 -0
- package/dist-cms/localizations/it.d.ts.map +1 -0
- package/dist-cms/localizations/it.js +5 -0
- package/dist-cms/localizations/manifests.d.ts +2 -0
- package/dist-cms/localizations/manifests.d.ts.map +1 -0
- package/dist-cms/localizations/manifests.js +97 -0
- package/dist-cms/localizations/nl.d.ts +4 -0
- package/dist-cms/localizations/nl.d.ts.map +1 -0
- package/dist-cms/localizations/nl.js +5 -0
- package/dist-cms/localizations/tr.d.ts +4 -0
- package/dist-cms/localizations/tr.d.ts.map +1 -0
- package/dist-cms/localizations/tr.js +5 -0
- package/dist-cms/manifests.d.ts +2 -0
- package/dist-cms/manifests.d.ts.map +1 -0
- package/dist-cms/manifests.js +16 -0
- package/dist-cms/plugins/core/a11ychecker.tinymce-api.d.ts +6 -0
- package/dist-cms/plugins/core/a11ychecker.tinymce-api.d.ts.map +1 -0
- package/dist-cms/plugins/core/a11ychecker.tinymce-api.js +7 -0
- package/dist-cms/plugins/core/ai-assistant.tinymce-api.d.ts +9 -0
- package/dist-cms/plugins/core/ai-assistant.tinymce-api.d.ts.map +1 -0
- package/dist-cms/plugins/core/ai-assistant.tinymce-api.js +41 -0
- package/dist-cms/plugins/core/ai-request-factory.d.ts +2 -0
- package/dist-cms/plugins/core/ai-request-factory.d.ts.map +1 -0
- package/dist-cms/plugins/core/ai-request-factory.js +33 -0
- package/dist-cms/plugins/core/basic.tinymce-api.d.ts +6 -0
- package/dist-cms/plugins/core/basic.tinymce-api.d.ts.map +1 -0
- package/dist-cms/plugins/core/basic.tinymce-api.js +7 -0
- package/dist-cms/plugins/manifests.d.ts +3 -0
- package/dist-cms/plugins/manifests.d.ts.map +1 -0
- package/dist-cms/plugins/manifests.js +506 -0
- package/dist-cms/plugins/tiny-mce-block-picker.plugin.d.ts +8 -0
- package/dist-cms/plugins/tiny-mce-block-picker.plugin.d.ts.map +1 -0
- package/dist-cms/plugins/tiny-mce-block-picker.plugin.js +99 -0
- package/dist-cms/plugins/tiny-mce-code-editor.plugin.d.ts +7 -0
- package/dist-cms/plugins/tiny-mce-code-editor.plugin.d.ts.map +1 -0
- package/dist-cms/plugins/tiny-mce-code-editor.plugin.js +42 -0
- package/dist-cms/plugins/tiny-mce-embeddedmedia.plugin.d.ts +7 -0
- package/dist-cms/plugins/tiny-mce-embeddedmedia.plugin.d.ts.map +1 -0
- package/dist-cms/plugins/tiny-mce-embeddedmedia.plugin.js +74 -0
- package/dist-cms/plugins/tiny-mce-mediapicker.plugin.d.ts +7 -0
- package/dist-cms/plugins/tiny-mce-mediapicker.plugin.d.ts.map +1 -0
- package/dist-cms/plugins/tiny-mce-mediapicker.plugin.js +224 -0
- package/dist-cms/plugins/tiny-mce-multi-url-picker.plugin.d.ts +8 -0
- package/dist-cms/plugins/tiny-mce-multi-url-picker.plugin.d.ts.map +1 -0
- package/dist-cms/plugins/tiny-mce-multi-url-picker.plugin.js +172 -0
- package/dist-cms/plugins/tinymce-plugin.extension.d.ts +70 -0
- package/dist-cms/plugins/tinymce-plugin.extension.d.ts.map +1 -0
- package/dist-cms/plugins/tinymce-plugin.extension.js +1 -0
- package/dist-cms/plugins/types.d.ts +2 -0
- package/dist-cms/plugins/types.d.ts.map +1 -0
- package/dist-cms/plugins/types.js +1 -0
- package/dist-cms/property-editors/configEditor/property-editor-ui-tiny-mce-config-editor.element.d.ts +23 -0
- package/dist-cms/property-editors/configEditor/property-editor-ui-tiny-mce-config-editor.element.d.ts.map +1 -0
- package/dist-cms/property-editors/configEditor/property-editor-ui-tiny-mce-config-editor.element.js +102 -0
- package/dist-cms/property-editors/constants.d.ts +2 -0
- package/dist-cms/property-editors/constants.d.ts.map +1 -0
- package/dist-cms/property-editors/constants.js +1 -0
- package/dist-cms/property-editors/manifests.d.ts +2 -0
- package/dist-cms/property-editors/manifests.d.ts.map +1 -0
- package/dist-cms/property-editors/manifests.js +37 -0
- package/dist-cms/property-editors/plugin/property-editor-ui-tiny-mce-plugin-configuration.element.d.ts +25 -0
- package/dist-cms/property-editors/plugin/property-editor-ui-tiny-mce-plugin-configuration.element.d.ts.map +1 -0
- package/dist-cms/property-editors/plugin/property-editor-ui-tiny-mce-plugin-configuration.element.js +212 -0
- package/dist-cms/property-editors/tiny-mce/constants.d.ts +2 -0
- package/dist-cms/property-editors/tiny-mce/constants.d.ts.map +1 -0
- package/dist-cms/property-editors/tiny-mce/constants.js +1 -0
- package/dist-cms/property-editors/tiny-mce/manifests.d.ts +2 -0
- package/dist-cms/property-editors/tiny-mce/manifests.d.ts.map +1 -0
- package/dist-cms/property-editors/tiny-mce/manifests.js +149 -0
- package/dist-cms/property-editors/tiny-mce/property-editor-ui-tiny-mce.element.d.ts +16 -0
- package/dist-cms/property-editors/tiny-mce/property-editor-ui-tiny-mce.element.d.ts.map +1 -0
- package/dist-cms/property-editors/tiny-mce/property-editor-ui-tiny-mce.element.js +79 -0
- package/dist-cms/property-editors/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.d.ts +25 -0
- package/dist-cms/property-editors/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.d.ts.map +1 -0
- package/dist-cms/property-editors/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.js +201 -0
- package/dist-cms/stylesheets/entity-actions/manifests.d.ts +2 -0
- package/dist-cms/stylesheets/entity-actions/manifests.d.ts.map +1 -0
- package/dist-cms/stylesheets/entity-actions/manifests.js +15 -0
- package/dist-cms/stylesheets/entity-actions/rte-stylesheet-create-option-action.d.ts +7 -0
- package/dist-cms/stylesheets/entity-actions/rte-stylesheet-create-option-action.d.ts.map +1 -0
- package/dist-cms/stylesheets/entity-actions/rte-stylesheet-create-option-action.js +8 -0
- package/dist-cms/stylesheets/manifests.d.ts +2 -0
- package/dist-cms/stylesheets/manifests.d.ts.map +1 -0
- package/dist-cms/stylesheets/manifests.js +3 -0
- package/dist-cms/stylesheets/stylesheet-rule-manager.d.ts +20 -0
- package/dist-cms/stylesheets/stylesheet-rule-manager.d.ts.map +1 -0
- package/dist-cms/stylesheets/stylesheet-rule-manager.js +57 -0
- package/dist-cms/stylesheets/workspace-views/manifests.d.ts +2 -0
- package/dist-cms/stylesheets/workspace-views/manifests.d.ts.map +1 -0
- package/dist-cms/stylesheets/workspace-views/manifests.js +22 -0
- package/dist-cms/stylesheets/workspace-views/stylesheet-rich-text-rule-workspace-view.element.d.ts +18 -0
- package/dist-cms/stylesheets/workspace-views/stylesheet-rich-text-rule-workspace-view.element.d.ts.map +1 -0
- package/dist-cms/stylesheets/workspace-views/stylesheet-rich-text-rule-workspace-view.element.js +100 -0
- package/dist-cms/tinymce.d.ts +2 -0
- package/dist-cms/tinymce.d.ts.map +1 -0
- package/dist-cms/tinymce.js +1 -0
- package/dist-cms/types.d.ts +6 -0
- package/dist-cms/types.d.ts.map +1 -0
- package/dist-cms/types.js +1 -0
- package/dist-cms/utils/index.d.ts +26 -0
- package/dist-cms/utils/index.d.ts.map +1 -0
- package/dist-cms/utils/index.js +108 -0
- package/package.json +10 -4
- package/dist/tiny-mce-umbraco.d.ts +0 -252
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _UmbPropertyEditorUITinyMceElement_instances, _UmbPropertyEditorUITinyMceElement_onChange;
|
|
13
|
+
import { customElement, html } from '@umbraco-cms/backoffice/external/lit';
|
|
14
|
+
import { UmbPropertyEditorUiRteElementBase } from '@umbraco-cms/backoffice/rte';
|
|
15
|
+
import '../../components/input-tiny-mce/input-tiny-mce.element.js';
|
|
16
|
+
/**
|
|
17
|
+
* @element umb-property-editor-ui-tiny-mce
|
|
18
|
+
*/
|
|
19
|
+
let UmbPropertyEditorUITinyMceElement = class UmbPropertyEditorUITinyMceElement extends UmbPropertyEditorUiRteElementBase {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
_UmbPropertyEditorUITinyMceElement_instances.add(this);
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
return html `
|
|
26
|
+
<umb-input-tiny-mce
|
|
27
|
+
.configuration=${this._config}
|
|
28
|
+
.value=${this._markup}
|
|
29
|
+
@change=${__classPrivateFieldGet(this, _UmbPropertyEditorUITinyMceElement_instances, "m", _UmbPropertyEditorUITinyMceElement_onChange)}
|
|
30
|
+
?readonly=${this.readonly}>
|
|
31
|
+
</umb-input-tiny-mce>
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
_UmbPropertyEditorUITinyMceElement_instances = new WeakSet();
|
|
36
|
+
_UmbPropertyEditorUITinyMceElement_onChange = function _UmbPropertyEditorUITinyMceElement_onChange(event) {
|
|
37
|
+
const markup = typeof event.target.value === 'string' ? event.target.value : '';
|
|
38
|
+
// If we don't get any markup clear the property editor value.
|
|
39
|
+
if (markup === '') {
|
|
40
|
+
this.value = undefined;
|
|
41
|
+
this._fireChangeEvent();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// Remove unused Blocks of Blocks Layout. Leaving only the Blocks that are present in Markup.
|
|
45
|
+
const usedContentKeys = [];
|
|
46
|
+
// Regex matching all block elements in the markup, and extracting the content key. It's the same as the one used on the backend.
|
|
47
|
+
const regex = new RegExp(/<umb-rte-block(?:-inline)?(?: class="(?:.[^"]*)")? data-content-key="(?<key>.[^"]*)">(?:<!--Umbraco-Block-->)?<\/umb-rte-block(?:-inline)?>/gi);
|
|
48
|
+
let blockElement;
|
|
49
|
+
while ((blockElement = regex.exec(markup)) !== null) {
|
|
50
|
+
if (blockElement.groups?.key) {
|
|
51
|
+
usedContentKeys.push(blockElement.groups.key);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (this.value) {
|
|
55
|
+
this.value = {
|
|
56
|
+
...this.value,
|
|
57
|
+
markup: markup,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.value = {
|
|
62
|
+
markup: markup,
|
|
63
|
+
blocks: {
|
|
64
|
+
layout: {},
|
|
65
|
+
contentData: [],
|
|
66
|
+
settingsData: [],
|
|
67
|
+
expose: [],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// lets run this one after we set the value, to make sure we don't reset the value.
|
|
72
|
+
this._filterUnusedBlocks(usedContentKeys);
|
|
73
|
+
this._fireChangeEvent();
|
|
74
|
+
};
|
|
75
|
+
UmbPropertyEditorUITinyMceElement = __decorate([
|
|
76
|
+
customElement('umb-property-editor-ui-tiny-mce')
|
|
77
|
+
], UmbPropertyEditorUITinyMceElement);
|
|
78
|
+
export { UmbPropertyEditorUITinyMceElement };
|
|
79
|
+
export default UmbPropertyEditorUITinyMceElement;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
|
2
|
+
import type { PropertyValueMap } from '@umbraco-cms/backoffice/external/lit';
|
|
3
|
+
import type { UmbPropertyEditorUiElement, UmbPropertyEditorConfigCollection } from '@umbraco-cms/backoffice/property-editor';
|
|
4
|
+
/**
|
|
5
|
+
* @element umb-property-editor-ui-tiny-mce-toolbar-configuration
|
|
6
|
+
*/
|
|
7
|
+
export declare class UmbPropertyEditorUITinyMceToolbarConfigurationElement extends UmbLitElement implements UmbPropertyEditorUiElement {
|
|
8
|
+
#private;
|
|
9
|
+
set value(value: string | string[] | null);
|
|
10
|
+
get value(): string[];
|
|
11
|
+
config?: UmbPropertyEditorConfigCollection;
|
|
12
|
+
private readonly _toolbarConfig;
|
|
13
|
+
protected firstUpdated(_changedProperties: PropertyValueMap<unknown>): Promise<void>;
|
|
14
|
+
private getToolbarPlugins;
|
|
15
|
+
private onChange;
|
|
16
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
17
|
+
static readonly styles: import("lit").CSSResult[];
|
|
18
|
+
}
|
|
19
|
+
export default UmbPropertyEditorUITinyMceToolbarConfigurationElement;
|
|
20
|
+
declare global {
|
|
21
|
+
interface HTMLElementTagNameMap {
|
|
22
|
+
'umb-property-editor-ui-tiny-mce-toolbar-configuration': UmbPropertyEditorUITinyMceToolbarConfigurationElement;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=property-editor-ui-tiny-mce-toolbar-configuration.element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-editor-ui-tiny-mce-toolbar-configuration.element.d.ts","sourceRoot":"","sources":["../../../src/property-editors/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EACX,0BAA0B,EAC1B,iCAAiC,EACjC,MAAM,yCAAyC,CAAC;AAiBjD;;GAEG;AACH,qBACa,qDACZ,SAAQ,aACR,YAAW,0BAA0B;;IAErC,IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAqBxC;IACD,IAAI,KAAK,IAAI,MAAM,EAAE,CAEpB;IAGD,MAAM,CAAC,EAAE,iCAAiC,CAAC;IAG3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;cAY7B,YAAY,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,OAAO,CAAC;YAoCrE,iBAAiB;IA+C/B,OAAO,CAAC,QAAQ;IAaP,MAAM;IAqBf,gBAAyB,MAAM,4BAe7B;CACF;AAED,eAAe,qDAAqD,CAAC;AAErE,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,uDAAuD,EAAE,qDAAqD,CAAC;KAC/G;CACD"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
14
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
15
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
16
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
17
|
+
};
|
|
18
|
+
var _UmbPropertyEditorUITinyMceToolbarConfigurationElement_instances, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_getTinyMceConfig;
|
|
19
|
+
import { css, customElement, html, property, state, repeat } from '@umbraco-cms/backoffice/external/lit';
|
|
20
|
+
import { firstValueFrom } from '@umbraco-cms/backoffice/external/rxjs';
|
|
21
|
+
import { TinyMceService } from '../../api/index.js';
|
|
22
|
+
import { tryExecute } from '@umbraco-cms/backoffice/resources';
|
|
23
|
+
import { umbHttpClient } from '@umbraco-cms/backoffice/http-client';
|
|
24
|
+
import { tinymce } from '@umbraco-cms/backoffice/external/tinymce';
|
|
25
|
+
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
|
26
|
+
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
|
27
|
+
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
|
|
28
|
+
import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
|
|
29
|
+
import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property';
|
|
30
|
+
import { defaultPremiumPluginsList } from '../../components/input-tiny-mce/input-tiny-mce.defaults.js';
|
|
31
|
+
const tinyIconSet = tinymce.IconManager.get('default');
|
|
32
|
+
/**
|
|
33
|
+
* @element umb-property-editor-ui-tiny-mce-toolbar-configuration
|
|
34
|
+
*/
|
|
35
|
+
let UmbPropertyEditorUITinyMceToolbarConfigurationElement = class UmbPropertyEditorUITinyMceToolbarConfigurationElement extends UmbLitElement {
|
|
36
|
+
constructor() {
|
|
37
|
+
super(...arguments);
|
|
38
|
+
_UmbPropertyEditorUITinyMceToolbarConfigurationElement_instances.add(this);
|
|
39
|
+
this._toolbarConfig = [];
|
|
40
|
+
_UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues.set(this, []);
|
|
41
|
+
}
|
|
42
|
+
set value(value) {
|
|
43
|
+
if (!value)
|
|
44
|
+
return;
|
|
45
|
+
if (typeof value === 'string') {
|
|
46
|
+
__classPrivateFieldSet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, value.split(',').filter((x) => x.length > 0), "f");
|
|
47
|
+
}
|
|
48
|
+
else if (Array.isArray(value)) {
|
|
49
|
+
__classPrivateFieldSet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, value, "f");
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
__classPrivateFieldSet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, [], "f");
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// Migrations
|
|
56
|
+
if (__classPrivateFieldGet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, "f").includes('ace')) {
|
|
57
|
+
__classPrivateFieldSet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, __classPrivateFieldGet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, "f").filter((v) => v !== 'ace'), "f");
|
|
58
|
+
__classPrivateFieldGet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, "f").push('sourcecode');
|
|
59
|
+
}
|
|
60
|
+
this._toolbarConfig.forEach((v) => {
|
|
61
|
+
v.selected = __classPrivateFieldGet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, "f").includes(v.alias);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
get value() {
|
|
65
|
+
return __classPrivateFieldGet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues, "f");
|
|
66
|
+
}
|
|
67
|
+
async firstUpdated(_changedProperties) {
|
|
68
|
+
super.firstUpdated(_changedProperties);
|
|
69
|
+
this.config?.getValueByAlias('toolbar')?.forEach((v) => {
|
|
70
|
+
this._toolbarConfig.push({
|
|
71
|
+
...v,
|
|
72
|
+
selected: this.value.includes(v.alias),
|
|
73
|
+
disabled: false,
|
|
74
|
+
isplugin: false,
|
|
75
|
+
pluginAlias: v.pluginAlias,
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
await this.getToolbarPlugins();
|
|
79
|
+
this.requestUpdate('_toolbarConfig');
|
|
80
|
+
this.consumeContext(UMB_PROPERTY_DATASET_CONTEXT, async (context) => {
|
|
81
|
+
this.observe(await context?.propertyValueByAlias('plugins'), (value) => {
|
|
82
|
+
//console.log([value]);
|
|
83
|
+
this._toolbarConfig.forEach((p) => {
|
|
84
|
+
if (p.isplugin && p.pluginAlias) {
|
|
85
|
+
if (value?.includes(p.pluginAlias)) {
|
|
86
|
+
p.disabled = false;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
p.disabled = true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
//console.log([this._toolbarConfig]);
|
|
94
|
+
this.requestUpdate('_toolbarConfig');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
async getToolbarPlugins() {
|
|
99
|
+
// Get all the toolbar plugins
|
|
100
|
+
const plugin$ = umbExtensionsRegistry.byType('tinyMcePlugin');
|
|
101
|
+
const plugins = await firstValueFrom(plugin$);
|
|
102
|
+
const appSettingsConfig = await __classPrivateFieldGet(this, _UmbPropertyEditorUITinyMceToolbarConfigurationElement_instances, "m", _UmbPropertyEditorUITinyMceToolbarConfigurationElement_getTinyMceConfig).call(this);
|
|
103
|
+
// Get list of plugins to exclude from the list
|
|
104
|
+
let excludeList = [];
|
|
105
|
+
let apiKey = '';
|
|
106
|
+
if (appSettingsConfig) {
|
|
107
|
+
apiKey = appSettingsConfig.richTextEditor?.cloudApiKey || '';
|
|
108
|
+
if (appSettingsConfig.config?.apikey) {
|
|
109
|
+
apiKey = appSettingsConfig.config?.apikey;
|
|
110
|
+
}
|
|
111
|
+
if (Array.isArray(appSettingsConfig.config?.pluginsToExclude)) {
|
|
112
|
+
excludeList = appSettingsConfig.config?.pluginsToExclude;
|
|
113
|
+
}
|
|
114
|
+
if (!apiKey) {
|
|
115
|
+
// Remove pre-loaded premium plugins if no key present
|
|
116
|
+
excludeList = [...new Set([...excludeList, ...defaultPremiumPluginsList])];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
plugins.forEach((p) => {
|
|
120
|
+
// If the plugin has a toolbar, add it to the config
|
|
121
|
+
if (p.meta?.toolbar) {
|
|
122
|
+
p.meta.toolbar.forEach((t) => {
|
|
123
|
+
if (!excludeList.includes(t.pluginAlias)) {
|
|
124
|
+
this._toolbarConfig.push({
|
|
125
|
+
alias: t.alias,
|
|
126
|
+
label: this.localize.string(t.label),
|
|
127
|
+
icon: t.icon ?? 'icon-autofill',
|
|
128
|
+
selected: this.value.includes(t.alias),
|
|
129
|
+
disabled: false,
|
|
130
|
+
isplugin: t.isplugin,
|
|
131
|
+
pluginAlias: t.pluginAlias,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
onChange(event) {
|
|
139
|
+
const checkbox = event.target;
|
|
140
|
+
const alias = checkbox.value;
|
|
141
|
+
const value = this._toolbarConfig
|
|
142
|
+
.filter((t) => (t.alias !== alias && t.selected) || (t.alias === alias && checkbox.checked))
|
|
143
|
+
.map((v) => v.alias);
|
|
144
|
+
this.value = value;
|
|
145
|
+
this.dispatchEvent(new UmbChangeEvent());
|
|
146
|
+
}
|
|
147
|
+
render() {
|
|
148
|
+
return html `<ul>
|
|
149
|
+
${repeat(this._toolbarConfig, (v) => v.alias, (v) => html `<li>
|
|
150
|
+
<uui-checkbox
|
|
151
|
+
label=${v.label}
|
|
152
|
+
value=${v.alias}
|
|
153
|
+
?disabled=${v.disabled}
|
|
154
|
+
?checked=${v.selected}
|
|
155
|
+
@change=${this.onChange}>
|
|
156
|
+
<uui-icon .svg=${tinyIconSet?.icons[v.icon ?? 'alignjustify']}></uui-icon>
|
|
157
|
+
${v.label}
|
|
158
|
+
</uui-checkbox>
|
|
159
|
+
</li>`)}
|
|
160
|
+
</ul>`;
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
_UmbPropertyEditorUITinyMceToolbarConfigurationElement_selectedValues = new WeakMap();
|
|
164
|
+
_UmbPropertyEditorUITinyMceToolbarConfigurationElement_instances = new WeakSet();
|
|
165
|
+
_UmbPropertyEditorUITinyMceToolbarConfigurationElement_getTinyMceConfig = async function _UmbPropertyEditorUITinyMceToolbarConfigurationElement_getTinyMceConfig() {
|
|
166
|
+
// @ts-ignore
|
|
167
|
+
const { data } = await tryExecute(this, TinyMceService.getConfig({ client: umbHttpClient }));
|
|
168
|
+
if (!data)
|
|
169
|
+
return;
|
|
170
|
+
return data;
|
|
171
|
+
};
|
|
172
|
+
UmbPropertyEditorUITinyMceToolbarConfigurationElement.styles = [
|
|
173
|
+
UmbTextStyles,
|
|
174
|
+
css `
|
|
175
|
+
ul {
|
|
176
|
+
list-style: none;
|
|
177
|
+
padding: 0;
|
|
178
|
+
margin: 0;
|
|
179
|
+
|
|
180
|
+
uui-icon {
|
|
181
|
+
width: 1.5em;
|
|
182
|
+
height: 1.5em;
|
|
183
|
+
margin-right: 5px;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
`,
|
|
187
|
+
];
|
|
188
|
+
__decorate([
|
|
189
|
+
property({ attribute: false })
|
|
190
|
+
], UmbPropertyEditorUITinyMceToolbarConfigurationElement.prototype, "value", null);
|
|
191
|
+
__decorate([
|
|
192
|
+
property({ attribute: false })
|
|
193
|
+
], UmbPropertyEditorUITinyMceToolbarConfigurationElement.prototype, "config", void 0);
|
|
194
|
+
__decorate([
|
|
195
|
+
state()
|
|
196
|
+
], UmbPropertyEditorUITinyMceToolbarConfigurationElement.prototype, "_toolbarConfig", void 0);
|
|
197
|
+
UmbPropertyEditorUITinyMceToolbarConfigurationElement = __decorate([
|
|
198
|
+
customElement('umb-property-editor-ui-tiny-mce-toolbar-configuration')
|
|
199
|
+
], UmbPropertyEditorUITinyMceToolbarConfigurationElement);
|
|
200
|
+
export { UmbPropertyEditorUITinyMceToolbarConfigurationElement };
|
|
201
|
+
export default UmbPropertyEditorUITinyMceToolbarConfigurationElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifests.d.ts","sourceRoot":"","sources":["../../../src/stylesheets/entity-actions/manifests.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAajD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UMB_STYLESHEET_FOLDER_ENTITY_TYPE, UMB_STYLESHEET_ROOT_ENTITY_TYPE } from '@umbraco-cms/backoffice/stylesheet';
|
|
2
|
+
export const manifests = [
|
|
3
|
+
{
|
|
4
|
+
type: 'entityCreateOptionAction',
|
|
5
|
+
alias: 'Umb.EntityCreateOptionAction.Stylesheet.Rte',
|
|
6
|
+
name: 'RTE Stylesheet Entity Create Option Action',
|
|
7
|
+
weight: 90,
|
|
8
|
+
api: () => import('./rte-stylesheet-create-option-action.js'),
|
|
9
|
+
forEntityTypes: [UMB_STYLESHEET_ROOT_ENTITY_TYPE, UMB_STYLESHEET_FOLDER_ENTITY_TYPE],
|
|
10
|
+
meta: {
|
|
11
|
+
icon: 'icon-palette',
|
|
12
|
+
label: '#create_newRteStyleSheetFile',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UmbEntityCreateOptionActionBase } from '@umbraco-cms/backoffice/entity-create-option-action';
|
|
2
|
+
import type { MetaEntityCreateOptionAction } from '@umbraco-cms/backoffice/entity-create-option-action';
|
|
3
|
+
export declare class UmbStylesheetCreateOptionAction extends UmbEntityCreateOptionActionBase<MetaEntityCreateOptionAction> {
|
|
4
|
+
getHref(): Promise<string>;
|
|
5
|
+
}
|
|
6
|
+
export { UmbStylesheetCreateOptionAction as api };
|
|
7
|
+
//# sourceMappingURL=rte-stylesheet-create-option-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rte-stylesheet-create-option-action.d.ts","sourceRoot":"","sources":["../../../src/stylesheets/entity-actions/rte-stylesheet-create-option-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AAExG,qBAAa,+BAAgC,SAAQ,+BAA+B,CAAC,4BAA4B,CAAC;IAClG,OAAO;CAMtB;AAED,OAAO,EAAE,+BAA+B,IAAI,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { UmbEntityCreateOptionActionBase } from '@umbraco-cms/backoffice/entity-create-option-action';
|
|
2
|
+
export class UmbStylesheetCreateOptionAction extends UmbEntityCreateOptionActionBase {
|
|
3
|
+
async getHref() {
|
|
4
|
+
const href = `section/settings/workspace/stylesheet/create/parent/${this.args.entityType}/${this.args.unique || 'null'}`;
|
|
5
|
+
return `${href}/view/rich-text-editor`;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export { UmbStylesheetCreateOptionAction as api };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifests.d.ts","sourceRoot":"","sources":["../../src/stylesheets/manifests.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAyC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { UmbStylesheetRule } from '../types.js';
|
|
2
|
+
export declare class UmbStylesheetRuleManager {
|
|
3
|
+
#private;
|
|
4
|
+
/**
|
|
5
|
+
* Extracts umbraco rules from a stylesheet content
|
|
6
|
+
* @param {string} stylesheetContent
|
|
7
|
+
* @returns {*}
|
|
8
|
+
* @memberof UmbStylesheetRuleManager
|
|
9
|
+
*/
|
|
10
|
+
extractRules(stylesheetContent: string): Array<UmbStylesheetRule>;
|
|
11
|
+
/**
|
|
12
|
+
* Inserts umbraco rules into stylesheet content
|
|
13
|
+
* @param {string} stylesheetContent
|
|
14
|
+
* @param {UmbStylesheetRule[]} rules
|
|
15
|
+
* @returns {*}
|
|
16
|
+
* @memberof UmbStylesheetRuleManager
|
|
17
|
+
*/
|
|
18
|
+
insertRules(stylesheetContent: string, rules: Array<any>): string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=stylesheet-rule-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stylesheet-rule-manager.d.ts","sourceRoot":"","sources":["../../src/stylesheets/stylesheet-rule-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,qBAAa,wBAAwB;;IAGpC;;;;;OAKG;IACH,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAajE;;;;;;OAMG;IACH,WAAW,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM;CAqBjE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _UmbStylesheetRuleManager_umbRuleRegex;
|
|
7
|
+
export class UmbStylesheetRuleManager {
|
|
8
|
+
constructor() {
|
|
9
|
+
_UmbStylesheetRuleManager_umbRuleRegex.set(this, /\/\*\*\s*umb_name:\s*(?<name>[^*\r\n]*?)\s*\*\/\s*(?<selector>[^,{]*?)\s*{\s*(?<styles>.*?)\s*}/gis);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Extracts umbraco rules from a stylesheet content
|
|
13
|
+
* @param {string} stylesheetContent
|
|
14
|
+
* @returns {*}
|
|
15
|
+
* @memberof UmbStylesheetRuleManager
|
|
16
|
+
*/
|
|
17
|
+
extractRules(stylesheetContent) {
|
|
18
|
+
const regex = __classPrivateFieldGet(this, _UmbStylesheetRuleManager_umbRuleRegex, "f");
|
|
19
|
+
if (!stylesheetContent)
|
|
20
|
+
throw Error('No Stylesheet content');
|
|
21
|
+
return [...stylesheetContent.matchAll(regex)].map((match) => {
|
|
22
|
+
const rule = {
|
|
23
|
+
name: match.groups?.name || '',
|
|
24
|
+
selector: match.groups?.selector || '',
|
|
25
|
+
styles: match.groups?.styles || '',
|
|
26
|
+
};
|
|
27
|
+
return rule;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Inserts umbraco rules into stylesheet content
|
|
32
|
+
* @param {string} stylesheetContent
|
|
33
|
+
* @param {UmbStylesheetRule[]} rules
|
|
34
|
+
* @returns {*}
|
|
35
|
+
* @memberof UmbStylesheetRuleManager
|
|
36
|
+
*/
|
|
37
|
+
insertRules(stylesheetContent, rules) {
|
|
38
|
+
const regex = __classPrivateFieldGet(this, _UmbStylesheetRuleManager_umbRuleRegex, "f");
|
|
39
|
+
if (!stylesheetContent && !rules)
|
|
40
|
+
return '';
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
42
|
+
//@ts-ignore
|
|
43
|
+
const cleanedContent = stylesheetContent?.replaceAll(regex, '');
|
|
44
|
+
const newContent = `
|
|
45
|
+
${cleanedContent.replace(/[\r\n]+$/, '')}
|
|
46
|
+
${rules
|
|
47
|
+
?.map((rule) => `
|
|
48
|
+
/**umb_name:${rule.name}*/
|
|
49
|
+
${rule.selector} {
|
|
50
|
+
${rule.styles ?? ''}
|
|
51
|
+
}
|
|
52
|
+
`)
|
|
53
|
+
.join('')}`;
|
|
54
|
+
return newContent.trim();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
_UmbStylesheetRuleManager_umbRuleRegex = new WeakMap();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifests.d.ts","sourceRoot":"","sources":["../../../src/stylesheets/workspace-views/manifests.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAmBjD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { UMB_STYLESHEET_WORKSPACE_ALIAS } from '@umbraco-cms/backoffice/stylesheet';
|
|
2
|
+
import { UMB_WORKSPACE_CONDITION_ALIAS } from '@umbraco-cms/backoffice/workspace';
|
|
3
|
+
export const manifests = [
|
|
4
|
+
{
|
|
5
|
+
type: 'workspaceView',
|
|
6
|
+
alias: 'Umb.WorkspaceView.Stylesheet.RichTextEditor',
|
|
7
|
+
name: 'Stylesheet Workspace Rich Text Editor View',
|
|
8
|
+
element: () => import('./stylesheet-rich-text-rule-workspace-view.element.js'),
|
|
9
|
+
weight: 800,
|
|
10
|
+
meta: {
|
|
11
|
+
label: '#stylesheet_tabRules',
|
|
12
|
+
pathname: 'rich-text-editor',
|
|
13
|
+
icon: 'icon-font',
|
|
14
|
+
},
|
|
15
|
+
conditions: [
|
|
16
|
+
{
|
|
17
|
+
alias: UMB_WORKSPACE_CONDITION_ALIAS,
|
|
18
|
+
match: UMB_STYLESHEET_WORKSPACE_ALIAS,
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
];
|
package/dist-cms/stylesheets/workspace-views/stylesheet-rich-text-rule-workspace-view.element.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
|
2
|
+
import type { UmbStylesheetRule } from '../../types.js';
|
|
3
|
+
import '../../components/stylesheet-rule-input/stylesheet-rule-input.element.js';
|
|
4
|
+
import '../../components/stylesheet-rule-ref/stylesheet-rule-ref.element.js';
|
|
5
|
+
export declare class UmbStylesheetRichTextRuleWorkspaceViewElement extends UmbLitElement {
|
|
6
|
+
#private;
|
|
7
|
+
_rules: Array<UmbStylesheetRule>;
|
|
8
|
+
constructor();
|
|
9
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
10
|
+
static styles: import("lit").CSSResult[];
|
|
11
|
+
}
|
|
12
|
+
export default UmbStylesheetRichTextRuleWorkspaceViewElement;
|
|
13
|
+
declare global {
|
|
14
|
+
interface HTMLElementTagNameMap {
|
|
15
|
+
'umb-stylesheet-rich-text-rule-workspace-view': UmbStylesheetRichTextRuleWorkspaceViewElement;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=stylesheet-rich-text-rule-workspace-view.element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stylesheet-rich-text-rule-workspace-view.element.d.ts","sourceRoot":"","sources":["../../../src/stylesheets/workspace-views/stylesheet-rich-text-rule-workspace-view.element.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,yEAAyE,CAAC;AACjF,OAAO,qEAAqE,CAAC;AAE7E,qBACa,6CAA8C,SAAQ,aAAa;;IAE/E,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAM;;IA4C7B,MAAM;IAaf,OAAgB,MAAM,4BAYpB;CACF;AAED,eAAe,6CAA6C,CAAC;AAE7D,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,8CAA8C,EAAE,6CAA6C,CAAC;KAC9F;CACD"}
|
package/dist-cms/stylesheets/workspace-views/stylesheet-rich-text-rule-workspace-view.element.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
14
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
15
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
16
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
17
|
+
};
|
|
18
|
+
var _UmbStylesheetRichTextRuleWorkspaceViewElement_instances, _UmbStylesheetRichTextRuleWorkspaceViewElement_context, _UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetRuleManager, _UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetContent, _UmbStylesheetRichTextRuleWorkspaceViewElement_observeContent, _UmbStylesheetRichTextRuleWorkspaceViewElement_extractRules, _UmbStylesheetRichTextRuleWorkspaceViewElement_onRuleChange;
|
|
19
|
+
import { UmbStylesheetRuleManager } from '../stylesheet-rule-manager.js';
|
|
20
|
+
import { css, customElement, html, state } from '@umbraco-cms/backoffice/external/lit';
|
|
21
|
+
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
|
22
|
+
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
|
|
23
|
+
import { UMB_STYLESHEET_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/stylesheet';
|
|
24
|
+
import '../../components/stylesheet-rule-input/stylesheet-rule-input.element.js';
|
|
25
|
+
import '../../components/stylesheet-rule-ref/stylesheet-rule-ref.element.js';
|
|
26
|
+
let UmbStylesheetRichTextRuleWorkspaceViewElement = class UmbStylesheetRichTextRuleWorkspaceViewElement extends UmbLitElement {
|
|
27
|
+
constructor() {
|
|
28
|
+
super();
|
|
29
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_instances.add(this);
|
|
30
|
+
this._rules = [];
|
|
31
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_context.set(this, void 0);
|
|
32
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetRuleManager.set(this, new UmbStylesheetRuleManager());
|
|
33
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetContent.set(this, '');
|
|
34
|
+
this.consumeContext(UMB_STYLESHEET_WORKSPACE_CONTEXT, (context) => {
|
|
35
|
+
__classPrivateFieldSet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_context, context, "f");
|
|
36
|
+
__classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_instances, "m", _UmbStylesheetRichTextRuleWorkspaceViewElement_observeContent).call(this);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
render() {
|
|
40
|
+
return html `
|
|
41
|
+
<uui-box headline="Rich text editor styles">
|
|
42
|
+
<umb-property-layout
|
|
43
|
+
description="Define the styles that should be available in the rich text editor for this stylesheet.">
|
|
44
|
+
<div slot="editor">
|
|
45
|
+
<umb-stylesheet-rule-input .rules=${this._rules} @change=${__classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_instances, "m", _UmbStylesheetRichTextRuleWorkspaceViewElement_onRuleChange)}></umb-stylesheet-rule-input>
|
|
46
|
+
</div>
|
|
47
|
+
</umb-property-layout>
|
|
48
|
+
</uui-box>
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_context = new WeakMap();
|
|
53
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetRuleManager = new WeakMap();
|
|
54
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetContent = new WeakMap();
|
|
55
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_instances = new WeakSet();
|
|
56
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_observeContent = function _UmbStylesheetRichTextRuleWorkspaceViewElement_observeContent() {
|
|
57
|
+
if (!__classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_context, "f")?.content)
|
|
58
|
+
return;
|
|
59
|
+
this.observe(__classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_context, "f").content, (content) => {
|
|
60
|
+
__classPrivateFieldSet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetContent, content || '', "f");
|
|
61
|
+
__classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_instances, "m", _UmbStylesheetRichTextRuleWorkspaceViewElement_extractRules).call(this, content);
|
|
62
|
+
}, 'umbStylesheetContentObserver');
|
|
63
|
+
};
|
|
64
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_extractRules = function _UmbStylesheetRichTextRuleWorkspaceViewElement_extractRules(content) {
|
|
65
|
+
if (content) {
|
|
66
|
+
const rules = __classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetRuleManager, "f").extractRules(content);
|
|
67
|
+
this._rules = [...rules];
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this._rules = [];
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
_UmbStylesheetRichTextRuleWorkspaceViewElement_onRuleChange = function _UmbStylesheetRichTextRuleWorkspaceViewElement_onRuleChange(event) {
|
|
74
|
+
event.stopPropagation();
|
|
75
|
+
const target = event.target;
|
|
76
|
+
const rules = target.rules;
|
|
77
|
+
const newContent = __classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetRuleManager, "f").insertRules(__classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_stylesheetContent, "f"), rules);
|
|
78
|
+
__classPrivateFieldGet(this, _UmbStylesheetRichTextRuleWorkspaceViewElement_context, "f")?.setContent(newContent);
|
|
79
|
+
};
|
|
80
|
+
UmbStylesheetRichTextRuleWorkspaceViewElement.styles = [
|
|
81
|
+
UmbTextStyles,
|
|
82
|
+
css `
|
|
83
|
+
:host {
|
|
84
|
+
display: block;
|
|
85
|
+
width: 100%;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
uui-box {
|
|
89
|
+
margin: var(--uui-size-layout-1);
|
|
90
|
+
}
|
|
91
|
+
`,
|
|
92
|
+
];
|
|
93
|
+
__decorate([
|
|
94
|
+
state()
|
|
95
|
+
], UmbStylesheetRichTextRuleWorkspaceViewElement.prototype, "_rules", void 0);
|
|
96
|
+
UmbStylesheetRichTextRuleWorkspaceViewElement = __decorate([
|
|
97
|
+
customElement('umb-stylesheet-rich-text-rule-workspace-view')
|
|
98
|
+
], UmbStylesheetRichTextRuleWorkspaceViewElement);
|
|
99
|
+
export { UmbStylesheetRichTextRuleWorkspaceViewElement };
|
|
100
|
+
export default UmbStylesheetRichTextRuleWorkspaceViewElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tinymce.d.ts","sourceRoot":"","sources":["../src/tinymce.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './external/tinymce/index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|