@worktile/theia 15.1.3 → 15.1.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.
Files changed (42) hide show
  1. package/components/contextmenu/contextmenu.component.d.ts +1 -0
  2. package/components/index.scss +0 -1
  3. package/constants/color-select.d.ts +0 -11
  4. package/core/toolbar-item/base-toolbar-item.d.ts +1 -1
  5. package/editor.component.d.ts +1 -0
  6. package/editor.module.d.ts +61 -63
  7. package/esm2020/components/contextmenu/contextmenu.component.mjs +12 -3
  8. package/esm2020/constants/color-select.mjs +1 -60
  9. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +2 -2
  10. package/esm2020/core/with-theia.mjs +2 -1
  11. package/esm2020/editor.component.mjs +12 -4
  12. package/esm2020/editor.module.mjs +1 -4
  13. package/esm2020/interfaces/editor.mjs +1 -1
  14. package/esm2020/plugins/color/color.editor.mjs +2 -19
  15. package/esm2020/plugins/color/toolbar-item.component.mjs +17 -13
  16. package/esm2020/plugins/common/common.plugin.mjs +30 -1
  17. package/esm2020/plugins/table/components/table.component.mjs +26 -26
  18. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +5 -15
  19. package/esm2020/plugins/table/table.types.mjs +1 -1
  20. package/esm2020/plugins/table/utils/cell-position.mjs +4 -1
  21. package/esm2020/plugins/table/utils/set-cells-background-color.mjs +22 -0
  22. package/esm2020/services/table-contextmenu.service.mjs +10 -31
  23. package/esm2020/utils/color-picker.mjs +7 -1
  24. package/fesm2015/worktile-theia.mjs +140 -326
  25. package/fesm2015/worktile-theia.mjs.map +1 -1
  26. package/fesm2020/worktile-theia.mjs +139 -325
  27. package/fesm2020/worktile-theia.mjs.map +1 -1
  28. package/interfaces/editor.d.ts +1 -0
  29. package/package.json +1 -1
  30. package/plugins/color/color.editor.d.ts +0 -1
  31. package/plugins/color/toolbar-item.component.d.ts +3 -4
  32. package/plugins/common/common.plugin.d.ts +1 -0
  33. package/plugins/table/components/table.component.d.ts +2 -5
  34. package/plugins/table/table.types.d.ts +1 -1
  35. package/plugins/table/utils/set-cells-background-color.d.ts +3 -0
  36. package/services/table-contextmenu.service.d.ts +1 -3
  37. package/utils/color-picker.d.ts +2 -0
  38. package/components/color-select/color-select.component.d.ts +0 -32
  39. package/components/color-select/color-select.component.scss +0 -109
  40. package/esm2020/components/color-select/color-select.component.mjs +0 -109
  41. package/esm2020/services/color-select.service.mjs +0 -63
  42. package/services/color-select.service.d.ts +0 -21
