@delon/abc 18.2.0 → 19.0.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/auto-focus/auto-focus.directive.d.ts +3 -5
- package/avatar-list/avatar-list.component.d.ts +3 -0
- package/avatar-list/avatar-list.module.d.ts +3 -0
- package/exception/exception.component.d.ts +1 -1
- package/fesm2022/auto-focus.mjs +19 -28
- package/fesm2022/auto-focus.mjs.map +1 -1
- package/fesm2022/avatar-list.mjs +35 -27
- package/fesm2022/avatar-list.mjs.map +1 -1
- package/fesm2022/cell.mjs +104 -107
- package/fesm2022/cell.mjs.map +1 -1
- package/fesm2022/chart-observer-size.mjs +17 -22
- package/fesm2022/chart-observer-size.mjs.map +1 -1
- package/fesm2022/count-down.mjs +11 -12
- package/fesm2022/count-down.mjs.map +1 -1
- package/fesm2022/date-picker.mjs +26 -26
- package/fesm2022/date-picker.mjs.map +1 -1
- package/fesm2022/down-file.mjs +19 -15
- package/fesm2022/down-file.mjs.map +1 -1
- package/fesm2022/ellipsis.mjs +29 -25
- package/fesm2022/ellipsis.mjs.map +1 -1
- package/fesm2022/error-collect.mjs +22 -21
- package/fesm2022/error-collect.mjs.map +1 -1
- package/fesm2022/exception.mjs +24 -20
- package/fesm2022/exception.mjs.map +1 -1
- package/fesm2022/footer-toolbar.mjs +13 -14
- package/fesm2022/footer-toolbar.mjs.map +1 -1
- package/fesm2022/full-content.mjs +31 -38
- package/fesm2022/full-content.mjs.map +1 -1
- package/fesm2022/global-footer.mjs +24 -23
- package/fesm2022/global-footer.mjs.map +1 -1
- package/fesm2022/hotkey.mjs +13 -15
- package/fesm2022/hotkey.mjs.map +1 -1
- package/fesm2022/loading.mjs +23 -21
- package/fesm2022/loading.mjs.map +1 -1
- package/fesm2022/lodop.mjs +15 -13
- package/fesm2022/lodop.mjs.map +1 -1
- package/fesm2022/media.mjs +30 -30
- package/fesm2022/media.mjs.map +1 -1
- package/fesm2022/notice-icon.mjs +48 -84
- package/fesm2022/notice-icon.mjs.map +1 -1
- package/fesm2022/onboarding.mjs +41 -37
- package/fesm2022/onboarding.mjs.map +1 -1
- package/fesm2022/page-header.mjs +48 -36
- package/fesm2022/page-header.mjs.map +1 -1
- package/fesm2022/pdf.mjs +45 -34
- package/fesm2022/pdf.mjs.map +1 -1
- package/fesm2022/quick-menu.mjs +22 -22
- package/fesm2022/quick-menu.mjs.map +1 -1
- package/fesm2022/result.mjs +17 -16
- package/fesm2022/result.mjs.map +1 -1
- package/fesm2022/reuse-tab.mjs +124 -122
- package/fesm2022/reuse-tab.mjs.map +1 -1
- package/fesm2022/se.mjs +68 -50
- package/fesm2022/se.mjs.map +1 -1
- package/fesm2022/sg.mjs +22 -21
- package/fesm2022/sg.mjs.map +1 -1
- package/fesm2022/st.mjs +445 -419
- package/fesm2022/st.mjs.map +1 -1
- package/fesm2022/sv.mjs +62 -43
- package/fesm2022/sv.mjs.map +1 -1
- package/fesm2022/tag-select.mjs +18 -20
- package/fesm2022/tag-select.mjs.map +1 -1
- package/fesm2022/xlsx.mjs +17 -18
- package/fesm2022/xlsx.mjs.map +1 -1
- package/fesm2022/zip.mjs +7 -6
- package/fesm2022/zip.mjs.map +1 -1
- package/hotkey/hotkey.directive.d.ts +2 -2
- package/notice-icon/notice-icon-tab.component.d.ts +5 -6
- package/notice-icon/notice-icon.component.d.ts +17 -22
- package/package.json +5 -75
- package/reuse-tab/public_api.d.ts +2 -1
- package/st/st-column-source.d.ts +1 -0
- package/st/st-filter.component.d.ts +4 -4
- package/st/st-row.directive.d.ts +1 -1
- package/st/st-widget-host.directive.d.ts +1 -1
- package/st/st.component.d.ts +38 -26
- package/st/st.interfaces.d.ts +26 -4
- package/st/st.module.d.ts +1 -22
- package/st/st.types.d.ts +2 -3
- package/sv/sv-container.component.d.ts +1 -1
- package/esm2022/abc.mjs +0 -5
- package/esm2022/auto-focus/auto-focus.directive.mjs +0 -40
- package/esm2022/auto-focus/auto-focus.mjs +0 -5
- package/esm2022/auto-focus/auto-focus.module.mjs +0 -17
- package/esm2022/auto-focus/index.mjs +0 -3
- package/esm2022/avatar-list/avatar-list-item.component.mjs +0 -27
- package/esm2022/avatar-list/avatar-list.component.mjs +0 -79
- package/esm2022/avatar-list/avatar-list.mjs +0 -5
- package/esm2022/avatar-list/avatar-list.module.mjs +0 -21
- package/esm2022/avatar-list/public_api.mjs +0 -4
- package/esm2022/cell/cell-host.directive.mjs +0 -35
- package/esm2022/cell/cell.component.mjs +0 -289
- package/esm2022/cell/cell.mjs +0 -5
- package/esm2022/cell/cell.module.mjs +0 -55
- package/esm2022/cell/cell.service.mjs +0 -173
- package/esm2022/cell/cell.types.mjs +0 -2
- package/esm2022/cell/index.mjs +0 -7
- package/esm2022/cell/provide.mjs +0 -18
- package/esm2022/count-down/count-down.component.mjs +0 -50
- package/esm2022/count-down/count-down.mjs +0 -5
- package/esm2022/count-down/count-down.module.mjs +0 -19
- package/esm2022/count-down/public_api.mjs +0 -3
- package/esm2022/date-picker/date-picker.mjs +0 -5
- package/esm2022/date-picker/date-picker.module.mjs +0 -21
- package/esm2022/date-picker/public_api.mjs +0 -4
- package/esm2022/date-picker/range-shortcut.component.mjs +0 -34
- package/esm2022/date-picker/range.directive.mjs +0 -168
- package/esm2022/down-file/down-file.directive.mjs +0 -113
- package/esm2022/down-file/down-file.mjs +0 -5
- package/esm2022/down-file/down-file.module.mjs +0 -19
- package/esm2022/down-file/public_api.mjs +0 -3
- package/esm2022/ellipsis/ellipsis.component.mjs +0 -219
- package/esm2022/ellipsis/ellipsis.mjs +0 -5
- package/esm2022/ellipsis/ellipsis.module.mjs +0 -20
- package/esm2022/ellipsis/public_api.mjs +0 -3
- package/esm2022/error-collect/error-collect.component.mjs +0 -110
- package/esm2022/error-collect/error-collect.mjs +0 -5
- package/esm2022/error-collect/error-collect.module.mjs +0 -19
- package/esm2022/error-collect/public_api.mjs +0 -3
- package/esm2022/exception/exception.component.mjs +0 -103
- package/esm2022/exception/exception.mjs +0 -5
- package/esm2022/exception/exception.module.mjs +0 -22
- package/esm2022/exception/public_api.mjs +0 -3
- package/esm2022/footer-toolbar/footer-toolbar.component.mjs +0 -33
- package/esm2022/footer-toolbar/footer-toolbar.mjs +0 -5
- package/esm2022/footer-toolbar/footer-toolbar.module.mjs +0 -20
- package/esm2022/footer-toolbar/public_api.mjs +0 -3
- package/esm2022/full-content/full-content-toggle.directive.mjs +0 -25
- package/esm2022/full-content/full-content.component.mjs +0 -125
- package/esm2022/full-content/full-content.mjs +0 -5
- package/esm2022/full-content/full-content.module.mjs +0 -19
- package/esm2022/full-content/full-content.service.mjs +0 -22
- package/esm2022/full-content/public_api.mjs +0 -5
- package/esm2022/global-footer/global-footer-item.component.mjs +0 -27
- package/esm2022/global-footer/global-footer.component.mjs +0 -65
- package/esm2022/global-footer/global-footer.mjs +0 -5
- package/esm2022/global-footer/global-footer.module.mjs +0 -20
- package/esm2022/global-footer/global-footer.types.mjs +0 -2
- package/esm2022/global-footer/public_api.mjs +0 -5
- package/esm2022/hotkey/hotkey.directive.mjs +0 -36
- package/esm2022/hotkey/hotkey.mjs +0 -5
- package/esm2022/hotkey/hotkey.module.mjs +0 -17
- package/esm2022/hotkey/public_api.mjs +0 -3
- package/esm2022/let/index.mjs +0 -3
- package/esm2022/let/let.directive.mjs +0 -40
- package/esm2022/let/let.mjs +0 -5
- package/esm2022/let/let.module.mjs +0 -20
- package/esm2022/loading/loading.component.mjs +0 -26
- package/esm2022/loading/loading.mjs +0 -5
- package/esm2022/loading/loading.module.mjs +0 -22
- package/esm2022/loading/loading.service.mjs +0 -88
- package/esm2022/loading/loading.types.mjs +0 -2
- package/esm2022/loading/public_api.mjs +0 -5
- package/esm2022/lodop/lodop.mjs +0 -5
- package/esm2022/lodop/lodop.module.mjs +0 -12
- package/esm2022/lodop/lodop.service.mjs +0 -224
- package/esm2022/lodop/lodop.types.mjs +0 -2
- package/esm2022/lodop/public_api.mjs +0 -4
- package/esm2022/media/media.component.mjs +0 -114
- package/esm2022/media/media.mjs +0 -5
- package/esm2022/media/media.module.mjs +0 -18
- package/esm2022/media/media.service.mjs +0 -46
- package/esm2022/media/public_api.mjs +0 -4
- package/esm2022/notice-icon/notice-icon-tab.component.mjs +0 -41
- package/esm2022/notice-icon/notice-icon.component.mjs +0 -96
- package/esm2022/notice-icon/notice-icon.mjs +0 -5
- package/esm2022/notice-icon/notice-icon.module.mjs +0 -59
- package/esm2022/notice-icon/notice-icon.types.mjs +0 -2
- package/esm2022/notice-icon/public_api.mjs +0 -5
- package/esm2022/observers/chart-observer-size.mjs +0 -5
- package/esm2022/observers/observer-size.mjs +0 -117
- package/esm2022/observers/public-api.mjs +0 -2
- package/esm2022/onboarding/onboarding.component.mjs +0 -127
- package/esm2022/onboarding/onboarding.mjs +0 -5
- package/esm2022/onboarding/onboarding.module.mjs +0 -42
- package/esm2022/onboarding/onboarding.service.mjs +0 -192
- package/esm2022/onboarding/onboarding.storage.mjs +0 -17
- package/esm2022/onboarding/onboarding.types.mjs +0 -2
- package/esm2022/onboarding/public_api.mjs +0 -6
- package/esm2022/page-header/page-header.component.mjs +0 -220
- package/esm2022/page-header/page-header.mjs +0 -5
- package/esm2022/page-header/page-header.module.mjs +0 -45
- package/esm2022/page-header/public_api.mjs +0 -3
- package/esm2022/pdf/pdf.component.mjs +0 -449
- package/esm2022/pdf/pdf.config.mjs +0 -10
- package/esm2022/pdf/pdf.mjs +0 -5
- package/esm2022/pdf/pdf.module.mjs +0 -19
- package/esm2022/pdf/pdf.types.mjs +0 -16
- package/esm2022/pdf/public_api.mjs +0 -5
- package/esm2022/public_api.mjs +0 -3
- package/esm2022/quick-menu/public_api.mjs +0 -3
- package/esm2022/quick-menu/quick-menu.component.mjs +0 -81
- package/esm2022/quick-menu/quick-menu.mjs +0 -5
- package/esm2022/quick-menu/quick-menu.module.mjs +0 -20
- package/esm2022/result/public_api.mjs +0 -3
- package/esm2022/result/result.component.mjs +0 -58
- package/esm2022/result/result.mjs +0 -5
- package/esm2022/result/result.module.mjs +0 -23
- package/esm2022/reuse-tab/lifecycle_hooks.mjs +0 -2
- package/esm2022/reuse-tab/provide.mjs +0 -74
- package/esm2022/reuse-tab/public_api.mjs +0 -14
- package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +0 -75
- package/esm2022/reuse-tab/reuse-tab-context.component.mjs +0 -30
- package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +0 -36
- package/esm2022/reuse-tab/reuse-tab-context.service.mjs +0 -54
- package/esm2022/reuse-tab/reuse-tab.cache.mjs +0 -13
- package/esm2022/reuse-tab/reuse-tab.component.mjs +0 -337
- package/esm2022/reuse-tab/reuse-tab.interfaces.mjs +0 -33
- package/esm2022/reuse-tab/reuse-tab.mjs +0 -5
- package/esm2022/reuse-tab/reuse-tab.module.mjs +0 -79
- package/esm2022/reuse-tab/reuse-tab.service.mjs +0 -574
- package/esm2022/reuse-tab/reuse-tab.state.mjs +0 -16
- package/esm2022/reuse-tab/reuse-tab.strategy.mjs +0 -23
- package/esm2022/se/public_api.mjs +0 -5
- package/esm2022/se/se-container.component.mjs +0 -158
- package/esm2022/se/se.component.mjs +0 -220
- package/esm2022/se/se.mjs +0 -5
- package/esm2022/se/se.module.mjs +0 -22
- package/esm2022/se/se.types.mjs +0 -14
- package/esm2022/sg/public_api.mjs +0 -4
- package/esm2022/sg/sg-container.component.mjs +0 -44
- package/esm2022/sg/sg.component.mjs +0 -62
- package/esm2022/sg/sg.mjs +0 -5
- package/esm2022/sg/sg.module.mjs +0 -19
- package/esm2022/st/provide.mjs +0 -18
- package/esm2022/st/public_api.mjs +0 -13
- package/esm2022/st/st-column-source.mjs +0 -496
- package/esm2022/st/st-data-source.mjs +0 -507
- package/esm2022/st/st-export.mjs +0 -87
- package/esm2022/st/st-filter.component.mjs +0 -293
- package/esm2022/st/st-row.directive.mjs +0 -43
- package/esm2022/st/st-widget-host.directive.mjs +0 -31
- package/esm2022/st/st-widget.mjs +0 -26
- package/esm2022/st/st.component.mjs +0 -966
- package/esm2022/st/st.config.mjs +0 -79
- package/esm2022/st/st.interfaces.mjs +0 -2
- package/esm2022/st/st.mjs +0 -5
- package/esm2022/st/st.module.mjs +0 -100
- package/esm2022/st/st.types.mjs +0 -2
- package/esm2022/sv/public_api.mjs +0 -5
- package/esm2022/sv/sv-container.component.mjs +0 -127
- package/esm2022/sv/sv-value.component.mjs +0 -53
- package/esm2022/sv/sv.component.mjs +0 -109
- package/esm2022/sv/sv.mjs +0 -5
- package/esm2022/sv/sv.module.mjs +0 -24
- package/esm2022/tag-select/public_api.mjs +0 -3
- package/esm2022/tag-select/tag-select.component.mjs +0 -53
- package/esm2022/tag-select/tag-select.mjs +0 -5
- package/esm2022/tag-select/tag-select.module.mjs +0 -20
- package/esm2022/xlsx/public_api.mjs +0 -5
- package/esm2022/xlsx/xlsx.directive.mjs +0 -28
- package/esm2022/xlsx/xlsx.mjs +0 -5
- package/esm2022/xlsx/xlsx.module.mjs +0 -17
- package/esm2022/xlsx/xlsx.service.mjs +0 -128
- package/esm2022/xlsx/xlsx.types.mjs +0 -2
- package/esm2022/zip/public_api.mjs +0 -3
- package/esm2022/zip/zip.mjs +0 -5
- package/esm2022/zip/zip.service.mjs +0 -116
- package/esm2022/zip/zip.types.mjs +0 -2
- package/fesm2022/let.mjs +0 -64
- package/fesm2022/let.mjs.map +0 -1
- package/let/index.d.ts +0 -2
- package/let/let.directive.d.ts +0 -19
- package/let/let.module.d.ts +0 -10
package/fesm2022/se.mjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, Renderer2, Component, ChangeDetectionStrategy, ViewEncapsulation, numberAttribute, booleanAttribute, Input,
|
|
3
|
-
import {
|
|
2
|
+
import { inject, ElementRef, Renderer2, Component, ChangeDetectionStrategy, ViewEncapsulation, numberAttribute, booleanAttribute, Input, ChangeDetectorRef, DestroyRef, TemplateRef, ContentChild, ViewChild, NgModule } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, filter } from 'rxjs';
|
|
4
4
|
import { NzStringTemplateOutletDirective, NzOutletModule } from 'ng-zorro-antd/core/outlet';
|
|
5
5
|
import * as i1 from '@delon/util/config';
|
|
6
6
|
import { CdkObserveContent } from '@angular/cdk/observers';
|
|
7
|
-
import { NgClass, CommonModule } from '@angular/common';
|
|
8
7
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
9
8
|
import { Validators, RequiredValidator, NgModel, FormControlName } from '@angular/forms';
|
|
10
9
|
import { ResponsiveService } from '@delon/theme';
|
|
@@ -13,12 +12,13 @@ import { helpMotion } from 'ng-zorro-antd/core/animation';
|
|
|
13
12
|
import { NzFormStatusService } from 'ng-zorro-antd/core/form';
|
|
14
13
|
import { NzIconDirective, NzIconModule } from 'ng-zorro-antd/icon';
|
|
15
14
|
import { NzTooltipDirective, NzToolTipModule } from 'ng-zorro-antd/tooltip';
|
|
15
|
+
import { CommonModule } from '@angular/common';
|
|
16
16
|
|
|
17
17
|
class SETitleComponent {
|
|
18
|
+
parentComp = inject(SEContainerComponent, { host: true, optional: true });
|
|
19
|
+
el = inject(ElementRef).nativeElement;
|
|
20
|
+
ren = inject(Renderer2);
|
|
18
21
|
constructor() {
|
|
19
|
-
this.parentComp = inject(SEContainerComponent, { host: true, optional: true });
|
|
20
|
-
this.el = inject(ElementRef).nativeElement;
|
|
21
|
-
this.ren = inject(Renderer2);
|
|
22
22
|
if (this.parentComp == null) {
|
|
23
23
|
throw new Error(`[se-title] must include 'se-container' component`);
|
|
24
24
|
}
|
|
@@ -32,10 +32,10 @@ class SETitleComponent {
|
|
|
32
32
|
ngOnInit() {
|
|
33
33
|
this.setClass();
|
|
34
34
|
}
|
|
35
|
-
static
|
|
36
|
-
static
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SETitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: SETitleComponent, isStandalone: true, selector: "se-title, [se-title]", host: { properties: { "class.se__title": "true" } }, exportAs: ["seTitle"], ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SETitleComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{
|
|
41
41
|
selector: 'se-title, [se-title]',
|
|
@@ -46,17 +46,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
46
46
|
},
|
|
47
47
|
preserveWhitespaces: false,
|
|
48
48
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49
|
-
encapsulation: ViewEncapsulation.None
|
|
50
|
-
standalone: true
|
|
49
|
+
encapsulation: ViewEncapsulation.None
|
|
51
50
|
}]
|
|
52
51
|
}], ctorParameters: () => [] });
|
|
53
52
|
class SEContainerComponent {
|
|
53
|
+
errorNotify$ = new BehaviorSubject(null);
|
|
54
|
+
colInCon;
|
|
55
|
+
col;
|
|
56
|
+
labelWidth;
|
|
57
|
+
noColon = false;
|
|
58
|
+
title;
|
|
54
59
|
get gutter() {
|
|
55
60
|
return this.nzLayout === 'horizontal' ? this._gutter : 0;
|
|
56
61
|
}
|
|
57
62
|
set gutter(value) {
|
|
58
63
|
this._gutter = value;
|
|
59
64
|
}
|
|
65
|
+
_gutter;
|
|
60
66
|
get nzLayout() {
|
|
61
67
|
return this._nzLayout;
|
|
62
68
|
}
|
|
@@ -66,6 +72,11 @@ class SEContainerComponent {
|
|
|
66
72
|
this.size = 'compact';
|
|
67
73
|
}
|
|
68
74
|
}
|
|
75
|
+
_nzLayout;
|
|
76
|
+
size;
|
|
77
|
+
firstVisual;
|
|
78
|
+
ingoreDirty;
|
|
79
|
+
line = false;
|
|
69
80
|
set errors(val) {
|
|
70
81
|
this.setErrors(val);
|
|
71
82
|
}
|
|
@@ -76,9 +87,6 @@ class SEContainerComponent {
|
|
|
76
87
|
return this.errorNotify$.pipe(filter(v => v != null));
|
|
77
88
|
}
|
|
78
89
|
constructor(configSrv) {
|
|
79
|
-
this.errorNotify$ = new BehaviorSubject(null);
|
|
80
|
-
this.noColon = false;
|
|
81
|
-
this.line = false;
|
|
82
90
|
configSrv.attach(this, 'se', {
|
|
83
91
|
size: 'default',
|
|
84
92
|
nzLayout: 'horizontal',
|
|
@@ -94,17 +102,17 @@ class SEContainerComponent {
|
|
|
94
102
|
this.errorNotify$.next(error);
|
|
95
103
|
}
|
|
96
104
|
}
|
|
97
|
-
static
|
|
98
|
-
static
|
|
105
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SEContainerComponent, deps: [{ token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: SEContainerComponent, isStandalone: true, selector: "se-container, [se-container]", inputs: { colInCon: ["se-container", "colInCon", (v) => (v == null ? null : numberAttribute(v))], col: ["col", "col", (v) => (v == null ? null : numberAttribute(v))], labelWidth: ["labelWidth", "labelWidth", (v) => (v == null ? null : numberAttribute(v))], noColon: ["noColon", "noColon", booleanAttribute], title: "title", gutter: ["gutter", "gutter", numberAttribute], nzLayout: "nzLayout", size: "size", firstVisual: ["firstVisual", "firstVisual", booleanAttribute], ingoreDirty: ["ingoreDirty", "ingoreDirty", booleanAttribute], line: ["line", "line", booleanAttribute], errors: "errors" }, host: { properties: { "class.ant-row": "true", "class.se__container": "true", "class.se__horizontal": "nzLayout === 'horizontal'", "class.se__vertical": "nzLayout === 'vertical'", "class.se__inline": "nzLayout === 'inline'", "class.se__compact": "size === 'compact'", "style.margin-left.px": "margin", "style.margin-right.px": "margin" } }, exportAs: ["seContainer"], ngImport: i0, template: `
|
|
99
107
|
@if (title) {
|
|
100
108
|
<div se-title>
|
|
101
109
|
<ng-container *nzStringTemplateOutlet="title">{{ title }}</ng-container>
|
|
102
110
|
</div>
|
|
103
111
|
}
|
|
104
112
|
<ng-content />
|
|
105
|
-
`, isInline: true, dependencies: [{ kind: "component", type: SETitleComponent, selector: "se-title, [se-title]", exportAs: ["seTitle"] }, { kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
113
|
+
`, isInline: true, dependencies: [{ kind: "component", type: SETitleComponent, selector: "se-title, [se-title]", exportAs: ["seTitle"] }, { kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
106
114
|
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SEContainerComponent, decorators: [{
|
|
108
116
|
type: Component,
|
|
109
117
|
args: [{
|
|
110
118
|
selector: 'se-container, [se-container]',
|
|
@@ -130,7 +138,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
130
138
|
preserveWhitespaces: false,
|
|
131
139
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
132
140
|
encapsulation: ViewEncapsulation.None,
|
|
133
|
-
standalone: true,
|
|
134
141
|
imports: [SETitleComponent, NzStringTemplateOutletDirective]
|
|
135
142
|
}]
|
|
136
143
|
}], ctorParameters: () => [{ type: i1.AlainConfigService }], propDecorators: { colInCon: [{
|
|
@@ -170,13 +177,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
170
177
|
const prefixCls = `se`;
|
|
171
178
|
let nextUniqueId = 0;
|
|
172
179
|
class SEComponent {
|
|
180
|
+
parentComp = inject(SEContainerComponent, { host: true, optional: true });
|
|
181
|
+
el = inject(ElementRef).nativeElement;
|
|
182
|
+
rep = inject(ResponsiveService);
|
|
183
|
+
ren = inject(Renderer2);
|
|
184
|
+
cdr = inject(ChangeDetectorRef);
|
|
185
|
+
statusSrv = inject(NzFormStatusService);
|
|
186
|
+
destroy$ = inject(DestroyRef);
|
|
187
|
+
ngModel;
|
|
188
|
+
formControlName;
|
|
189
|
+
contentElement;
|
|
190
|
+
clsMap = [];
|
|
191
|
+
inited = false;
|
|
192
|
+
onceFlag = false;
|
|
193
|
+
errorData = {};
|
|
194
|
+
isBindModel = false;
|
|
195
|
+
invalid = false;
|
|
196
|
+
_labelWidth = null;
|
|
197
|
+
_noColon = null;
|
|
198
|
+
_error;
|
|
199
|
+
// #region fields
|
|
200
|
+
optional = null;
|
|
201
|
+
optionalHelp = null;
|
|
202
|
+
optionalHelpColor;
|
|
173
203
|
set error(val) {
|
|
174
204
|
this.errorData = typeof val === 'string' || val instanceof TemplateRef ? { '': val } : val;
|
|
175
205
|
}
|
|
206
|
+
extra;
|
|
207
|
+
label;
|
|
208
|
+
col;
|
|
209
|
+
required = false;
|
|
210
|
+
controlClass = '';
|
|
211
|
+
line;
|
|
212
|
+
labelWidth;
|
|
213
|
+
noColon;
|
|
214
|
+
hideLabel = false;
|
|
176
215
|
set id(value) {
|
|
177
216
|
this._id = value;
|
|
178
217
|
this._autoId = false;
|
|
179
218
|
}
|
|
219
|
+
_id = `_se-${++nextUniqueId}`;
|
|
220
|
+
_autoId = true;
|
|
180
221
|
// #endregion
|
|
181
222
|
get paddingValue() {
|
|
182
223
|
return this.parentComp.gutter / 2;
|
|
@@ -191,29 +232,6 @@ class SEComponent {
|
|
|
191
232
|
return this.ngModel || this.formControlName;
|
|
192
233
|
}
|
|
193
234
|
constructor() {
|
|
194
|
-
this.parentComp = inject(SEContainerComponent, { host: true, optional: true });
|
|
195
|
-
this.el = inject(ElementRef).nativeElement;
|
|
196
|
-
this.rep = inject(ResponsiveService);
|
|
197
|
-
this.ren = inject(Renderer2);
|
|
198
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
199
|
-
this.statusSrv = inject(NzFormStatusService);
|
|
200
|
-
this.destroy$ = inject(DestroyRef);
|
|
201
|
-
this.clsMap = [];
|
|
202
|
-
this.inited = false;
|
|
203
|
-
this.onceFlag = false;
|
|
204
|
-
this.errorData = {};
|
|
205
|
-
this.isBindModel = false;
|
|
206
|
-
this.invalid = false;
|
|
207
|
-
this._labelWidth = null;
|
|
208
|
-
this._noColon = null;
|
|
209
|
-
// #region fields
|
|
210
|
-
this.optional = null;
|
|
211
|
-
this.optionalHelp = null;
|
|
212
|
-
this.required = false;
|
|
213
|
-
this.controlClass = '';
|
|
214
|
-
this.hideLabel = false;
|
|
215
|
-
this._id = `_se-${++nextUniqueId}`;
|
|
216
|
-
this._autoId = true;
|
|
217
235
|
if (this.parentComp == null) {
|
|
218
236
|
throw new Error(`[se] must include 'se-container' component`);
|
|
219
237
|
}
|
|
@@ -315,10 +333,10 @@ class SEComponent {
|
|
|
315
333
|
});
|
|
316
334
|
}
|
|
317
335
|
}
|
|
318
|
-
static
|
|
319
|
-
static
|
|
336
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SEComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
337
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: SEComponent, isStandalone: true, selector: "se", inputs: { optional: "optional", optionalHelp: "optionalHelp", optionalHelpColor: "optionalHelpColor", error: "error", extra: "extra", label: "label", col: ["col", "col", (v) => (v == null ? null : numberAttribute(v))], required: ["required", "required", booleanAttribute], controlClass: "controlClass", line: ["line", "line", (v) => (v == null ? null : booleanAttribute(v))], labelWidth: ["labelWidth", "labelWidth", (v) => (v == null ? null : numberAttribute(v))], noColon: ["noColon", "noColon", (v) => (v == null ? null : booleanAttribute(v))], hideLabel: ["hideLabel", "hideLabel", booleanAttribute], id: "id" }, host: { properties: { "style.padding-left.px": "paddingValue", "style.padding-right.px": "paddingValue", "class.se__hide-label": "hideLabel", "class.ant-form-item-has-error": "invalid", "class.ant-form-item-with-help": "showErr" } }, providers: [NzFormStatusService], queries: [{ propertyName: "ngModel", first: true, predicate: NgModel, descendants: true, static: true }, { propertyName: "formControlName", first: true, predicate: FormControlName, descendants: true, static: true }], viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["contentElement"], descendants: true, static: true }], exportAs: ["se"], usesOnChanges: true, ngImport: i0, template: "<div class=\"ant-form-item-label\" [class.se__nolabel]=\"hideLabel || !label\" [style.width.px]=\"_labelWidth\">\n @if (label) {\n <label [attr.for]=\"_id\" class=\"se__label\" [class.ant-form-item-required]=\"required\" [class.se__no-colon]=\"_noColon\">\n <span class=\"se__label-text\">\n <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n </span>\n @if (optional || optionalHelp) {\n <span class=\"se__label-optional\" [class.se__label-optional-no-text]=\"!optional\">\n <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n @if (optionalHelp) {\n <nz-icon\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp\"\n [nzTooltipColor]=\"optionalHelpColor\"\n nzType=\"question-circle\"\n />\n }\n </span>\n }\n </label>\n }\n</div>\n<div class=\"ant-form-item-control se__control\">\n <div class=\"ant-form-item-control-input {{ controlClass }}\">\n <div class=\"ant-form-item-control-input-content\" (cdkObserveContent)=\"checkContent()\" #contentElement>\n <ng-content />\n </div>\n </div>\n @if (showErr) {\n <div @helpMotion class=\"ant-form-item-explain ant-form-item-explain-connected\">\n <div role=\"alert\" class=\"ant-form-item-explain-error\">\n <ng-container *nzStringTemplateOutlet=\"_error\">{{ _error }}</ng-container>\n </div>\n </div>\n }\n @if (extra && !compact) {\n <div class=\"ant-form-item-extra\">\n <ng-container *nzStringTemplateOutlet=\"extra\">{{ extra }}</ng-container>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "directive", type: NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], animations: [helpMotion], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
320
338
|
}
|
|
321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SEComponent, decorators: [{
|
|
322
340
|
type: Component,
|
|
323
341
|
args: [{ selector: 'se', exportAs: 'se', host: {
|
|
324
342
|
'[style.padding-left.px]': 'paddingValue',
|
|
@@ -326,7 +344,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
326
344
|
'[class.se__hide-label]': 'hideLabel',
|
|
327
345
|
'[class.ant-form-item-has-error]': 'invalid',
|
|
328
346
|
'[class.ant-form-item-with-help]': 'showErr'
|
|
329
|
-
}, preserveWhitespaces: false, providers: [NzFormStatusService], animations: [helpMotion], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None,
|
|
347
|
+
}, preserveWhitespaces: false, providers: [NzFormStatusService], animations: [helpMotion], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NzStringTemplateOutletDirective, NzTooltipDirective, NzIconDirective, CdkObserveContent], template: "<div class=\"ant-form-item-label\" [class.se__nolabel]=\"hideLabel || !label\" [style.width.px]=\"_labelWidth\">\n @if (label) {\n <label [attr.for]=\"_id\" class=\"se__label\" [class.ant-form-item-required]=\"required\" [class.se__no-colon]=\"_noColon\">\n <span class=\"se__label-text\">\n <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n </span>\n @if (optional || optionalHelp) {\n <span class=\"se__label-optional\" [class.se__label-optional-no-text]=\"!optional\">\n <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n @if (optionalHelp) {\n <nz-icon\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp\"\n [nzTooltipColor]=\"optionalHelpColor\"\n nzType=\"question-circle\"\n />\n }\n </span>\n }\n </label>\n }\n</div>\n<div class=\"ant-form-item-control se__control\">\n <div class=\"ant-form-item-control-input {{ controlClass }}\">\n <div class=\"ant-form-item-control-input-content\" (cdkObserveContent)=\"checkContent()\" #contentElement>\n <ng-content />\n </div>\n </div>\n @if (showErr) {\n <div @helpMotion class=\"ant-form-item-explain ant-form-item-explain-connected\">\n <div role=\"alert\" class=\"ant-form-item-explain-error\">\n <ng-container *nzStringTemplateOutlet=\"_error\">{{ _error }}</ng-container>\n </div>\n </div>\n }\n @if (extra && !compact) {\n <div class=\"ant-form-item-extra\">\n <ng-container *nzStringTemplateOutlet=\"extra\">{{ extra }}</ng-container>\n </div>\n }\n</div>\n" }]
|
|
330
348
|
}], ctorParameters: () => [], propDecorators: { ngModel: [{
|
|
331
349
|
type: ContentChild,
|
|
332
350
|
args: [NgModel, { static: true }]
|
|
@@ -374,11 +392,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
374
392
|
|
|
375
393
|
const COMPONENTS = [SEContainerComponent, SEComponent, SETitleComponent];
|
|
376
394
|
class SEModule {
|
|
377
|
-
static
|
|
378
|
-
static
|
|
379
|
-
static
|
|
395
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SEModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
396
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.1", ngImport: i0, type: SEModule, imports: [CommonModule, NzToolTipModule, NzIconModule, NzOutletModule, SEContainerComponent, SEComponent, SETitleComponent], exports: [SEContainerComponent, SEComponent, SETitleComponent] });
|
|
397
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SEModule, imports: [CommonModule, NzToolTipModule, NzIconModule, NzOutletModule] });
|
|
380
398
|
}
|
|
381
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SEModule, decorators: [{
|
|
382
400
|
type: NgModule,
|
|
383
401
|
args: [{
|
|
384
402
|
imports: [CommonModule, NzToolTipModule, NzIconModule, NzOutletModule, ...COMPONENTS],
|
package/fesm2022/se.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"se.mjs","sources":["../../../../packages/abc/se/se-container.component.ts","../../../../packages/abc/se/se.component.ts","../../../../packages/abc/se/se.component.html","../../../../packages/abc/se/se.module.ts","../../../../packages/abc/se/se.types.ts","../../../../packages/abc/se/se.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SEErrorRefresh, SELayout } from './se.types';\n\n@Component({\n selector: 'se-title, [se-title]',\n exportAs: 'seTitle',\n template: '<ng-content />',\n host: {\n '[class.se__title]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class SETitleComponent implements OnInit {\n private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true });\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ren = inject(Renderer2);\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[se-title] must include 'se-container' component`);\n }\n }\n\n private setClass(): void {\n const { el } = this;\n const gutter = this.parentComp!.gutter as number;\n this.ren.setStyle(el, 'padding-left', `${gutter / 2}px`);\n this.ren.setStyle(el, 'padding-right', `${gutter / 2}px`);\n }\n\n ngOnInit(): void {\n this.setClass();\n }\n}\n\n@Component({\n selector: 'se-container, [se-container]',\n exportAs: 'seContainer',\n template: `\n @if (title) {\n <div se-title>\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </div>\n }\n <ng-content />\n `,\n host: {\n '[class.ant-row]': `true`,\n '[class.se__container]': `true`,\n '[class.se__horizontal]': `nzLayout === 'horizontal'`,\n '[class.se__vertical]': `nzLayout === 'vertical'`,\n '[class.se__inline]': `nzLayout === 'inline'`,\n '[class.se__compact]': `size === 'compact'`,\n '[style.margin-left.px]': `margin`,\n '[style.margin-right.px]': `margin`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [SETitleComponent, NzStringTemplateOutletDirective]\n})\nexport class SEContainerComponent {\n private errorNotify$ = new BehaviorSubject<SEErrorRefresh>(null as NzSafeAny);\n @Input({ alias: 'se-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n colInCon?: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col!: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth!: number;\n @Input({ transform: booleanAttribute }) noColon = false;\n @Input() title?: string | TemplateRef<void> | null;\n\n @Input({ transform: numberAttribute })\n get gutter(): number {\n return this.nzLayout === 'horizontal' ? this._gutter : 0;\n }\n set gutter(value: number) {\n this._gutter = value;\n }\n private _gutter!: number;\n\n @Input()\n get nzLayout(): SELayout {\n return this._nzLayout;\n }\n set nzLayout(value: SELayout) {\n this._nzLayout = value;\n if (value === 'inline') {\n this.size = 'compact';\n }\n }\n private _nzLayout!: SELayout;\n\n @Input() size!: 'default' | 'compact';\n @Input({ transform: booleanAttribute }) firstVisual!: boolean;\n @Input({ transform: booleanAttribute }) ingoreDirty!: boolean;\n @Input({ transform: booleanAttribute }) line = false;\n @Input()\n set errors(val: SEErrorRefresh[]) {\n this.setErrors(val);\n }\n\n get margin(): number {\n return -((this.gutter as number) / 2);\n }\n\n get errorNotify(): Observable<SEErrorRefresh> {\n return this.errorNotify$.pipe(filter(v => v != null));\n }\n\n constructor(configSrv: AlainConfigService) {\n configSrv.attach(this, 'se', {\n size: 'default',\n nzLayout: 'horizontal',\n gutter: 32,\n col: 2,\n labelWidth: 150,\n firstVisual: false,\n ingoreDirty: false\n });\n }\n\n setErrors(errors: SEErrorRefresh[]): void {\n for (const error of errors) {\n this.errorNotify$.next(error);\n }\n }\n}\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport { NgClass } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControlName, NgModel, RequiredValidator, Validator, Validators } from '@angular/forms';\nimport { filter } from 'rxjs';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { helpMotion } from 'ng-zorro-antd/core/animation';\nimport { NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent } from './se-container.component';\nimport { SEError, SEErrorType } from './se.types';\n\nconst prefixCls = `se`;\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'se',\n exportAs: 'se',\n templateUrl: './se.component.html',\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue',\n '[class.se__hide-label]': 'hideLabel',\n '[class.ant-form-item-has-error]': 'invalid',\n '[class.ant-form-item-with-help]': 'showErr'\n },\n preserveWhitespaces: false,\n providers: [NzFormStatusService],\n animations: [helpMotion],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgClass, NzStringTemplateOutletDirective, NzTooltipDirective, NzIconDirective, CdkObserveContent]\n})\nexport class SEComponent implements OnChanges, AfterContentInit, AfterViewInit {\n private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true })!;\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly rep = inject(ResponsiveService);\n private readonly ren = inject(Renderer2);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly statusSrv = inject(NzFormStatusService);\n private readonly destroy$ = inject(DestroyRef);\n\n @ContentChild(NgModel, { static: true }) private readonly ngModel?: NgModel;\n @ContentChild(FormControlName, { static: true })\n private readonly formControlName?: FormControlName;\n @ViewChild('contentElement', { static: true }) private readonly contentElement!: ElementRef;\n private clsMap: string[] = [];\n private inited = false;\n private onceFlag = false;\n private errorData: SEError = {};\n private isBindModel = false;\n invalid = false;\n _labelWidth: number | null = null;\n _noColon: boolean | null = null;\n _error?: string | TemplateRef<void>;\n\n // #region fields\n\n @Input() optional?: string | TemplateRef<void> | null = null;\n @Input() optionalHelp?: string | TemplateRef<void> | null = null;\n @Input() optionalHelpColor?: string;\n @Input()\n set error(val: SEErrorType) {\n this.errorData = typeof val === 'string' || val instanceof TemplateRef ? { '': val } : val;\n }\n @Input() extra?: string | TemplateRef<void> | null;\n @Input() label?: string | TemplateRef<void> | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col?: number | null;\n @Input({ transform: booleanAttribute }) required = false;\n @Input() controlClass?: string | null = '';\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) line?: boolean | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth?: number | null;\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) noColon?: boolean | null;\n @Input({ transform: booleanAttribute }) hideLabel = false;\n\n @Input()\n set id(value: string) {\n this._id = value;\n this._autoId = false;\n }\n\n _id = `_se-${++nextUniqueId}`;\n _autoId = true;\n\n // #endregion\n\n get paddingValue(): number {\n return (this.parentComp.gutter as number) / 2;\n }\n\n get showErr(): boolean {\n return this.invalid && !!this._error && !this.compact;\n }\n\n get compact(): boolean {\n return this.parentComp.size === 'compact';\n }\n\n private get ngControl(): NgModel | FormControlName | null | undefined {\n return this.ngModel || this.formControlName;\n }\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[se] must include 'se-container' component`);\n }\n this.parentComp.errorNotify\n .pipe(\n takeUntilDestroyed(),\n filter(w => this.inited && this.ngControl != null && this.ngControl.name === w.name)\n )\n .subscribe(item => {\n this.error = item.error;\n this.updateStatus(this.ngControl!.invalid!);\n });\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col, cdr, line, labelWidth, rep, noColon } = this;\n const parent = this.parentComp!;\n this._noColon = noColon != null ? noColon : parent.noColon;\n this._labelWidth = parent.nzLayout === 'horizontal' ? (labelWidth != null ? labelWidth : parent.labelWidth) : null;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const parentCol = parent.colInCon || parent.col;\n const repCls = parent.nzLayout === 'horizontal' ? rep.genCls(col != null ? col : parentCol, parentCol) : [];\n clsMap.push(`ant-form-item`, ...repCls, `${prefixCls}__item`);\n if (line || parent.line) {\n clsMap.push(`${prefixCls}__line`);\n }\n clsMap.forEach(cls => ren.addClass(el, cls));\n cdr.detectChanges();\n return this;\n }\n\n private bindModel(): void {\n if (!this.ngControl || this.isBindModel) return;\n\n this.isBindModel = true;\n this.ngControl\n .statusChanges!.pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(res => this.updateStatus(res === 'INVALID'));\n if (this._autoId) {\n const controlAccessor = this.ngControl.valueAccessor as NzSafeAny;\n const control = (controlAccessor?.elementRef || controlAccessor?._elementRef)?.nativeElement as HTMLElement;\n if (!!control) {\n if (control.id) {\n this._id = control.id;\n } else {\n control.id = this._id;\n }\n }\n }\n // auto required\n if (this.required !== true) {\n let required = this.ngControl?.control?.hasValidator(Validators.required);\n if (required !== true) {\n const rawValidators = (this.ngControl as NzSafeAny)?._rawValidators as Validator[];\n required = rawValidators.find(w => w instanceof RequiredValidator) != null;\n }\n this.required = required;\n this.cdr.detectChanges();\n }\n }\n\n private updateStatus(invalid: boolean): void {\n if (this.ngControl?.disabled || this.ngControl?.isDisabled) {\n return;\n }\n this.invalid =\n !this.onceFlag && invalid && this.parentComp.ingoreDirty === false && !this.ngControl?.dirty ? false : invalid;\n const errors = this.ngControl?.errors;\n if (errors != null && Object.keys(errors).length > 0) {\n const key = Object.keys(errors)[0] || '';\n const err = this.errorData[key];\n this._error = err != null ? err : this.errorData[''] || '';\n }\n\n this.statusSrv.formStatusChanges.next({ status: this.invalid ? 'error' : '', hasFeedback: false });\n\n this.cdr.detectChanges();\n }\n\n checkContent(): void {\n const el = this.contentElement.nativeElement;\n const cls = `${prefixCls}__item-empty`;\n if (isEmpty(el)) {\n this.ren.addClass(el, cls);\n } else {\n this.ren.removeClass(el, cls);\n }\n }\n\n ngAfterContentInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n this.onceFlag = this.parentComp.firstVisual;\n if (this.inited) {\n this.setClass().bindModel();\n }\n }\n\n ngAfterViewInit(): void {\n this.setClass().bindModel();\n this.inited = true;\n if (this.onceFlag) {\n Promise.resolve().then(() => {\n this.updateStatus(this.ngControl?.invalid!);\n this.onceFlag = false;\n });\n }\n }\n}\n","<div class=\"ant-form-item-label\" [class.se__nolabel]=\"hideLabel || !label\" [style.width.px]=\"_labelWidth\">\n @if (label) {\n <label\n [attr.for]=\"_id\"\n class=\"se__label\"\n [ngClass]=\"{ 'ant-form-item-required': required, 'se__no-colon': _noColon }\"\n >\n <span class=\"se__label-text\">\n <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n </span>\n @if (optional || optionalHelp) {\n <span class=\"se__label-optional\" [class.se__label-optional-no-text]=\"!optional\">\n <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n @if (optionalHelp) {\n <i\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp\"\n [nzTooltipColor]=\"optionalHelpColor\"\n nz-icon\n nzType=\"question-circle\"\n ></i>\n }\n </span>\n }\n </label>\n }\n</div>\n<div class=\"ant-form-item-control se__control\">\n <div class=\"ant-form-item-control-input {{ controlClass }}\">\n <div class=\"ant-form-item-control-input-content\" (cdkObserveContent)=\"checkContent()\" #contentElement>\n <ng-content />\n </div>\n </div>\n @if (showErr) {\n <div @helpMotion class=\"ant-form-item-explain ant-form-item-explain-connected\">\n <div role=\"alert\" class=\"ant-form-item-explain-error\">\n <ng-container *nzStringTemplateOutlet=\"_error\">{{ _error }}</ng-container>\n </div>\n </div>\n }\n @if (extra && !compact) {\n <div class=\"ant-form-item-extra\">\n <ng-container *nzStringTemplateOutlet=\"extra\">{{ extra }}</ng-container>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent, SETitleComponent } from './se-container.component';\nimport { SEComponent } from './se.component';\n\nconst COMPONENTS = [SEContainerComponent, SEComponent, SETitleComponent];\n\n@NgModule({\n imports: [CommonModule, NzToolTipModule, NzIconModule, NzOutletModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SEModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport type SELayout = 'horizontal' | 'vertical' | 'inline';\n\nexport type SESize = 'default' | 'compact';\n\nexport type SEErrorType = string | TemplateRef<void> | SEError;\n\nexport interface SEError {\n [key: string]: string | TemplateRef<void>;\n}\n\nexport interface SEErrorRefresh {\n name: string;\n error: SEErrorType;\n}\n\n// /**\n// * Error collection\n// * - `name`: The value of` ngModel` or `formControlName`\n// * - `error`: Replaced error value\n// */\n// errors: Array<{ name: string; error: SEErrorType }>;\n// /**\n// * Whether force show error, even if the form component has not invalid, Default: `false`\n// * - `false`: Whether to display error by `invalid`\n// * - `true`: Force show display error\n// */\n// force?: boolean;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"se.mjs","sources":["../../../../packages/abc/se/se-container.component.ts","../../../../packages/abc/se/se.component.ts","../../../../packages/abc/se/se.component.html","../../../../packages/abc/se/se.module.ts","../../../../packages/abc/se/se.types.ts","../../../../packages/abc/se/se.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SEErrorRefresh, SELayout } from './se.types';\n\n@Component({\n selector: 'se-title, [se-title]',\n exportAs: 'seTitle',\n template: '<ng-content />',\n host: {\n '[class.se__title]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SETitleComponent implements OnInit {\n private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true });\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ren = inject(Renderer2);\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[se-title] must include 'se-container' component`);\n }\n }\n\n private setClass(): void {\n const { el } = this;\n const gutter = this.parentComp!.gutter as number;\n this.ren.setStyle(el, 'padding-left', `${gutter / 2}px`);\n this.ren.setStyle(el, 'padding-right', `${gutter / 2}px`);\n }\n\n ngOnInit(): void {\n this.setClass();\n }\n}\n\n@Component({\n selector: 'se-container, [se-container]',\n exportAs: 'seContainer',\n template: `\n @if (title) {\n <div se-title>\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </div>\n }\n <ng-content />\n `,\n host: {\n '[class.ant-row]': `true`,\n '[class.se__container]': `true`,\n '[class.se__horizontal]': `nzLayout === 'horizontal'`,\n '[class.se__vertical]': `nzLayout === 'vertical'`,\n '[class.se__inline]': `nzLayout === 'inline'`,\n '[class.se__compact]': `size === 'compact'`,\n '[style.margin-left.px]': `margin`,\n '[style.margin-right.px]': `margin`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SETitleComponent, NzStringTemplateOutletDirective]\n})\nexport class SEContainerComponent {\n private errorNotify$ = new BehaviorSubject<SEErrorRefresh>(null as NzSafeAny);\n @Input({ alias: 'se-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n colInCon?: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col!: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth!: number;\n @Input({ transform: booleanAttribute }) noColon = false;\n @Input() title?: string | TemplateRef<void> | null;\n\n @Input({ transform: numberAttribute })\n get gutter(): number {\n return this.nzLayout === 'horizontal' ? this._gutter : 0;\n }\n set gutter(value: number) {\n this._gutter = value;\n }\n private _gutter!: number;\n\n @Input()\n get nzLayout(): SELayout {\n return this._nzLayout;\n }\n set nzLayout(value: SELayout) {\n this._nzLayout = value;\n if (value === 'inline') {\n this.size = 'compact';\n }\n }\n private _nzLayout!: SELayout;\n\n @Input() size!: 'default' | 'compact';\n @Input({ transform: booleanAttribute }) firstVisual!: boolean;\n @Input({ transform: booleanAttribute }) ingoreDirty!: boolean;\n @Input({ transform: booleanAttribute }) line = false;\n @Input()\n set errors(val: SEErrorRefresh[]) {\n this.setErrors(val);\n }\n\n get margin(): number {\n return -((this.gutter as number) / 2);\n }\n\n get errorNotify(): Observable<SEErrorRefresh> {\n return this.errorNotify$.pipe(filter(v => v != null));\n }\n\n constructor(configSrv: AlainConfigService) {\n configSrv.attach(this, 'se', {\n size: 'default',\n nzLayout: 'horizontal',\n gutter: 32,\n col: 2,\n labelWidth: 150,\n firstVisual: false,\n ingoreDirty: false\n });\n }\n\n setErrors(errors: SEErrorRefresh[]): void {\n for (const error of errors) {\n this.errorNotify$.next(error);\n }\n }\n}\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControlName, NgModel, RequiredValidator, Validator, Validators } from '@angular/forms';\nimport { filter } from 'rxjs';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { helpMotion } from 'ng-zorro-antd/core/animation';\nimport { NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent } from './se-container.component';\nimport { SEError, SEErrorType } from './se.types';\n\nconst prefixCls = `se`;\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'se',\n exportAs: 'se',\n templateUrl: './se.component.html',\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue',\n '[class.se__hide-label]': 'hideLabel',\n '[class.ant-form-item-has-error]': 'invalid',\n '[class.ant-form-item-with-help]': 'showErr'\n },\n preserveWhitespaces: false,\n providers: [NzFormStatusService],\n animations: [helpMotion],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzStringTemplateOutletDirective, NzTooltipDirective, NzIconDirective, CdkObserveContent]\n})\nexport class SEComponent implements OnChanges, AfterContentInit, AfterViewInit {\n private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true })!;\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly rep = inject(ResponsiveService);\n private readonly ren = inject(Renderer2);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly statusSrv = inject(NzFormStatusService);\n private readonly destroy$ = inject(DestroyRef);\n\n @ContentChild(NgModel, { static: true }) private readonly ngModel?: NgModel;\n @ContentChild(FormControlName, { static: true })\n private readonly formControlName?: FormControlName;\n @ViewChild('contentElement', { static: true }) private readonly contentElement!: ElementRef;\n private clsMap: string[] = [];\n private inited = false;\n private onceFlag = false;\n private errorData: SEError = {};\n private isBindModel = false;\n invalid = false;\n _labelWidth: number | null = null;\n _noColon: boolean | null = null;\n _error?: string | TemplateRef<void>;\n\n // #region fields\n\n @Input() optional?: string | TemplateRef<void> | null = null;\n @Input() optionalHelp?: string | TemplateRef<void> | null = null;\n @Input() optionalHelpColor?: string;\n @Input()\n set error(val: SEErrorType) {\n this.errorData = typeof val === 'string' || val instanceof TemplateRef ? { '': val } : val;\n }\n @Input() extra?: string | TemplateRef<void> | null;\n @Input() label?: string | TemplateRef<void> | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col?: number | null;\n @Input({ transform: booleanAttribute }) required = false;\n @Input() controlClass?: string | null = '';\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) line?: boolean | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth?: number | null;\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) noColon?: boolean | null;\n @Input({ transform: booleanAttribute }) hideLabel = false;\n\n @Input()\n set id(value: string) {\n this._id = value;\n this._autoId = false;\n }\n\n _id = `_se-${++nextUniqueId}`;\n _autoId = true;\n\n // #endregion\n\n get paddingValue(): number {\n return (this.parentComp.gutter as number) / 2;\n }\n\n get showErr(): boolean {\n return this.invalid && !!this._error && !this.compact;\n }\n\n get compact(): boolean {\n return this.parentComp.size === 'compact';\n }\n\n private get ngControl(): NgModel | FormControlName | null | undefined {\n return this.ngModel || this.formControlName;\n }\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[se] must include 'se-container' component`);\n }\n this.parentComp.errorNotify\n .pipe(\n takeUntilDestroyed(),\n filter(w => this.inited && this.ngControl != null && this.ngControl.name === w.name)\n )\n .subscribe(item => {\n this.error = item.error;\n this.updateStatus(this.ngControl!.invalid!);\n });\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col, cdr, line, labelWidth, rep, noColon } = this;\n const parent = this.parentComp!;\n this._noColon = noColon != null ? noColon : parent.noColon;\n this._labelWidth = parent.nzLayout === 'horizontal' ? (labelWidth != null ? labelWidth : parent.labelWidth) : null;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const parentCol = parent.colInCon || parent.col;\n const repCls = parent.nzLayout === 'horizontal' ? rep.genCls(col != null ? col : parentCol, parentCol) : [];\n clsMap.push(`ant-form-item`, ...repCls, `${prefixCls}__item`);\n if (line || parent.line) {\n clsMap.push(`${prefixCls}__line`);\n }\n clsMap.forEach(cls => ren.addClass(el, cls));\n cdr.detectChanges();\n return this;\n }\n\n private bindModel(): void {\n if (!this.ngControl || this.isBindModel) return;\n\n this.isBindModel = true;\n this.ngControl\n .statusChanges!.pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(res => this.updateStatus(res === 'INVALID'));\n if (this._autoId) {\n const controlAccessor = this.ngControl.valueAccessor as NzSafeAny;\n const control = (controlAccessor?.elementRef || controlAccessor?._elementRef)?.nativeElement as HTMLElement;\n if (!!control) {\n if (control.id) {\n this._id = control.id;\n } else {\n control.id = this._id;\n }\n }\n }\n // auto required\n if (this.required !== true) {\n let required = this.ngControl?.control?.hasValidator(Validators.required);\n if (required !== true) {\n const rawValidators = (this.ngControl as NzSafeAny)?._rawValidators as Validator[];\n required = rawValidators.find(w => w instanceof RequiredValidator) != null;\n }\n this.required = required;\n this.cdr.detectChanges();\n }\n }\n\n private updateStatus(invalid: boolean): void {\n if (this.ngControl?.disabled || this.ngControl?.isDisabled) {\n return;\n }\n this.invalid =\n !this.onceFlag && invalid && this.parentComp.ingoreDirty === false && !this.ngControl?.dirty ? false : invalid;\n const errors = this.ngControl?.errors;\n if (errors != null && Object.keys(errors).length > 0) {\n const key = Object.keys(errors)[0] || '';\n const err = this.errorData[key];\n this._error = err != null ? err : this.errorData[''] || '';\n }\n\n this.statusSrv.formStatusChanges.next({ status: this.invalid ? 'error' : '', hasFeedback: false });\n\n this.cdr.detectChanges();\n }\n\n checkContent(): void {\n const el = this.contentElement.nativeElement;\n const cls = `${prefixCls}__item-empty`;\n if (isEmpty(el)) {\n this.ren.addClass(el, cls);\n } else {\n this.ren.removeClass(el, cls);\n }\n }\n\n ngAfterContentInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n this.onceFlag = this.parentComp.firstVisual;\n if (this.inited) {\n this.setClass().bindModel();\n }\n }\n\n ngAfterViewInit(): void {\n this.setClass().bindModel();\n this.inited = true;\n if (this.onceFlag) {\n Promise.resolve().then(() => {\n this.updateStatus(this.ngControl?.invalid!);\n this.onceFlag = false;\n });\n }\n }\n}\n","<div class=\"ant-form-item-label\" [class.se__nolabel]=\"hideLabel || !label\" [style.width.px]=\"_labelWidth\">\n @if (label) {\n <label [attr.for]=\"_id\" class=\"se__label\" [class.ant-form-item-required]=\"required\" [class.se__no-colon]=\"_noColon\">\n <span class=\"se__label-text\">\n <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n </span>\n @if (optional || optionalHelp) {\n <span class=\"se__label-optional\" [class.se__label-optional-no-text]=\"!optional\">\n <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n @if (optionalHelp) {\n <nz-icon\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp\"\n [nzTooltipColor]=\"optionalHelpColor\"\n nzType=\"question-circle\"\n />\n }\n </span>\n }\n </label>\n }\n</div>\n<div class=\"ant-form-item-control se__control\">\n <div class=\"ant-form-item-control-input {{ controlClass }}\">\n <div class=\"ant-form-item-control-input-content\" (cdkObserveContent)=\"checkContent()\" #contentElement>\n <ng-content />\n </div>\n </div>\n @if (showErr) {\n <div @helpMotion class=\"ant-form-item-explain ant-form-item-explain-connected\">\n <div role=\"alert\" class=\"ant-form-item-explain-error\">\n <ng-container *nzStringTemplateOutlet=\"_error\">{{ _error }}</ng-container>\n </div>\n </div>\n }\n @if (extra && !compact) {\n <div class=\"ant-form-item-extra\">\n <ng-container *nzStringTemplateOutlet=\"extra\">{{ extra }}</ng-container>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent, SETitleComponent } from './se-container.component';\nimport { SEComponent } from './se.component';\n\nconst COMPONENTS = [SEContainerComponent, SEComponent, SETitleComponent];\n\n@NgModule({\n imports: [CommonModule, NzToolTipModule, NzIconModule, NzOutletModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SEModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport type SELayout = 'horizontal' | 'vertical' | 'inline';\n\nexport type SESize = 'default' | 'compact';\n\nexport type SEErrorType = string | TemplateRef<void> | SEError;\n\nexport interface SEError {\n [key: string]: string | TemplateRef<void>;\n}\n\nexport interface SEErrorRefresh {\n name: string;\n error: SEErrorType;\n}\n\n// /**\n// * Error collection\n// * - `name`: The value of` ngModel` or `formControlName`\n// * - `error`: Replaced error value\n// */\n// errors: Array<{ name: string; error: SEErrorType }>;\n// /**\n// * Whether force show error, even if the form component has not invalid, Default: `false`\n// * - `false`: Whether to display error by `invalid`\n// * - `true`: Force show display error\n// */\n// force?: boolean;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAiCa,gBAAgB,CAAA;AACV,IAAA,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACzE,IAAA,EAAE,GAAgB,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa;AAClD,IAAA,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AACxC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,gDAAA,CAAkD,CAAC;;;IAI/D,QAAQ,GAAA;AACd,QAAA,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI;AACnB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAW,CAAC,MAAgB;AAChD,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,MAAM,GAAG,CAAC,CAAA,EAAA,CAAI,CAAC;AACxD,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,CAAC,CAAA,EAAA,CAAI,CAAC;;IAG3D,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,EAAE;;uGAlBN,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,4JARjB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAQf,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACJ,wBAAA,mBAAmB,EAAE;AACtB,qBAAA;AACD,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC;AAClC,iBAAA;;MAiDY,oBAAoB,CAAA;AACvB,IAAA,YAAY,GAAG,IAAI,eAAe,CAAiB,IAAiB,CAAC;AAE7E,IAAA,QAAQ;AACuE,IAAA,GAAG;AACH,IAAA,UAAU;IACjD,OAAO,GAAG,KAAK;AAC9C,IAAA,KAAK;AAEd,IAAA,IACI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,YAAY,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC;;IAE1D,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAEd,IAAA,OAAO;AAEf,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;IAEvB,IAAI,QAAQ,CAAC,KAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS;;;AAGjB,IAAA,SAAS;AAER,IAAA,IAAI;AAC2B,IAAA,WAAW;AACX,IAAA,WAAW;IACX,IAAI,GAAG,KAAK;IACpD,IACI,MAAM,CAAC,GAAqB,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;;AAGrB,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,EAAG,IAAI,CAAC,MAAiB,GAAG,CAAC,CAAC;;AAGvC,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;;AAGvD,IAAA,WAAA,CAAY,SAA6B,EAAA;AACvC,QAAA,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE;AAC3B,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE;AACd,SAAA,CAAC;;AAGJ,IAAA,SAAS,CAAC,MAAwB,EAAA;AAChC,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;;;uGA7DtB,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,iHAEY,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA,EAAA,GAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAE9E,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EACvD,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CACvD,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,gBAAgB,CAGhB,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,eAAe,mFAsBf,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAChB,gBAAgB,CAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAChB,gBAAgB,CAxD1B,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,MAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,2BAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;GAOT,EAhCU,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,wFA8CC,+BAA+B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,+BAAA,EAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEhD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA1BhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE;;;;;;;AAOT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,iBAAiB,EAAE,CAAM,IAAA,CAAA;AACzB,wBAAA,uBAAuB,EAAE,CAAM,IAAA,CAAA;AAC/B,wBAAA,wBAAwB,EAAE,CAA2B,yBAAA,CAAA;AACrD,wBAAA,sBAAsB,EAAE,CAAyB,uBAAA,CAAA;AACjD,wBAAA,oBAAoB,EAAE,CAAuB,qBAAA,CAAA;AAC7C,wBAAA,qBAAqB,EAAE,CAAoB,kBAAA,CAAA;AAC3C,wBAAA,wBAAwB,EAAE,CAAQ,MAAA,CAAA;AAClC,wBAAA,yBAAyB,EAAE,CAAQ,MAAA;AACpC,qBAAA;AACD,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,+BAA+B;AAC5D,iBAAA;uFAIC,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;gBAErB,GAAG,EAAA,CAAA;sBAAjF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;gBACE,UAAU,EAAA,CAAA;sBAAxF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;gBACrC,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,KAAK,EAAA,CAAA;sBAAb;gBAGG,MAAM,EAAA,CAAA;sBADT,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAUjC,QAAQ,EAAA,CAAA;sBADX;gBAYQ,IAAI,EAAA,CAAA;sBAAZ;gBACuC,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAElC,MAAM,EAAA,CAAA;sBADT;;;AC/EH,MAAM,SAAS,GAAG,CAAA,EAAA,CAAI;AACtB,IAAI,YAAY,GAAG,CAAC;MAoBP,WAAW,CAAA;AACL,IAAA,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;AAC1E,IAAA,EAAE,GAAgB,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa;AAClD,IAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,IAAA,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AACvB,IAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,IAAA,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACvC,IAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;AAEY,IAAA,OAAO;AAEhD,IAAA,eAAe;AACgC,IAAA,cAAc;IACtE,MAAM,GAAa,EAAE;IACrB,MAAM,GAAG,KAAK;IACd,QAAQ,GAAG,KAAK;IAChB,SAAS,GAAY,EAAE;IACvB,WAAW,GAAG,KAAK;IAC3B,OAAO,GAAG,KAAK;IACf,WAAW,GAAkB,IAAI;IACjC,QAAQ,GAAmB,IAAI;AAC/B,IAAA,MAAM;;IAIG,QAAQ,GAAuC,IAAI;IACnD,YAAY,GAAuC,IAAI;AACvD,IAAA,iBAAiB;IAC1B,IACI,KAAK,CAAC,GAAgB,EAAA;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,WAAW,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG;;AAEnF,IAAA,KAAK;AACL,IAAA,KAAK;AACiE,IAAA,GAAG;IAC1C,QAAQ,GAAG,KAAK;IAC/C,YAAY,GAAmB,EAAE;AACsC,IAAA,IAAI;AACL,IAAA,UAAU;AACT,IAAA,OAAO;IAC/C,SAAS,GAAG,KAAK;IAEzD,IACI,EAAE,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAGtB,IAAA,GAAG,GAAG,CAAA,IAAA,EAAO,EAAE,YAAY,EAAE;IAC7B,OAAO,GAAG,IAAI;;AAId,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAQ,IAAI,CAAC,UAAU,CAAC,MAAiB,GAAG,CAAC;;AAG/C,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO;;AAGvD,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;;AAG3C,IAAA,IAAY,SAAS,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe;;AAG7C,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,0CAAA,CAA4C,CAAC;;QAE/D,IAAI,CAAC,UAAU,CAAC;AACb,aAAA,IAAI,CACH,kBAAkB,EAAE,EACpB,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;aAErF,SAAS,CAAC,IAAI,IAAG;AAChB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAU,CAAC,OAAQ,CAAC;AAC7C,SAAC,CAAC;;IAGE,QAAQ,GAAA;QACd,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI;AAC1E,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAW;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,OAAO;AAC1D,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,YAAY,IAAI,UAAU,IAAI,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI;AAClH,QAAA,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC/C,QAAA,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG;AAC/C,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE;AAC3G,QAAA,MAAM,CAAC,IAAI,CAAC,CAAA,aAAA,CAAe,EAAE,GAAG,MAAM,EAAE,CAAG,EAAA,SAAS,CAAQ,MAAA,CAAA,CAAC;AAC7D,QAAA,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;AACvB,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA,MAAA,CAAQ,CAAC;;AAEnC,QAAA,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5C,GAAG,CAAC,aAAa,EAAE;AACnB,QAAA,OAAO,IAAI;;IAGL,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW;YAAE;AAEzC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,QAAA,IAAI,CAAC;aACF,aAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;AACrD,aAAA,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AACzD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,aAA0B;AACjE,YAAA,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,eAAe,EAAE,WAAW,GAAG,aAA4B;AAC3G,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACb,gBAAA,IAAI,OAAO,CAAC,EAAE,EAAE;AACd,oBAAA,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE;;qBAChB;AACL,oBAAA,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG;;;;;AAK3B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;AACzE,YAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;AACrB,gBAAA,MAAM,aAAa,GAAI,IAAI,CAAC,SAAuB,EAAE,cAA6B;AAClF,gBAAA,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,iBAAiB,CAAC,IAAI,IAAI;;AAE5E,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;;AAIpB,IAAA,YAAY,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE;YAC1D;;AAEF,QAAA,IAAI,CAAC,OAAO;AACV,YAAA,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO;AAChH,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM;AACrC,QAAA,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACpD,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;;QAG5D,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAElG,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;IAG1B,YAAY,GAAA;AACV,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa;AAC5C,QAAA,MAAM,GAAG,GAAG,CAAG,EAAA,SAAS,cAAc;AACtC,QAAA,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;;aACrB;YACL,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC;;;IAIjC,kBAAkB,GAAA;QAChB,IAAI,CAAC,YAAY,EAAE;;IAGrB,WAAW,GAAA;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;AAC3C,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;;;IAI/B,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;AAC3B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;gBAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAQ,CAAC;AAC3C,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACvB,aAAC,CAAC;;;uGAlLK,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAkCF,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EACvD,gBAAgB,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAEhB,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACxD,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CACvD,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACxD,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,gBAAgB,CA9CzB,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,+BAAA,EAAA,SAAA,EAAA,+BAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,mBAAmB,CAAC,EAelB,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,OAAO,EACP,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,qOCnE/B,yoDAyCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDcY,+BAA+B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,+BAAA,EAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAHrF,CAAC,UAAU,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKb,WAAW,EAAA,UAAA,EAAA,CAAA;kBAlBvB,SAAS;+BACE,IAAI,EAAA,QAAA,EACJ,IAAI,EAER,IAAA,EAAA;AACJ,wBAAA,yBAAyB,EAAE,cAAc;AACzC,wBAAA,0BAA0B,EAAE,cAAc;AAC1C,wBAAA,wBAAwB,EAAE,WAAW;AACrC,wBAAA,iCAAiC,EAAE,SAAS;AAC5C,wBAAA,iCAAiC,EAAE;qBACpC,EACoB,mBAAA,EAAA,KAAK,EACf,SAAA,EAAA,CAAC,mBAAmB,CAAC,EACpB,UAAA,EAAA,CAAC,UAAU,CAAC,EACP,eAAA,EAAA,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,+BAA+B,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAA,QAAA,EAAA,yoDAAA,EAAA;wDAWxC,OAAO,EAAA,CAAA;sBAAhE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAEtB,eAAe,EAAA,CAAA;sBAD/B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAEiB,cAAc,EAAA,CAAA;sBAA7E,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAapC,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBAEG,KAAK,EAAA,CAAA;sBADR;gBAIQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBAC8E,GAAG,EAAA,CAAA;sBAAjF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;gBACrC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,YAAY,EAAA,CAAA;sBAApB;gBAC+E,IAAI,EAAA,CAAA;sBAAnF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;gBACC,UAAU,EAAA,CAAA;sBAAxF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;gBACG,OAAO,EAAA,CAAA;sBAAtF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;gBACtC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAGlC,EAAE,EAAA,CAAA;sBADL;;;AEzFH,MAAM,UAAU,GAAG,CAAC,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,CAAC;MAM3D,QAAQ,CAAA;uGAAR,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,YAHT,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAHnD,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAnD,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,CAAA,EAAA,CAAA;AAM1D,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,YAHT,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,CAAA,EAAA,CAAA;;2FAG1D,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;AACrF,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;;AAEG;;;;"}
|
package/fesm2022/sg.mjs
CHANGED
|
@@ -5,6 +5,9 @@ import { ResponsiveService } from '@delon/theme';
|
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
|
|
7
7
|
class SGContainerComponent {
|
|
8
|
+
gutter;
|
|
9
|
+
colInCon;
|
|
10
|
+
col;
|
|
8
11
|
get marginValue() {
|
|
9
12
|
return -(this.gutter / 2);
|
|
10
13
|
}
|
|
@@ -14,10 +17,10 @@ class SGContainerComponent {
|
|
|
14
17
|
col: 2
|
|
15
18
|
});
|
|
16
19
|
}
|
|
17
|
-
static
|
|
18
|
-
static
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SGContainerComponent, deps: [{ token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.1.1", type: SGContainerComponent, isStandalone: true, selector: "sg-container, [sg-container]", inputs: { gutter: ["gutter", "gutter", numberAttribute], colInCon: ["sg-container", "colInCon", (v) => (v == null ? null : numberAttribute(v))], col: ["col", "col", (v) => (v == null ? null : numberAttribute(v))] }, host: { properties: { "style.margin-left.px": "marginValue", "style.margin-right.px": "marginValue", "class.ant-row": "true", "class.sg__wrap": "true" } }, exportAs: ["sgContainer"], ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
19
22
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SGContainerComponent, decorators: [{
|
|
21
24
|
type: Component,
|
|
22
25
|
args: [{
|
|
23
26
|
selector: 'sg-container, [sg-container]',
|
|
@@ -31,8 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
31
34
|
},
|
|
32
35
|
preserveWhitespaces: false,
|
|
33
36
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
34
|
-
encapsulation: ViewEncapsulation.None
|
|
35
|
-
standalone: true
|
|
37
|
+
encapsulation: ViewEncapsulation.None
|
|
36
38
|
}]
|
|
37
39
|
}], ctorParameters: () => [{ type: i1.AlainConfigService }], propDecorators: { gutter: [{
|
|
38
40
|
type: Input,
|
|
@@ -47,17 +49,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
47
49
|
|
|
48
50
|
const prefixCls = `sg`;
|
|
49
51
|
class SGComponent {
|
|
52
|
+
el = inject(ElementRef).nativeElement;
|
|
53
|
+
ren = inject(Renderer2);
|
|
54
|
+
rep = inject(ResponsiveService);
|
|
55
|
+
parentComp = inject(SGContainerComponent, { host: true, optional: true });
|
|
56
|
+
clsMap = [];
|
|
57
|
+
inited = false;
|
|
58
|
+
col = null;
|
|
50
59
|
get paddingValue() {
|
|
51
60
|
return this.parentComp.gutter / 2;
|
|
52
61
|
}
|
|
53
62
|
constructor() {
|
|
54
|
-
this.el = inject(ElementRef).nativeElement;
|
|
55
|
-
this.ren = inject(Renderer2);
|
|
56
|
-
this.rep = inject(ResponsiveService);
|
|
57
|
-
this.parentComp = inject(SGContainerComponent, { host: true, optional: true });
|
|
58
|
-
this.clsMap = [];
|
|
59
|
-
this.inited = false;
|
|
60
|
-
this.col = null;
|
|
61
63
|
if (this.parentComp == null) {
|
|
62
64
|
throw new Error(`[sg] must include 'sg-container' component`);
|
|
63
65
|
}
|
|
@@ -80,10 +82,10 @@ class SGComponent {
|
|
|
80
82
|
this.setClass();
|
|
81
83
|
this.inited = true;
|
|
82
84
|
}
|
|
83
|
-
static
|
|
84
|
-
static
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SGComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.1.1", type: SGComponent, isStandalone: true, selector: "sg", inputs: { col: ["col", "col", (v) => (v == null ? null : numberAttribute(v))] }, host: { properties: { "style.padding-left.px": "paddingValue", "style.padding-right.px": "paddingValue" } }, exportAs: ["sg"], usesOnChanges: true, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
85
87
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SGComponent, decorators: [{
|
|
87
89
|
type: Component,
|
|
88
90
|
args: [{
|
|
89
91
|
selector: 'sg',
|
|
@@ -95,8 +97,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
95
97
|
},
|
|
96
98
|
preserveWhitespaces: false,
|
|
97
99
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
98
|
-
encapsulation: ViewEncapsulation.None
|
|
99
|
-
standalone: true
|
|
100
|
+
encapsulation: ViewEncapsulation.None
|
|
100
101
|
}]
|
|
101
102
|
}], ctorParameters: () => [], propDecorators: { col: [{
|
|
102
103
|
type: Input,
|
|
@@ -105,11 +106,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
105
106
|
|
|
106
107
|
const COMPONENTS = [SGContainerComponent, SGComponent];
|
|
107
108
|
class SGModule {
|
|
108
|
-
static
|
|
109
|
-
static
|
|
110
|
-
static
|
|
109
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SGModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
110
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.1", ngImport: i0, type: SGModule, imports: [CommonModule, SGContainerComponent, SGComponent], exports: [SGContainerComponent, SGComponent] });
|
|
111
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SGModule, imports: [CommonModule] });
|
|
111
112
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: SGModule, decorators: [{
|
|
113
114
|
type: NgModule,
|
|
114
115
|
args: [{
|
|
115
116
|
imports: [CommonModule, ...COMPONENTS],
|
package/fesm2022/sg.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sg.mjs","sources":["../../../../packages/abc/sg/sg-container.component.ts","../../../../packages/abc/sg/sg.component.ts","../../../../packages/abc/sg/sg.module.ts","../../../../packages/abc/sg/sg.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, numberAttribute } from '@angular/core';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\n\n@Component({\n selector: 'sg-container, [sg-container]',\n exportAs: 'sgContainer',\n template: ` <ng-content /> `,\n host: {\n '[style.margin-left.px]': 'marginValue',\n '[style.margin-right.px]': 'marginValue',\n '[class.ant-row]': 'true',\n '[class.sg__wrap]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None
|
|
1
|
+
{"version":3,"file":"sg.mjs","sources":["../../../../packages/abc/sg/sg-container.component.ts","../../../../packages/abc/sg/sg.component.ts","../../../../packages/abc/sg/sg.module.ts","../../../../packages/abc/sg/sg.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, numberAttribute } from '@angular/core';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\n\n@Component({\n selector: 'sg-container, [sg-container]',\n exportAs: 'sgContainer',\n template: ` <ng-content /> `,\n host: {\n '[style.margin-left.px]': 'marginValue',\n '[style.margin-right.px]': 'marginValue',\n '[class.ant-row]': 'true',\n '[class.sg__wrap]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SGContainerComponent {\n @Input({ transform: numberAttribute }) gutter!: number;\n @Input({ alias: 'sg-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n colInCon?: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col!: REP_TYPE;\n\n get marginValue(): number {\n return -(this.gutter / 2);\n }\n\n constructor(configSrv: AlainConfigService) {\n configSrv.attach(this, 'sg', {\n gutter: 32,\n col: 2\n });\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n ViewEncapsulation,\n inject,\n numberAttribute\n} from '@angular/core';\n\nimport { ResponsiveService } from '@delon/theme';\n\nimport { SGContainerComponent } from './sg-container.component';\n\nconst prefixCls = `sg`;\n\n@Component({\n selector: 'sg',\n exportAs: 'sg',\n template: ` <ng-content /> `,\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SGComponent implements OnChanges, AfterViewInit {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ren = inject(Renderer2);\n private readonly rep = inject(ResponsiveService);\n private readonly parentComp = inject(SGContainerComponent, { host: true, optional: true })!;\n\n private clsMap: string[] = [];\n private inited = false;\n\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col: number | null = null;\n\n get paddingValue(): number {\n return this.parentComp.gutter / 2;\n }\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[sg] must include 'sg-container' component`);\n }\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col } = this;\n const parent = this.parentComp;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const parentCol = parent.colInCon || parent.col;\n clsMap.push(...this.rep.genCls(col != null ? col : parentCol, parentCol), `${prefixCls}__item`);\n clsMap.forEach(cls => ren.addClass(el, cls));\n return this;\n }\n\n ngOnChanges(): void {\n if (this.inited) this.setClass();\n }\n\n ngAfterViewInit(): void {\n this.setClass();\n this.inited = true;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SGContainerComponent } from './sg-container.component';\nimport { SGComponent } from './sg.component';\n\nconst COMPONENTS = [SGContainerComponent, SGComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SGModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAmBa,oBAAoB,CAAA;AACQ,IAAA,MAAM;AAE7C,IAAA,QAAQ;AACuE,IAAA,GAAG;AAElF,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;;AAG3B,IAAA,WAAA,CAAY,SAA6B,EAAA;AACvC,QAAA,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE;AAC3B,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,GAAG,EAAE;AACN,SAAA,CAAC;;uGAdO,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EACX,eAAe,CACQ,EAAA,QAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAE9E,EAAA,GAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAAA,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAfjE,CAAkB,gBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAWjB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,CAAkB,gBAAA,CAAA;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,wBAAwB,EAAE,aAAa;AACvC,wBAAA,yBAAyB,EAAE,aAAa;AACxC,wBAAA,iBAAiB,EAAE,MAAM;AACzB,wBAAA,kBAAkB,EAAE;AACrB,qBAAA;AACD,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC;AAClC,iBAAA;uFAEwC,MAAM,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAErC,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;gBAErB,GAAG,EAAA,CAAA;sBAAjF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;;;ACN/E,MAAM,SAAS,GAAG,CAAA,EAAA,CAAI;MAcT,WAAW,CAAA;AACL,IAAA,EAAE,GAAgB,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa;AAClD,IAAA,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AACvB,IAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,IAAA,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;IAEnF,MAAM,GAAa,EAAE;IACrB,MAAM,GAAG,KAAK;IAEyD,GAAG,GAAkB,IAAI;AAExG,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;;AAGnC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,0CAAA,CAA4C,CAAC;;;IAIzD,QAAQ,GAAA;QACd,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;AAC9B,QAAA,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC/C,QAAA,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG;AAC/C,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,CAAA,EAAG,SAAS,CAAA,MAAA,CAAQ,CAAC;AAC/F,QAAA,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5C,QAAA,OAAO,IAAI;;IAGb,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,EAAE;;IAGlC,eAAe,GAAA;QACb,IAAI,CAAC,QAAQ,EAAE;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;uGAtCT,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EASF,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,IAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlBjE,CAAkB,gBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FASjB,WAAW,EAAA,UAAA,EAAA,CAAA;kBAZvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,CAAkB,gBAAA,CAAA;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,yBAAyB,EAAE,cAAc;AACzC,wBAAA,0BAA0B,EAAE;AAC7B,qBAAA;AACD,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC;AAClC,iBAAA;wDAUgF,GAAG,EAAA,CAAA;sBAAjF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,CAAU,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;;;AClC/E,MAAM,UAAU,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC;MAMzC,QAAQ,CAAA;uGAAR,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAR,QAAQ,EAAA,OAAA,EAAA,CAHT,YAAY,EAHJ,oBAAoB,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CAAjC,oBAAoB,EAAE,WAAW,CAAA,EAAA,CAAA;AAMxC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,YAHT,YAAY,CAAA,EAAA,CAAA;;2FAGX,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC;AACtC,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACXD;;AAEG;;;;"}
|