asksuite-citrus 1.7.3 → 1.7.5
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/assets/citrus-i18n/en.json +0 -2
- package/assets/citrus-i18n/es.json +0 -2
- package/assets/citrus-i18n/pt.json +0 -2
- package/esm2022/lib/asksuite-citrus.module.mjs +4 -14
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/lib/components/avatar/avatar.component.mjs +2 -2
- package/esm2022/lib/components/box/box.component.mjs +2 -2
- package/esm2022/lib/components/button/button.component.mjs +2 -2
- package/esm2022/lib/components/character-counter/character-counter.component.mjs +2 -2
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +2 -2
- package/esm2022/lib/components/chips/chips.component.mjs +2 -2
- package/esm2022/lib/components/date-picker/date-picker-calendar/date-picker-calendar.component.mjs +2 -2
- package/esm2022/lib/components/date-picker/date-picker.component.mjs +2 -2
- package/esm2022/lib/components/dropdown-container/dropdown-container.component.mjs +2 -2
- package/esm2022/lib/components/input/input.component.mjs +2 -2
- package/esm2022/lib/components/modal/modal.component.mjs +2 -2
- package/esm2022/lib/components/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/components/select/select.component.mjs +2 -2
- package/esm2022/lib/components/table/table.component.mjs +2 -2
- package/esm2022/lib/components/toast/toast.component.mjs +3 -3
- package/esm2022/lib/directives/button/ask-button.directive.mjs +8 -3
- package/esm2022/lib/directives/index.mjs +1 -2
- package/esm2022/public-api.mjs +1 -3
- package/fesm2022/asksuite-citrus.mjs +61 -914
- package/fesm2022/asksuite-citrus.mjs.map +1 -1
- package/lib/asksuite-citrus.module.d.ts +7 -10
- package/lib/components/toast/toast.component.d.ts +2 -1
- package/lib/directives/button/ask-button.directive.d.ts +1 -1
- package/lib/directives/index.d.ts +0 -1
- package/package.json +2 -3
- package/public-api.d.ts +0 -1
- package/styles/font-weights.scss +0 -1
- package/styles/styles.scss +30 -2
- package/esm2022/lib/classes/richtext-wrapper.mjs +0 -298
- package/esm2022/lib/classes/toolbox-bubble.mjs +0 -46
- package/esm2022/lib/classes/toolbox-topbar.mjs +0 -34
- package/esm2022/lib/classes/toolbox.mjs +0 -109
- package/esm2022/lib/components/richtext-toolbox-core/richtext-toolbox-core.component.mjs +0 -82
- package/esm2022/lib/components/richtext-url-prompt/richtext-url-prompt-state.service.mjs +0 -16
- package/esm2022/lib/components/richtext-url-prompt/richtext-url-prompt.component.mjs +0 -66
- package/esm2022/lib/constants/richtext-toolbox.constants.mjs +0 -40
- package/esm2022/lib/constants/url-regex.constant.mjs +0 -2
- package/esm2022/lib/directives/richtext-toolbox/richtext-toolbox.directive.mjs +0 -170
- package/esm2022/lib/helpers/are-objects-equal.helper.mjs +0 -4
- package/esm2022/lib/interfaces/richtext-toolbox.interface.mjs +0 -2
- package/esm2022/lib/services/quill-builder.service.mjs +0 -18
- package/lib/classes/richtext-wrapper.d.ts +0 -52
- package/lib/classes/toolbox-bubble.d.ts +0 -12
- package/lib/classes/toolbox-topbar.d.ts +0 -8
- package/lib/classes/toolbox.d.ts +0 -31
- package/lib/components/richtext-toolbox-core/richtext-toolbox-core.component.d.ts +0 -25
- package/lib/components/richtext-url-prompt/richtext-url-prompt-state.service.d.ts +0 -6
- package/lib/components/richtext-url-prompt/richtext-url-prompt.component.d.ts +0 -19
- package/lib/constants/richtext-toolbox.constants.d.ts +0 -4
- package/lib/constants/url-regex.constant.d.ts +0 -1
- package/lib/directives/richtext-toolbox/richtext-toolbox.directive.d.ts +0 -40
- package/lib/helpers/are-objects-equal.helper.d.ts +0 -1
- package/lib/interfaces/richtext-toolbox.interface.d.ts +0 -54
- package/lib/services/quill-builder.service.d.ts +0 -8
- package/styles/ask-mixins.scss +0 -45
- package/styles/quill.scss +0 -18
@@ -1,109 +0,0 @@
|
|
1
|
-
import { ChangeDetectorRef, ElementRef, NgZone, Renderer2, ViewContainerRef, } from '@angular/core';
|
2
|
-
import { RichtextWrapper } from './richtext-wrapper';
|
3
|
-
import { ALL_TOOLS, TOOL_FUNCTION_MAP, TOOL_ICON_MAP } from '../constants/richtext-toolbox.constants';
|
4
|
-
import { RichtextToolboxCoreComponent } from '../components/richtext-toolbox-core/richtext-toolbox-core.component';
|
5
|
-
import { delay } from 'rxjs';
|
6
|
-
import { QuillBuilderService } from '../services/quill-builder.service';
|
7
|
-
export class Toolbox {
|
8
|
-
get component() {
|
9
|
-
return this.componentRef?.instance;
|
10
|
-
}
|
11
|
-
get componentEl() {
|
12
|
-
return this.componentRef?.location.nativeElement;
|
13
|
-
}
|
14
|
-
constructor(injector) {
|
15
|
-
this.hostEl = injector.get((ElementRef));
|
16
|
-
this.viewContainerRef = injector.get(ViewContainerRef);
|
17
|
-
this.renderer2 = injector.get(Renderer2);
|
18
|
-
this.ngZone = injector.get(NgZone);
|
19
|
-
this.cd = injector.get(ChangeDetectorRef);
|
20
|
-
const quillBuilder = injector.get(QuillBuilderService);
|
21
|
-
this.parentEl = this.renderer2.parentNode(this.hostEl.nativeElement);
|
22
|
-
this.richtextWrapper = new RichtextWrapper(this.ngZone, this.cd, quillBuilder, this.hostEl);
|
23
|
-
this.listenRichtextState();
|
24
|
-
}
|
25
|
-
destroyAll() {
|
26
|
-
this._subscription?.unsubscribe();
|
27
|
-
this.richtextWrapper.destroy();
|
28
|
-
this.destroyComponent();
|
29
|
-
}
|
30
|
-
toggleInputDisplay(display) {
|
31
|
-
if (display) {
|
32
|
-
if (!this.isInputVisible())
|
33
|
-
this.renderer2.appendChild(this.parentEl, this.hostEl?.nativeElement);
|
34
|
-
}
|
35
|
-
else {
|
36
|
-
if (this.isInputVisible())
|
37
|
-
this.renderer2.removeChild(this.parentEl, this.hostEl?.nativeElement);
|
38
|
-
}
|
39
|
-
}
|
40
|
-
;
|
41
|
-
setToolInput(toolInput) {
|
42
|
-
this.toolboxInput = toolInput;
|
43
|
-
if (this.component) {
|
44
|
-
this.richtextWrapper.setDisabledTools(this.getDisabledTools(this.toolboxInput.availableTools, this.toolboxInput.disabledTools));
|
45
|
-
this.componentRef?.setInput('class', toolInput.class);
|
46
|
-
}
|
47
|
-
}
|
48
|
-
isInputVisible() {
|
49
|
-
return this.parentEl?.contains(this.hostEl?.nativeElement);
|
50
|
-
}
|
51
|
-
getDisabledTools(availableTools, disabledTools) {
|
52
|
-
const unavailableTools = ALL_TOOLS.filter(tool => !availableTools.includes(tool));
|
53
|
-
return [...new Set([...unavailableTools, ...disabledTools])];
|
54
|
-
}
|
55
|
-
listenRichtextState() {
|
56
|
-
this._subscription = this.richtextWrapper.state$
|
57
|
-
.pipe(delay(1))
|
58
|
-
.subscribe((value) => { this.onToolsChanged(value); });
|
59
|
-
}
|
60
|
-
getDefaultTools() {
|
61
|
-
return [...(this.toolboxInput?.availableTools || []), 'clear']
|
62
|
-
.map((tool) => {
|
63
|
-
return {
|
64
|
-
tool,
|
65
|
-
icon: TOOL_ICON_MAP[tool],
|
66
|
-
toolFunctionName: TOOL_FUNCTION_MAP[tool],
|
67
|
-
selected: false,
|
68
|
-
disabled: true,
|
69
|
-
value: '',
|
70
|
-
};
|
71
|
-
});
|
72
|
-
}
|
73
|
-
onToolsChanged(toolsState) {
|
74
|
-
if (!this.componentRef)
|
75
|
-
return;
|
76
|
-
this.componentRef.setInput('toolbarItems', this.prepareUpdatedTools(toolsState));
|
77
|
-
}
|
78
|
-
isVisible() {
|
79
|
-
return this.hostEl.nativeElement.contains(this.componentEl);
|
80
|
-
}
|
81
|
-
destroyComponent() {
|
82
|
-
this.componentRef?.destroy();
|
83
|
-
}
|
84
|
-
displayComponent() {
|
85
|
-
this.componentRef = this.viewContainerRef.createComponent(RichtextToolboxCoreComponent);
|
86
|
-
this.componentRef.setInput('toolbarItems', this.prepareUpdatedTools(this.richtextWrapper.state));
|
87
|
-
this.componentRef.setInput('class', this.toolboxInput?.class);
|
88
|
-
this.component.tool.subscribe((tool) => {
|
89
|
-
this.richtextWrapper[tool.toolFunctionName](tool?.value);
|
90
|
-
});
|
91
|
-
}
|
92
|
-
prepareUpdatedTools(toolState) {
|
93
|
-
let tools = this.getDefaultTools();
|
94
|
-
const { formats, disabledTools } = toolState;
|
95
|
-
return tools.map((tool) => {
|
96
|
-
if (tool.tool === 'clear') {
|
97
|
-
tool.disabled = false;
|
98
|
-
}
|
99
|
-
else {
|
100
|
-
tool.selected = !!formats[tool.tool];
|
101
|
-
tool.disabled = disabledTools.includes(tool.tool);
|
102
|
-
if (tool.tool === 'link')
|
103
|
-
tool.value = formats[tool.tool];
|
104
|
-
}
|
105
|
-
return tool;
|
106
|
-
});
|
107
|
-
}
|
108
|
-
}
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2NsYXNzZXMvdG9vbGJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLFVBQVUsRUFFVixNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV0RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUNuSCxPQUFPLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV4RSxNQUFNLE9BQWdCLE9BQU87SUFXM0IsSUFBYyxTQUFTO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUM7SUFDckMsQ0FBQztJQUVELElBQWMsV0FBVztRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUNuRCxDQUFDO0lBTUQsWUFBWSxRQUFrQjtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQSxVQUF1QixDQUFBLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFH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QUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBWSxDQUFDLENBQUE7UUFDakUsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRVMsbUJBQW1CLENBQUMsU0FBcUI7UUFDakQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ2xDLE1BQU0sRUFBQyxPQUFPLEVBQUUsYUFBYSxFQUFDLEdBQUcsU0FBUyxDQUFDO1FBRTNDLE9BQVEsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3pCLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xELElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNO29CQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIE5nWm9uZSxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpY2h0ZXh0V3JhcHBlciB9IGZyb20gJy4vcmljaHRleHQtd3JhcHBlcic7XG5pbXBvcnQgeyBBTExfVE9PTFMsIFRPT0xfRlVOQ1RJT05fTUFQLCBUT09MX0lDT05fTUFQIH0gZnJvbSAnLi4vY29uc3RhbnRzL3JpY2h0ZXh0LXRvb2xib3guY29uc3RhbnRzJztcbmltcG9ydCB7IFRvb2wsIFRvb2xLZXlzLCBUb29sYmFySXRlbSwgVG9vbGJveElucHV0LCBUb29sc1N0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yaWNodGV4dC10b29sYm94LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSaWNodGV4dFRvb2xib3hDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9yaWNodGV4dC10b29sYm94LWNvcmUvcmljaHRleHQtdG9vbGJveC1jb3JlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGRlbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBRdWlsbEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcXVpbGwtYnVpbGRlci5zZXJ2aWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRvb2xib3gge1xuICBwdWJsaWMgcmVhZG9ubHkgcmljaHRleHRXcmFwcGVyOiBSaWNodGV4dFdyYXBwZXI7XG5cbiAgcHJvdGVjdGVkIGhvc3RFbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIHByb3RlY3RlZCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICBwcm90ZWN0ZWQgcmVuZGVyZXIyOiBSZW5kZXJlcjI7XG4gIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZTtcbiAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBwcm90ZWN0ZWQgY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPFJpY2h0ZXh0VG9vbGJveENvcmVDb21wb25lbnQ+O1xuXG4gIHByb3RlY3RlZCBnZXQgY29tcG9uZW50KCl7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmPy5pbnN0YW5jZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29tcG9uZW50RWwoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWR7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJlbnRFbD86IEhUTUxFbGVtZW50XG4gIHByaXZhdGUgdG9vbGJveElucHV0PzogVG9vbGJveElucHV0XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmhvc3RFbCA9IGluamVjdG9yLmdldChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0b3IuZ2V0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHRoaXMucmVuZGVyZXIyID0gaW5qZWN0b3IuZ2V0KFJlbmRlcmVyMik7XG4gICAgdGhpcy5uZ1pvbmUgPSBpbmplY3Rvci5nZXQoTmdab25lKTtcbiAgICB0aGlzLmNkID0gaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBjb25zdCBxdWlsbEJ1aWxkZXIgPSBpbmplY3Rvci5nZXQoUXVpbGxCdWlsZGVyU2VydmljZSk7XG5cbiAgICB0aGlzLnBhcmVudEVsID0gdGhpcy5yZW5kZXJlcjIucGFyZW50Tm9kZSh0aGlzLmhvc3RFbCEubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5yaWNodGV4dFdyYXBwZXIgPSBuZXcgUmljaHRleHRXcmFwcGVyKHRoaXMubmdab25lLHRoaXMuY2QscXVpbGxCdWlsZGVyLHRoaXMuaG9zdEVsKTtcbiAgICB0aGlzLmxpc3RlblJpY2h0ZXh0U3RhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95QWxsKCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnJpY2h0ZXh0V3JhcHBlci5kZXN0cm95KCk7XG4gICAgdGhpcy5kZXN0cm95Q29tcG9uZW50KCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSW5wdXREaXNwbGF5KGRpc3BsYXk6IGJvb2xlYW4pIHtcbiAgICAgIGlmKGRpc3BsYXkpe1xuICAgICAgICBpZighdGhpcy5pc0lucHV0VmlzaWJsZSgpKVxuICAgICAgICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMucGFyZW50RWwsIHRoaXMuaG9zdEVsPy5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1lbHNlIHtcbiAgICAgICAgaWYodGhpcy5pc0lucHV0VmlzaWJsZSgpKVxuICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMucGFyZW50RWwsIHRoaXMuaG9zdEVsPy5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1cbiAgfTtcblxuICBwdWJsaWMgc2V0VG9vbElucHV0KHRvb2xJbnB1dDogVG9vbGJveElucHV0KXtcbiAgICB0aGlzLnRvb2xib3hJbnB1dCA9IHRvb2xJbnB1dDtcbiAgICBpZih0aGlzLmNvbXBvbmVudCl7XG4gICAgICB0aGlzLnJpY2h0ZXh0V3JhcHBlci5zZXREaXNhYmxlZFRvb2xzKFxuICAgICAgICB0aGlzLmdldERpc2FibGVkVG9vbHMoXG4gICAgICAgICAgdGhpcy50b29sYm94SW5wdXQhLmF2YWlsYWJsZVRvb2xzLFxuICAgICAgICAgIHRoaXMudG9vbGJveElucHV0IS5kaXNhYmxlZFRvb2xzXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZj8uc2V0SW5wdXQoJ2NsYXNzJywgdG9vbElucHV0LmNsYXNzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzSW5wdXRWaXNpYmxlKCl7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50RWw/LmNvbnRhaW5zKHRoaXMuaG9zdEVsPy5uYXRpdmVFbGVtZW50KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNhYmxlZFRvb2xzKGF2YWlsYWJsZVRvb2xzOiBUb29sS2V5cywgZGlzYWJsZWRUb29sczogVG9vbEtleXMpe1xuICAgIGNvbnN0IHVuYXZhaWxhYmxlVG9vbHMgPSBBTExfVE9PTFMuZmlsdGVyKHRvb2wgPT4gIWF2YWlsYWJsZVRvb2xzLmluY2x1ZGVzKHRvb2wpKTtcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQoWy4uLnVuYXZhaWxhYmxlVG9vbHMsIC4uLmRpc2FibGVkVG9vbHNdKV07XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblJpY2h0ZXh0U3RhdGUoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gdGhpcy5yaWNodGV4dFdyYXBwZXIuc3RhdGUkXG4gICAgICAucGlwZShkZWxheSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7dGhpcy5vblRvb2xzQ2hhbmdlZCh2YWx1ZSl9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGVmYXVsdFRvb2xzKCk6IFRvb2xiYXJJdGVtW117XG4gICAgcmV0dXJuIFsuLi4odGhpcy50b29sYm94SW5wdXQ/LmF2YWlsYWJsZVRvb2xzIHx8IFtdKSwgJ2NsZWFyJyBhcyBUb29sXVxuICAgIC5tYXAoKHRvb2w6IFRvb2wpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvb2wsXG4gICAgICAgIGljb246IFRPT0xfSUNPTl9NQVBbdG9vbF0sXG4gICAgICAgIHRvb2xGdW5jdGlvbk5hbWU6IFRPT0xfRlVOQ1RJT05fTUFQW3Rvb2xdLFxuICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgICAgICB2YWx1ZTogJycsXG4gICAgICB9O1xuICAgIH0pXG4gIH1cblxuICBwcm90ZWN0ZWQgb25Ub29sc0NoYW5nZWQodG9vbHNTdGF0ZTogVG9vbHNTdGF0ZSl7XG4gICAgaWYoIXRoaXMuY29tcG9uZW50UmVmKSByZXR1cm47XG4gICAgdGhpcy5jb21wb25lbnRSZWYuc2V0SW5wdXQoJ3Rvb2xiYXJJdGVtcycsIHRoaXMucHJlcGFyZVVwZGF0ZWRUb29scyh0b29sc1N0YXRlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmhvc3RFbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRoaXMuY29tcG9uZW50RWwhKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95Q29tcG9uZW50KCkge1xuICAgIHRoaXMuY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGlzcGxheUNvbXBvbmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoUmljaHRleHRUb29sYm94Q29yZUNvbXBvbmVudCk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuc2V0SW5wdXQoJ3Rvb2xiYXJJdGVtcycsIHRoaXMucHJlcGFyZVVwZGF0ZWRUb29scyh0aGlzLnJpY2h0ZXh0V3JhcHBlci5zdGF0ZSkpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLnNldElucHV0KCdjbGFzcycsIHRoaXMudG9vbGJveElucHV0Py5jbGFzcyk7XG4gICAgdGhpcy5jb21wb25lbnQhLnRvb2wuc3Vic2NyaWJlKCh0b29sOiBUb29sYmFySXRlbSkgPT4ge1xuICAgICAgdGhpcy5yaWNodGV4dFdyYXBwZXJbdG9vbC50b29sRnVuY3Rpb25OYW1lXSh0b29sPy52YWx1ZSBhcyBhbnkpXG4gICAgfSlcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmVwYXJlVXBkYXRlZFRvb2xzKHRvb2xTdGF0ZTogVG9vbHNTdGF0ZSk6IFRvb2xiYXJJdGVtW117XG4gICAgbGV0IHRvb2xzID0gdGhpcy5nZXREZWZhdWx0VG9vbHMoKVxuICAgIGNvbnN0IHtmb3JtYXRzLCBkaXNhYmxlZFRvb2xzfSA9IHRvb2xTdGF0ZTtcblxuICAgIHJldHVybiAgdG9vbHMubWFwKCh0b29sKSA9PiB7XG4gICAgICBpZih0b29sLnRvb2wgPT09ICdjbGVhcicpe1xuICAgICAgICB0b29sLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b29sLnNlbGVjdGVkID0gISFmb3JtYXRzW3Rvb2wudG9vbF07XG4gICAgICAgIHRvb2wuZGlzYWJsZWQgPSBkaXNhYmxlZFRvb2xzLmluY2x1ZGVzKHRvb2wudG9vbCk7XG4gICAgICAgIGlmKHRvb2wudG9vbCA9PT0gJ2xpbmsnKVxuICAgICAgICAgIHRvb2wudmFsdWUgPSBmb3JtYXRzW3Rvb2wudG9vbF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0b29sO1xuICAgIH0pO1xuICB9XG59Il19
|
@@ -1,82 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewChildren, } from '@angular/core';
|
2
|
-
import { AskDropdownDirective } from '../../directives';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/common";
|
5
|
-
import * as i2 from "../../directives/ask-dropdown.directive";
|
6
|
-
import * as i3 from "../richtext-url-prompt/richtext-url-prompt.component";
|
7
|
-
export class RichtextToolboxCoreComponent {
|
8
|
-
constructor() {
|
9
|
-
this.close = new EventEmitter();
|
10
|
-
this.tool = new EventEmitter();
|
11
|
-
this.type = 'topbar';
|
12
|
-
this.class = '';
|
13
|
-
this._toolbarItems = [];
|
14
|
-
this.urlIdx = -1;
|
15
|
-
this.isUrlMode = false;
|
16
|
-
}
|
17
|
-
get toolbarItems() {
|
18
|
-
return this._toolbarItems;
|
19
|
-
}
|
20
|
-
set toolbarItems(value) {
|
21
|
-
this._toolbarItems = value;
|
22
|
-
this.urlIdx = value.findIndex((item) => item.tool === 'link');
|
23
|
-
}
|
24
|
-
get linkTool() {
|
25
|
-
return this.toolbarItems[this.urlIdx];
|
26
|
-
}
|
27
|
-
get urlDropdownRef() {
|
28
|
-
return this.dropdowns?.get(this.urlIdx);
|
29
|
-
}
|
30
|
-
ngOnChanges(sp) {
|
31
|
-
if (sp['type'] && !this.class) {
|
32
|
-
this.class = this.type === 'bubble' ? 'bubble-toolbox' : 'top-toolbox';
|
33
|
-
}
|
34
|
-
}
|
35
|
-
onTool(toolbarItem) {
|
36
|
-
if (toolbarItem.disabled)
|
37
|
-
return;
|
38
|
-
if (toolbarItem.tool === 'link') {
|
39
|
-
if (this.type === 'bubble')
|
40
|
-
this.isUrlMode = true;
|
41
|
-
}
|
42
|
-
else {
|
43
|
-
this.tool.emit(toolbarItem);
|
44
|
-
}
|
45
|
-
}
|
46
|
-
onUrl(link) {
|
47
|
-
this.tool.emit({ ...this.linkTool, value: link });
|
48
|
-
this.closeUrlInput();
|
49
|
-
}
|
50
|
-
trackByToolFn(index, item) {
|
51
|
-
return item.tool;
|
52
|
-
}
|
53
|
-
closeUrlInput() {
|
54
|
-
if (this.isUrlMode)
|
55
|
-
this.isUrlMode = false;
|
56
|
-
else
|
57
|
-
this.urlDropdownRef.close();
|
58
|
-
}
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextToolboxCoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: RichtextToolboxCoreComponent, selector: "ask-richtext-toolbox-core", inputs: { toolbarItems: "toolbarItems", type: "type", class: "class" }, outputs: { close: "close", tool: "tool" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "dropdowns", predicate: AskDropdownDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!isUrlMode; else urlTemplate\">\n <button\n class=\"button\"\n *ngFor=\"let tool of toolbarItems; trackBy: trackByToolFn\"\n [disabled]=\"tool.disabled\"\n (click)=\"onTool(tool)\"\n [askDropdown]=\"tool.tool === 'link' && type === 'topbar' ? urlTemplate : undefined\"\n positions=\"BOTTOM_LEFT\"\n >\n <span\n class=\"material-icons icon\"\n [ngClass]=\"{\n '-selected': tool.selected,\n '-disabled': tool.disabled,\n '-bubble': type === 'bubble',\n }\"\n >\n {{ tool.icon }}\n </span>\n </button>\n</ng-container>\n\n<ng-template #urlTemplate>\n <ask-richtext-url-prompt\n [url]=\"linkTool?.value || ''\"\n (url)=\"onUrl($event)\"\n (keydown.escape)=\"closeUrlInput()\"\n />\n</ng-template>\n", styles: ["@import\"https://cdn.quilljs.com/1.0.0/quill.core.css\";:root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8;--hover-background: #F5F7FA;--divider-background: #E4E7EB;--font-color-100: #2A3042;--font-color-200: #616E7C;--font-color-300: #9AA5B1}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-in-center{animation:scale-in-center .3s ease-in-out both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.scale-out-center{animation:scale-out-center .3s ease-in-out both}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:1}}.ask-tooltip{background-color:#7b8794;color:#fff;padding:4px;border-radius:8px;position:relative}.ask-tooltip>div{text-align:center!important}.ask-tooltip:after{position:absolute;content:\"\";width:10px;height:10px;background-color:inherit}.ask-tooltip.-above{margin-bottom:4px}.ask-tooltip.-above:after{bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-below{margin-top:4px}.ask-tooltip.-below:after{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-after,.ask-tooltip.-right{margin-left:4px}.ask-tooltip.-after:after,.ask-tooltip.-right:after{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-tooltip.-before,.ask-tooltip.-left{margin-right:4px}.ask-tooltip.-before:after,.ask-tooltip.-left:after{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-button{padding:8px 24px;border-radius:6px;border:none;outline:none;height:48px;font-size:1rem;transition:background-color .1s,box-shadow .1s;cursor:pointer;font-weight:500;background:white;color:var(--grey-500)}.ask-button:not(.-primary,.-secondary){box-shadow:0 1px 2px #2a304229}.ask-button:not(.-primary):hover:not(:disabled){box-shadow:0 0 6px #2a304229}.ask-button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}.ask-button:active:not(:disabled){background-color:#f34915}.ask-button:disabled{cursor:not-allowed;background-color:#9aa5b1}.ask-button.-primary{background:#FF5724;color:#fff}.ask-modal-header{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.ask-modal-body{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;padding:20px 24px;max-height:65vh;display:block}.ask-modal-footer{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}.ql-editor{padding:14px 16px;font-size:.875rem;word-break:break-word}.bubble-toolbox{position:absolute;background-color:var(--grey-800);border-radius:8px;z-index:999}.top-toolbox{background-color:var(--grey-100)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}input{font-size:1rem}.ask-badge{position:relative}.ask-badge>.badge{position:absolute;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:50%;box-shadow:0 2px 6px -1px #00000080}.ask-badge>.badge.-primary{--bg-color: var(--asksuite-orange)}.ask-badge>.badge.-secondary{--bg-color: var(--grey-800)}.ask-badge>.badge.-top{top:-10px}.ask-badge>.badge.-bottom{bottom:-10px}.ask-badge>.badge.-left{left:-10px}.ask-badge>.badge.-right{right:-10px}.ask-badge>.badge.-small{width:18px;height:18px;font-size:10px}.ask-badge>.badge.-regular{width:22px;height:22px;font-size:11px}.ask-badge>.badge.-large{width:28px;height:28px;font-size:12px}.ask-dropdown-top-right{margin-left:8px}.ask-dropdown-top-left{margin-right:8px}.ask-dropdown-bottom-right,.ask-dropdown-bottom-left{margin-top:8px}:host{display:flex}.button{background:none;color:inherit;border:none;margin:0;font:inherit;cursor:pointer;outline:inherit;line-height:0;color:#7b8794;padding:8px}.icon.-bubble{color:var(--white)}.icon.-disabled{color:var(--grey-200)}.icon.-selected{color:#ff5724}.icon.-bubble.-disabled{color:var(--grey-600)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AskDropdownDirective, selector: "[askDropdown]", inputs: ["askDropdown", "dropdownName", "positions", "dropdownDisabled", "dropdownOpenOnHover", "mouseThreshold"], outputs: ["askDropdownOnClose"] }, { kind: "component", type: i3.RichtextUrlPromptComponent, selector: "ask-richtext-url-prompt", inputs: ["url"], outputs: ["url"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
61
|
-
}
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextToolboxCoreComponent, decorators: [{
|
63
|
-
type: Component,
|
64
|
-
args: [{ selector: 'ask-richtext-toolbox-core', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!isUrlMode; else urlTemplate\">\n <button\n class=\"button\"\n *ngFor=\"let tool of toolbarItems; trackBy: trackByToolFn\"\n [disabled]=\"tool.disabled\"\n (click)=\"onTool(tool)\"\n [askDropdown]=\"tool.tool === 'link' && type === 'topbar' ? urlTemplate : undefined\"\n positions=\"BOTTOM_LEFT\"\n >\n <span\n class=\"material-icons icon\"\n [ngClass]=\"{\n '-selected': tool.selected,\n '-disabled': tool.disabled,\n '-bubble': type === 'bubble',\n }\"\n >\n {{ tool.icon }}\n </span>\n </button>\n</ng-container>\n\n<ng-template #urlTemplate>\n <ask-richtext-url-prompt\n [url]=\"linkTool?.value || ''\"\n (url)=\"onUrl($event)\"\n (keydown.escape)=\"closeUrlInput()\"\n />\n</ng-template>\n", styles: ["@import\"https://cdn.quilljs.com/1.0.0/quill.core.css\";:root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8;--hover-background: #F5F7FA;--divider-background: #E4E7EB;--font-color-100: #2A3042;--font-color-200: #616E7C;--font-color-300: #9AA5B1}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-in-center{animation:scale-in-center .3s ease-in-out both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.scale-out-center{animation:scale-out-center .3s ease-in-out both}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:1}}.ask-tooltip{background-color:#7b8794;color:#fff;padding:4px;border-radius:8px;position:relative}.ask-tooltip>div{text-align:center!important}.ask-tooltip:after{position:absolute;content:\"\";width:10px;height:10px;background-color:inherit}.ask-tooltip.-above{margin-bottom:4px}.ask-tooltip.-above:after{bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-below{margin-top:4px}.ask-tooltip.-below:after{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-after,.ask-tooltip.-right{margin-left:4px}.ask-tooltip.-after:after,.ask-tooltip.-right:after{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-tooltip.-before,.ask-tooltip.-left{margin-right:4px}.ask-tooltip.-before:after,.ask-tooltip.-left:after{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-button{padding:8px 24px;border-radius:6px;border:none;outline:none;height:48px;font-size:1rem;transition:background-color .1s,box-shadow .1s;cursor:pointer;font-weight:500;background:white;color:var(--grey-500)}.ask-button:not(.-primary,.-secondary){box-shadow:0 1px 2px #2a304229}.ask-button:not(.-primary):hover:not(:disabled){box-shadow:0 0 6px #2a304229}.ask-button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}.ask-button:active:not(:disabled){background-color:#f34915}.ask-button:disabled{cursor:not-allowed;background-color:#9aa5b1}.ask-button.-primary{background:#FF5724;color:#fff}.ask-modal-header{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.ask-modal-body{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;padding:20px 24px;max-height:65vh;display:block}.ask-modal-footer{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}.ql-editor{padding:14px 16px;font-size:.875rem;word-break:break-word}.bubble-toolbox{position:absolute;background-color:var(--grey-800);border-radius:8px;z-index:999}.top-toolbox{background-color:var(--grey-100)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}input{font-size:1rem}.ask-badge{position:relative}.ask-badge>.badge{position:absolute;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:50%;box-shadow:0 2px 6px -1px #00000080}.ask-badge>.badge.-primary{--bg-color: var(--asksuite-orange)}.ask-badge>.badge.-secondary{--bg-color: var(--grey-800)}.ask-badge>.badge.-top{top:-10px}.ask-badge>.badge.-bottom{bottom:-10px}.ask-badge>.badge.-left{left:-10px}.ask-badge>.badge.-right{right:-10px}.ask-badge>.badge.-small{width:18px;height:18px;font-size:10px}.ask-badge>.badge.-regular{width:22px;height:22px;font-size:11px}.ask-badge>.badge.-large{width:28px;height:28px;font-size:12px}.ask-dropdown-top-right{margin-left:8px}.ask-dropdown-top-left{margin-right:8px}.ask-dropdown-bottom-right,.ask-dropdown-bottom-left{margin-top:8px}:host{display:flex}.button{background:none;color:inherit;border:none;margin:0;font:inherit;cursor:pointer;outline:inherit;line-height:0;color:#7b8794;padding:8px}.icon.-bubble{color:var(--white)}.icon.-disabled{color:var(--grey-200)}.icon.-selected{color:#ff5724}.icon.-bubble.-disabled{color:var(--grey-600)}\n"] }]
|
65
|
-
}], propDecorators: { dropdowns: [{
|
66
|
-
type: ViewChildren,
|
67
|
-
args: [AskDropdownDirective]
|
68
|
-
}], close: [{
|
69
|
-
type: Output
|
70
|
-
}], tool: [{
|
71
|
-
type: Output
|
72
|
-
}], toolbarItems: [{
|
73
|
-
type: Input
|
74
|
-
}], type: [{
|
75
|
-
type: Input
|
76
|
-
}], class: [{
|
77
|
-
type: Input
|
78
|
-
}, {
|
79
|
-
type: HostBinding,
|
80
|
-
args: ['class']
|
81
|
-
}] } });
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHQtdG9vbGJveC1jb3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2NvbXBvbmVudHMvcmljaHRleHQtdG9vbGJveC1jb3JlL3JpY2h0ZXh0LXRvb2xib3gtY29yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9jb21wb25lbnRzL3JpY2h0ZXh0LXRvb2xib3gtY29yZS9yaWNodGV4dC10b29sYm94LWNvcmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUdOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFReEQsTUFBTSxPQUFPLDRCQUE0QjtJQU56QztRQVdZLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBU3hDLFNBQUksR0FBd0IsUUFBUSxDQUFDO1FBQ2YsVUFBSyxHQUE4QyxFQUFFLENBQUM7UUFFN0Usa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBQ2xDLFdBQU0sR0FBVyxDQUFDLENBQUMsQ0FBQztRQUNsQixjQUFTLEdBQUcsS0FBSyxDQUFDO0tBMkM3QjtJQXZEQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQWEsWUFBWSxDQUFDLEtBQW9CO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBU0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBaUI7UUFDM0IsSUFBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQXdCO1FBQzdCLElBQUksV0FBVyxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRWpDLElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUM7WUFDOUIsSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO2FBQUk7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhLEVBQUUsSUFBaUI7UUFDNUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFUyxhQUFhO1FBQ3JCLElBQUcsSUFBSSxDQUFDLFNBQVM7WUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzs7WUFFdkIsSUFBSSxDQUFDLGNBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzhHQTlEVSw0QkFBNEI7a0dBQTVCLDRCQUE0QixtUUFDekIsb0JBQW9CLHFFQ3ZCcEMsd3hCQTZCQTs7MkZEUGEsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLG9CQUFvQjtnQkFJeEIsS0FBSztzQkFBZCxNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFLTSxZQUFZO3NCQUF4QixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSztnQkFDeUIsS0FBSztzQkFBbkMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVG9vbGJhckl0ZW0sXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmljaHRleHQtdG9vbGJveC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXNrRHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXNrLXJpY2h0ZXh0LXRvb2xib3gtY29yZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yaWNodGV4dC10b29sYm94LWNvcmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yaWNodGV4dC10b29sYm94LWNvcmUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJpY2h0ZXh0VG9vbGJveENvcmVDb21wb25lbnQge1xuICBAVmlld0NoaWxkcmVuKEFza0Ryb3Bkb3duRGlyZWN0aXZlKVxuICBkcm9wZG93bnM/OiBRdWVyeUxpc3Q8QXNrRHJvcGRvd25EaXJlY3RpdmU+O1xuXG4gIFxuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSB0b29sID0gbmV3IEV2ZW50RW1pdHRlcjxUb29sYmFySXRlbT4oKTtcblxuICBnZXQgdG9vbGJhckl0ZW1zKCl7XG4gICAgcmV0dXJuIHRoaXMuX3Rvb2xiYXJJdGVtcztcbiAgfVxuICBASW5wdXQoKSBzZXQgdG9vbGJhckl0ZW1zKHZhbHVlOiBUb29sYmFySXRlbVtdKSB7XG4gICAgdGhpcy5fdG9vbGJhckl0ZW1zID0gdmFsdWU7XG4gICAgdGhpcy51cmxJZHggPSB2YWx1ZS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0udG9vbCA9PT0gJ2xpbmsnKTtcbiAgfVxuICBASW5wdXQoKSB0eXBlOiAndG9wYmFyJyB8ICdidWJibGUnID0gJ3RvcGJhcic7XG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzczogJ3RvcC10b29sYm94JyB8ICdidWJibGUtdG9vbGJveCcgfCBzdHJpbmcgPSAnJztcbiAgXG4gIHByaXZhdGUgX3Rvb2xiYXJJdGVtczogVG9vbGJhckl0ZW1bXSA9IFtdO1xuICBwcml2YXRlIHVybElkeDogbnVtYmVyID0gLTE7XG4gIHByb3RlY3RlZCBpc1VybE1vZGUgPSBmYWxzZTtcblxuXG4gIGdldCBsaW5rVG9vbCgpOiBUb29sYmFySXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhckl0ZW1zW3RoaXMudXJsSWR4XTtcbiAgfVxuXG4gIGdldCB1cmxEcm9wZG93blJlZigpIHtcbiAgICByZXR1cm4gdGhpcy5kcm9wZG93bnM/LmdldCh0aGlzLnVybElkeCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhzcDogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmKHNwWyd0eXBlJ10gJiYgIXRoaXMuY2xhc3Mpe1xuICAgICAgdGhpcy5jbGFzcyA9IHRoaXMudHlwZSA9PT0gJ2J1YmJsZScgPyAnYnViYmxlLXRvb2xib3gnIDogJ3RvcC10b29sYm94JztcbiAgICB9XG4gIH1cblxuICBvblRvb2wodG9vbGJhckl0ZW06IFRvb2xiYXJJdGVtKSB7XG4gICAgaWYgKHRvb2xiYXJJdGVtLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBpZiAodG9vbGJhckl0ZW0udG9vbCA9PT0gJ2xpbmsnKXtcbiAgICAgIGlmKHRoaXMudHlwZSA9PT0gJ2J1YmJsZScpXG4gICAgICAgIHRoaXMuaXNVcmxNb2RlID0gdHJ1ZTsgICAgICBcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMudG9vbC5lbWl0KHRvb2xiYXJJdGVtKTtcbiAgICB9XG4gIH1cblxuICBvblVybChsaW5rOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2wuZW1pdCh7IC4uLnRoaXMubGlua1Rvb2whLCB2YWx1ZTogbGluayB9KTtcbiAgICB0aGlzLmNsb3NlVXJsSW5wdXQoKVxuICB9XG5cbiAgdHJhY2tCeVRvb2xGbihpbmRleDogbnVtYmVyLCBpdGVtOiBUb29sYmFySXRlbSkge1xuICAgIHJldHVybiBpdGVtLnRvb2w7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2VVcmxJbnB1dCgpe1xuICAgIGlmKHRoaXMuaXNVcmxNb2RlKVxuICAgICAgdGhpcy5pc1VybE1vZGUgPSBmYWxzZTtcbiAgICBlbHNlXG4gICAgICB0aGlzLnVybERyb3Bkb3duUmVmIS5jbG9zZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVXJsTW9kZTsgZWxzZSB1cmxUZW1wbGF0ZVwiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidXR0b25cIlxuICAgICpuZ0Zvcj1cImxldCB0b29sIG9mIHRvb2xiYXJJdGVtczsgdHJhY2tCeTogdHJhY2tCeVRvb2xGblwiXG4gICAgW2Rpc2FibGVkXT1cInRvb2wuZGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJvblRvb2wodG9vbClcIlxuICAgIFthc2tEcm9wZG93bl09XCJ0b29sLnRvb2wgPT09ICdsaW5rJyAmJiB0eXBlID09PSAndG9wYmFyJyA/IHVybFRlbXBsYXRlIDogdW5kZWZpbmVkXCJcbiAgICBwb3NpdGlvbnM9XCJCT1RUT01fTEVGVFwiXG4gID5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBpY29uXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICctc2VsZWN0ZWQnOiB0b29sLnNlbGVjdGVkLFxuICAgICAgJy1kaXNhYmxlZCc6IHRvb2wuZGlzYWJsZWQsXG4gICAgICAnLWJ1YmJsZSc6IHR5cGUgPT09ICdidWJibGUnLFxuICAgIH1cIlxuICAgID5cbiAgICAgIHt7IHRvb2wuaWNvbiB9fVxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN1cmxUZW1wbGF0ZT5cbiAgPGFzay1yaWNodGV4dC11cmwtcHJvbXB0XG4gICAgW3VybF09XCJsaW5rVG9vbD8udmFsdWUgfHwgJydcIlxuICAgICh1cmwpPVwib25VcmwoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZXNjYXBlKT1cImNsb3NlVXJsSW5wdXQoKVwiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class RichtextUrlPromptStateService {
|
4
|
-
constructor() {
|
5
|
-
this.urlText = '';
|
6
|
-
}
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextUrlPromptStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
8
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextUrlPromptStateService, providedIn: 'root' }); }
|
9
|
-
}
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextUrlPromptStateService, decorators: [{
|
11
|
-
type: Injectable,
|
12
|
-
args: [{
|
13
|
-
providedIn: 'root'
|
14
|
-
}]
|
15
|
-
}] });
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHQtdXJsLXByb21wdC1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNrc3VpdGUtY2l0cnVzL3NyYy9saWIvY29tcG9uZW50cy9yaWNodGV4dC11cmwtcHJvbXB0L3JpY2h0ZXh0LXVybC1wcm9tcHQtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sNkJBQTZCO0lBSDFDO1FBSVMsWUFBTyxHQUFXLEVBQUUsQ0FBQztLQUM3Qjs4R0FGWSw2QkFBNkI7a0hBQTdCLDZCQUE2QixjQUY1QixNQUFNOzsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSaWNodGV4dFVybFByb21wdFN0YXRlU2VydmljZSB7XG4gIHB1YmxpYyB1cmxUZXh0OiBzdHJpbmcgPSAnJztcbn1cbiJdfQ==
|
@@ -1,66 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
2
|
-
import { FormControl, Validators } from '@angular/forms';
|
3
|
-
import { URL_REGEX } from '../../constants/url-regex.constant';
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "./richtext-url-prompt-state.service";
|
7
|
-
import * as i2 from "@angular/forms";
|
8
|
-
import * as i3 from "@ngx-translate/core";
|
9
|
-
export class RichtextUrlPromptComponent {
|
10
|
-
set _url(url) {
|
11
|
-
if (document.activeElement === this.inputEl?.nativeElement)
|
12
|
-
return;
|
13
|
-
if (url)
|
14
|
-
this.isPreset = true;
|
15
|
-
url = url || this.state.urlText;
|
16
|
-
this.formControl.setValue(url, { emitEvent: false });
|
17
|
-
}
|
18
|
-
get isValid() {
|
19
|
-
if (this.isPreset)
|
20
|
-
return true;
|
21
|
-
return this.formControl.valid && this.formControl.dirty;
|
22
|
-
}
|
23
|
-
constructor(destroyRef, state) {
|
24
|
-
this.destroyRef = destroyRef;
|
25
|
-
this.state = state;
|
26
|
-
this.isPreset = false;
|
27
|
-
this.url = new EventEmitter();
|
28
|
-
this.formControl = new FormControl('', {
|
29
|
-
nonNullable: true,
|
30
|
-
validators: [Validators.required, Validators.pattern(URL_REGEX)],
|
31
|
-
});
|
32
|
-
this.formControl.valueChanges
|
33
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
34
|
-
.subscribe((value) => {
|
35
|
-
state.urlText = value;
|
36
|
-
this.isPreset = false;
|
37
|
-
});
|
38
|
-
}
|
39
|
-
onSubmit(event) {
|
40
|
-
event.preventDefault();
|
41
|
-
if (!this.isValid)
|
42
|
-
return;
|
43
|
-
if (this.isPreset)
|
44
|
-
this.formControl.setValue('', { emitEvent: false });
|
45
|
-
this.state.urlText = '';
|
46
|
-
this.url.emit(this.formControl.value);
|
47
|
-
}
|
48
|
-
ngAfterViewInit() {
|
49
|
-
this.inputEl.nativeElement.focus();
|
50
|
-
}
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextUrlPromptComponent, deps: [{ token: i0.DestroyRef }, { token: i1.RichtextUrlPromptStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: RichtextUrlPromptComponent, selector: "ask-richtext-url-prompt", inputs: { _url: ["url", "_url"] }, outputs: { url: "url" }, viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n #input\n placeholder=\"https://asksuite.com\"\n class=\"input\"\n [formControl]=\"formControl\"\n (keydown.enter)=\"onSubmit($event);\"\n/>\n<button\n [disabled]=\"!isValid\"\n class=\"save\"\n (click)=\"onSubmit($event)\"\n>\n {{ (isPreset ? 'CLEAR' : 'SAVE') | translate}}\n</button>\n", styles: ["@import\"https://cdn.quilljs.com/1.0.0/quill.core.css\";:root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8;--hover-background: #F5F7FA;--divider-background: #E4E7EB;--font-color-100: #2A3042;--font-color-200: #616E7C;--font-color-300: #9AA5B1}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-in-center{animation:scale-in-center .3s ease-in-out both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.scale-out-center{animation:scale-out-center .3s ease-in-out both}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:1}}.ask-tooltip{background-color:#7b8794;color:#fff;padding:4px;border-radius:8px;position:relative}.ask-tooltip>div{text-align:center!important}.ask-tooltip:after{position:absolute;content:\"\";width:10px;height:10px;background-color:inherit}.ask-tooltip.-above{margin-bottom:4px}.ask-tooltip.-above:after{bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-below{margin-top:4px}.ask-tooltip.-below:after{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-after,.ask-tooltip.-right{margin-left:4px}.ask-tooltip.-after:after,.ask-tooltip.-right:after{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-tooltip.-before,.ask-tooltip.-left{margin-right:4px}.ask-tooltip.-before:after,.ask-tooltip.-left:after{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-button{padding:8px 24px;border-radius:6px;border:none;outline:none;height:48px;font-size:1rem;transition:background-color .1s,box-shadow .1s;cursor:pointer;font-weight:500;background:white;color:var(--grey-500)}.ask-button:not(.-primary,.-secondary){box-shadow:0 1px 2px #2a304229}.ask-button:not(.-primary):hover:not(:disabled){box-shadow:0 0 6px #2a304229}.ask-button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}.ask-button:active:not(:disabled){background-color:#f34915}.ask-button:disabled{cursor:not-allowed;background-color:#9aa5b1}.ask-button.-primary{background:#FF5724;color:#fff}.ask-modal-header{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.ask-modal-body{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;padding:20px 24px;max-height:65vh;display:block}.ask-modal-footer{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}.ql-editor{padding:14px 16px;font-size:.875rem;word-break:break-word}.bubble-toolbox{position:absolute;background-color:var(--grey-800);border-radius:8px;z-index:999}.top-toolbox{background-color:var(--grey-100)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}input{font-size:1rem}.ask-badge{position:relative}.ask-badge>.badge{position:absolute;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:50%;box-shadow:0 2px 6px -1px #00000080}.ask-badge>.badge.-primary{--bg-color: var(--asksuite-orange)}.ask-badge>.badge.-secondary{--bg-color: var(--grey-800)}.ask-badge>.badge.-top{top:-10px}.ask-badge>.badge.-bottom{bottom:-10px}.ask-badge>.badge.-left{left:-10px}.ask-badge>.badge.-right{right:-10px}.ask-badge>.badge.-small{width:18px;height:18px;font-size:10px}.ask-badge>.badge.-regular{width:22px;height:22px;font-size:11px}.ask-badge>.badge.-large{width:28px;height:28px;font-size:12px}.ask-dropdown-top-right{margin-left:8px}.ask-dropdown-top-left{margin-right:8px}.ask-dropdown-bottom-right,.ask-dropdown-bottom-left{margin-top:8px}:host{display:flex;gap:16px;align-items:center;background-color:var(--grey-800);padding:10px 16px;border-radius:8px}:host>.input{border:none;outline:none;background-color:transparent;font-size:14px;line-height:20px;color:#fff;text-overflow:ellipsis}:host>.input ::placeholder{color:#9aa5b1}:host>.save{background:none;color:inherit;border:none;padding:0;margin:0;font:inherit;cursor:pointer;outline:inherit;line-height:0;background-color:transparent;color:#ff5724;font-weight:500;line-height:20px}:host>.save[disabled]{color:#9aa5b1;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
53
|
-
}
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextUrlPromptComponent, decorators: [{
|
55
|
-
type: Component,
|
56
|
-
args: [{ selector: 'ask-richtext-url-prompt', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\n #input\n placeholder=\"https://asksuite.com\"\n class=\"input\"\n [formControl]=\"formControl\"\n (keydown.enter)=\"onSubmit($event);\"\n/>\n<button\n [disabled]=\"!isValid\"\n class=\"save\"\n (click)=\"onSubmit($event)\"\n>\n {{ (isPreset ? 'CLEAR' : 'SAVE') | translate}}\n</button>\n", styles: ["@import\"https://cdn.quilljs.com/1.0.0/quill.core.css\";:root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8;--hover-background: #F5F7FA;--divider-background: #E4E7EB;--font-color-100: #2A3042;--font-color-200: #616E7C;--font-color-300: #9AA5B1}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-in-center{animation:scale-in-center .3s ease-in-out both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.scale-out-center{animation:scale-out-center .3s ease-in-out both}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:1}}.ask-tooltip{background-color:#7b8794;color:#fff;padding:4px;border-radius:8px;position:relative}.ask-tooltip>div{text-align:center!important}.ask-tooltip:after{position:absolute;content:\"\";width:10px;height:10px;background-color:inherit}.ask-tooltip.-above{margin-bottom:4px}.ask-tooltip.-above:after{bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-below{margin-top:4px}.ask-tooltip.-below:after{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-after,.ask-tooltip.-right{margin-left:4px}.ask-tooltip.-after:after,.ask-tooltip.-right:after{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-tooltip.-before,.ask-tooltip.-left{margin-right:4px}.ask-tooltip.-before:after,.ask-tooltip.-left:after{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-button{padding:8px 24px;border-radius:6px;border:none;outline:none;height:48px;font-size:1rem;transition:background-color .1s,box-shadow .1s;cursor:pointer;font-weight:500;background:white;color:var(--grey-500)}.ask-button:not(.-primary,.-secondary){box-shadow:0 1px 2px #2a304229}.ask-button:not(.-primary):hover:not(:disabled){box-shadow:0 0 6px #2a304229}.ask-button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}.ask-button:active:not(:disabled){background-color:#f34915}.ask-button:disabled{cursor:not-allowed;background-color:#9aa5b1}.ask-button.-primary{background:#FF5724;color:#fff}.ask-modal-header{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.ask-modal-body{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;padding:20px 24px;max-height:65vh;display:block}.ask-modal-footer{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}.ql-editor{padding:14px 16px;font-size:.875rem;word-break:break-word}.bubble-toolbox{position:absolute;background-color:var(--grey-800);border-radius:8px;z-index:999}.top-toolbox{background-color:var(--grey-100)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}input{font-size:1rem}.ask-badge{position:relative}.ask-badge>.badge{position:absolute;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:50%;box-shadow:0 2px 6px -1px #00000080}.ask-badge>.badge.-primary{--bg-color: var(--asksuite-orange)}.ask-badge>.badge.-secondary{--bg-color: var(--grey-800)}.ask-badge>.badge.-top{top:-10px}.ask-badge>.badge.-bottom{bottom:-10px}.ask-badge>.badge.-left{left:-10px}.ask-badge>.badge.-right{right:-10px}.ask-badge>.badge.-small{width:18px;height:18px;font-size:10px}.ask-badge>.badge.-regular{width:22px;height:22px;font-size:11px}.ask-badge>.badge.-large{width:28px;height:28px;font-size:12px}.ask-dropdown-top-right{margin-left:8px}.ask-dropdown-top-left{margin-right:8px}.ask-dropdown-bottom-right,.ask-dropdown-bottom-left{margin-top:8px}:host{display:flex;gap:16px;align-items:center;background-color:var(--grey-800);padding:10px 16px;border-radius:8px}:host>.input{border:none;outline:none;background-color:transparent;font-size:14px;line-height:20px;color:#fff;text-overflow:ellipsis}:host>.input ::placeholder{color:#9aa5b1}:host>.save{background:none;color:inherit;border:none;padding:0;margin:0;font:inherit;cursor:pointer;outline:inherit;line-height:0;background-color:transparent;color:#ff5724;font-weight:500;line-height:20px}:host>.save[disabled]{color:#9aa5b1;cursor:not-allowed}\n"] }]
|
57
|
-
}], ctorParameters: function () { return [{ type: i0.DestroyRef }, { type: i1.RichtextUrlPromptStateService }]; }, propDecorators: { inputEl: [{
|
58
|
-
type: ViewChild,
|
59
|
-
args: ['input']
|
60
|
-
}], _url: [{
|
61
|
-
type: Input,
|
62
|
-
args: [{ alias: 'url' }]
|
63
|
-
}], url: [{
|
64
|
-
type: Output
|
65
|
-
}] } });
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHQtdXJsLXByb21wdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9jb21wb25lbnRzL3JpY2h0ZXh0LXVybC1wcm9tcHQvcmljaHRleHQtdXJsLXByb21wdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9jb21wb25lbnRzL3JpY2h0ZXh0LXVybC1wcm9tcHQvcmljaHRleHQtdXJsLXByb21wdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBU2hFLE1BQU0sT0FBTywwQkFBMEI7SUFLckMsSUFBNkIsSUFBSSxDQUFDLEdBQVc7UUFDM0MsSUFBRyxRQUFRLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYTtZQUFFLE9BQU87UUFFbEUsSUFBRyxHQUFHO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFN0IsR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBT0QsSUFBSSxPQUFPO1FBQ1QsSUFBRyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFBO1FBRTdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUE7SUFDekQsQ0FBQztJQUVELFlBQ1UsVUFBc0IsRUFDdEIsS0FBb0M7UUFEcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUErQjtRQXhCOUMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVVQLFFBQUcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQ2hDLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRSxDQUFDLENBQUM7UUFZRCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVk7YUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUUxQixJQUFHLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsT0FBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzhHQWpEVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiw2TkNyQnZDLG1UQWNBOzsyRkRPYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzZJQUczQixPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU87Z0JBSVcsSUFBSTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBUWIsR0FBRztzQkFBWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVUkxfUkVHRVggfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdXJsLXJlZ2V4LmNvbnN0YW50JztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFJpY2h0ZXh0VXJsUHJvbXB0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9yaWNodGV4dC11cmwtcHJvbXB0LXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhc2stcmljaHRleHQtdXJsLXByb21wdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yaWNodGV4dC11cmwtcHJvbXB0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmljaHRleHQtdXJsLXByb21wdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmljaHRleHRVcmxQcm9tcHRDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0RWw/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIGlzUHJlc2V0ID0gZmFsc2U7XG5cbiAgQElucHV0KHsgYWxpYXM6ICd1cmwnIH0pIHNldCBfdXJsKHVybDogc3RyaW5nKSB7XG4gICAgaWYoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5pbnB1dEVsPy5uYXRpdmVFbGVtZW50KSByZXR1cm47XG5cbiAgICBpZih1cmwpIHRoaXMuaXNQcmVzZXQgPSB0cnVlO1xuXG4gICAgdXJsID0gdXJsIHx8IHRoaXMuc3RhdGUudXJsVGV4dDtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHVybCwge2VtaXRFdmVudDogZmFsc2V9KTtcbiAgfVxuICBAT3V0cHV0KCkgdXJsID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIGZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgbm9uTnVsbGFibGU6IHRydWUsXG4gICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybihVUkxfUkVHRVgpXSxcbiAgfSk7XG5cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgaWYodGhpcy5pc1ByZXNldCkgcmV0dXJuIHRydWVcbiAgICBcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbC52YWxpZCAmJiB0aGlzLmZvcm1Db250cm9sLmRpcnR5XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgcHJpdmF0ZSBzdGF0ZTogUmljaHRleHRVcmxQcm9tcHRTdGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHN0YXRlLnVybFRleHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pc1ByZXNldCA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm47XG5cbiAgICBpZih0aGlzLmlzUHJlc2V0KSB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKCcnLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuXG4gICAgdGhpcy5zdGF0ZS51cmxUZXh0ID0gJyc7XG4gICAgdGhpcy51cmwuZW1pdCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmlucHV0RWwhLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuIiwiPGlucHV0XG4gICNpbnB1dFxuICBwbGFjZWhvbGRlcj1cImh0dHBzOi8vYXNrc3VpdGUuY29tXCJcbiAgY2xhc3M9XCJpbnB1dFwiXG4gIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gIChrZXlkb3duLmVudGVyKT1cIm9uU3VibWl0KCRldmVudCk7XCJcbi8+XG48YnV0dG9uXG4gIFtkaXNhYmxlZF09XCIhaXNWYWxpZFwiXG4gIGNsYXNzPVwic2F2ZVwiXG4gIChjbGljayk9XCJvblN1Ym1pdCgkZXZlbnQpXCJcbj5cbiAge3sgKGlzUHJlc2V0ID8gJ0NMRUFSJyA6ICdTQVZFJykgfCB0cmFuc2xhdGV9fVxuPC9idXR0b24+XG4iXX0=
|
@@ -1,40 +0,0 @@
|
|
1
|
-
export const TOOL_FUNCTION_MAP = {
|
2
|
-
bold: 'setBold',
|
3
|
-
italic: 'setItalic',
|
4
|
-
underline: 'setUnderline',
|
5
|
-
strike: 'setStrike',
|
6
|
-
list_numbered: 'setListNumbered',
|
7
|
-
list_bulleted: 'setListBulleted',
|
8
|
-
link: 'setLink',
|
9
|
-
justify_left: 'setJustifyLeft',
|
10
|
-
justify_center: 'setJustifyCenter',
|
11
|
-
justify_right: 'setJustifyRight',
|
12
|
-
clear: 'setRemove',
|
13
|
-
};
|
14
|
-
export const TOOL_ICON_MAP = {
|
15
|
-
bold: 'format_bold',
|
16
|
-
italic: 'format_italic',
|
17
|
-
underline: 'format_underlined',
|
18
|
-
strike: 'format_strikethrough',
|
19
|
-
list_numbered: 'format_list_numbered',
|
20
|
-
list_bulleted: 'format_list_bulleted',
|
21
|
-
link: 'link',
|
22
|
-
justify_left: 'format_align_left',
|
23
|
-
justify_center: 'format_align_center',
|
24
|
-
justify_right: 'format_align_right',
|
25
|
-
clear: 'format_clear',
|
26
|
-
};
|
27
|
-
export const ALL_TOOLS = [
|
28
|
-
'bold',
|
29
|
-
'italic',
|
30
|
-
'underline',
|
31
|
-
'strike',
|
32
|
-
'list_numbered',
|
33
|
-
'list_bulleted',
|
34
|
-
'link',
|
35
|
-
'justify_left',
|
36
|
-
'justify_center',
|
37
|
-
'justify_right',
|
38
|
-
'clear',
|
39
|
-
];
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHQtdG9vbGJveC5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9jb25zdGFudHMvcmljaHRleHQtdG9vbGJveC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXdDO0lBQ3BFLElBQUksRUFBRSxTQUFTO0lBQ2YsTUFBTSxFQUFFLFdBQVc7SUFDbkIsU0FBUyxFQUFFLGNBQWM7SUFDekIsTUFBTSxFQUFFLFdBQVc7SUFDbkIsYUFBYSxFQUFFLGlCQUFpQjtJQUNoQyxhQUFhLEVBQUUsaUJBQWlCO0lBQ2hDLElBQUksRUFBRSxTQUFTO0lBQ2YsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixjQUFjLEVBQUUsa0JBQWtCO0lBQ2xDLGFBQWEsRUFBRSxpQkFBaUI7SUFDaEMsS0FBSyxFQUFFLFdBQVc7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBeUI7SUFDakQsSUFBSSxFQUFFLGFBQWE7SUFDbkIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixNQUFNLEVBQUUsc0JBQXNCO0lBQzlCLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsYUFBYSxFQUFFLHNCQUFzQjtJQUNyQyxJQUFJLEVBQUUsTUFBTTtJQUNaLFlBQVksRUFBRSxtQkFBbUI7SUFDakMsY0FBYyxFQUFFLHFCQUFxQjtJQUNyQyxhQUFhLEVBQUUsb0JBQW9CO0lBQ25DLEtBQUssRUFBRSxjQUFjO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQWM7SUFDbEMsTUFBTTtJQUNOLFFBQVE7SUFDUixXQUFXO0lBQ1gsUUFBUTtJQUNSLGVBQWU7SUFDZixlQUFlO0lBQ2YsTUFBTTtJQUNOLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLE9BQU87Q0FDUixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmljaFRleHRGdW5jdGlvbnNLZXlzLCBUb29sLCBUb29sS2V5cyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3JpY2h0ZXh0LXRvb2xib3guaW50ZXJmYWNlXCI7XG5cbmV4cG9ydCBjb25zdCBUT09MX0ZVTkNUSU9OX01BUDogUmVjb3JkPFRvb2wsIFJpY2hUZXh0RnVuY3Rpb25zS2V5cz4gPSB7XG4gIGJvbGQ6ICdzZXRCb2xkJyxcbiAgaXRhbGljOiAnc2V0SXRhbGljJyxcbiAgdW5kZXJsaW5lOiAnc2V0VW5kZXJsaW5lJyxcbiAgc3RyaWtlOiAnc2V0U3RyaWtlJyxcbiAgbGlzdF9udW1iZXJlZDogJ3NldExpc3ROdW1iZXJlZCcsXG4gIGxpc3RfYnVsbGV0ZWQ6ICdzZXRMaXN0QnVsbGV0ZWQnLFxuICBsaW5rOiAnc2V0TGluaycsXG4gIGp1c3RpZnlfbGVmdDogJ3NldEp1c3RpZnlMZWZ0JyxcbiAganVzdGlmeV9jZW50ZXI6ICdzZXRKdXN0aWZ5Q2VudGVyJyxcbiAganVzdGlmeV9yaWdodDogJ3NldEp1c3RpZnlSaWdodCcsXG4gIGNsZWFyOiAnc2V0UmVtb3ZlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUT09MX0lDT05fTUFQOiBSZWNvcmQ8VG9vbCwgc3RyaW5nPiA9IHtcbiAgYm9sZDogJ2Zvcm1hdF9ib2xkJyxcbiAgaXRhbGljOiAnZm9ybWF0X2l0YWxpYycsXG4gIHVuZGVybGluZTogJ2Zvcm1hdF91bmRlcmxpbmVkJyxcbiAgc3RyaWtlOiAnZm9ybWF0X3N0cmlrZXRocm91Z2gnLFxuICBsaXN0X251bWJlcmVkOiAnZm9ybWF0X2xpc3RfbnVtYmVyZWQnLFxuICBsaXN0X2J1bGxldGVkOiAnZm9ybWF0X2xpc3RfYnVsbGV0ZWQnLFxuICBsaW5rOiAnbGluaycsXG4gIGp1c3RpZnlfbGVmdDogJ2Zvcm1hdF9hbGlnbl9sZWZ0JyxcbiAganVzdGlmeV9jZW50ZXI6ICdmb3JtYXRfYWxpZ25fY2VudGVyJyxcbiAganVzdGlmeV9yaWdodDogJ2Zvcm1hdF9hbGlnbl9yaWdodCcsXG4gIGNsZWFyOiAnZm9ybWF0X2NsZWFyJyxcbn07XG5cbmV4cG9ydCBjb25zdCBBTExfVE9PTFM6IFRvb2xLZXlzICA9IFtcbiAgJ2JvbGQnLFxuICAnaXRhbGljJyxcbiAgJ3VuZGVybGluZScsXG4gICdzdHJpa2UnLFxuICAnbGlzdF9udW1iZXJlZCcsXG4gICdsaXN0X2J1bGxldGVkJyxcbiAgJ2xpbmsnLFxuICAnanVzdGlmeV9sZWZ0JyxcbiAgJ2p1c3RpZnlfY2VudGVyJyxcbiAgJ2p1c3RpZnlfcmlnaHQnLFxuICAnY2xlYXInLFxuXVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export const URL_REGEX = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXJlZ2V4LmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNrc3VpdGUtY2l0cnVzL3NyYy9saWIvY29uc3RhbnRzL3VybC1yZWdleC5jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsZ0ZBQWdGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVVJMX1JFR0VYID0gL14oPzpodHRwKHMpPzpcXC9cXC8pP1tcXHcuLV0rKD86XFwuW1xcd1xcLi1dKykrW1xcd1xcLVxcLl9+Oi8/I1tcXF1AIVxcJCYnXFwoXFwpXFwqXFwrLDs9Ll0rJC87XG4iXX0=
|
@@ -1,170 +0,0 @@
|
|
1
|
-
import { Directive, EventEmitter, Input, Output, forwardRef, } from '@angular/core';
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
3
|
-
import { Subscription, distinctUntilChanged, filter } from 'rxjs';
|
4
|
-
import { areObjectsEqual } from '../../helpers/are-objects-equal.helper';
|
5
|
-
import { BubbleStrategy } from '../../classes/toolbox-bubble';
|
6
|
-
import { TopbarStrategy } from '../../classes/toolbox-topbar';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
const TOOL_STRATEGY_MAP = {
|
9
|
-
bubble: BubbleStrategy,
|
10
|
-
topbar: TopbarStrategy,
|
11
|
-
};
|
12
|
-
export class RichtextToolboxDirective {
|
13
|
-
constructor(injector) {
|
14
|
-
this.injector = injector;
|
15
|
-
this.text = '';
|
16
|
-
this.rtPlaceholder = '';
|
17
|
-
this.rtTools = [];
|
18
|
-
this.rtDisabledTools = [];
|
19
|
-
this.rtType = 'topbar';
|
20
|
-
this.rtToolbarOnly = false;
|
21
|
-
this.maxlength = -1;
|
22
|
-
this.rtToolbarClass = '';
|
23
|
-
this.rtEditorClass = '';
|
24
|
-
this.rtBreakOnEnter = false;
|
25
|
-
this.inputChange = new EventEmitter();
|
26
|
-
this.inputEnter = new EventEmitter();
|
27
|
-
this.inputEscape = new EventEmitter();
|
28
|
-
this.toolChange = new EventEmitter();
|
29
|
-
}
|
30
|
-
ngOnChanges(sp) {
|
31
|
-
if (sp['rtType']) {
|
32
|
-
this.prepareToolbar();
|
33
|
-
}
|
34
|
-
if (sp['rtPlaceholder']) {
|
35
|
-
this.toolbox?.richtextWrapper.setPlaceholder(this.rtPlaceholder);
|
36
|
-
}
|
37
|
-
if (sp['rtToolbarOnly']) {
|
38
|
-
this.toolbox?.toggleInputDisplay(!this.rtToolbarOnly);
|
39
|
-
}
|
40
|
-
if (sp['maxlength']) {
|
41
|
-
this.toolbox?.richtextWrapper.setMaxLength(this.maxlength);
|
42
|
-
}
|
43
|
-
if (sp['rtDisabledTools'] || sp['rtTools'] || sp['rtToolbarClass']) {
|
44
|
-
this.toolbox?.setToolInput({
|
45
|
-
availableTools: this.rtTools,
|
46
|
-
disabledTools: this.rtDisabledTools,
|
47
|
-
class: this.rtToolbarClass,
|
48
|
-
});
|
49
|
-
}
|
50
|
-
if (sp['rtEditorClass']) {
|
51
|
-
this.toolbox?.richtextWrapper.setEditorClass(this.rtEditorClass);
|
52
|
-
}
|
53
|
-
if (sp['rtBreakOnEnter']) {
|
54
|
-
this.toolbox?.richtextWrapper.setBreakOnEnter(this.rtBreakOnEnter);
|
55
|
-
}
|
56
|
-
}
|
57
|
-
ngOnDestroy() {
|
58
|
-
this.destroyAll();
|
59
|
-
}
|
60
|
-
focus() {
|
61
|
-
this.toolbox?.richtextWrapper.focus();
|
62
|
-
}
|
63
|
-
//CVA
|
64
|
-
writeValue(text) {
|
65
|
-
this.text = text;
|
66
|
-
this.toolbox?.richtextWrapper.setText(text);
|
67
|
-
}
|
68
|
-
registerOnChange(fn) {
|
69
|
-
this.onChange = fn;
|
70
|
-
}
|
71
|
-
registerOnTouched(fn) {
|
72
|
-
this.onTouched = fn;
|
73
|
-
}
|
74
|
-
setDisabledState(isDisabled) {
|
75
|
-
if (isDisabled)
|
76
|
-
this.toolbox?.richtextWrapper.disable();
|
77
|
-
else
|
78
|
-
this.toolbox?.richtextWrapper.enable();
|
79
|
-
}
|
80
|
-
prepareToolbar() {
|
81
|
-
if (this.toolbox)
|
82
|
-
this.destroyAll();
|
83
|
-
this.toolbox = this.generateToolboxLayout(this.rtType);
|
84
|
-
this.prepareListeners(this.toolbox);
|
85
|
-
}
|
86
|
-
prepareListeners(toolbox) {
|
87
|
-
if (this.subscription)
|
88
|
-
this.subscription.unsubscribe();
|
89
|
-
this.subscription = new Subscription();
|
90
|
-
this.subscription.add(toolbox.richtextWrapper.listenTextChanges$
|
91
|
-
.pipe(filter((v) => v !== this.text))
|
92
|
-
.subscribe((v) => { this.update(v); }));
|
93
|
-
this.subscription.add(toolbox.richtextWrapper.listenOnTouched$.subscribe(() => { this.onTouched(); }));
|
94
|
-
this.subscription.add(toolbox.richtextWrapper.listenEnter$.subscribe(() => { this.inputEnter.emit(); }));
|
95
|
-
this.subscription.add(toolbox.richtextWrapper.listenEscape$.subscribe(() => { this.inputEscape.emit(); }));
|
96
|
-
this.subscription.add(toolbox.richtextWrapper.state$
|
97
|
-
.pipe(distinctUntilChanged((a, b) => areObjectsEqual(a, b)))
|
98
|
-
.subscribe((state) => { this.toolChange.emit(state); }));
|
99
|
-
}
|
100
|
-
update(value) {
|
101
|
-
this.inputChange.emit(value);
|
102
|
-
this.onChange(value);
|
103
|
-
}
|
104
|
-
destroyAll() {
|
105
|
-
this.toolbox?.destroyAll();
|
106
|
-
this.subscription?.unsubscribe();
|
107
|
-
}
|
108
|
-
generateToolboxLayout(type) {
|
109
|
-
const toolbox = new TOOL_STRATEGY_MAP[type](this.injector);
|
110
|
-
toolbox.richtextWrapper.setPlaceholder(this.rtPlaceholder);
|
111
|
-
toolbox.setToolInput({
|
112
|
-
availableTools: this.rtTools,
|
113
|
-
disabledTools: this.rtDisabledTools,
|
114
|
-
class: this.rtToolbarClass,
|
115
|
-
});
|
116
|
-
toolbox.toggleInputDisplay(!this.rtToolbarOnly);
|
117
|
-
toolbox.richtextWrapper.setMaxLength(this.maxlength);
|
118
|
-
toolbox.richtextWrapper.setText(this.text);
|
119
|
-
toolbox.richtextWrapper.setEditorClass(this.rtEditorClass);
|
120
|
-
return toolbox;
|
121
|
-
}
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextToolboxDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
123
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.6", type: RichtextToolboxDirective, selector: "[askRichtextToolbox]", inputs: { rtPlaceholder: "rtPlaceholder", rtTools: "rtTools", rtDisabledTools: "rtDisabledTools", rtType: "rtType", rtToolbarOnly: "rtToolbarOnly", maxlength: "maxlength", rtToolbarClass: "rtToolbarClass", rtEditorClass: "rtEditorClass", rtBreakOnEnter: "rtBreakOnEnter" }, outputs: { inputChange: "inputChange", inputEnter: "inputEnter", inputEscape: "inputEscape", toolChange: "toolChange" }, providers: [
|
124
|
-
{
|
125
|
-
multi: true,
|
126
|
-
provide: NG_VALUE_ACCESSOR,
|
127
|
-
useExisting: forwardRef(() => RichtextToolboxDirective),
|
128
|
-
},
|
129
|
-
], usesOnChanges: true, ngImport: i0 }); }
|
130
|
-
}
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: RichtextToolboxDirective, decorators: [{
|
132
|
-
type: Directive,
|
133
|
-
args: [{
|
134
|
-
selector: '[askRichtextToolbox]',
|
135
|
-
providers: [
|
136
|
-
{
|
137
|
-
multi: true,
|
138
|
-
provide: NG_VALUE_ACCESSOR,
|
139
|
-
useExisting: forwardRef(() => RichtextToolboxDirective),
|
140
|
-
},
|
141
|
-
],
|
142
|
-
}]
|
143
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { rtPlaceholder: [{
|
144
|
-
type: Input
|
145
|
-
}], rtTools: [{
|
146
|
-
type: Input
|
147
|
-
}], rtDisabledTools: [{
|
148
|
-
type: Input
|
149
|
-
}], rtType: [{
|
150
|
-
type: Input
|
151
|
-
}], rtToolbarOnly: [{
|
152
|
-
type: Input
|
153
|
-
}], maxlength: [{
|
154
|
-
type: Input
|
155
|
-
}], rtToolbarClass: [{
|
156
|
-
type: Input
|
157
|
-
}], rtEditorClass: [{
|
158
|
-
type: Input
|
159
|
-
}], rtBreakOnEnter: [{
|
160
|
-
type: Input
|
161
|
-
}], inputChange: [{
|
162
|
-
type: Output
|
163
|
-
}], inputEnter: [{
|
164
|
-
type: Output
|
165
|
-
}], inputEscape: [{
|
166
|
-
type: Output
|
167
|
-
}], toolChange: [{
|
168
|
-
type: Output
|
169
|
-
}] } });
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHQtdG9vbGJveC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9kaXJlY3RpdmVzL3JpY2h0ZXh0LXRvb2xib3gvcmljaHRleHQtdG9vbGJveC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFFTixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUc5RCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLE1BQU0sRUFBRSxjQUFjO0NBQ3ZCLENBQUM7QUFZRixNQUFNLE9BQU8sd0JBQXdCO0lBeUJuQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBakI5QixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVQsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUMvQixXQUFNLEdBQWUsUUFBUSxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUN2QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixr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QUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQyxPQUFPLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs4R0F0SVUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMGJBUnhCO1lBQ1Q7Z0JBQ0UsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUN4RDtTQUNGOzsyRkFFVSx3QkFBd0I7a0JBVnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLEtBQUssRUFBRSxJQUFJOzRCQUNYLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDO3lCQUN4RDtxQkFDRjtpQkFDRjsrRkFXVSxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFRvb2xLZXlzLFxuICBUb29sTGF5b3V0LFxuICBUb29sc1N0YXRlLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JpY2h0ZXh0LXRvb2xib3guaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXJlT2JqZWN0c0VxdWFsIH0gZnJvbSAnLi4vLi4vaGVscGVycy9hcmUtb2JqZWN0cy1lcXVhbC5oZWxwZXInO1xuaW1wb3J0IHsgQnViYmxlU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3Rvb2xib3gtYnViYmxlJztcbmltcG9ydCB7IFRvcGJhclN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90b29sYm94LXRvcGJhcic7XG5pbXBvcnQgeyBUb29sYm94IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90b29sYm94JztcblxuY29uc3QgVE9PTF9TVFJBVEVHWV9NQVAgPSB7XG4gIGJ1YmJsZTogQnViYmxlU3RyYXRlZ3ksXG4gIHRvcGJhcjogVG9wYmFyU3RyYXRlZ3ksXG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXNrUmljaHRleHRUb29sYm94XScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSaWNodGV4dFRvb2xib3hEaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJpY2h0ZXh0VG9vbGJveERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgcHJpdmF0ZSB0b29sYm94PzogVG9vbGJveDtcblxuICBwcml2YXRlIG9uQ2hhbmdlITogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHByaXZhdGUgb25Ub3VjaGVkITogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgdGV4dCA9ICcnO1xuXG4gIEBJbnB1dCgpIHJ0UGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgcnRUb29sczogVG9vbEtleXMgPSBbXTtcbiAgQElucHV0KCkgcnREaXNhYmxlZFRvb2xzOiBUb29sS2V5cyA9IFtdO1xuICBASW5wdXQoKSBydFR5cGU6IFRvb2xMYXlvdXQgPSAndG9wYmFyJztcbiAgQElucHV0KCkgcnRUb29sYmFyT25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlciA9IC0xO1xuICBASW5wdXQoKSBydFRvb2xiYXJDbGFzcyA9ICcnO1xuICBASW5wdXQoKSBydEVkaXRvckNsYXNzID0gJyc7XG4gIEBJbnB1dCgpIHJ0QnJlYWtPbkVudGVyID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBpbnB1dEVudGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaW5wdXRFc2NhcGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSB0b29sQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUb29sc1N0YXRlPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG5nT25DaGFuZ2VzKHNwOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHNwWydydFR5cGUnXSkge1xuICAgICAgdGhpcy5wcmVwYXJlVG9vbGJhcigpO1xuICAgIH1cblxuICAgIGlmIChzcFsncnRQbGFjZWhvbGRlciddKSB7XG4gICAgICB0aGlzLnRvb2xib3g/LnJpY2h0ZXh0V3JhcHBlci5zZXRQbGFjZWhvbGRlcih0aGlzLnJ0UGxhY2Vob2xkZXIpO1xuICAgIH1cbiAgICBpZiAoc3BbJ3J0VG9vbGJhck9ubHknXSkge1xuICAgICAgdGhpcy50b29sYm94Py50b2dnbGVJbnB1dERpc3BsYXkoIXRoaXMucnRUb29sYmFyT25seSlcbiAgICB9XG5cbiAgICBpZihzcFsnbWF4bGVuZ3RoJ10pe1xuICAgICAgdGhpcy50b29sYm94Py5yaWNodGV4dFdyYXBwZXIuc2V0TWF4TGVuZ3RoKHRoaXMubWF4bGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAoc3BbJ3J0RGlzYWJsZWRUb29scyddIHx8IHNwWydydFRvb2xzJ10gfHwgc3BbJ3J0VG9vbGJhckNsYXNzJ10pIHtcbiAgICAgIHRoaXMudG9vbGJveD8uc2V0VG9vbElucHV0KHtcbiAgICAgICAgYXZhaWxhYmxlVG9vbHM6IHRoaXMucnRUb29scyxcbiAgICAgICAgZGlzYWJsZWRUb29sczogdGhpcy5ydERpc2FibGVkVG9vbHMsXG4gICAgICAgIGNsYXNzOiB0aGlzLnJ0VG9vbGJhckNsYXNzLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZihzcFsncnRFZGl0b3JDbGFzcyddKXtcbiAgICAgIHRoaXMudG9vbGJveD8ucmljaHRleHRXcmFwcGVyLnNldEVkaXRvckNsYXNzKHRoaXMucnRFZGl0b3JDbGFzcyk7XG4gICAgfVxuXG4gICAgaWYoc3BbJ3J0QnJlYWtPbkVudGVyJ10pe1xuICAgICAgdGhpcy50b29sYm94Py5yaWNodGV4dFdyYXBwZXIuc2V0QnJlYWtPbkVudGVyKHRoaXMucnRCcmVha09uRW50ZXIpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveUFsbCgpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy50b29sYm94Py5yaWNodGV4dFdyYXBwZXIuZm9jdXMoKTtcbiAgfVxuXG4gIC8vQ1ZBXG5cbiAgd3JpdGVWYWx1ZSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xuICAgIHRoaXMudG9vbGJveD8ucmljaHRleHRXcmFwcGVyLnNldFRleHQodGV4dCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0Rpc2FibGVkKSB0aGlzLnRvb2xib3g/LnJpY2h0ZXh0V3JhcHBlci5kaXNhYmxlKCk7XG4gICAgZWxzZSB0aGlzLnRvb2xib3g/LnJpY2h0ZXh0V3JhcHBlci5lbmFibGUoKTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBwcmVwYXJlVG9vbGJhcigpe1xuICAgIGlmICh0aGlzLnRvb2xib3gpIHRoaXMuZGVzdHJveUFsbCgpO1xuXG4gICAgdGhpcy50b29sYm94ID0gdGhpcy5nZW5lcmF0ZVRvb2xib3hMYXlvdXQodGhpcy5ydFR5cGUpO1xuICAgIHRoaXMucHJlcGFyZUxpc3RlbmVycyh0aGlzLnRvb2xib3gpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlTGlzdGVuZXJzKHRvb2xib3g6IFRvb2xib3gpIHtcbiAgICBpZih0aGlzLnN1YnNjcmlwdGlvbikgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodG9vbGJveC5yaWNodGV4dFdyYXBwZXIubGlzdGVuVGV4dENoYW5nZXMkXG4gICAgLnBpcGUoZmlsdGVyKCh2KT0+diAhPT0gdGhpcy50ZXh0KSlcbiAgICAuc3Vic2NyaWJlKCh2KT0+e3RoaXMudXBkYXRlKHYpfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0b29sYm94LnJpY2h0ZXh0V3JhcHBlci5saXN0ZW5PblRvdWNoZWQkLnN1YnNjcmliZSgoKT0+e3RoaXMub25Ub3VjaGVkKCl9KSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRvb2xib3gucmljaHRleHRXcmFwcGVyLmxpc3RlbkVudGVyJC5zdWJzY3JpYmUoKCk9Pnt0aGlzLmlucHV0RW50ZXIuZW1pdCgpfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0b29sYm94LnJpY2h0ZXh0V3JhcHBlci5saXN0ZW5Fc2NhcGUkLnN1YnNjcmliZSgoKT0+e3RoaXMuaW5wdXRFc2NhcGUuZW1pdCgpfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0b29sYm94LnJpY2h0ZXh0V3JhcHBlci5zdGF0ZSRcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhcmVPYmplY3RzRXF1YWwoYSwgYikpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpPT57dGhpcy50b29sQ2hhbmdlLmVtaXQoc3RhdGUpfSkpXG4gIFxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGUodmFsdWU6IHN0cmluZyl7XG4gICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUFsbCgpIHtcbiAgICB0aGlzLnRvb2xib3g/LmRlc3Ryb3lBbGwoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVUb29sYm94TGF5b3V0KHR5cGU6IFRvb2xMYXlvdXQpIHtcbiAgICBjb25zdCB0b29sYm94ID0gbmV3IFRPT0xfU1RSQVRFR1lfTUFQW3R5cGVdKHRoaXMuaW5qZWN0b3IpO1xuICAgIHRvb2xib3gucmljaHRleHRXcmFwcGVyLnNldFBsYWNlaG9sZGVyKHRoaXMucnRQbGFjZWhvbGRlcik7XG4gICAgdG9vbGJveC5zZXRUb29sSW5wdXQoe1xuICAgICAgYXZhaWxhYmxlVG9vbHM6IHRoaXMucnRUb29scyxcbiAgICAgIGRpc2FibGVkVG9vbHM6IHRoaXMucnREaXNhYmxlZFRvb2xzLFxuICAgICAgY2xhc3M6IHRoaXMucnRUb29sYmFyQ2xhc3MsXG4gICAgfSlcbiAgICB0b29sYm94LnRvZ2dsZUlucHV0RGlzcGxheSghdGhpcy5ydFRvb2xiYXJPbmx5KVxuICAgIHRvb2xib3gucmljaHRleHRXcmFwcGVyLnNldE1heExlbmd0aCh0aGlzLm1heGxlbmd0aCk7XG4gICAgdG9vbGJveC5yaWNodGV4dFdyYXBwZXIuc2V0VGV4dCh0aGlzLnRleHQpXG4gICAgdG9vbGJveC5yaWNodGV4dFdyYXBwZXIuc2V0RWRpdG9yQ2xhc3ModGhpcy5ydEVkaXRvckNsYXNzKTtcbiAgICByZXR1cm4gdG9vbGJveDtcbiAgfVxufVxuIl19
|