ngx-tethys 13.2.6 → 13.2.7

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/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [13.2.7](https://github.com/atinc/ngx-tethys/compare/13.2.6...13.2.7) (2022-08-26)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **button:** add active class and fix btn-icon-active style error #INFR-4378 ([#2129](https://github.com/atinc/ngx-tethys/issues/2129)) ([2919678](https://github.com/atinc/ngx-tethys/commit/291967843281bf5176f815ea2e9e4ff2c4226864)), closes [#INFR-4378](https://github.com/atinc/ngx-tethys/issues/INFR-4378)
11
+ * **property:** set thy-properties block and set padding-right for property label ([61aaddf](https://github.com/atinc/ngx-tethys/commit/61aaddfca7023044ff475911c1c841c34086fc91))
12
+ * **select:** center select control value ([#2131](https://github.com/atinc/ngx-tethys/issues/2131)) ([f3dab37](https://github.com/atinc/ngx-tethys/commit/f3dab37397ed435269fb35ad46c5aefcab71b807))
13
+
14
+
15
+ ### Features
16
+
17
+ * **property:** blur when click in previous overlay ([a291edf](https://github.com/atinc/ngx-tethys/commit/a291edf0680a34c4277ebc442da552024d6486a6))
18
+
19
+
20
+
5
21
  ## [13.2.6](https://github.com/atinc/ngx-tethys/compare/13.2.5...13.2.6) (2022-08-25)
6
22
 
7
23
 
@@ -17,6 +17,12 @@
17
17
  border: none;
18
18
  background: none;
19
19
  }
20
+
21
+ &.active,
22
+ &.btn-icon-active {
23
+ @include mixin.btn-icon-active(variables.$primary);
24
+ }
25
+
20
26
  @include mixin.btn-icon-size-variant(
21
27
  variables.$font-size-md,
22
28
  variables.$btn-icon-circle-padding-base,
@@ -60,7 +66,7 @@
60
66
  .thy-icon {
61
67
  border-width: 2px;
62
68
  }
63
- &:not(:hover):not(.invalid).circle-solid {
69
+ &:not(:hover):not(.invalid):not(.active):not(.btn-icon-active).circle-solid {
64
70
  i,
65
71
  .wtf,
66
72
  .thy-icon {
@@ -68,7 +74,7 @@
68
74
  border-color: variables.$btn-icon-thick-solid-color;
69
75
  }
70
76
  }
71
- &:not(:hover):not(.invalid).circle-dashed {
77
+ &:not(:hover):not(.invalid):not(.active):not(.btn-icon-active).circle-dashed {
72
78
  i,
73
79
  .wtf,
74
80
  .thy-icon {
@@ -105,7 +111,7 @@
105
111
  }
106
112
  }
107
113
  }
108
- &:not(:hover).circle-dashed {
114
+ &:not(:hover):not(.active):not(.btn-icon-active).circle-dashed {
109
115
  i,
110
116
  .wtf,
111
117
  .thy-icon {
@@ -119,16 +125,16 @@
119
125
  border-style: solid;
120
126
  }
121
127
  }
128
+
129
+ &.active,
130
+ &.btn-icon-active {
131
+ @include mixin.btn-icon-circle-active(variables.$primary, variables.$btn-icon-circle-padding-base);
132
+ }
122
133
  }
123
134
 
124
135
  .btn-icon-light {
125
136
  color: variables.$btn-icon-light-color;
126
137
  }
127
-
128
- .btn-icon-active {
129
- color: variables.$primary;
130
- }
131
-
132
138
  .btn-icon-xs {
133
139
  @include mixin.btn-icon-size-variant(
134
140
  variables.$font-size-base,
@@ -136,6 +142,10 @@
136
142
  variables.$font-size-base,
137
143
  variables.$input-btn-height-xs
138
144
  );
145
+ &.btn-icon-circle.active,
146
+ &.btn-icon-circle.btn-icon-active {
147
+ @include mixin.btn-icon-circle-active(variables.$primary, variables.$btn-icon-circle-padding-xs);
148
+ }
139
149
  }
140
150
 
141
151
  .btn-icon-sm {
@@ -145,6 +155,10 @@
145
155
  variables.$font-size-base,
146
156
  variables.$input-btn-height-md
147
157
  );
158
+ &.btn-icon-circle.active,
159
+ &.btn-icon-circle.btn-icon-active {
160
+ @include mixin.btn-icon-circle-active(variables.$primary, variables.$btn-icon-circle-padding-sm);
161
+ }
148
162
  }
149
163
 
150
164
  .btn-icon-lg {
@@ -154,6 +168,10 @@
154
168
  variables.$font-size-lg,
155
169
  variables.$input-btn-height-lg
156
170
  );
171
+ &.btn-icon-circle.active,
172
+ &.btn-icon-circle.btn-icon-active {
173
+ @include mixin.btn-icon-circle-active(variables.$primary, variables.$btn-icon-circle-padding-lg);
174
+ }
157
175
  }
158
176
 
159
177
  // 属性操作鼠标移上去 btn-icon-circle 样式的变化
@@ -237,3 +237,20 @@
237
237
  font-size: $font-size;
238
238
  }
239
239
  }
240
+
241
+ @mixin btn-icon-active($active-color) {
242
+ color: $active-color;
243
+ .thy-icon {
244
+ color: $active-color;
245
+ border-color: $active-color;
246
+ }
247
+ }
248
+
249
+ @mixin btn-icon-circle-active($active-color, $round-padding) {
250
+ @include btn-icon-active($active-color);
251
+ .thy-icon {
252
+ border-style: solid;
253
+ border-width: 2px;
254
+ padding: $round-padding - variables.$btn-icon-circle-padding-difference;
255
+ }
256
+ }
@@ -1,4 +1,3 @@
1
- import { ThyDatePickerModule } from 'ngx-tethys/date-picker';
2
1
  import { ThyFlexibleTextModule } from 'ngx-tethys/flexible-text';
3
2
  import { CommonModule } from '@angular/common';
4
3
  import { NgModule } from '@angular/core';
@@ -8,14 +7,14 @@ import * as i0 from "@angular/core";
8
7
  export class ThyPropertyModule {
9
8
  }
10
9
  ThyPropertyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- ThyPropertyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, declarations: [ThyPropertiesComponent, ThyPropertyItemComponent], imports: [CommonModule, ThyDatePickerModule, ThyFlexibleTextModule], exports: [ThyPropertiesComponent, ThyPropertyItemComponent] });
12
- ThyPropertyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, imports: [[CommonModule, ThyDatePickerModule, ThyFlexibleTextModule]] });
10
+ ThyPropertyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, declarations: [ThyPropertiesComponent, ThyPropertyItemComponent], imports: [CommonModule, ThyFlexibleTextModule], exports: [ThyPropertiesComponent, ThyPropertyItemComponent] });
11
+ ThyPropertyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, imports: [[CommonModule, ThyFlexibleTextModule]] });
13
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, decorators: [{
14
13
  type: NgModule,
15
14
  args: [{
16
15
  declarations: [ThyPropertiesComponent, ThyPropertyItemComponent],
17
- imports: [CommonModule, ThyDatePickerModule, ThyFlexibleTextModule],
16
+ imports: [CommonModule, ThyFlexibleTextModule],
18
17
  exports: [ThyPropertiesComponent, ThyPropertyItemComponent]
19
18
  }]
20
19
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3BlcnR5L21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFPckUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUpYLHNCQUFzQixFQUFFLHdCQUF3QixhQUNyRCxZQUFZLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLGFBQ3hELHNCQUFzQixFQUFFLHdCQUF3QjsrR0FFakQsaUJBQWlCLFlBSGpCLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixDQUFDOzJGQUcxRCxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQztvQkFDbkUsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUM7aUJBQzlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5RGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZGF0ZS1waWNrZXInO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRoeVByb3BlcnRpZXNDb21wb25lbnQgfSBmcm9tICcuL3Byb3BlcnRpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeVByb3BlcnR5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktaXRlbS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1RoeVByb3BlcnRpZXNDb21wb25lbnQsIFRoeVByb3BlcnR5SXRlbUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGh5RGF0ZVBpY2tlck1vZHVsZSwgVGh5RmxleGlibGVUZXh0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbVGh5UHJvcGVydGllc0NvbXBvbmVudCwgVGh5UHJvcGVydHlJdGVtQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQcm9wZXJ0eU1vZHVsZSB7fVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3BlcnR5L21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFPckUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUpYLHNCQUFzQixFQUFFLHdCQUF3QixhQUNyRCxZQUFZLEVBQUUscUJBQXFCLGFBQ25DLHNCQUFzQixFQUFFLHdCQUF3QjsrR0FFakQsaUJBQWlCLFlBSGpCLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDOzJGQUdyQyxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQztvQkFDOUMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUM7aUJBQzlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRoeVByb3BlcnRpZXNDb21wb25lbnQgfSBmcm9tICcuL3Byb3BlcnRpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeVByb3BlcnR5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktaXRlbS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1RoeVByb3BlcnRpZXNDb21wb25lbnQsIFRoeVByb3BlcnR5SXRlbUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGh5RmxleGlibGVUZXh0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbVGh5UHJvcGVydGllc0NvbXBvbmVudCwgVGh5UHJvcGVydHlJdGVtQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQcm9wZXJ0eU1vZHVsZSB7fVxuIl19
@@ -1,20 +1,22 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { InputBoolean, InputNumber, ThyClickDispatcher } from 'ngx-tethys/core';
3
- import { ThyDatePickerComponent } from 'ngx-tethys/date-picker';
4
3
  import { fromEvent, Subject } from 'rxjs';
5
- import { filter, take, takeUntil, tap } from 'rxjs/operators';
4
+ import { filter, skip, take, takeUntil, tap } from 'rxjs/operators';
5
+ import { OverlayOutsideClickDispatcher } from '@angular/cdk/overlay';
6
6
  import { ChangeDetectorRef, Component, ContentChild, Input, NgZone, SkipSelf, TemplateRef, ViewChild } from '@angular/core';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "ngx-tethys/core";
9
+ import * as i2 from "@angular/cdk/overlay";
9
10
  /**
10
11
  * 属性组件
11
12
  * @name thy-property-item
12
13
  */
13
14
  export class ThyPropertyItemComponent {
14
- constructor(parentCdr, thyClickDispatcher, ngZone) {
15
+ constructor(parentCdr, thyClickDispatcher, ngZone, overlayOutsideClickDispatcher) {
15
16
  this.parentCdr = parentCdr;
16
17
  this.thyClickDispatcher = thyClickDispatcher;
17
18
  this.ngZone = ngZone;
19
+ this.overlayOutsideClickDispatcher = overlayOutsideClickDispatcher;
18
20
  /**
19
21
  * 设置跨列的数量
20
22
  * @type sting
@@ -23,6 +25,8 @@ export class ThyPropertyItemComponent {
23
25
  this.thySpan = 1;
24
26
  this.changes$ = new Subject();
25
27
  this.destroy$ = new Subject();
28
+ this.originOverlays = [];
29
+ this.originOverlays = [...this.overlayOutsideClickDispatcher._attachedOverlays];
26
30
  }
27
31
  ngOnInit() { }
28
32
  ngOnChanges(changes) {
@@ -40,34 +44,44 @@ export class ThyPropertyItemComponent {
40
44
  setKeepEditing(keep) {
41
45
  this.setEditing(keep);
42
46
  }
43
- datePickerExpandChange() {
44
- this.datePicker.thyOpenChange
45
- .pipe(filter(event => {
46
- return !event;
47
+ hasOverlay() {
48
+ return this.overlayOutsideClickDispatcher._attachedOverlays.length > this.originOverlays.length;
49
+ }
50
+ subscribeOverlayClick() {
51
+ const newOpenedOverlays = this.overlayOutsideClickDispatcher._attachedOverlays.slice(this.originOverlays.length);
52
+ this.thyClickDispatcher
53
+ .clicked(0)
54
+ .pipe(skip(1), filter(event => {
55
+ return (newOpenedOverlays.findIndex(overlay => {
56
+ return overlay.overlayElement.contains(event.target);
57
+ }) < 0);
47
58
  }), take(1), takeUntil(this.destroy$))
48
59
  .subscribe(() => {
49
60
  this.setEditing(false);
50
61
  });
51
62
  }
52
63
  subscribeDocumentClick(editorElement) {
53
- if (!this.datePicker) {
54
- return this.thyClickDispatcher
55
- .clicked(0)
56
- .pipe(filter(event => {
57
- return !editorElement.contains(event.target);
58
- }), take(1), takeUntil(this.destroy$))
59
- .subscribe(() => {
60
- this.setEditing(false);
61
- });
64
+ this.thyClickDispatcher
65
+ .clicked(0)
66
+ .pipe(filter(event => {
67
+ return !editorElement.contains(event.target);
68
+ }), take(1), takeUntil(this.destroy$))
69
+ .subscribe(() => {
70
+ this.setEditing(false);
71
+ });
72
+ }
73
+ bindEditorBlurEvent(editorElement) {
74
+ if (this.hasOverlay()) {
75
+ this.subscribeOverlayClick();
62
76
  }
63
77
  else {
64
- this.datePickerExpandChange();
78
+ this.subscribeDocumentClick(editorElement);
65
79
  }
66
80
  }
67
81
  editorClick(editorElement) {
68
82
  return fromEvent(editorElement, 'click').pipe(tap(() => {
69
83
  this.setEditing(true);
70
- this.subscribeDocumentClick(editorElement);
84
+ this.bindEditorBlurEvent(editorElement);
71
85
  }));
72
86
  }
73
87
  ngOnDestroy() {
@@ -75,8 +89,8 @@ export class ThyPropertyItemComponent {
75
89
  this.destroy$.complete();
76
90
  }
77
91
  }
78
- ThyPropertyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyItemComponent, deps: [{ token: i0.ChangeDetectorRef, skipSelf: true }, { token: i1.ThyClickDispatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
79
- ThyPropertyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertyItemComponent, selector: "thy-property-item", inputs: { thyLabelText: "thyLabelText", thyEditable: "thyEditable", thySpan: "thySpan" }, queries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true, static: true }, { propertyName: "datePicker", first: true, predicate: ThyDatePickerComponent, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
92
+ ThyPropertyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyItemComponent, deps: [{ token: i0.ChangeDetectorRef, skipSelf: true }, { token: i1.ThyClickDispatcher }, { token: i0.NgZone }, { token: i2.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Component });
93
+ ThyPropertyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertyItemComponent, selector: "thy-property-item", inputs: { thyLabelText: "thyLabelText", thyEditable: "thyEditable", thySpan: "thySpan" }, queries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
80
94
  <ng-template>
81
95
  <ng-content></ng-content>
82
96
  </ng-template>
@@ -101,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
101
115
  }]
102
116
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef, decorators: [{
103
117
  type: SkipSelf
104
- }] }, { type: i1.ThyClickDispatcher }, { type: i0.NgZone }]; }, propDecorators: { thyLabelText: [{
118
+ }] }, { type: i1.ThyClickDispatcher }, { type: i0.NgZone }, { type: i2.OverlayOutsideClickDispatcher }]; }, propDecorators: { thyLabelText: [{
105
119
  type: Input
106
120
  }], thyEditable: [{
107
121
  type: Input
@@ -116,8 +130,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
116
130
  }], content: [{
117
131
  type: ViewChild,
118
132
  args: [TemplateRef, { static: true }]
119
- }], datePicker: [{
120
- type: ContentChild,
121
- args: [ThyDatePickerComponent]
122
133
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydHktaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUtOLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkI7OztHQUdHO0FBU0gsTUFBTSxPQUFPLHdCQUF3QjtJQWtEakMsWUFDMEIsU0FBNEIsRUFDMUMsa0JBQXNDLEVBQ3RDLE1BQWM7UUFGQSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUMxQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLFdBQU0sR0FBTixNQUFNLENBQVE7UUF0QzFCOzs7O1dBSUc7UUFDcUIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQTBCNUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBRWhDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTTlCLENBQUM7SUFFSixRQUFRLEtBQUksQ0FBQztJQUViLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQs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QUVGLFVBQVU7c0JBQS9DLFlBQVk7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciwgVGh5Q2xpY2tEaXNwYXRjaGVyIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeURhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2RhdGUtcGlja2VyJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFNraXBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiDlsZ7mgKfnu4Tku7ZcbiAqIEBuYW1lIHRoeS1wcm9wZXJ0eS1pdGVtXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXByb3BlcnR5LWl0ZW0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFRoeVByb3BlcnR5SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIOWxnuaAp+WQjeensFxuICAgICAqIEB0eXBlIHN0aW5nXG4gICAgICogQGRlZmF1bHQgdGh5TGFiZWxUZXh0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TGFiZWxUZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lsZ7mgKfmmK/lkKbmmK/lj6/nvJbovpHnmoRcbiAgICAgKiBAdHlwZSBzdGluZ1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeUVkaXRhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u6Leo5YiX55qE5pWw6YePXG4gICAgICogQHR5cGUgc3RpbmdcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgdGh5U3BhbjogbnVtYmVyID0gMTtcblxuICAgIC8qKlxuICAgICAqIOWxnuaAp+WQjeensOiHquWumuS5ieaooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsYWJlbCE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICog5bGe5oCn5YaF5a6557yW6L6R5qih5p2/77yM5Y+q5pyJ5ZyoIHRoeUVkaXRhYmxlIOS4uiB0cnVlIOaXtueUn+aViFxuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZWRpdG9yJywgeyBzdGF0aWM6IHRydWUgfSkgZWRpdG9yITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnQhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAgIEBDb250ZW50Q2hpbGQoVGh5RGF0ZVBpY2tlckNvbXBvbmVudCkgZGF0ZVBpY2tlcjogVGh5RGF0ZVBpY2tlckNvbXBvbmVudDtcblxuICAgIGVkaXRpbmc6IGJvb2xlYW47XG5cbiAgICAvLyDpgILphY3luIPlsYDml7bpgJrov4forqHnrpfliqjmgIHorr7nva7nmoQgc3BhbiDlgLxcbiAgICBjb21wdXRlZFNwYW46IG51bWJlcjtcblxuICAgIGNoYW5nZXMkID0gbmV3IFN1YmplY3Q8U2ltcGxlQ2hhbmdlcz4oKTtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBTa2lwU2VsZigpIHByb3RlY3RlZCBwYXJlbnRDZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHRoeUNsaWNrRGlzcGF0Y2hlcjogVGh5Q2xpY2tEaXNwYXRjaGVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZXMkLm5leHQoY2hhbmdlcyk7XG4gICAgfVxuXG4gICAgc2V0RWRpdGluZyhlZGl0aW5nOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVkaXRpbmcgPSBlZGl0aW5nO1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRDZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2Ugc2V0RWRpdGluZyhlZGl0aW5nOiBib29sZWFuKVxuICAgICAqL1xuICAgIHNldEtlZXBFZGl0aW5nKGtlZXA6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGtlZXApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGF0ZVBpY2tlckV4cGFuZENoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5kYXRlUGlja2VyLnRoeU9wZW5DaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhZXZlbnQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RWRpdGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZURvY3VtZW50Q2xpY2soZWRpdG9yRWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGVQaWNrZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeUNsaWNrRGlzcGF0Y2hlclxuICAgICAgICAgICAgICAgIC5jbGlja2VkKDApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWVkaXRvckVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlckV4cGFuZENoYW5nZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZWRpdG9yQ2xpY2soZWRpdG9yRWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIGZyb21FdmVudChlZGl0b3JFbGVtZW50LCAnY2xpY2snKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEVkaXRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVEb2N1bWVudENsaWNrKGVkaXRvckVsZW1lbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydHktaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFLTixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQzs7OztBQUV2Qjs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sd0JBQXdCO0lBa0RqQyxZQUMwQixTQUE0QixFQUMxQyxrQkFBc0MsRUFDdEMsTUFBYyxFQUNkLDZCQUE0RDtRQUg5QyxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUMxQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBdkN4RTs7OztXQUlHO1FBQ3FCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUF3QjVDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6QixtQkFBYyxHQUF1QixFQUFFLENBQUM7UUFRNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLEdBQUcs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LENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7O3FIQTVJUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix1WUFxQ3RCLFdBQVcsbUZBM0NaOzs7O0tBSVQ7QUFld0I7SUFBZixZQUFZLEVBQUU7OzZEQUFzQjtBQU90QjtJQUFkLFdBQVcsRUFBRTs7eURBQXFCOzJGQXBCbkMsd0JBQXdCO2tCQVJwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7OztLQUlUO2lCQUNKOzswQkFvRFEsUUFBUTs4SUE3Q0osWUFBWTtzQkFBcEIsS0FBSztnQkFPbUIsV0FBVztzQkFBbkMsS0FBSztnQkFPa0IsT0FBTztzQkFBOUIsS0FBSztnQkFNbUMsS0FBSztzQkFBN0MsWUFBWTt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU1HLE1BQU07c0JBQS9DLFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLRSxPQUFPO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyLCBUaHlDbGlja0Rpc3BhdGNoZXIgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHNraXAsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBPdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE92ZXJsYXlSZWZlcmVuY2UgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheS9vdmVybGF5LXJlZmVyZW5jZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgU2tpcFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIOWxnuaAp+e7hOS7tlxuICogQG5hbWUgdGh5LXByb3BlcnR5LWl0ZW1cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktcHJvcGVydHktaXRlbScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgVGh5UHJvcGVydHlJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICog5bGe5oCn5ZCN56ewXG4gICAgICogQHR5cGUgc3RpbmdcbiAgICAgKiBAZGVmYXVsdCB0aHlMYWJlbFRleHRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlMYWJlbFRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWxnuaAp+aYr+WQpuaYr+WPr+e8lui+keeahFxuICAgICAqIEB0eXBlIHN0aW5nXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5RWRpdGFibGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7ot6jliJfnmoTmlbDph49cbiAgICAgKiBAdHlwZSBzdGluZ1xuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSB0aHlTcGFuOiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICog5bGe5oCn5ZCN56ew6Ieq5a6a5LmJ5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdsYWJlbCcsIHsgc3RhdGljOiB0cnVlIH0pIGxhYmVsITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiDlsZ7mgKflhoXlrrnnvJbovpHmqKHmnb/vvIzlj6rmnInlnKggdGh5RWRpdGFibGUg5Li6IHRydWUg5pe255Sf5pWIXG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdlZGl0b3InLCB7IHN0YXRpYzogdHJ1ZSB9KSBlZGl0b3IhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudCE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgZWRpdGluZzogYm9vbGVhbjtcblxuICAgIC8vIOmAgumFjeW4g+WxgOaXtumAmui/h+iuoeeul+WKqOaAgeiuvue9rueahCBzcGFuIOWAvFxuICAgIGNvbXB1dGVkU3BhbjogbnVtYmVyO1xuXG4gICAgY2hhbmdlcyQgPSBuZXcgU3ViamVjdDxTaW1wbGVDaGFuZ2VzPigpO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIG9yaWdpbk92ZXJsYXlzOiBPdmVybGF5UmVmZXJlbmNlW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAU2tpcFNlbGYoKSBwcm90ZWN0ZWQgcGFyZW50Q2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB0aHlDbGlja0Rpc3BhdGNoZXI6IFRoeUNsaWNrRGlzcGF0Y2hlcixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlcjogT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXJcbiAgICApIHtcbiAgICAgICAgdGhpcy5vcmlnaW5PdmVybGF5cyA9IFsuLi50aGlzLm92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLl9hdHRhY2hlZE92ZXJsYXlzXTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlcyQubmV4dChjaGFuZ2VzKTtcbiAgICB9XG5cbiAgICBzZXRFZGl0aW5nKGVkaXRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWRpdGluZyA9IGVkaXRpbmc7XG4gICAgICAgICAgICB0aGlzLnBhcmVudENkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBzZXRFZGl0aW5nKGVkaXRpbmc6IGJvb2xlYW4pXG4gICAgICovXG4gICAgc2V0S2VlcEVkaXRpbmcoa2VlcDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldEVkaXRpbmcoa2VlcCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNPdmVybGF5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlci5fYXR0YWNoZWRPdmVybGF5cy5sZW5ndGggPiB0aGlzLm9yaWdpbk92ZXJsYXlzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZU92ZXJsYXlDbGljaygpIHtcbiAgICAgICAgY29uc3QgbmV3T3BlbmVkT3ZlcmxheXMgPSB0aGlzLm92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLl9hdHRhY2hlZE92ZXJsYXlzLnNsaWNlKHRoaXMub3JpZ2luT3ZlcmxheXMubGVuZ3RoKTtcblxuICAgICAgICB0aGlzLnRoeUNsaWNrRGlzcGF0Y2hlclxuICAgICAgICAgICAgLmNsaWNrZWQoMClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wZW5lZE92ZXJsYXlzLmZpbmRJbmRleChvdmVybGF5ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3ZlcmxheS5vdmVybGF5RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkgPCAwXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RWRpdGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZURvY3VtZW50Q2xpY2soZWRpdG9yRWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy50aHlDbGlja0Rpc3BhdGNoZXJcbiAgICAgICAgICAgIC5jbGlja2VkKDApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWVkaXRvckVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmluZEVkaXRvckJsdXJFdmVudChlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5oYXNPdmVybGF5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlT3ZlcmxheUNsaWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZURvY3VtZW50Q2xpY2soZWRpdG9yRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlZGl0b3JDbGljayhlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gZnJvbUV2ZW50KGVkaXRvckVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RWRpdGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJpbmRFZGl0b3JCbHVyRXZlbnQoZWRpdG9yRWxlbWVudCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { Version } from '@angular/core';
2
- export const VERSION = new Version('13.2.6');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxMy4yLjYnKTtcbiJdfQ==
2
+ export const VERSION = new Version('13.2.7');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxMy4yLjcnKTtcbiJdfQ==
@@ -2,13 +2,13 @@ import { __decorate, __metadata } from 'tslib';
2
2
  import * as i1 from 'ngx-tethys/core';
3
3
  import { InputBoolean, InputNumber } from 'ngx-tethys/core';
4
4
  import { Subject, fromEvent, merge } from 'rxjs';
5
- import { filter, take, takeUntil, tap, startWith } from 'rxjs/operators';
5
+ import { skip, filter, take, takeUntil, tap, startWith } from 'rxjs/operators';
6
6
  import * as i0 from '@angular/core';
7
7
  import { TemplateRef, Component, SkipSelf, Input, ContentChild, ViewChild, ElementRef, ChangeDetectionStrategy, ContentChildren, ViewChildren, NgModule } from '@angular/core';
8
- import { ThyDatePickerComponent, ThyDatePickerModule } from 'ngx-tethys/date-picker';
8
+ import * as i2 from '@angular/cdk/overlay';
9
9
  import * as i1$1 from 'ngx-tethys/flexible-text';
10
10
  import { ThyFlexibleTextModule } from 'ngx-tethys/flexible-text';
11
- import * as i2 from '@angular/common';
11
+ import * as i2$1 from '@angular/common';
12
12
  import { CommonModule } from '@angular/common';
13
13
 
14
14
  /**
@@ -16,10 +16,11 @@ import { CommonModule } from '@angular/common';
16
16
  * @name thy-property-item
17
17
  */
18
18
  class ThyPropertyItemComponent {
19
- constructor(parentCdr, thyClickDispatcher, ngZone) {
19
+ constructor(parentCdr, thyClickDispatcher, ngZone, overlayOutsideClickDispatcher) {
20
20
  this.parentCdr = parentCdr;
21
21
  this.thyClickDispatcher = thyClickDispatcher;
22
22
  this.ngZone = ngZone;
23
+ this.overlayOutsideClickDispatcher = overlayOutsideClickDispatcher;
23
24
  /**
24
25
  * 设置跨列的数量
25
26
  * @type sting
@@ -28,6 +29,8 @@ class ThyPropertyItemComponent {
28
29
  this.thySpan = 1;
29
30
  this.changes$ = new Subject();
30
31
  this.destroy$ = new Subject();
32
+ this.originOverlays = [];
33
+ this.originOverlays = [...this.overlayOutsideClickDispatcher._attachedOverlays];
31
34
  }
32
35
  ngOnInit() { }
33
36
  ngOnChanges(changes) {
@@ -45,34 +48,44 @@ class ThyPropertyItemComponent {
45
48
  setKeepEditing(keep) {
46
49
  this.setEditing(keep);
47
50
  }
48
- datePickerExpandChange() {
49
- this.datePicker.thyOpenChange
50
- .pipe(filter(event => {
51
- return !event;
51
+ hasOverlay() {
52
+ return this.overlayOutsideClickDispatcher._attachedOverlays.length > this.originOverlays.length;
53
+ }
54
+ subscribeOverlayClick() {
55
+ const newOpenedOverlays = this.overlayOutsideClickDispatcher._attachedOverlays.slice(this.originOverlays.length);
56
+ this.thyClickDispatcher
57
+ .clicked(0)
58
+ .pipe(skip(1), filter(event => {
59
+ return (newOpenedOverlays.findIndex(overlay => {
60
+ return overlay.overlayElement.contains(event.target);
61
+ }) < 0);
52
62
  }), take(1), takeUntil(this.destroy$))
53
63
  .subscribe(() => {
54
64
  this.setEditing(false);
55
65
  });
56
66
  }
57
67
  subscribeDocumentClick(editorElement) {
58
- if (!this.datePicker) {
59
- return this.thyClickDispatcher
60
- .clicked(0)
61
- .pipe(filter(event => {
62
- return !editorElement.contains(event.target);
63
- }), take(1), takeUntil(this.destroy$))
64
- .subscribe(() => {
65
- this.setEditing(false);
66
- });
68
+ this.thyClickDispatcher
69
+ .clicked(0)
70
+ .pipe(filter(event => {
71
+ return !editorElement.contains(event.target);
72
+ }), take(1), takeUntil(this.destroy$))
73
+ .subscribe(() => {
74
+ this.setEditing(false);
75
+ });
76
+ }
77
+ bindEditorBlurEvent(editorElement) {
78
+ if (this.hasOverlay()) {
79
+ this.subscribeOverlayClick();
67
80
  }
68
81
  else {
69
- this.datePickerExpandChange();
82
+ this.subscribeDocumentClick(editorElement);
70
83
  }
71
84
  }
72
85
  editorClick(editorElement) {
73
86
  return fromEvent(editorElement, 'click').pipe(tap(() => {
74
87
  this.setEditing(true);
75
- this.subscribeDocumentClick(editorElement);
88
+ this.bindEditorBlurEvent(editorElement);
76
89
  }));
77
90
  }
78
91
  ngOnDestroy() {
@@ -80,8 +93,8 @@ class ThyPropertyItemComponent {
80
93
  this.destroy$.complete();
81
94
  }
82
95
  }
83
- ThyPropertyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyItemComponent, deps: [{ token: i0.ChangeDetectorRef, skipSelf: true }, { token: i1.ThyClickDispatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
84
- ThyPropertyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertyItemComponent, selector: "thy-property-item", inputs: { thyLabelText: "thyLabelText", thyEditable: "thyEditable", thySpan: "thySpan" }, queries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true, static: true }, { propertyName: "datePicker", first: true, predicate: ThyDatePickerComponent, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
96
+ ThyPropertyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyItemComponent, deps: [{ token: i0.ChangeDetectorRef, skipSelf: true }, { token: i1.ThyClickDispatcher }, { token: i0.NgZone }, { token: i2.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Component });
97
+ ThyPropertyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertyItemComponent, selector: "thy-property-item", inputs: { thyLabelText: "thyLabelText", thyEditable: "thyEditable", thySpan: "thySpan" }, queries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
85
98
  <ng-template>
86
99
  <ng-content></ng-content>
87
100
  </ng-template>
@@ -107,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
107
120
  }], ctorParameters: function () {
108
121
  return [{ type: i0.ChangeDetectorRef, decorators: [{
109
122
  type: SkipSelf
110
- }] }, { type: i1.ThyClickDispatcher }, { type: i0.NgZone }];
123
+ }] }, { type: i1.ThyClickDispatcher }, { type: i0.NgZone }, { type: i2.OverlayOutsideClickDispatcher }];
111
124
  }, propDecorators: { thyLabelText: [{
112
125
  type: Input
113
126
  }], thyEditable: [{
@@ -123,9 +136,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
123
136
  }], content: [{
124
137
  type: ViewChild,
125
138
  args: [TemplateRef, { static: true }]
126
- }], datePicker: [{
127
- type: ContentChild,
128
- args: [ThyDatePickerComponent]
129
139
  }] } });
130
140
 
131
141
  /**
@@ -226,7 +236,7 @@ class ThyPropertiesComponent {
226
236
  }
227
237
  }
228
238
  ThyPropertiesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertiesComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
229
- ThyPropertiesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertiesComponent, selector: "thy-properties", inputs: { thyLayout: "thyLayout", thyColumn: "thyColumn", thyEditTrigger: "thyEditTrigger" }, host: { properties: { "class.thy-properties-vertical": "thyLayout === \"vertical\"", "class.thy-properties-horizontal": "thyLayout === \"horizontal\"", "class.thy-properties-edit-trigger-hover": "thyEditTrigger === \"hover\"" }, classAttribute: "thy-properties" }, queries: [{ propertyName: "items", predicate: ThyPropertyItemComponent }], viewQueries: [{ propertyName: "itemElements", predicate: ["item"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"thyLayout === 'horizontal'\">\n <table>\n <tbody>\n <tr *ngFor=\"let row of rows; let i = index\">\n <ng-container *ngFor=\"let item of rows[i]\">\n <td [attr.colspan]=\"item.computedSpan || item.thySpan\">\n <div *ngIf=\"item\" class=\"thy-properties-item-container\">\n <ng-template [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n </div>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-container>\n\n<ng-container *ngIf=\"thyLayout === 'vertical'\">\n <table>\n <tbody>\n <ng-container *ngFor=\"let row of rows; let i = index\">\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td [attr.colspan]=\"item.computedSpan || item.thySpan\">\n <ng-template *ngIf=\"item\" [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td [attr.colspan]=\"item.computedSpan || item.thySpan\">\n <ng-template *ngIf=\"item\" [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n</ng-container>\n\n<ng-template #itemLabel let-item=\"item\">\n <span class=\"thy-properties-item-label\">\n <span *ngIf=\"item.thyLabelText\" thyFlexibleText [thyTooltipContent]=\"item.thyLabelText\">{{ item.thyLabelText }}</span>\n <ng-container *ngIf=\"item.label\">\n <ng-template [ngTemplateOutlet]=\"item.label\"></ng-template>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #itemContent let-item=\"item\">\n <div\n #item\n class=\"thy-properties-item-content\"\n [class.thy-properties-item-content-editable]=\"item.thyEditable\"\n [class.thy-properties-item-content-editing]=\"item.editing\"\n >\n <div class=\"thy-properties-item-content-text\">\n <ng-template *ngIf=\"item.content\" [ngTemplateOutlet]=\"item.content\"></ng-template>\n </div>\n <div class=\"thy-properties-item-content-editor\" *ngIf=\"item.thyEditable\">\n <ng-template *ngIf=\"item.editor\" [ngTemplateOutlet]=\"item.editor\"></ng-template>\n </div>\n </div>\n</ng-template>\n", components: [{ type: i1$1.ThyFlexibleTextComponent, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement"], exportAs: ["thyFlexibleText"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
239
+ ThyPropertiesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertiesComponent, selector: "thy-properties", inputs: { thyLayout: "thyLayout", thyColumn: "thyColumn", thyEditTrigger: "thyEditTrigger" }, host: { properties: { "class.thy-properties-vertical": "thyLayout === \"vertical\"", "class.thy-properties-horizontal": "thyLayout === \"horizontal\"", "class.thy-properties-edit-trigger-hover": "thyEditTrigger === \"hover\"" }, classAttribute: "thy-properties" }, queries: [{ propertyName: "items", predicate: ThyPropertyItemComponent }], viewQueries: [{ propertyName: "itemElements", predicate: ["item"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"thyLayout === 'horizontal'\">\n <table>\n <tbody>\n <tr *ngFor=\"let row of rows; let i = index\">\n <ng-container *ngFor=\"let item of rows[i]\">\n <td [attr.colspan]=\"item.computedSpan || item.thySpan\">\n <div *ngIf=\"item\" class=\"thy-properties-item-container\">\n <ng-template [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n </div>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-container>\n\n<ng-container *ngIf=\"thyLayout === 'vertical'\">\n <table>\n <tbody>\n <ng-container *ngFor=\"let row of rows; let i = index\">\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td [attr.colspan]=\"item.computedSpan || item.thySpan\">\n <ng-template *ngIf=\"item\" [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td [attr.colspan]=\"item.computedSpan || item.thySpan\">\n <ng-template *ngIf=\"item\" [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n</ng-container>\n\n<ng-template #itemLabel let-item=\"item\">\n <span class=\"thy-properties-item-label\">\n <span *ngIf=\"item.thyLabelText\" thyFlexibleText [thyTooltipContent]=\"item.thyLabelText\">{{ item.thyLabelText }}</span>\n <ng-container *ngIf=\"item.label\">\n <ng-template [ngTemplateOutlet]=\"item.label\"></ng-template>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #itemContent let-item=\"item\">\n <div\n #item\n class=\"thy-properties-item-content\"\n [class.thy-properties-item-content-editable]=\"item.thyEditable\"\n [class.thy-properties-item-content-editing]=\"item.editing\"\n >\n <div class=\"thy-properties-item-content-text\">\n <ng-template *ngIf=\"item.content\" [ngTemplateOutlet]=\"item.content\"></ng-template>\n </div>\n <div class=\"thy-properties-item-content-editor\" *ngIf=\"item.thyEditable\">\n <ng-template *ngIf=\"item.editor\" [ngTemplateOutlet]=\"item.editor\"></ng-template>\n </div>\n </div>\n</ng-template>\n", components: [{ type: i1$1.ThyFlexibleTextComponent, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement"], exportAs: ["thyFlexibleText"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
230
240
  __decorate([
231
241
  InputNumber(),
232
242
  __metadata("design:type", Number)
@@ -256,13 +266,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
256
266
  class ThyPropertyModule {
257
267
  }
258
268
  ThyPropertyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
259
- ThyPropertyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, declarations: [ThyPropertiesComponent, ThyPropertyItemComponent], imports: [CommonModule, ThyDatePickerModule, ThyFlexibleTextModule], exports: [ThyPropertiesComponent, ThyPropertyItemComponent] });
260
- ThyPropertyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, imports: [[CommonModule, ThyDatePickerModule, ThyFlexibleTextModule]] });
269
+ ThyPropertyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, declarations: [ThyPropertiesComponent, ThyPropertyItemComponent], imports: [CommonModule, ThyFlexibleTextModule], exports: [ThyPropertiesComponent, ThyPropertyItemComponent] });
270
+ ThyPropertyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, imports: [[CommonModule, ThyFlexibleTextModule]] });
261
271
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyModule, decorators: [{
262
272
  type: NgModule,
263
273
  args: [{
264
274
  declarations: [ThyPropertiesComponent, ThyPropertyItemComponent],
265
- imports: [CommonModule, ThyDatePickerModule, ThyFlexibleTextModule],
275
+ imports: [CommonModule, ThyFlexibleTextModule],
266
276
  exports: [ThyPropertiesComponent, ThyPropertyItemComponent]
267
277
  }]
268
278
  }] });