asksuite-citrus 1.11.2 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/asksuite-citrus.module.mjs +23 -11
- package/esm2022/lib/classes/bubble-toolbox.mjs +49 -0
- package/esm2022/lib/classes/richtext-wrapper.mjs +12 -5
- package/esm2022/lib/classes/toolbox.mjs +5 -8
- package/esm2022/lib/classes/topbar-toolbox.mjs +37 -0
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +2 -2
- 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/loading-bar/loading-bar.component.mjs +17 -0
- package/esm2022/lib/components/modal/confirmation-modal/confirmation-modal.component.mjs +32 -0
- package/esm2022/lib/components/modal/modal.component.mjs +3 -3
- package/esm2022/lib/components/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/components/phone-ddi/phone-ddi.component.mjs +2 -2
- package/esm2022/lib/components/richtext-toolbox/richtext-toolbox.component.mjs +82 -0
- package/esm2022/lib/components/richtext-url-prompt/richtext-url-prompt.component.mjs +3 -3
- 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 +2 -2
- package/esm2022/lib/directives/richtext-toolbox/richtext-toolbox.directive.mjs +12 -8
- package/esm2022/lib/services/modal/modal.service.mjs +7 -1
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/shared/validators/phone-mask.validator.mjs +1 -1
- package/fesm2022/asksuite-citrus.mjs +213 -161
- package/fesm2022/asksuite-citrus.mjs.map +1 -1
- package/lib/asksuite-citrus.module.d.ts +12 -9
- package/lib/classes/{toolbox-bubble.d.ts → bubble-toolbox.d.ts} +6 -2
- package/lib/classes/richtext-wrapper.d.ts +8 -3
- package/lib/classes/toolbox.d.ts +3 -3
- package/lib/classes/{toolbox-topbar.d.ts → topbar-toolbox.d.ts} +5 -1
- package/lib/components/loading-bar/loading-bar.component.d.ts +6 -0
- package/lib/components/modal/confirmation-modal/confirmation-modal.component.d.ts +18 -0
- package/lib/components/{richtext-toolbox-core/richtext-toolbox-core.component.d.ts → richtext-toolbox/richtext-toolbox.component.d.ts} +5 -5
- package/lib/directives/richtext-toolbox/richtext-toolbox.directive.d.ts +1 -0
- package/lib/services/modal/modal.service.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/shared/validators/phone-mask.validator.d.ts +2 -4
- package/styles/material.scss +14 -0
- package/styles/styles.scss +5 -0
- package/esm2022/lib/classes/toolbox-bubble.mjs +0 -46
- package/esm2022/lib/classes/toolbox-topbar.mjs +0 -34
- package/esm2022/lib/components/richtext-toolbox-core/richtext-toolbox-core.component.mjs +0 -82
- package/esm2022/lib/services/quill-builder.service.mjs +0 -18
- package/lib/services/quill-builder.service.d.ts +0 -8
@@ -34,21 +34,24 @@ import * as i31 from "./components/pagination/pagination.component";
|
|
34
34
|
import * as i32 from "./pipes/paginate/paginate.pipe";
|
35
35
|
import * as i33 from "./directives/richtext-toolbox/richtext-toolbox.directive";
|
36
36
|
import * as i34 from "./components/richtext-url-prompt/richtext-url-prompt.component";
|
37
|
-
import * as i35 from "./components/richtext-toolbox
|
37
|
+
import * as i35 from "./components/richtext-toolbox/richtext-toolbox.component";
|
38
38
|
import * as i36 from "./directives/button/ask-text-button.directive";
|
39
39
|
import * as i37 from "./pipes/force-break-line/force-break-line.pipe";
|
40
|
-
import * as i38 from "
|
41
|
-
import * as i39 from "
|
42
|
-
import * as i40 from "@angular/
|
43
|
-
import * as i41 from "@
|
44
|
-
import * as i42 from "
|
45
|
-
import * as i43 from "@
|
46
|
-
import * as i44 from "ngx-
|
40
|
+
import * as i38 from "./components/modal/confirmation-modal/confirmation-modal.component";
|
41
|
+
import * as i39 from "./components/loading-bar/loading-bar.component";
|
42
|
+
import * as i40 from "@angular/common";
|
43
|
+
import * as i41 from "@angular/forms";
|
44
|
+
import * as i42 from "@angular/cdk/overlay";
|
45
|
+
import * as i43 from "@ngx-translate/core";
|
46
|
+
import * as i44 from "ngx-skeleton-loader";
|
47
|
+
import * as i45 from "@angular/material/tooltip";
|
48
|
+
import * as i46 from "ngx-mask";
|
49
|
+
import * as i47 from "@angular/material/progress-bar";
|
47
50
|
export declare class AsksuiteCitrusModule {
|
48
51
|
static forRoot(params?: {
|
49
52
|
flagUrl?: string;
|
50
53
|
}): ModuleWithProviders<AsksuiteCitrusModule>;
|
51
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<AsksuiteCitrusModule, never>;
|
52
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AsksuiteCitrusModule, [typeof i1.ButtonComponent, typeof i2.InputComponent, typeof i3.SelectComponent, typeof i4.BoxComponent, typeof i5.AvatarComponent, typeof i6.DropdownContainerComponent, typeof i7.AskDropdownDirective, typeof i8.AutocompleteComponent, typeof i9.PhoneDdiComponent, typeof i10.ChipsComponent, typeof i11.CheckboxComponent, typeof i12.DatePickerComponent, typeof i13.DatePickerCalendarComponent, typeof i14.SkeletonComponent, typeof i15.SpinnerComponent, typeof i16.SpinnerDirective, typeof i17.BadgeDirective, typeof i18.AutofocusDirective, typeof i19.ScrollDirective, typeof i20.AskTooltipDirective, typeof i21.ToastComponent, typeof i22.AskButtonDirective, typeof i23.ModalComponent, typeof i24.ModalBodyDirective, typeof i25.ModalHeaderDirective, typeof i26.ModalFooterDirective, typeof i27.CharacterCounterComponent, typeof i28.AccordionComponent, typeof i29.ExtendablePanelComponent, typeof i30.TableComponent, typeof i31.PaginationComponent, typeof i32.PaginatePipe, typeof i33.RichtextToolboxDirective, typeof i34.RichtextUrlPromptComponent, typeof i35.
|
55
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AsksuiteCitrusModule, [typeof i1.ButtonComponent, typeof i2.InputComponent, typeof i3.SelectComponent, typeof i4.BoxComponent, typeof i5.AvatarComponent, typeof i6.DropdownContainerComponent, typeof i7.AskDropdownDirective, typeof i8.AutocompleteComponent, typeof i9.PhoneDdiComponent, typeof i10.ChipsComponent, typeof i11.CheckboxComponent, typeof i12.DatePickerComponent, typeof i13.DatePickerCalendarComponent, typeof i14.SkeletonComponent, typeof i15.SpinnerComponent, typeof i16.SpinnerDirective, typeof i17.BadgeDirective, typeof i18.AutofocusDirective, typeof i19.ScrollDirective, typeof i20.AskTooltipDirective, typeof i21.ToastComponent, typeof i22.AskButtonDirective, typeof i23.ModalComponent, typeof i24.ModalBodyDirective, typeof i25.ModalHeaderDirective, typeof i26.ModalFooterDirective, typeof i27.CharacterCounterComponent, typeof i28.AccordionComponent, typeof i29.ExtendablePanelComponent, typeof i30.TableComponent, typeof i31.PaginationComponent, typeof i32.PaginatePipe, typeof i33.RichtextToolboxDirective, typeof i34.RichtextUrlPromptComponent, typeof i35.RichtextToolboxComponent, typeof i36.AskTextButtonDirective, typeof i37.ForceBreakLinePipe, typeof i38.ConfirmationModalComponent, typeof i39.LoadingBarComponent], [typeof i40.CommonModule, typeof i41.FormsModule, typeof i41.ReactiveFormsModule, typeof i42.CdkOverlayOrigin, typeof i42.CdkConnectedOverlay, typeof i42.OverlayModule, typeof i43.TranslateModule, typeof i44.NgxSkeletonLoaderModule, typeof i45.MatTooltipModule, typeof i46.NgxMaskDirective, typeof i46.NgxMaskPipe, typeof i47.MatProgressBarModule], [typeof i1.ButtonComponent, typeof i2.InputComponent, typeof i3.SelectComponent, typeof i4.BoxComponent, typeof i5.AvatarComponent, typeof i6.DropdownContainerComponent, typeof i7.AskDropdownDirective, typeof i8.AutocompleteComponent, typeof i9.PhoneDdiComponent, typeof i10.ChipsComponent, typeof i11.CheckboxComponent, typeof i12.DatePickerComponent, typeof i13.DatePickerCalendarComponent, typeof i14.SkeletonComponent, typeof i16.SpinnerDirective, typeof i17.BadgeDirective, typeof i18.AutofocusDirective, typeof i19.ScrollDirective, typeof i20.AskTooltipDirective, typeof i22.AskButtonDirective, typeof i36.AskTextButtonDirective, typeof i24.ModalBodyDirective, typeof i25.ModalHeaderDirective, typeof i26.ModalFooterDirective, typeof i27.CharacterCounterComponent, typeof i28.AccordionComponent, typeof i29.ExtendablePanelComponent, typeof i30.TableComponent, typeof i31.PaginationComponent, typeof i32.PaginatePipe, typeof i33.RichtextToolboxDirective, typeof i37.ForceBreakLinePipe, typeof i39.LoadingBarComponent]>;
|
53
56
|
static ɵinj: i0.ɵɵInjectorDeclaration<AsksuiteCitrusModule>;
|
54
57
|
}
|
@@ -1,12 +1,16 @@
|
|
1
1
|
import { Injector } from "@angular/core";
|
2
2
|
import { Toolbox } from "./toolbox";
|
3
3
|
import { ToolsState } from "../interfaces/richtext-toolbox.interface";
|
4
|
-
|
4
|
+
declare class BubbleToolbox extends Toolbox {
|
5
5
|
private clickListener?;
|
6
6
|
constructor(injector: Injector);
|
7
7
|
private move;
|
8
8
|
private listenOutsideClicks;
|
9
9
|
onToolsChanged(state: ToolsState): void;
|
10
10
|
displayComponent(): void;
|
11
|
-
|
11
|
+
destroyComponent(): void;
|
12
12
|
}
|
13
|
+
export declare const BubbleToolboxProxy: {
|
14
|
+
BubbleToolbox: typeof BubbleToolbox;
|
15
|
+
};
|
16
|
+
export {};
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, NgZone } from '@angular/core';
|
2
|
+
import Quill from 'quill';
|
2
3
|
import { RichTextFunctions, ToolKeys, ToolsState } from '../interfaces/richtext-toolbox.interface';
|
3
|
-
import { QuillBuilderService } from '../services/quill-builder.service';
|
4
4
|
export declare class RichtextWrapper implements RichTextFunctions {
|
5
5
|
private ngZone;
|
6
6
|
private cd;
|
7
|
-
private quillBuilder;
|
8
7
|
private elementRef;
|
9
8
|
private quill;
|
10
9
|
private stateSub;
|
@@ -22,7 +21,7 @@ export declare class RichtextWrapper implements RichTextFunctions {
|
|
22
21
|
get listenOnTouched$(): import("rxjs").Observable<boolean>;
|
23
22
|
get listenEscape$(): import("rxjs").Observable<boolean>;
|
24
23
|
get listenEnter$(): import("rxjs").Observable<boolean>;
|
25
|
-
constructor(ngZone: NgZone, cd: ChangeDetectorRef,
|
24
|
+
constructor(ngZone: NgZone, cd: ChangeDetectorRef, elementRef: ElementRef<HTMLElement>);
|
26
25
|
setItalic(): void;
|
27
26
|
setBold(): void;
|
28
27
|
setUnderline(): void;
|
@@ -50,3 +49,9 @@ export declare class RichtextWrapper implements RichTextFunctions {
|
|
50
49
|
private listenEditorChanges;
|
51
50
|
private update;
|
52
51
|
}
|
52
|
+
export declare const QuillProxy: {
|
53
|
+
Quill: typeof Quill;
|
54
|
+
};
|
55
|
+
export declare const RichtextWrapperProxy: {
|
56
|
+
RichtextWrapper: typeof RichtextWrapper;
|
57
|
+
};
|
package/lib/classes/toolbox.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ChangeDetectorRef, ComponentRef, ElementRef, Injector, NgZone, Renderer2, ViewContainerRef } from '@angular/core';
|
2
2
|
import { RichtextWrapper } from './richtext-wrapper';
|
3
3
|
import { ToolbarItem, ToolboxInput, ToolsState } from '../interfaces/richtext-toolbox.interface';
|
4
|
-
import {
|
4
|
+
import { RichtextToolboxComponent } from '../components/richtext-toolbox/richtext-toolbox.component';
|
5
5
|
export declare abstract class Toolbox {
|
6
6
|
readonly richtextWrapper: RichtextWrapper;
|
7
7
|
protected hostEl: ElementRef<HTMLElement>;
|
@@ -9,8 +9,8 @@ export declare abstract class Toolbox {
|
|
9
9
|
protected renderer2: Renderer2;
|
10
10
|
protected ngZone: NgZone;
|
11
11
|
protected cd: ChangeDetectorRef;
|
12
|
-
protected componentRef?: ComponentRef<
|
13
|
-
protected get component():
|
12
|
+
protected componentRef?: ComponentRef<RichtextToolboxComponent>;
|
13
|
+
protected get component(): RichtextToolboxComponent | undefined;
|
14
14
|
protected get componentEl(): HTMLElement | undefined;
|
15
15
|
private parentEl?;
|
16
16
|
private toolboxInput?;
|
@@ -1,8 +1,12 @@
|
|
1
1
|
import { Injector } from "@angular/core";
|
2
2
|
import { Toolbox } from "./toolbox";
|
3
3
|
import { ToolbarItem, ToolsState } from "../interfaces/richtext-toolbox.interface";
|
4
|
-
|
4
|
+
declare class TopbarToolbox extends Toolbox {
|
5
5
|
constructor(injector: Injector);
|
6
6
|
displayComponent(): void;
|
7
7
|
prepareUpdatedTools(toolState: ToolsState): ToolbarItem[];
|
8
8
|
}
|
9
|
+
export declare const TopbarToolboxProxy: {
|
10
|
+
TopbarToolbox: typeof TopbarToolbox;
|
11
|
+
};
|
12
|
+
export {};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class LoadingBarComponent {
|
3
|
+
mode: 'indeterminate' | 'determinate';
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoadingBarComponent, never>;
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoadingBarComponent, "ask-loading-bar", never, { "mode": { "alias": "mode"; "required": false; }; }, {}, never, never, false, never>;
|
6
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { ModalRef } from "../../../services/modal";
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class ConfirmationModalComponent {
|
4
|
+
protected modalRef: ModalRef;
|
5
|
+
protected title: string;
|
6
|
+
protected text: string;
|
7
|
+
protected confirmButtonText: string | undefined;
|
8
|
+
protected cancelButtonText: string | undefined;
|
9
|
+
constructor(modalRef: ModalRef, data: AskModalConfirmData);
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationModalComponent, never>;
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationModalComponent, "lib-confirmation-modal", never, {}, {}, never, never, false, never>;
|
12
|
+
}
|
13
|
+
export interface AskModalConfirmData {
|
14
|
+
title: string;
|
15
|
+
text: string;
|
16
|
+
confirmButtonText?: string;
|
17
|
+
cancelButtonText?: string;
|
18
|
+
}
|
@@ -2,7 +2,7 @@ import { EventEmitter, QueryList, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { ToolbarItem } from '../../interfaces/richtext-toolbox.interface';
|
3
3
|
import { AskDropdownDirective } from '../../directives';
|
4
4
|
import * as i0 from "@angular/core";
|
5
|
-
export declare class
|
5
|
+
export declare class RichtextToolboxComponent {
|
6
6
|
dropdowns?: QueryList<AskDropdownDirective>;
|
7
7
|
close: EventEmitter<void>;
|
8
8
|
tool: EventEmitter<ToolbarItem>;
|
@@ -13,13 +13,13 @@ export declare class RichtextToolboxCoreComponent {
|
|
13
13
|
private _toolbarItems;
|
14
14
|
private urlIdx;
|
15
15
|
protected isUrlMode: boolean;
|
16
|
-
get linkTool(): ToolbarItem | undefined;
|
17
|
-
get urlDropdownRef()
|
16
|
+
protected get linkTool(): ToolbarItem | undefined;
|
17
|
+
private get urlDropdownRef();
|
18
18
|
ngOnChanges(sp: SimpleChanges): void;
|
19
19
|
onTool(toolbarItem: ToolbarItem): void;
|
20
20
|
onUrl(link: string): void;
|
21
21
|
trackByToolFn(index: number, item: ToolbarItem): import("../../interfaces/richtext-toolbox.interface").Tool;
|
22
22
|
protected closeUrlInput(): void;
|
23
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
24
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RichtextToolboxComponent, never>;
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RichtextToolboxComponent, "ask-richtext-toolbox", never, { "toolbarItems": { "alias": "toolbarItems"; "required": false; }; "type": { "alias": "type"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "close": "close"; "tool": "tool"; }, never, never, false, never>;
|
25
25
|
}
|
@@ -35,6 +35,7 @@ export declare class RichtextToolboxDirective implements OnChanges, ControlValue
|
|
35
35
|
private update;
|
36
36
|
private destroyAll;
|
37
37
|
private generateToolboxLayout;
|
38
|
+
private getToolbox;
|
38
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<RichtextToolboxDirective, never>;
|
39
40
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RichtextToolboxDirective, "[askRichtextToolbox]", never, { "rtPlaceholder": { "alias": "rtPlaceholder"; "required": false; }; "rtTools": { "alias": "rtTools"; "required": false; }; "rtDisabledTools": { "alias": "rtDisabledTools"; "required": false; }; "rtType": { "alias": "rtType"; "required": false; }; "rtToolbarOnly": { "alias": "rtToolbarOnly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "rtToolbarClass": { "alias": "rtToolbarClass"; "required": false; }; "rtEditorClass": { "alias": "rtEditorClass"; "required": false; }; "rtBreakOnEnter": { "alias": "rtBreakOnEnter"; "required": false; }; }, { "inputChange": "inputChange"; "inputEnter": "inputEnter"; "inputEscape": "inputEscape"; "toolChange": "toolChange"; }, never, never, false, never>;
|
40
41
|
}
|
@@ -3,12 +3,14 @@ import { Overlay } from "@angular/cdk/overlay";
|
|
3
3
|
import { ModalRef } from "./modal-ref";
|
4
4
|
import { ModalConfig } from "./modal.config";
|
5
5
|
import { ComponentType } from "../../components/modal/modal.component";
|
6
|
+
import { AskModalConfirmData } from "../../components/modal/confirmation-modal/confirmation-modal.component";
|
6
7
|
import * as i0 from "@angular/core";
|
7
8
|
export declare class ModalService {
|
8
9
|
private overlay;
|
9
10
|
private injector;
|
10
11
|
constructor(overlay: Overlay, injector: Injector);
|
11
12
|
open<T>(component: ComponentType<T>, config?: ModalConfig): ModalRef;
|
13
|
+
confirmModal(data: AskModalConfirmData): ModalRef;
|
12
14
|
private createInjector;
|
13
15
|
private getPositionStrategy;
|
14
16
|
getOverlay(config?: ModalConfig): import("@angular/cdk/overlay").OverlayRef;
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
@@ -17,6 +17,7 @@ export * from './lib/components/accordion/accordion.component';
|
|
17
17
|
export * from './lib/components/accordion/extendable-panel/extendable-panel.component';
|
18
18
|
export * from './lib/components/table/table.component';
|
19
19
|
export * from './lib/components/pagination/pagination.component';
|
20
|
+
export * from './lib/components/loading-bar/loading-bar.component';
|
20
21
|
export * from './lib/directives';
|
21
22
|
export * from './lib/components/modal/directives';
|
22
23
|
export * from './lib/services/toast/toast.service';
|
@@ -1,13 +1,11 @@
|
|
1
|
-
import {
|
1
|
+
import { ValidatorFn } from "@angular/forms";
|
2
2
|
import { CountryData } from "../providers/flag.provider";
|
3
3
|
import { PhoneValidationService } from "../../lib/services/phone-ddi/phone-validation.service";
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
export declare class PhoneMaskValidator {
|
6
6
|
private readonly phoneValidationService;
|
7
7
|
constructor(phoneValidationService: PhoneValidationService);
|
8
|
-
validate(selectedFlag: CountryData):
|
9
|
-
[key: string]: any;
|
10
|
-
} | null;
|
8
|
+
validate(selectedFlag: CountryData): ValidatorFn;
|
11
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<PhoneMaskValidator, never>;
|
12
10
|
static ɵprov: i0.ɵɵInjectableDeclaration<PhoneMaskValidator>;
|
13
11
|
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
@use '@angular/material' as mat;
|
2
|
+
@include mat.core();
|
3
|
+
|
4
|
+
$my-primary: mat.define-palette(mat.$deep-orange-palette, 500);
|
5
|
+
$my-accent: mat.define-palette(mat.$blue-gray-palette, A200, A100, A400);
|
6
|
+
|
7
|
+
$my-theme: mat.define-light-theme((
|
8
|
+
color: (
|
9
|
+
primary: $my-primary,
|
10
|
+
accent: $my-accent,
|
11
|
+
)
|
12
|
+
));
|
13
|
+
|
14
|
+
@include mat.all-component-themes($my-theme);
|
package/styles/styles.scss
CHANGED
@@ -1,46 +0,0 @@
|
|
1
|
-
import { Toolbox } from "./toolbox";
|
2
|
-
const TOOLBOX_HEIGHT = 40;
|
3
|
-
const MARGIN = 8;
|
4
|
-
const MOUSE_EVENT = 'mouseup';
|
5
|
-
export class BubbleStrategy extends Toolbox {
|
6
|
-
constructor(injector) {
|
7
|
-
super(injector);
|
8
|
-
this.listenOutsideClicks();
|
9
|
-
}
|
10
|
-
move(bounds) {
|
11
|
-
this.renderer2.setStyle(this.componentEl, 'top', `${bounds.top - (TOOLBOX_HEIGHT + MARGIN)}px`);
|
12
|
-
this.renderer2.setStyle(this.componentEl, 'left', `${bounds.left}px`);
|
13
|
-
}
|
14
|
-
listenOutsideClicks() {
|
15
|
-
this.clickListener = (event) => {
|
16
|
-
if (!this.componentEl?.contains(event.target)
|
17
|
-
&& this.isVisible()) {
|
18
|
-
this.destroyComponent();
|
19
|
-
}
|
20
|
-
};
|
21
|
-
document.body.addEventListener(MOUSE_EVENT, this.clickListener);
|
22
|
-
}
|
23
|
-
onToolsChanged(state) {
|
24
|
-
super.onToolsChanged(state);
|
25
|
-
const { hasSelection, hasFocus, bounds } = state;
|
26
|
-
if (hasSelection && bounds) {
|
27
|
-
if (!this.isVisible())
|
28
|
-
this.displayComponent();
|
29
|
-
this.move(bounds);
|
30
|
-
}
|
31
|
-
else {
|
32
|
-
if (this.isVisible() && hasFocus)
|
33
|
-
this.destroyComponent();
|
34
|
-
}
|
35
|
-
}
|
36
|
-
displayComponent() {
|
37
|
-
super.displayComponent();
|
38
|
-
this.renderer2.appendChild(this.hostEl?.nativeElement, this.componentEl);
|
39
|
-
this.componentRef.setInput('type', 'bubble');
|
40
|
-
}
|
41
|
-
destroyAll() {
|
42
|
-
document.body.removeEventListener(MOUSE_EVENT, this.clickListener);
|
43
|
-
super.destroyAll();
|
44
|
-
}
|
45
|
-
}
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC1idWJibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9jbGFzc2VzL3Rvb2xib3gtYnViYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHcEMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNqQixNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUE7QUFFN0IsTUFBTSxPQUFPLGNBQWUsU0FBUSxPQUFPO0lBR3ZDLFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxJQUFJLENBQUMsTUFBb0I7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBQyxLQUFLLEVBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFDLE1BQU0sRUFBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzdCLElBQ0UsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBYyxDQUFDO21CQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQ3BCO2dCQUNDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFBO1FBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFUSxjQUFjLENBQUMsS0FBaUI7UUFDdkMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixNQUFNLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDakQsSUFBSSxZQUFZLElBQUksTUFBTSxFQUFFO1lBQzFCLElBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25CO2FBQU07WUFDTCxJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxRQUFRO2dCQUM3QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFUSxnQkFBZ0I7UUFDdkIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxZQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVEsVUFBVTtRQUNqQixRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYyxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJvdW5kc1N0YXRpYyB9IGZyb20gXCJxdWlsbFwiO1xuaW1wb3J0IHsgVG9vbGJveCB9IGZyb20gXCIuL3Rvb2xib3hcIjtcbmltcG9ydCB7IFRvb2xzU3RhdGUgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9yaWNodGV4dC10b29sYm94LmludGVyZmFjZVwiO1xuXG5jb25zdCBUT09MQk9YX0hFSUdIVCA9IDQwO1xuY29uc3QgTUFSR0lOID0gODtcbmNvbnN0IE1PVVNFX0VWRU5UID0gJ21vdXNldXAnXG5cbmV4cG9ydCBjbGFzcyBCdWJibGVTdHJhdGVneSBleHRlbmRzIFRvb2xib3gge1xuICAgIHByaXZhdGUgY2xpY2tMaXN0ZW5lcj86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICB0aGlzLmxpc3Rlbk91dHNpZGVDbGlja3MoKTtcbiAgICB9XG4gIFxuICAgIHByaXZhdGUgbW92ZShib3VuZHM6IEJvdW5kc1N0YXRpYykge1xuICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5jb21wb25lbnRFbCwndG9wJyxgJHtib3VuZHMudG9wIC0gKFRPT0xCT1hfSEVJR0hUICsgTUFSR0lOKX1weGApO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5jb21wb25lbnRFbCwnbGVmdCcsYCR7Ym91bmRzLmxlZnR9cHhgKTtcbiAgICB9XG4gIFxuICAgIHByaXZhdGUgbGlzdGVuT3V0c2lkZUNsaWNrcygpe1xuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmKFxuICAgICAgICAgICF0aGlzLmNvbXBvbmVudEVsPy5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgXG4gICAgICAgICAgJiYgdGhpcy5pc1Zpc2libGUoKVxuICAgICAgICApe1xuICAgICAgICAgIHRoaXMuZGVzdHJveUNvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoTU9VU0VfRVZFTlQsIHRoaXMuY2xpY2tMaXN0ZW5lcik7XG4gICAgfVxuICAgIFxuICAgIG92ZXJyaWRlIG9uVG9vbHNDaGFuZ2VkKHN0YXRlOiBUb29sc1N0YXRlKTogdm9pZCB7XG4gICAgICBzdXBlci5vblRvb2xzQ2hhbmdlZChzdGF0ZSlcbiAgICAgIGNvbnN0IHsgaGFzU2VsZWN0aW9uLCBoYXNGb2N1cywgYm91bmRzIH0gPSBzdGF0ZTtcbiAgICAgIGlmIChoYXNTZWxlY3Rpb24gJiYgYm91bmRzKSB7XG4gICAgICAgIGlmKCF0aGlzLmlzVmlzaWJsZSgpKVxuICAgICAgICAgIHRoaXMuZGlzcGxheUNvbXBvbmVudCgpO1xuICAgICAgICB0aGlzLm1vdmUoYm91bmRzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKHRoaXMuaXNWaXNpYmxlKCkgJiYgaGFzRm9jdXMpXG4gICAgICAgICAgdGhpcy5kZXN0cm95Q29tcG9uZW50KCk7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBvdmVycmlkZSBkaXNwbGF5Q29tcG9uZW50KCkge1xuICAgICAgc3VwZXIuZGlzcGxheUNvbXBvbmVudCgpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5ob3N0RWw/Lm5hdGl2ZUVsZW1lbnQsdGhpcy5jb21wb25lbnRFbCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiEuc2V0SW5wdXQoJ3R5cGUnLCdidWJibGUnKTtcbiAgICB9XG4gICAgXG4gICAgb3ZlcnJpZGUgZGVzdHJveUFsbCgpOiB2b2lkIHtcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcihNT1VTRV9FVkVOVCwgdGhpcy5jbGlja0xpc3RlbmVyISk7XG4gICAgICBzdXBlci5kZXN0cm95QWxsKCk7XG4gICAgfVxuICB9Il19
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import { Toolbox } from "./toolbox";
|
2
|
-
export class TopbarStrategy extends Toolbox {
|
3
|
-
constructor(injector) {
|
4
|
-
super(injector);
|
5
|
-
this.displayComponent();
|
6
|
-
}
|
7
|
-
displayComponent() {
|
8
|
-
super.displayComponent();
|
9
|
-
const parentElement = this.renderer2.parentNode(this.hostEl?.nativeElement);
|
10
|
-
this.renderer2.appendChild(parentElement, this.componentEl);
|
11
|
-
this.renderer2.appendChild(parentElement, this.hostEl?.nativeElement);
|
12
|
-
this.componentRef.setInput('type', 'topbar');
|
13
|
-
}
|
14
|
-
prepareUpdatedTools(toolState) {
|
15
|
-
const toolbarItems = super.prepareUpdatedTools(toolState);
|
16
|
-
const { formats, hasSelection, hasFocus } = toolState;
|
17
|
-
toolbarItems.forEach(tool => {
|
18
|
-
if (!hasFocus) {
|
19
|
-
tool.disabled = true;
|
20
|
-
return;
|
21
|
-
}
|
22
|
-
if (tool.tool === 'clear') {
|
23
|
-
tool.disabled = !hasSelection;
|
24
|
-
}
|
25
|
-
else if (tool.tool === 'link') {
|
26
|
-
tool.selected = !!formats.link;
|
27
|
-
tool.disabled = !hasSelection && !formats.link;
|
28
|
-
tool.value = formats?.link;
|
29
|
-
}
|
30
|
-
});
|
31
|
-
return toolbarItems;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC10b3BiYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9jbGFzc2VzL3Rvb2xib3gtdG9wYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHcEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxPQUFPO0lBRXZDLFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFHUSxnQkFBZ0I7UUFDdkIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxZQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVEsbUJBQW1CLENBQUMsU0FBcUI7UUFDaEQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUV0RCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFCLElBQUcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7Z0JBQ3BCLE9BQU87YUFDUjtZQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxZQUFZLENBQUM7YUFDL0I7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQzthQUM1QjtRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osT0FBTyxZQUFZLENBQUE7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9vbGJveCB9IGZyb20gXCIuL3Rvb2xib3hcIjtcbmltcG9ydCB7IFRvb2xiYXJJdGVtLCBUb29sc1N0YXRlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcmljaHRleHQtdG9vbGJveC5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNsYXNzIFRvcGJhclN0cmF0ZWd5IGV4dGVuZHMgVG9vbGJveCB7XG5cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgIHRoaXMuZGlzcGxheUNvbXBvbmVudCgpO1xuICAgIH1cbiAgXG4gIFxuICAgIG92ZXJyaWRlIGRpc3BsYXlDb21wb25lbnQoKTogdm9pZCB7XG4gICAgICBzdXBlci5kaXNwbGF5Q29tcG9uZW50KCk7XG4gICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5yZW5kZXJlcjIucGFyZW50Tm9kZSh0aGlzLmhvc3RFbD8ubmF0aXZlRWxlbWVudCk7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZChwYXJlbnRFbGVtZW50LHRoaXMuY29tcG9uZW50RWwpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQocGFyZW50RWxlbWVudCwgdGhpcy5ob3N0RWw/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYhLnNldElucHV0KCd0eXBlJywndG9wYmFyJyk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgcHJlcGFyZVVwZGF0ZWRUb29scyh0b29sU3RhdGU6IFRvb2xzU3RhdGUpOiBUb29sYmFySXRlbVtde1xuICAgICAgY29uc3QgdG9vbGJhckl0ZW1zID0gc3VwZXIucHJlcGFyZVVwZGF0ZWRUb29scyh0b29sU3RhdGUpO1xuICAgICAgY29uc3QgeyBmb3JtYXRzLCBoYXNTZWxlY3Rpb24sIGhhc0ZvY3VzIH0gPSB0b29sU3RhdGU7XG5cbiAgICAgIHRvb2xiYXJJdGVtcy5mb3JFYWNoKHRvb2wgPT4ge1xuICAgICAgICBpZighaGFzRm9jdXMpIHtcbiAgICAgICAgICB0b29sLmRpc2FibGVkID0gdHJ1ZVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b29sLnRvb2wgPT09ICdjbGVhcicpIHtcbiAgICAgICAgICB0b29sLmRpc2FibGVkID0gIWhhc1NlbGVjdGlvbjtcbiAgICAgICAgfSBlbHNlIGlmICh0b29sLnRvb2wgPT09ICdsaW5rJykge1xuICAgICAgICAgIHRvb2wuc2VsZWN0ZWQgPSAhIWZvcm1hdHMubGluaztcbiAgICAgICAgICB0b29sLmRpc2FibGVkID0gIWhhc1NlbGVjdGlvbiAmJiAhZm9ybWF0cy5saW5rO1xuICAgICAgICAgIHRvb2wudmFsdWUgPSBmb3JtYXRzPy5saW5rO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIHJldHVybiB0b29sYmFySXRlbXNcbiAgICB9XG4gIH1cbiAgIl19
|
@@ -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-text-button{padding:8px 16px;border:none;border-radius:4px;outline:none;background:none;color:var(--asksuite-orange);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3ms}.ask-text-button:hover{text-decoration:none;background:#F5F7FA}.ask-text-button:disabled{cursor:not-allowed;color:#9aa5b1}.ask-text-button.-primary{color:var(--asksuite-orange)}.ask-text-button.-secondary{color:#616e7c}.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}.ask-tooltip{white-space:break-spaces}: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-text-button{padding:8px 16px;border:none;border-radius:4px;outline:none;background:none;color:var(--asksuite-orange);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3ms}.ask-text-button:hover{text-decoration:none;background:#F5F7FA}.ask-text-button:disabled{cursor:not-allowed;color:#9aa5b1}.ask-text-button.-primary{color:var(--asksuite-orange)}.ask-text-button.-secondary{color:#616e7c}.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}.ask-tooltip{white-space:break-spaces}: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,18 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import Quill from 'quill';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class QuillBuilderService {
|
5
|
-
constructor() { }
|
6
|
-
getQuill() {
|
7
|
-
return Quill;
|
8
|
-
}
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: QuillBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
10
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: QuillBuilderService, providedIn: 'root' }); }
|
11
|
-
}
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: QuillBuilderService, decorators: [{
|
13
|
-
type: Injectable,
|
14
|
-
args: [{
|
15
|
-
providedIn: 'root'
|
16
|
-
}]
|
17
|
-
}], ctorParameters: function () { return []; } });
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNrc3VpdGUtY2l0cnVzL3NyYy9saWIvc2VydmljZXMvcXVpbGwtYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQUsxQixNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7UUFDTixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7OEdBTlUsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFF1aWxsQnVpbGRlclNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgZ2V0UXVpbGwoKXtcbiAgICByZXR1cm4gUXVpbGxcbiAgfVxufVxuIl19
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import Quill from 'quill';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export declare class QuillBuilderService {
|
4
|
-
constructor();
|
5
|
-
getQuill(): typeof Quill;
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<QuillBuilderService, never>;
|
7
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<QuillBuilderService>;
|
8
|
-
}
|