@@ -18,6 +18,7 @@ export interface TheEditor extends AngularEditor, HistoryEditor {
18
18
  pluginsByKey: OverrideByKey;
19
19
  nestedStructureByKey: NestedStructureByKey;
20
20
  extraElementOptions: ElementOptionsInfo[];
21
+ globalMousedown: (event: MouseEvent) => void;
21
22
  renderElement: (element: Element) => ViewType;
22
23
  renderLeaf: (text: Text) => ViewType;
23
24
  isContainer: (element: Element) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@worktile/theia",
3
- "version": "15.1.3",
3
+ "version": "15.1.5",
4
4
  "description": "theia editor",
5
5
  "author": "YanDong <nanianqiumo@foxmail.com>",
6
6
  "homepage": "https://github.com/atinc/theia#readme",
@@ -4,5 +4,4 @@ import { MarkTypes } from '../../constants/node-types';
4
4
  export declare const ColorEditor: {
5
5
  getActiveColor(editor: Editor, type: MarkTypes.color | MarkTypes.backgroundColor): string;
6
6
  setColor(editor: Editor, color: ColorType, type: MarkTypes.color | MarkTypes.backgroundColor): void;
7
- selectColor(editor: Editor, type: MarkTypes.color | MarkTypes.backgroundColor): void;
8
7
  };
@@ -1,17 +1,16 @@
1
1
  import { OnInit } from '@angular/core';
2
- import { ThyPopoverRef } from 'ngx-tethys/popover';
3
2
  import { MarkTypes } from '../../constants/node-types';
4
- import { TheColorSelectComponent } from '../../components/color-select/color-select.component';
5
3
  import { TheBaseToolbarItem } from '../../core/toolbar-item/base-toolbar-item';
6
4
  import * as i0 from "@angular/core";
7
5
  export declare class TheColorToolbarItemComponent extends TheBaseToolbarItem implements OnInit {
8
- colorSelectRef: ThyPopoverRef<TheColorSelectComponent>;
9
6
  defaultColorLine: string;
10
7
  defaultBackgroundColorLine: string;
11
- get isOpenColorSelect(): TheColorSelectComponent;
12
8
  selectedColor: string;
13
9
  get type(): MarkTypes.color | MarkTypes.backgroundColor;
10
+ constructor();
14
11
  ngOnInit(): void;
12
+ selectionChange(): void;
13
+ setSelectedColor(): void;
15
14
  preventDefault(event: Event): void;
16
15
  changeColor(value: string): void;
17
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TheColorToolbarItemComponent, never>;
@@ -1 +1,2 @@
1
+ export declare const withInternalCommon: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
1
2
  export declare const createCommonPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, {}>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, {}>;
@@ -1,5 +1,5 @@
1
1
  import { OnInit, ElementRef, OnDestroy, ChangeDetectorRef, NgZone, AfterViewInit, Renderer2, QueryList } from '@angular/core';
2
- import { Subject, Subscription } from 'rxjs';
2
+ import { Subject } from 'rxjs';
3
3
  import { Editor } from 'slate';
4
4
  import { TheBaseElementComponent, ThePluginOption, TheModeConfig } from '../../../interfaces';
5
5
  import { TableCellElement, TableElement } from '../../../custom-types';
@@ -10,7 +10,6 @@ import { TableService } from '../table.service';
10
10
  import { ThePluginTableOption, TheTableColumn } from '../table.types';
11
11
  import { TableFreezeColumnPipe, TableFreezeRowPipe } from '../table.pipe';
12
12
  import { TheContextService } from '../../../services/context.service';
13
- import { TheColorSelectService } from '../../../services/color-select.service';
14
13
  import * as i0 from "@angular/core";
15
14
  export declare class TheTableComponent extends TheBaseElementComponent<TableElement, Editor> implements OnInit, AfterViewInit, OnDestroy {
16
15
  eventDispatcher: TableCellEventDispatcher;
@@ -25,7 +24,6 @@ export declare class TheTableComponent extends TheBaseElementComponent<TableElem
25
24
  private renderer;
26
25
  private contextService;
27
26
  private config;
28
- private colorSelectService;
29
27
  headerRow: boolean;
30
28
  isSelectedAllCell: boolean;
31
29
  destroy$: Subject<void>;
@@ -44,7 +42,6 @@ export declare class TheTableComponent extends TheBaseElementComponent<TableElem
44
42
  isLeftShadow: boolean;
45
43
  previousScrollContainer: string;
46
44
  printColumns: TheTableColumn[];
47
- documentMousedown$: Subscription;
48
45
  get columns(): TheTableColumn[];
49
46
  get nativeElement(): HTMLElement;
50
47
  get tbodyNativeElement(): HTMLElement;
@@ -61,7 +58,7 @@ export declare class TheTableComponent extends TheBaseElementComponent<TableElem
61
58
  rowControlsButtonWrapper: QueryList<ElementRef<HTMLElement>>;
62
59
  handleMousedown(event: MouseEvent): void;
63
60
  onContextChange(): void;
64
- constructor(elementRef: ElementRef<HTMLElement>, eventDispatcher: TableCellEventDispatcher, resizeNotifier: ColumnResizeNotifierSource, tableStore: TableStore, cdr: ChangeDetectorRef, ngZone: NgZone, tableService: TableService, theTableContextMenuService: TheTableContextMenuService, freezeColumnPipe: TableFreezeColumnPipe, freezeRowPipe: TableFreezeRowPipe, renderer: Renderer2, contextService: TheContextService, config: TheModeConfig, colorSelectService: TheColorSelectService);
61
+ constructor(elementRef: ElementRef<HTMLElement>, eventDispatcher: TableCellEventDispatcher, resizeNotifier: ColumnResizeNotifierSource, tableStore: TableStore, cdr: ChangeDetectorRef, ngZone: NgZone, tableService: TableService, theTableContextMenuService: TheTableContextMenuService, freezeColumnPipe: TableFreezeColumnPipe, freezeRowPipe: TableFreezeRowPipe, renderer: Renderer2, contextService: TheContextService, config: TheModeConfig);
65
62
  ngOnInit(): void;
66
63
  /**
67
64
  * 打印模式下,按照原宽度比例基于当前表格宽度计算列宽
@@ -48,7 +48,7 @@ export interface MenuEntity {
48
48
  count?: number;
49
49
  backgroundColor?: string;
50
50
  actionHandle: (entity: MenuEntity) => void;
51
- activeHandle?: (event: MouseEvent) => void;
51
+ activeHandle?: (event: MouseEvent, entity?: MenuEntity) => void;
52
52
  deactivateHandle?: (event: MouseEvent) => void;
53
53
  }
54
54
  export declare enum FullscreenState {
@@ -0,0 +1,3 @@
1
+ import { TableStore } from '../table.store';
2
+ import { TheEditor } from '../../../interfaces';
3
+ export declare const setSelectedCellsBackgroundColor: (editor: TheEditor, color: string, tableStore: TableStore) => void;
@@ -1,13 +1,11 @@
1
1
  import { NgZone } from '@angular/core';
2
2
  import { ThyPopoverRef, ThyPopover } from 'ngx-tethys/popover';
3
- import { TheColorSelectService } from './color-select.service';
4
3
  import { TableStore } from '../plugins/table/table.store';
5
4
  import { MenuEntity } from '../plugins/table/table.types';
6
5
  import { TheContextMenuComponent } from '../components/contextmenu/contextmenu.component';
7
6
  import { TheContextService } from './context.service';
8
7
  import * as i0 from "@angular/core";
9
8
  export declare class TheTableContextMenuService {
10
- private colorSelectService;
11
9
  private tableStore;
12
10
  private thyPopover;
13
11
  private ngZone;
@@ -16,7 +14,7 @@ export declare class TheTableContextMenuService {
16
14
  get isOpened(): TheContextMenuComponent;
17
15
  get editor(): import("@worktile/theia").TheEditor;
18
16
  get backgroundColor(): string;
19
- constructor(colorSelectService: TheColorSelectService, tableStore: TableStore, thyPopover: ThyPopover, ngZone: NgZone, theContextService: TheContextService);
17
+ constructor(tableStore: TableStore, thyPopover: ThyPopover, ngZone: NgZone, theContextService: TheContextService);
20
18
  menuEntities: MenuEntity[];
21
19
  getSelectedCell(): {
22
20
  row: number;
@@ -1 +1,3 @@
1
1
  export declare const isColorPanel: (element: HTMLElement) => boolean;
2
+ export declare const isColorIndicator: (element: HTMLElement) => Element;
3
+ export declare const isColorInput: (element: HTMLElement) => Element;
@@ -1,32 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { ThyPopoverRef } from 'ngx-tethys/popover';
3
- import { ColorType, ColorSelectOption } from '../../constants/color-select';
4
- import * as i0 from "@angular/core";
5
- export declare class TheColorSelectComponent implements OnInit {
6
- private popoverRef;
7
- selectedColor: string;
8
- selectAction: (color: ColorType) => void;
9
- showCustom: boolean;
10
- colors: string[];
11
- option: ColorSelectOption;
12
- color: string;
13
- customColor: string;
14
- selectColors: {
15
- rowValue: {
16
- value: string;
17
- classMaps: object;
18
- }[];
19
- tickColor: string;
20
- }[];
21
- handleDocumentMouseDown(event: MouseEvent): void;
22
- constructor(popoverRef: ThyPopoverRef<TheColorSelectComponent>);
23
- ngOnInit(): void;
24
- handleMouseDown(event: MouseEvent): void;
25
- handleKeydown(event: MouseEvent): void;
26
- buildColors(): void;
27
- _selectColor(event: MouseEvent, color: string): void;
28
- colorChange(isEnter: boolean): void;
29
- customInputColorEnter(event: KeyboardEvent): void;
30
- static ɵfac: i0.ɵɵFactoryDeclaration<TheColorSelectComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<TheColorSelectComponent, "the-color-select", never, { "selectedColor": "selectedColor"; "selectAction": "selectAction"; "showCustom": "showCustom"; "colors": "colors"; "option": "option"; }, {}, never, never, false, never>;
32
- }
@@ -1,109 +0,0 @@
1
- @use 'ngx-tethys/styles/variables.scss';
2
-
3
- .color-container {
4
- padding: 15px;
5
- line-height: 0;
6
- background: variables.$white;
7
- border-radius: 4px;
8
- .colors {
9
- position: relative;
10
- display: block;
11
-
12
- thy-icon {
13
- position: absolute;
14
- top: 50%;
15
- left: 50%;
16
- display: none;
17
- color: variables.$white;
18
- font-size: 12px;
19
- transform: translate(-50%, -50%);
20
- }
21
-
22
- .color-item {
23
- thy-icon {
24
- color: variables.$white;
25
- }
26
- &.white span {
27
- border: 1px solid variables.$gray-100;
28
- thy-icon {
29
- color: variables.$gray-500;
30
- }
31
- }
32
- }
33
-
34
- .color-item.selected thy-icon {
35
- display: block;
36
- }
37
- }
38
-
39
- .color-item {
40
- position: relative;
41
- display: inline-block;
42
- margin-right: 5px;
43
- margin-bottom: 5px;
44
- padding: 2px;
45
- border: 1px solid transparent;
46
- border-radius: 2px;
47
- cursor: pointer;
48
-
49
- > span {
50
- position: relative;
51
- display: block;
52
- width: 20px;
53
- height: 20px;
54
- }
55
-
56
- &.special-color::after {
57
- position: absolute;
58
- top: 11px;
59
- left: 0;
60
- display: block;
61
- width: 24px;
62
- height: 0;
63
- border-bottom: 2px solid #ff0100;
64
- -webkit-transform: rotate(45deg);
65
- transform: rotate(45deg);
66
- content: '';
67
- }
68
-
69
- &:hover {
70
- border: 1px solid variables.$gray-300;
71
- box-shadow: 0 2px 4px 0 rgba(variables.$black, 0.08);
72
- }
73
- }
74
-
75
- .select-color {
76
- display: flex;
77
- align-items: center;
78
- justify-content: center;
79
- margin-top: 15px;
80
-
81
- .color {
82
- position: relative;
83
- display: inline-block;
84
- width: 20px;
85
- height: 20px;
86
- margin-right: 5px;
87
- border: 1px solid variables.$gray-400;
88
- border-radius: 2px;
89
- }
90
-
91
- .value {
92
- display: inline-block;
93
- width: 63px;
94
- height: 20px;
95
- margin-left: 5px;
96
- padding: 0;
97
- font-size: 12px;
98
- letter-spacing: 0;
99
- text-align: justify;
100
- text-indent: 10px;
101
- }
102
- }
103
- }
104
-
105
- .color-select-container {
106
- .thy-popover-container {
107
- min-width: auto;
108
- }
109
- }
@@ -1,109 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy, HostListener } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "ngx-tethys/popover";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/forms";
6
- import * as i4 from "ngx-tethys/icon";
7
- import * as i5 from "ngx-tethys/input";
8
- export class TheColorSelectComponent {
9
- handleDocumentMouseDown(event) {
10
- if (!document.querySelector('.color-container').contains(event.target)) {
11
- this.popoverRef.close();
12
- }
13
- }
14
- constructor(popoverRef) {
15
- this.popoverRef = popoverRef;
16
- this.showCustom = true;
17
- this.selectColors = [];
18
- }
19
- ngOnInit() {
20
- if (this.selectedColor) {
21
- this.customColor = this.selectedColor.slice(1);
22
- }
23
- this.buildColors();
24
- }
25
- handleMouseDown(event) {
26
- event.stopPropagation();
27
- }
28
- handleKeydown(event) {
29
- event.stopPropagation();
30
- }
31
- buildColors() {
32
- const rows = parseInt((this.colors.length / this.option.perRowColorNumbers).toFixed(0), 10);
33
- for (let i = 0; i < rows; i++) {
34
- this.selectColors.push({
35
- rowValue: [
36
- ...this.colors.slice(i * this.option.perRowColorNumbers, (i + 1) * this.option.perRowColorNumbers).map(color => {
37
- return {
38
- value: color,
39
- classMaps: {
40
- selected: color === this.selectedColor,
41
- white: color === '#FFFFFF',
42
- 'mr-0': i === this.option.perRowColorNumbers - 1,
43
- 'mb-0': i === this.selectColors.length - 1,
44
- 'special-color': color === this.option.specialColor
45
- }
46
- };
47
- })
48
- ],
49
- tickColor: this.option.rowOptions && this.option.rowOptions[i + 1]
50
- });
51
- }
52
- }
53
- _selectColor(event, color) {
54
- event.preventDefault();
55
- event.stopPropagation();
56
- if (this.option.specialColor && color === this.option.specialColor) {
57
- color = '';
58
- }
59
- this.selectedColor = color;
60
- this.selectAction(this.selectedColor);
61
- this.popoverRef.close();
62
- }
63
- colorChange(isEnter) {
64
- this.customColor = this.customColor.toLocaleUpperCase();
65
- this.selectedColor = '#' + this.customColor;
66
- if (this.customColor.length === 3) {
67
- this.selectedColor = '#' + this.customColor.replace(/(.)/g, '$1$1');
68
- }
69
- if (this.selectedColor.length === 7 && this.selectedColor !== this.option.specialColor) {
70
- this.selectColors = [];
71
- this.buildColors();
72
- }
73
- if (isEnter) {
74
- this.selectAction(this.selectedColor);
75
- this.popoverRef.close();
76
- }
77
- }
78
- customInputColorEnter(event) {
79
- event.stopPropagation();
80
- this.selectAction(this.selectedColor);
81
- this.popoverRef.close();
82
- }
83
- }
84
- TheColorSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectComponent, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
85
- TheColorSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: TheColorSelectComponent, selector: "the-color-select", inputs: { selectedColor: "selectedColor", selectAction: "selectAction", showCustom: "showCustom", colors: "colors", option: "option" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)", "keydown": "handleKeydown($event)" } }, ngImport: i0, template: "<div class=\"color-container\">\n <div class=\"colors\">\n <div *ngFor=\"let row of selectColors; let rowIndex = index\">\n <span\n class=\"color-item\"\n *ngFor=\"let _color of row.rowValue; let i = index\"\n [ngClass]=\"_color.classMaps\"\n (mousedown)=\"_selectColor($event, _color.value)\"\n >\n <span [ngStyle]=\"{ background: _color.value }\">\n <thy-icon thyIconName=\"check\" [ngStyle]=\"{ color: row.tickColor }\"></thy-icon>\n </span>\n </span>\n </div>\n </div>\n <div *ngIf=\"option.showCustom\" class=\"select-color\">\n <span class=\"color\" [ngStyle]=\"{ background: selectedColor }\"></span>\n #\n <input\n thyInput\n maxlength=\"6\"\n (keydown.enter)=\"customInputColorEnter($event)\"\n onkeyup=\"value=value.replace(/[^0-9A-Fa-f]/g,'')\"\n class=\"value\"\n [(ngModel)]=\"customColor\"\n (ngModelChange)=\"colorChange(false)\"\n />\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i5.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectComponent, decorators: [{
87
- type: Component,
88
- args: [{ selector: 'the-color-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"color-container\">\n <div class=\"colors\">\n <div *ngFor=\"let row of selectColors; let rowIndex = index\">\n <span\n class=\"color-item\"\n *ngFor=\"let _color of row.rowValue; let i = index\"\n [ngClass]=\"_color.classMaps\"\n (mousedown)=\"_selectColor($event, _color.value)\"\n >\n <span [ngStyle]=\"{ background: _color.value }\">\n <thy-icon thyIconName=\"check\" [ngStyle]=\"{ color: row.tickColor }\"></thy-icon>\n </span>\n </span>\n </div>\n </div>\n <div *ngIf=\"option.showCustom\" class=\"select-color\">\n <span class=\"color\" [ngStyle]=\"{ background: selectedColor }\"></span>\n #\n <input\n thyInput\n maxlength=\"6\"\n (keydown.enter)=\"customInputColorEnter($event)\"\n onkeyup=\"value=value.replace(/[^0-9A-Fa-f]/g,'')\"\n class=\"value\"\n [(ngModel)]=\"customColor\"\n (ngModelChange)=\"colorChange(false)\"\n />\n </div>\n</div>\n" }]
89
- }], ctorParameters: function () { return [{ type: i1.ThyPopoverRef }]; }, propDecorators: { selectedColor: [{
90
- type: Input
91
- }], selectAction: [{
92
- type: Input
93
- }], showCustom: [{
94
- type: Input
95
- }], colors: [{
96
- type: Input
97
- }], option: [{
98
- type: Input
99
- }], handleDocumentMouseDown: [{
100
- type: HostListener,
101
- args: ['document: mousedown', ['$event']]
102
- }], handleMouseDown: [{
103
- type: HostListener,
104
- args: ['mousedown', ['$event']]
105
- }], handleKeydown: [{
106
- type: HostListener,
107
- args: ['keydown', ['$event']]
108
- }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2NvbG9yLXNlbGVjdC9jb2xvci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvY29sb3Itc2VsZWN0L2NvbG9yLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTaEcsTUFBTSxPQUFPLHVCQUF1QjtJQWtCaEMsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELFlBQW9CLFVBQWtEO1FBQWxELGVBQVUsR0FBVixVQUFVLENBQXdDO1FBbkI3RCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBVTNCLGlCQUFZLEdBQThFLEVBQUUsQ0FBQztJQVNwQixDQUFDO0lBRTFFLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQWlCO1FBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBR0QsYUFBYSxDQUFDLEtBQWlCO1FBQzNCLEtBQUssQ0FB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Q0FBQyxhQUFhLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUNELHFCQUFxQixDQUFDLEtBQW9CO1FBQ3RDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7O29IQWhHUSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwrVkNUcEMsaStCQTZCQTsyRkRwQmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNO29HQUd0QyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQVNOLHVCQUF1QjtzQkFEdEIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFpQi9DLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXJDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgQ29sb3JUeXBlLCBDb2xvclNlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb2xvci1zZWxlY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS1jb2xvci1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnY29sb3Itc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaGVDb2xvclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDb2xvcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2VsZWN0QWN0aW9uOiAoY29sb3I6IENvbG9yVHlwZSkgPT4gdm9pZDtcblxuICAgIEBJbnB1dCgpIHNob3dDdXN0b20gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgY29sb3JzOiBzdHJpbmdbXTtcblxuICAgIEBJbnB1dCgpIG9wdGlvbjogQ29sb3JTZWxlY3RPcHRpb247XG5cbiAgICBjb2xvcjogc3RyaW5nO1xuXG4gICAgY3VzdG9tQ29sb3I6IHN0cmluZztcblxuICAgIHNlbGVjdENvbG9yczogeyByb3dWYWx1ZTogeyB2YWx1ZTogc3RyaW5nOyBjbGFzc01hcHM6IG9iamVjdCB9W107IHRpY2tDb2xvcjogc3RyaW5nIH1bXSA9IFtdO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6IG1vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlRG9jdW1lbnRNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY29sb3ItY29udGFpbmVyJykuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8VGhlQ29sb3JTZWxlY3RDb21wb25lbnQ+KSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29sb3IgPSB0aGlzLnNlbGVjdGVkQ29sb3Iuc2xpY2UoMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWlsZENvbG9ycygpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgYnVpbGRDb2xvcnMoKSB7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBwYXJzZUludCgodGhpcy5jb2xvcnMubGVuZ3RoIC8gdGhpcy5vcHRpb24ucGVyUm93Q29sb3JOdW1iZXJzKS50b0ZpeGVkKDApLCAxMCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93czsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdENvbG9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICByb3dWYWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvbG9ycy5zbGljZShpICogdGhpcy5vcHRpb24ucGVyUm93Q29sb3JOdW1iZXJzLCAoaSArIDEpICogdGhpcy5vcHRpb24ucGVyUm93Q29sb3JOdW1iZXJzKS5tYXAoY29sb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NNYXBzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBjb2xvciA9PT0gdGhpcy5zZWxlY3RlZENvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTogY29sb3IgPT09ICcjRkZGRkZGJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21yLTAnOiBpID09PSB0aGlzLm9wdGlvbi5wZXJSb3dDb2xvck51bWJlcnMgLSAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWItMCc6IGkgPT09IHRoaXMuc2VsZWN0Q29sb3JzLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcGVjaWFsLWNvbG9yJzogY29sb3IgPT09IHRoaXMub3B0aW9uLnNwZWNpYWxDb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB0aWNrQ29sb3I6IHRoaXMub3B0aW9uLnJvd09wdGlvbnMgJiYgdGhpcy5vcHRpb24ucm93T3B0aW9uc1tpICsgMV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX3NlbGVjdENvbG9yKGV2ZW50OiBNb3VzZUV2ZW50LCBjb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5vcHRpb24uc3BlY2lhbENvbG9yICYmIGNvbG9yID09PSB0aGlzLm9wdGlvbi5zcGVjaWFsQ29sb3IpIHtcbiAgICAgICAgICAgIGNvbG9yID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gY29sb3I7XG4gICAgICAgIHRoaXMuc2VsZWN0QWN0aW9uKHRoaXMuc2VsZWN0ZWRDb2xvcik7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIGNvbG9yQ2hhbmdlKGlzRW50ZXI6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jdXN0b21Db2xvciA9IHRoaXMuY3VzdG9tQ29sb3IudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gJyMnICsgdGhpcy5jdXN0b21Db2xvcjtcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tQ29sb3IubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sb3IgPSAnIycgKyB0aGlzLmN1c3RvbUNvbG9yLnJlcGxhY2UoLyguKS9nLCAnJDEkMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sb3IubGVuZ3RoID09PSA3ICYmIHRoaXMuc2VsZWN0ZWRDb2xvciAhPT0gdGhpcy5vcHRpb24uc3BlY2lhbENvbG9yKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdENvbG9ycyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5idWlsZENvbG9ycygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0VudGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEFjdGlvbih0aGlzLnNlbGVjdGVkQ29sb3IpO1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY3VzdG9tSW5wdXRDb2xvckVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdEFjdGlvbih0aGlzLnNlbGVjdGVkQ29sb3IpO1xuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sb3ItY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2xvcnNcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCByb3cgb2Ygc2VsZWN0Q29sb3JzOyBsZXQgcm93SW5kZXggPSBpbmRleFwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJjb2xvci1pdGVtXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IF9jb2xvciBvZiByb3cucm93VmFsdWU7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJfY29sb3IuY2xhc3NNYXBzXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJfc2VsZWN0Q29sb3IoJGV2ZW50LCBfY29sb3IudmFsdWUpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBfY29sb3IudmFsdWUgfVwiPlxuICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNoZWNrXCIgW25nU3R5bGVdPVwieyBjb2xvcjogcm93LnRpY2tDb2xvciB9XCI+PC90aHktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm9wdGlvbi5zaG93Q3VzdG9tXCIgY2xhc3M9XCJzZWxlY3QtY29sb3JcIj5cbiAgICA8c3BhbiBjbGFzcz1cImNvbG9yXCIgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBzZWxlY3RlZENvbG9yIH1cIj48L3NwYW4+XG4gICAgI1xuICAgIDxpbnB1dFxuICAgICAgdGh5SW5wdXRcbiAgICAgIG1heGxlbmd0aD1cIjZcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiY3VzdG9tSW5wdXRDb2xvckVudGVyKCRldmVudClcIlxuICAgICAgb25rZXl1cD1cInZhbHVlPXZhbHVlLnJlcGxhY2UoL1teMC05QS1GYS1mXS9nLCcnKVwiXG4gICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tQ29sb3JcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29sb3JDaGFuZ2UoZmFsc2UpXCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,63 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { fromEvent } from 'rxjs';
3
- import { filter } from 'rxjs/operators';
4
- import { isColorPanel } from '../utils/color-picker';
5
- import { TheColorSelectComponent } from '../components/color-select/color-select.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "ngx-tethys/popover";
8
- export class TheColorSelectService {
9
- get isOpenColorSelect() {
10
- return this.colorSelectRef && this.colorSelectRef.componentInstance;
11
- }
12
- constructor(thyPopover) {
13
- this.thyPopover = thyPopover;
14
- this.backdropClosable = false;
15
- this.hasBackdrop = false;
16
- this.insideClosable = false;
17
- this.placement = 'bottomLeft';
18
- this.offset = 10;
19
- }
20
- toggleColorSelect(origin, selectedColor, colors, option, selectAction, placement, offset) {
21
- if (this.isOpenColorSelect) {
22
- this.colorSelectRef.close();
23
- }
24
- this.colorSelectRef = this.thyPopover.open(TheColorSelectComponent, {
25
- initialState: {
26
- selectedColor,
27
- selectAction,
28
- colors,
29
- option
30
- },
31
- origin,
32
- minWidth: 0,
33
- backdropClosable: this.backdropClosable,
34
- placement: placement || this.placement,
35
- offset: offset !== null ? offset : this.offset,
36
- hasBackdrop: this.hasBackdrop,
37
- insideClosable: this.insideClosable,
38
- panelClass: 'color-select-container',
39
- originActiveClass: 'active'
40
- });
41
- return this.colorSelectRef;
42
- }
43
- closeColorSelect() {
44
- if (this.isOpenColorSelect) {
45
- this.colorSelectRef.close();
46
- }
47
- }
48
- preventDefaultAndStopPropagation() {
49
- return fromEvent(document, 'mousedown')
50
- .pipe(filter(event => {
51
- return isColorPanel(event.target);
52
- }))
53
- .subscribe(event => {
54
- event.preventDefault();
55
- });
56
- }
57
- }
58
- TheColorSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService, deps: [{ token: i1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable });
59
- TheColorSelectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService, decorators: [{
61
- type: Injectable
62
- }], ctorParameters: function () { return [{ type: i1.ThyPopover }]; } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itc2VsZWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvc2VydmljZXMvY29sb3Itc2VsZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7OztBQUk1RixNQUFNLE9BQU8scUJBQXFCO0lBYTlCLElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hFLENBQUM7SUFFRCxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBaEIxQyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsY0FBUyxHQUFpQixZQUFZLENBQUM7UUFFdkMsV0FBTSxHQUFHLEVBQUUsQ0FBQztJQVFpQyxDQUFDO0lBRTlDLGlCQUFpQixDQUNiLE1BQW1CLEVBQ25CLGFBQXdCLEVBQ3hCLE1BQWdCLEVBQ2hCLE1BQXlCLEVBQ3pCLFlBQXdDLEVBQ3hDLFNBQXdCLEVBQ3hCLE1BQWU7UUFFZixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNoRSxZQUFZLEVBQUU7Z0JBQ1YsYUFBYTtnQkFDYixZQUFZO2dCQUNaLE1BQU07Z0JBQ04sTUFBTTthQUNUO1lBQ0QsTUFBTTtZQUNOLFFBQVEsRUFBRSxDQUFDO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxTQUFTLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQ3RDLE1BQU0sRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQzlDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLHdCQUF3QjtZQUNwQyxpQkFBaUIsRUFBRSxRQUFRO1NBQzlCLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxnQ0FBZ0M7UUFDNUIsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQzthQUNsQyxJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1gsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7O2tIQW5FUSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc0NvbG9yUGFuZWwgfSBmcm9tICcuLi91dGlscy9jb2xvci1waWNrZXInO1xuaW1wb3J0IHsgVGhlQ29sb3JTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbG9yLXNlbGVjdC9jb2xvci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IENvbG9yVHlwZSwgQ29sb3JTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoZUNvbG9yU2VsZWN0U2VydmljZSB7XG4gICAgYmFja2Ryb3BDbG9zYWJsZSA9IGZhbHNlO1xuXG4gICAgaGFzQmFja2Ryb3AgPSBmYWxzZTtcblxuICAgIGluc2lkZUNsb3NhYmxlID0gZmFsc2U7XG5cbiAgICBwbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICdib3R0b21MZWZ0JztcblxuICAgIG9mZnNldCA9IDEwO1xuXG4gICAgY29sb3JTZWxlY3RSZWY6IFRoeVBvcG92ZXJSZWY8VGhlQ29sb3JTZWxlY3RDb21wb25lbnQ+O1xuXG4gICAgZ2V0IGlzT3BlbkNvbG9yU2VsZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvclNlbGVjdFJlZiAmJiB0aGlzLmNvbG9yU2VsZWN0UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3Zlcikge31cblxuICAgIHRvZ2dsZUNvbG9yU2VsZWN0KFxuICAgICAgICBvcmlnaW46IEhUTUxFbGVtZW50LFxuICAgICAgICBzZWxlY3RlZENvbG9yOiBDb2xvclR5cGUsXG4gICAgICAgIGNvbG9yczogc3RyaW5nW10sXG4gICAgICAgIG9wdGlvbjogQ29sb3JTZWxlY3RPcHRpb24sXG4gICAgICAgIHNlbGVjdEFjdGlvbjogKGNvbG9yOiBDb2xvclR5cGUpID0+IHZvaWQsXG4gICAgICAgIHBsYWNlbWVudD86IFRoeVBsYWNlbWVudCxcbiAgICAgICAgb2Zmc2V0PzogbnVtYmVyXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbkNvbG9yU2VsZWN0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbG9yU2VsZWN0UmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb2xvclNlbGVjdFJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50LCB7XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZENvbG9yLFxuICAgICAgICAgICAgICAgIHNlbGVjdEFjdGlvbixcbiAgICAgICAgICAgICAgICBjb2xvcnMsXG4gICAgICAgICAgICAgICAgb3B0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiB0aGlzLmJhY2tkcm9wQ2xvc2FibGUsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCB8fCB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgICAgIG9mZnNldDogb2Zmc2V0ICE9PSBudWxsID8gb2Zmc2V0IDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdGhpcy5oYXNCYWNrZHJvcCxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0aGlzLmluc2lkZUNsb3NhYmxlLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ2NvbG9yLXNlbGVjdC1jb250YWluZXInLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6ICdhY3RpdmUnXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvclNlbGVjdFJlZjtcbiAgICB9XG5cbiAgICBjbG9zZUNvbG9yU2VsZWN0KCkge1xuICAgICAgICBpZiAodGhpcy5pc09wZW5Db2xvclNlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5jb2xvclNlbGVjdFJlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJldmVudERlZmF1bHRBbmRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgICAgIHJldHVybiBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZWRvd24nKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzQ29sb3JQYW5lbChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,21 +0,0 @@
1
- import { ThyPlacement } from 'ngx-tethys/core';
2
- import { ThyPopover, ThyPopoverRef } from 'ngx-tethys/popover';
3
- import { TheColorSelectComponent } from '../components/color-select/color-select.component';
4
- import { ColorType, ColorSelectOption } from '../constants/color-select';
5
- import * as i0 from "@angular/core";
6
- export declare class TheColorSelectService {
7
- private thyPopover;
8
- backdropClosable: boolean;
9
- hasBackdrop: boolean;
10
- insideClosable: boolean;
11
- placement: ThyPlacement;
12
- offset: number;
13
- colorSelectRef: ThyPopoverRef<TheColorSelectComponent>;
14
- get isOpenColorSelect(): TheColorSelectComponent;
15
- constructor(thyPopover: ThyPopover);
16
- toggleColorSelect(origin: HTMLElement, selectedColor: ColorType, colors: string[], option: ColorSelectOption, selectAction: (color: ColorType) => void, placement?: ThyPlacement, offset?: number): ThyPopoverRef<TheColorSelectComponent, unknown, unknown>;
17
- closeColorSelect(): void;
18
- preventDefaultAndStopPropagation(): import("rxjs").Subscription;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<TheColorSelectService, never>;
20
- static ɵprov: i0.ɵɵInjectableDeclaration<TheColorSelectService>;
21
- }