@ng-nest/ui 20.0.6 → 20.1.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-complete/index.d.ts +72 -9
- package/base-form/index.d.ts +3 -3
- package/calendar/index.d.ts +1 -2
- package/cascade/index.d.ts +48 -8
- package/checkbox/index.d.ts +4 -4
- package/color-picker/index.d.ts +49 -8
- package/core/index.d.ts +68 -6
- package/date-picker/index.d.ts +82 -12
- package/dropdown/index.d.ts +4 -4
- package/fesm2022/ng-nest-ui-affix.mjs +12 -12
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +35 -35
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +31 -31
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +7 -7
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +108 -62
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +31 -31
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +18 -18
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +23 -23
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +45 -45
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +42 -42
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +20 -20
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +15 -15
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +46 -46
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +92 -76
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +39 -39
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +31 -31
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +95 -71
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +16 -16
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +21 -21
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +37 -37
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +38 -22
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +13 -13
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +284 -254
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +31 -31
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +81 -81
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +7 -7
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drawer.mjs +42 -42
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +49 -49
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +12 -12
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +7 -7
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +79 -77
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +33 -33
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +20 -20
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +15 -15
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +21 -21
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +39 -39
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -11
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +47 -42
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +106 -80
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +15 -15
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +31 -31
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +18 -18
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +80 -80
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +22 -22
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +45 -45
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +10 -10
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs +10 -10
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-outlet.mjs +9 -9
- package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-page-header.mjs +15 -15
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +53 -53
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +27 -27
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +38 -38
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-progress.mjs +38 -38
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +36 -36
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +30 -30
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +16 -16
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +16 -16
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-scrollable.mjs +219 -0
- package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -0
- package/fesm2022/ng-nest-ui-select.mjs +125 -110
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +15 -15
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +54 -54
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +39 -39
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +30 -30
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +19 -19
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +26 -26
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table-view.mjs +593 -0
- package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -0
- package/fesm2022/ng-nest-ui-table.mjs +222 -222
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +58 -58
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +22 -22
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +15 -15
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +45 -40
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +23 -23
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +113 -92
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-timeline.mjs +15 -15
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +38 -38
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +40 -40
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +28 -28
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +147 -110
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +107 -107
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +13 -13
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +37 -37
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2022/ng-nest-ui.mjs +2 -0
- package/fesm2022/ng-nest-ui.mjs.map +1 -1
- package/find/index.d.ts +5 -5
- package/form/index.d.ts +1 -1
- package/index.d.ts +2 -0
- package/input/index.d.ts +47 -5
- package/input-number/index.d.ts +22 -7
- package/list/index.d.ts +2 -2
- package/message-box/index.d.ts +4 -5
- package/package.json +28 -20
- package/radio/index.d.ts +4 -4
- package/rate/index.d.ts +5 -5
- package/scrollable/index.d.ts +49 -0
- package/select/index.d.ts +53 -8
- package/slider-select/index.d.ts +3 -3
- package/steps/index.d.ts +1 -2
- package/switch/index.d.ts +3 -3
- package/table-view/index.d.ts +148 -0
- package/textarea/index.d.ts +20 -5
- package/theme/index.d.ts +1 -1
- package/time-picker/index.d.ts +53 -8
- package/transfer/index.d.ts +1 -1
- package/tree-select/index.d.ts +70 -9
- package/upload/index.d.ts +2 -2
|
@@ -29,47 +29,47 @@ class XDrawerProperty extends XPropertyFunction(X_DRAWER_CONFIG_NAME) {
|
|
|
29
29
|
* @zh_CN 标题
|
|
30
30
|
* @en_US Title
|
|
31
31
|
*/
|
|
32
|
-
this.title = input();
|
|
32
|
+
this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
|
|
33
33
|
/**
|
|
34
34
|
* @zh_CN 显示/隐藏
|
|
35
35
|
* @en_US Show/hide
|
|
36
36
|
*/
|
|
37
|
-
this.visible = model(false);
|
|
37
|
+
this.visible = model(false, ...(ngDevMode ? [{ debugName: "visible" }] : []));
|
|
38
38
|
/**
|
|
39
39
|
* @zh_CN 展示方向
|
|
40
40
|
* @en_US Display direction
|
|
41
41
|
*/
|
|
42
|
-
this.placement = input(this.config?.placement ?? 'right');
|
|
42
|
+
this.placement = input(this.config?.placement ?? 'right', ...(ngDevMode ? [{ debugName: "placement" }] : []));
|
|
43
43
|
/**
|
|
44
44
|
* @zh_CN 尺寸,支持固定值
|
|
45
45
|
* @en_US Size, supports fixed value
|
|
46
46
|
*/
|
|
47
|
-
this.size = input(this.config?.size ?? '30%', { transform: XToCssPixelValue });
|
|
47
|
+
this.size = input(this.config?.size ?? '30%', ...(ngDevMode ? [{ debugName: "size", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
|
|
48
48
|
/**
|
|
49
49
|
* @zh_CN 点击遮罩关闭
|
|
50
50
|
* @en_US Click the mask to close
|
|
51
51
|
*/
|
|
52
|
-
this.backdropClose = input(this.config?.backdropClose ?? true, { transform: XToBoolean });
|
|
52
|
+
this.backdropClose = input(this.config?.backdropClose ?? true, ...(ngDevMode ? [{ debugName: "backdropClose", transform: XToBoolean }] : [{ transform: XToBoolean }]));
|
|
53
53
|
/**
|
|
54
54
|
* @zh_CN 是否显示背景遮罩
|
|
55
55
|
* @en_US Whether to display the background mask
|
|
56
56
|
*/
|
|
57
|
-
this.hasBackdrop = input(this.config?.hasBackdrop ?? true, { transform: XToBoolean });
|
|
57
|
+
this.hasBackdrop = input(this.config?.hasBackdrop ?? true, ...(ngDevMode ? [{ debugName: "hasBackdrop", transform: XToBoolean }] : [{ transform: XToBoolean }]));
|
|
58
58
|
/**
|
|
59
59
|
* @zh_CN 自定义样式名
|
|
60
60
|
* @en_US Custom style name
|
|
61
61
|
*/
|
|
62
|
-
this.className = input(this.config?.className ?? '');
|
|
62
|
+
this.className = input(this.config?.className ?? '', ...(ngDevMode ? [{ debugName: "className" }] : []));
|
|
63
63
|
/**
|
|
64
64
|
* @zh_CN 关闭的事件
|
|
65
65
|
* @en_US Closed event
|
|
66
66
|
*/
|
|
67
67
|
this.close = output();
|
|
68
68
|
}
|
|
69
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
70
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.
|
|
69
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XDrawerProperty, isStandalone: true, selector: "x-drawer-property", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, backdropClose: { classPropertyName: "backdropClose", publicName: "backdropClose", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange", close: "close" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerProperty, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{ selector: `${XDrawerPrefix}-property`, template: '' }]
|
|
75
75
|
}] });
|
|
@@ -84,10 +84,10 @@ const X_DRAWER_CONTAINER = new InjectionToken('X_DRAWER_CONTAINER');
|
|
|
84
84
|
* Drawer Container Property
|
|
85
85
|
*/
|
|
86
86
|
class XDrawerContainerProperty extends XProperty {
|
|
87
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
88
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
87
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerContainerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", type: XDrawerContainerProperty, isStandalone: true, selector: "x-drawer-container-property", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
89
89
|
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerContainerProperty, decorators: [{
|
|
91
91
|
type: Component,
|
|
92
92
|
args: [{ selector: `${XDrawerContainerPrefix}-property`, template: '' }]
|
|
93
93
|
}] });
|
|
@@ -102,20 +102,20 @@ class XDrawerComponent extends XDrawerProperty {
|
|
|
102
102
|
this.back$ = null;
|
|
103
103
|
this.width = computed(() => {
|
|
104
104
|
return ['left', 'right'].includes(this.placement()) ? this.size() : '100%';
|
|
105
|
-
});
|
|
105
|
+
}, ...(ngDevMode ? [{ debugName: "width" }] : []));
|
|
106
106
|
this.height = computed(() => {
|
|
107
107
|
return ['top', 'bottom'].includes(this.placement()) ? this.size() : '100%';
|
|
108
|
-
});
|
|
108
|
+
}, ...(ngDevMode ? [{ debugName: "height" }] : []));
|
|
109
109
|
this.overlay = inject(Overlay);
|
|
110
110
|
this.portalService = inject(XPortalService);
|
|
111
111
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
112
112
|
this.unSubject = new Subject();
|
|
113
113
|
this.container = inject(X_DRAWER_CONTAINER, { optional: true });
|
|
114
|
-
this.hasContainer = signal(false);
|
|
114
|
+
this.hasContainer = signal(false, ...(ngDevMode ? [{ debugName: "hasContainer" }] : []));
|
|
115
115
|
this.classMap = computed(() => ({
|
|
116
116
|
[`${XDrawerPrefix}-${this.placement()}`]: !XIsEmpty(this.placement()),
|
|
117
117
|
[`${XDrawerPrefix}-no-title`]: XIsEmpty(this.title())
|
|
118
|
-
}));
|
|
118
|
+
}), ...(ngDevMode ? [{ debugName: "classMap" }] : []));
|
|
119
119
|
this.visibleChanged = toObservable(this.visible);
|
|
120
120
|
this.visibleChanged.pipe(takeUntil(this.unSubject)).subscribe(() => this.setVisible());
|
|
121
121
|
}
|
|
@@ -165,10 +165,10 @@ class XDrawerComponent extends XDrawerProperty {
|
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
169
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
168
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
169
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XDrawerComponent, isStandalone: true, selector: "x-drawer", host: { properties: { "class.x-drawer-visible": "this.getVisible" } }, viewQueries: [{ propertyName: "drawerTpl", first: true, predicate: ["drawerTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #drawerTpl>\r\n @if (hasContainer() && hasBackdrop()) {\r\n <div class=\"x-drawer-backdrop\" (click)=\"closePortal()\"></div>\r\n }\r\n <div\r\n class=\"x-drawer\"\r\n [ngClass]=\"classMap()\"\r\n [style.width]=\"hasContainer() ? width() : '100%'\"\r\n [style.height]=\"hasContainer() ? height() : '100%'\"\r\n [class.x-drawer-visible]=\"visible()\"\r\n [@x-slide-animation]=\"placement()\"\r\n >\r\n @if (title()) {\r\n <div class=\"x-drawer-header\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </div>\r\n <x-button\r\n size=\"small\"\r\n class=\"x-drawer-close\"\r\n icon=\"fto-x\"\r\n type=\"text\"\r\n (click)=\"closePortal()\"\r\n closable\r\n ></x-button>\r\n </div>\r\n }\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n@if (hasContainer()) {\r\n <ng-container *ngTemplateOutlet=\"drawerTpl\"></ng-container>\r\n}\r\n", styles: [".x-drawer{margin:0;padding:0}.x-drawer{background-color:var(--x-background);position:relative;box-shadow:var(--x-box-shadow)}.x-drawer-header{padding:1rem 1rem .5rem}.x-drawer-title{font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-drawer-close{position:absolute;top:.425rem;right:.425rem}.x-drawer-title{padding:0}.x-drawer-content{padding:0 1rem 1rem;height:calc(100% - 3rem);overflow:auto}.x-drawer-no-title .x-drawer-content{padding:.5rem 1rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }], animations: [XSlideAnimation, XOpacityAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
170
170
|
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerComponent, decorators: [{
|
|
172
172
|
type: Component,
|
|
173
173
|
args: [{ selector: `${XDrawerPrefix}`, imports: [NgClass, NgTemplateOutlet, XOutletDirective, XButtonComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XSlideAnimation, XOpacityAnimation], template: "<ng-template #drawerTpl>\r\n @if (hasContainer() && hasBackdrop()) {\r\n <div class=\"x-drawer-backdrop\" (click)=\"closePortal()\"></div>\r\n }\r\n <div\r\n class=\"x-drawer\"\r\n [ngClass]=\"classMap()\"\r\n [style.width]=\"hasContainer() ? width() : '100%'\"\r\n [style.height]=\"hasContainer() ? height() : '100%'\"\r\n [class.x-drawer-visible]=\"visible()\"\r\n [@x-slide-animation]=\"placement()\"\r\n >\r\n @if (title()) {\r\n <div class=\"x-drawer-header\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </div>\r\n <x-button\r\n size=\"small\"\r\n class=\"x-drawer-close\"\r\n icon=\"fto-x\"\r\n type=\"text\"\r\n (click)=\"closePortal()\"\r\n closable\r\n ></x-button>\r\n </div>\r\n }\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n@if (hasContainer()) {\r\n <ng-container *ngTemplateOutlet=\"drawerTpl\"></ng-container>\r\n}\r\n", styles: [".x-drawer{margin:0;padding:0}.x-drawer{background-color:var(--x-background);position:relative;box-shadow:var(--x-box-shadow)}.x-drawer-header{padding:1rem 1rem .5rem}.x-drawer-title{font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-drawer-close{position:absolute;top:.425rem;right:.425rem}.x-drawer-title{padding:0}.x-drawer-content{padding:0 1rem 1rem;height:calc(100% - 3rem);overflow:auto}.x-drawer-no-title .x-drawer-content{padding:.5rem 1rem}\n"] }]
|
|
174
174
|
}], ctorParameters: () => [], propDecorators: { getVisible: [{
|
|
@@ -201,10 +201,10 @@ class XDrawerPortalComponent extends BasePortalOutlet {
|
|
|
201
201
|
}
|
|
202
202
|
return this.portalOutlet().attachTemplatePortal(portal);
|
|
203
203
|
}
|
|
204
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
205
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.
|
|
204
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerPortalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
205
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.2.4", type: XDrawerPortalComponent, isStandalone: true, selector: "x-drawer-portal", host: { listeners: { "@x-slide-animation.done": "done($event)", "@x-slide-animation.start": "start($event)" }, properties: { "class.x-drawer-portal": "this._has", "@x-slide-animation": "this.placement" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".x-drawer-portal{margin:0;padding:0}.x-drawer-portal{height:100%;width:100%;background-color:var(--x-background-100);position:relative;box-shadow:var(--x-box-shadow);overflow:auto;padding:1rem}.x-drawer-portal-title{display:block;margin:0 0 .5rem;font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-drawer-portal-content{display:block;margin:0 -1rem;padding:0 1rem;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [XSlideAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
206
206
|
}
|
|
207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
207
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerPortalComponent, decorators: [{
|
|
208
208
|
type: Component,
|
|
209
209
|
args: [{ selector: 'x-drawer-portal', imports: [PortalModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XSlideAnimation], template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".x-drawer-portal{margin:0;padding:0}.x-drawer-portal{height:100%;width:100%;background-color:var(--x-background-100);position:relative;box-shadow:var(--x-box-shadow);overflow:auto;padding:1rem}.x-drawer-portal-title{display:block;margin:0 0 .5rem;font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-drawer-portal-content{display:block;margin:0 -1rem;padding:0 1rem;overflow:auto}\n"] }]
|
|
210
210
|
}], propDecorators: { _has: [{
|
|
@@ -244,10 +244,10 @@ class XDrawerCloseDirective {
|
|
|
244
244
|
onCloseClick() {
|
|
245
245
|
this.drawerRef && this.drawerRef.close();
|
|
246
246
|
}
|
|
247
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
248
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
247
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
248
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.4", type: XDrawerCloseDirective, isStandalone: true, selector: "[x-drawer-close]", host: { listeners: { "click": "onCloseClick($event)" } }, ngImport: i0 }); }
|
|
249
249
|
}
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerCloseDirective, decorators: [{
|
|
251
251
|
type: Directive,
|
|
252
252
|
args: [{
|
|
253
253
|
selector: `[x-drawer-close]`
|
|
@@ -260,10 +260,10 @@ class XDrawerTitleDirective {
|
|
|
260
260
|
constructor() {
|
|
261
261
|
this._has = true;
|
|
262
262
|
}
|
|
263
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
264
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
263
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
264
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.4", type: XDrawerTitleDirective, isStandalone: true, selector: "[x-drawer-title]", host: { properties: { "class.x-drawer-portal-title": "this._has" } }, ngImport: i0 }); }
|
|
265
265
|
}
|
|
266
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
266
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerTitleDirective, decorators: [{
|
|
267
267
|
type: Directive,
|
|
268
268
|
args: [{
|
|
269
269
|
selector: `[x-drawer-title]`
|
|
@@ -276,10 +276,10 @@ class XDrawerContentDirective {
|
|
|
276
276
|
constructor() {
|
|
277
277
|
this._has = true;
|
|
278
278
|
}
|
|
279
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
280
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
279
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
280
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.4", type: XDrawerContentDirective, isStandalone: true, selector: "[x-drawer-content], x-drawer-content", host: { properties: { "class.x-drawer-portal-content": "this._has" } }, ngImport: i0 }); }
|
|
281
281
|
}
|
|
282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerContentDirective, decorators: [{
|
|
283
283
|
type: Directive,
|
|
284
284
|
args: [{
|
|
285
285
|
selector: `[x-drawer-content], x-drawer-content`
|
|
@@ -294,15 +294,15 @@ class XDrawerContainerComponent extends XDrawerContainerProperty {
|
|
|
294
294
|
super(...arguments);
|
|
295
295
|
this.className = XDrawerContainerPrefix;
|
|
296
296
|
}
|
|
297
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
298
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
297
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
298
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", type: XDrawerContainerComponent, isStandalone: true, selector: "x-drawer-container", host: { properties: { "class": "this.className" } }, providers: [
|
|
299
299
|
{
|
|
300
300
|
provide: X_DRAWER_CONTAINER,
|
|
301
301
|
useExisting: XDrawerContainerComponent
|
|
302
302
|
}
|
|
303
303
|
], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [".x-drawer-container{margin:0;padding:0}.x-drawer-container{position:relative;z-index:1;box-sizing:border-box;display:block;overflow:hidden}.x-drawer-container .x-drawer{position:absolute;display:block;outline:0;z-index:2;transition:transform .2s ease-in,visibility .2s ease-in;visibility:hidden}.x-drawer-container .x-drawer-left{transform:translate3d(-100%,0,0);left:0;top:0}.x-drawer-container .x-drawer-right{transform:translate3d(100%,0,0);right:0;top:0}.x-drawer-container .x-drawer-top{transform:translate3d(0,-100%,0);top:0;left:0}.x-drawer-container .x-drawer-bottom{transform:translate3d(0,100%,0);bottom:0;left:0}.x-drawer-container .x-drawer-visible{transform:translateZ(0);visibility:inherit}.x-drawer-container .x-drawer-visible .x-drawer-backdrop{opacity:1;z-index:1}.x-drawer-container .x-drawer-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:auto;background:#00000052;transition:opacity .4s cubic-bezier(.25,.8,.25,1),z-index 0 ease-in .4s;opacity:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
304
304
|
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerContainerComponent, decorators: [{
|
|
306
306
|
type: Component,
|
|
307
307
|
args: [{ selector: XDrawerContainerPrefix, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
308
308
|
{
|
|
@@ -316,8 +316,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
316
316
|
}] } });
|
|
317
317
|
|
|
318
318
|
class XDrawerModule {
|
|
319
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
320
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.
|
|
319
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
320
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: XDrawerModule, imports: [XDrawerComponent,
|
|
321
321
|
XDrawerCloseDirective,
|
|
322
322
|
XDrawerTitleDirective,
|
|
323
323
|
XDrawerContentDirective,
|
|
@@ -326,9 +326,9 @@ class XDrawerModule {
|
|
|
326
326
|
XDrawerTitleDirective,
|
|
327
327
|
XDrawerContentDirective,
|
|
328
328
|
XDrawerContainerComponent] }); }
|
|
329
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.
|
|
329
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerModule, imports: [XDrawerComponent] }); }
|
|
330
330
|
}
|
|
331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerModule, decorators: [{
|
|
332
332
|
type: NgModule,
|
|
333
333
|
args: [{
|
|
334
334
|
exports: [
|
|
@@ -396,10 +396,10 @@ class XDrawerService {
|
|
|
396
396
|
});
|
|
397
397
|
return drawerRef;
|
|
398
398
|
}
|
|
399
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
400
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
399
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
400
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerService, providedIn: 'root' }); }
|
|
401
401
|
}
|
|
402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
402
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDrawerService, decorators: [{
|
|
403
403
|
type: Injectable,
|
|
404
404
|
args: [{ providedIn: 'root' }]
|
|
405
405
|
}], ctorParameters: () => [] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-drawer.mjs","sources":["../../../../lib/ng-nest/ui/drawer/drawer.property.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.html","../../../../lib/ng-nest/ui/drawer/drawer-portal.component.ts","../../../../lib/ng-nest/ui/drawer/drawer-portal.component.html","../../../../lib/ng-nest/ui/drawer/drawer-ref.ts","../../../../lib/ng-nest/ui/drawer/drawer-portal.directives.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.component.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.component.html","../../../../lib/ng-nest/ui/drawer/drawer.module.ts","../../../../lib/ng-nest/ui/drawer/drawer.service.ts","../../../../lib/ng-nest/ui/drawer/ng-nest-ui-drawer.ts"],"sourcesContent":["import { XPropertyFunction, XProperty, XToCssPixelValue, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, InjectionToken, ViewContainerRef, input, model, output } from '@angular/core';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\nimport type { XDrawerRef } from './drawer-ref';\r\nimport type { XTemplate, XPosition, XBoolean, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Drawer\r\n * @selector x-drawer\r\n * @decorator component\r\n */\r\nexport const XDrawerPrefix = 'x-drawer';\r\nexport const X_DRAWER_CONFIG_NAME = 'drawer';\r\nexport const X_DRAWER_DATA = new InjectionToken<any>('XDrawerData');\r\n\r\n/**\r\n * Drawer Property\r\n */\r\n@Component({ selector: `${XDrawerPrefix}-property`, template: '' })\r\nexport class XDrawerProperty extends XPropertyFunction(X_DRAWER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n readonly title = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n */\r\n readonly placement = input<XPosition>(this.config?.placement ?? 'right');\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n */\r\n readonly size = input<string, XNumber>(this.config?.size ?? '30%', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n readonly backdropClose = input<boolean, XBoolean>(this.config?.backdropClose ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n readonly hasBackdrop = input<boolean, XBoolean>(this.config?.hasBackdrop ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n readonly className = input<string>(this.config?.className ?? '');\r\n /**\r\n * @zh_CN 关闭的事件\r\n * @en_US Closed event\r\n */\r\n readonly close = output();\r\n}\r\n\r\n/**\r\n * Drawer Option\r\n */\r\nexport interface XDrawerOption {\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n * @default 'right'\r\n * @withConfig true\r\n */\r\n placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n * @default '30%'\r\n * @withConfig true\r\n */\r\n size?: string;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n * @default true\r\n * @withConfig true\r\n */\r\n hasBackdrop?: boolean;\r\n /**\r\n * @zh_CN 数据,通过 \"@Inject(X_DRAWER_DATA)\" 来接收数据\r\n * @en_US Data. Receive data by \"@Inject(X_DRAWER_DATA)\"\r\n */\r\n data?: any;\r\n /**\r\n * @zh_CN 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\n/**\r\n * Drawer Container\r\n * @selector x-drawer-container\r\n * @decorator component\r\n */\r\nexport const XDrawerContainerPrefix = 'x-drawer-container';\r\nexport const X_DRAWER_CONTAINER = new InjectionToken('X_DRAWER_CONTAINER');\r\n\r\n/**\r\n * Drawer Container Property\r\n */\r\n@Component({ selector: `${XDrawerContainerPrefix}-property`, template: '' })\r\nexport class XDrawerContainerProperty extends XProperty {}\r\n\r\n/**\r\n * @zh_CN 创建的抽屉对象\r\n * @en_US Drawer object created\r\n */\r\nexport interface XDrawerPortalOverlayRef extends XPortalOverlayRef<XDrawerPortalComponent> {\r\n drawerRef?: XDrawerRef<any>;\r\n}\r\n\r\n/**\r\n * @zh_CN 抽屉动画状态\r\n * @en_US Drawer animation status\r\n */\r\nexport type XDrawerAnimationState = XPosition | 'void';\r\n\r\n/**\r\n * @zh_CN 抽屉动画事件\r\n * @en_US Drawer animation event\r\n */\r\nexport interface XDrawerAnimationEvent {\r\n state: XDrawerAnimationState;\r\n action: 'start' | 'done';\r\n totalTime: number;\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n TemplateRef,\r\n ViewContainerRef,\r\n HostBinding,\r\n inject,\r\n OnDestroy,\r\n computed,\r\n signal,\r\n AfterViewInit,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XDrawerPrefix, XDrawerProperty, X_DRAWER_CONTAINER } from './drawer.property';\r\nimport { XIsEmpty, XOpacityAnimation, XSlideAnimation } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { Subject, Subscription, takeUntil } from 'rxjs';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XDrawerPrefix}`,\r\n imports: [NgClass, NgTemplateOutlet, XOutletDirective, XButtonComponent],\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation, XOpacityAnimation]\r\n})\r\nexport class XDrawerComponent extends XDrawerProperty implements AfterViewInit, OnDestroy {\r\n @HostBinding('class.x-drawer-visible') get getVisible() {\r\n return this.visible();\r\n }\r\n drawerTpl = viewChild.required<TemplateRef<void>>('drawerTpl');\r\n portal!: XPortalOverlayRef<any>;\r\n back$: Subscription | null = null;\r\n width = computed(() => {\r\n return ['left', 'right'].includes(this.placement()) ? this.size() : '100%';\r\n });\r\n height = computed(() => {\r\n return ['top', 'bottom'].includes(this.placement()) ? this.size() : '100%';\r\n });\r\n\r\n private overlay = inject(Overlay);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private unSubject = new Subject<void>();\r\n container = inject<XDrawerContainerComponent>(X_DRAWER_CONTAINER, { optional: true });\r\n hasContainer = signal(false);\r\n classMap = computed(() => ({\r\n [`${XDrawerPrefix}-${this.placement()}`]: !XIsEmpty(this.placement()),\r\n [`${XDrawerPrefix}-no-title`]: XIsEmpty(this.title())\r\n }));\r\n visibleChanged = toObservable(this.visible);\r\n\r\n constructor() {\r\n super();\r\n this.visibleChanged.pipe(takeUntil(this.unSubject)).subscribe(() => this.setVisible());\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.hasContainer.set(!!this.container);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.back$?.unsubscribe();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible()) {\r\n this.createPortal();\r\n } else {\r\n this.closePortal();\r\n }\r\n }\r\n\r\n createPortal() {\r\n if (this.hasContainer()) return;\r\n this.portal = this.portalService.attach({\r\n content: this.drawerTpl(),\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: this.className(),\r\n hasBackdrop: this.hasBackdrop(),\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n positionStrategy: this.portalService.setPosition(this.placement(), this.width(), this.height())\r\n }\r\n });\r\n if (this.portal.overlayRef && this.backdropClose()) {\r\n this.back$ = this.portal.overlayRef.backdropClick().subscribe(() => this.closePortal());\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.container) {\r\n this.close.emit();\r\n } else {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.back$?.unsubscribe();\r\n this.close.emit();\r\n }\r\n }\r\n }\r\n}\r\n","<ng-template #drawerTpl>\r\n @if (hasContainer() && hasBackdrop()) {\r\n <div class=\"x-drawer-backdrop\" (click)=\"closePortal()\"></div>\r\n }\r\n <div\r\n class=\"x-drawer\"\r\n [ngClass]=\"classMap()\"\r\n [style.width]=\"hasContainer() ? width() : '100%'\"\r\n [style.height]=\"hasContainer() ? height() : '100%'\"\r\n [class.x-drawer-visible]=\"visible()\"\r\n [@x-slide-animation]=\"placement()\"\r\n >\r\n @if (title()) {\r\n <div class=\"x-drawer-header\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </div>\r\n <x-button\r\n size=\"small\"\r\n class=\"x-drawer-close\"\r\n icon=\"fto-x\"\r\n type=\"text\"\r\n (click)=\"closePortal()\"\r\n closable\r\n ></x-button>\r\n </div>\r\n }\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n@if (hasContainer()) {\r\n <ng-container *ngTemplateOutlet=\"drawerTpl\"></ng-container>\r\n}\r\n","import { BasePortalOutlet, PortalModule, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n ViewEncapsulation,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XSlideAnimation } from '@ng-nest/ui/core';\r\nimport { XDrawerAnimationEvent, XDrawerAnimationState } from './drawer.property';\r\nimport { AnimationEvent } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'x-drawer-portal',\r\n imports: [PortalModule],\r\n templateUrl: './drawer-portal.component.html',\r\n styleUrls: ['./drawer-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerPortalComponent extends BasePortalOutlet {\r\n @HostBinding('class.x-drawer-portal') _has = true;\r\n @HostBinding('@x-slide-animation') public placement?: XDrawerAnimationState;\r\n @HostListener('@x-slide-animation.done', ['$event']) done({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'done', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n @HostListener('@x-slide-animation.start', ['$event']) start({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n portalOutlet = viewChild.required(CdkPortalOutlet);\r\n\r\n animationChanged = new EventEmitter<XDrawerAnimationEvent>();\r\n\r\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n if (this.portalOutlet().hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet().attachComponentPortal(portal);\r\n }\r\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n if (this.portalOutlet().hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet().attachTemplatePortal(portal);\r\n }\r\n}\r\n","<ng-template cdkPortalOutlet></ng-template>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { filter, take } from 'rxjs';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\n\r\n// TODO: add more function\r\nexport class XDrawerRef<C> {\r\n componentInstance!: C;\r\n constructor(\r\n public overlayRef: OverlayRef,\r\n public containerInstance: XDrawerPortalComponent\r\n ) {}\r\n close() {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.state === 'void' && event.action === 'done'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.dispose();\r\n });\r\n this.containerInstance.placement = 'void';\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, inject } from '@angular/core';\r\nimport { XDrawerRef } from './drawer-ref';\r\n\r\n@Directive({\r\n selector: `[x-drawer-close]`\r\n})\r\nexport class XDrawerCloseDirective {\r\n @HostListener('click', ['$event']) onCloseClick() {\r\n this.drawerRef && this.drawerRef.close();\r\n }\r\n drawerRef = inject(XDrawerRef, { optional: true });\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-title]`\r\n})\r\nexport class XDrawerTitleDirective {\r\n @HostBinding('class.x-drawer-portal-title') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-content], x-drawer-content`\r\n})\r\nexport class XDrawerContentDirective {\r\n @HostBinding('class.x-drawer-portal-content') _has = true;\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\r\nimport { XDrawerContainerPrefix, XDrawerContainerProperty, X_DRAWER_CONTAINER } from './drawer.property';\r\n\r\n@Component({\r\n selector: XDrawerContainerPrefix,\r\n templateUrl: './drawer-container.component.html',\r\n styleUrls: ['./drawer-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: X_DRAWER_CONTAINER,\r\n useExisting: XDrawerContainerComponent\r\n }\r\n ]\r\n})\r\nexport class XDrawerContainerComponent extends XDrawerContainerProperty {\r\n @HostBinding('class') className = XDrawerContainerPrefix;\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { XDrawerComponent } from './drawer.component';\r\nimport { XDrawerCloseDirective, XDrawerContentDirective, XDrawerTitleDirective } from './drawer-portal.directives';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\n\r\n@NgModule({\r\n exports: [\r\n XDrawerComponent,\r\n XDrawerCloseDirective,\r\n XDrawerTitleDirective,\r\n XDrawerContentDirective,\r\n XDrawerContainerComponent\r\n ],\r\n imports: [\r\n XDrawerComponent,\r\n XDrawerCloseDirective,\r\n XDrawerTitleDirective,\r\n XDrawerContentDirective,\r\n XDrawerContainerComponent\r\n ]\r\n})\r\nexport class XDrawerModule {}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { Injectable, TemplateRef, inject } from '@angular/core';\r\nimport { XFillDefault, XConfigService, XDrawerConfig } from '@ng-nest/ui/core';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\nimport { XDrawerRef } from './drawer-ref';\r\nimport { XDrawerOption, X_DRAWER_CONFIG_NAME, X_DRAWER_DATA } from './drawer.property';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XDrawerService {\r\n default: XDrawerOption = {\r\n placement: 'right',\r\n size: '30%',\r\n hasBackdrop: true,\r\n backdropClose: true\r\n };\r\n configDefault?: XDrawerConfig;\r\n private portalService = inject(XPortalService);\r\n private configService = inject(XConfigService);\r\n private overlay = inject(Overlay);\r\n\r\n constructor() {\r\n this.configDefault = this.configService.getConfigForComponent(X_DRAWER_CONFIG_NAME);\r\n Object.assign(this.default, this.configDefault);\r\n }\r\n\r\n create<T>(content: TemplateRef<any> | ComponentType<T>, option: XDrawerOption = {}): XDrawerRef<T> {\r\n XFillDefault(option, this.default);\r\n const width = ['left', 'right'].includes(option.placement as string) ? option.size : '100%';\r\n const height = ['top', 'bottom'].includes(option.placement as string) ? option.size : '100%';\r\n const portal = this.portalService.attach<XDrawerPortalComponent>({\r\n content: XDrawerPortalComponent,\r\n viewContainerRef: option.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: option.hasBackdrop,\r\n panelClass: option.className,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n positionStrategy: this.portalService.setPosition(option.placement, width, height)\r\n }\r\n });\r\n const { overlayRef, componentRef } = portal || {};\r\n const { instance } = componentRef! || {};\r\n instance.placement = option.placement;\r\n const drawerRef = new XDrawerRef<T>(overlayRef!, instance);\r\n if (content instanceof TemplateRef) {\r\n instance.attachTemplatePortal(\r\n new TemplatePortal(content, option.viewContainerRef!, { $implicit: option.data, drawerRef: drawerRef })\r\n );\r\n } else {\r\n const injector = this.portalService.createInjector([\r\n { provide: X_DRAWER_DATA, useValue: option.data },\r\n { provide: XDrawerRef, useValue: drawerRef }\r\n ]);\r\n\r\n instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));\r\n }\r\n if (option.hasBackdrop && option.backdropClose && overlayRef)\r\n overlayRef.backdropClick().subscribe(() => {\r\n drawerRef.close();\r\n });\r\n\r\n return drawerRef;\r\n }\r\n}\r\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":"ng-nest-ui-drawer.mjs","sources":["../../../../lib/ng-nest/ui/drawer/drawer.property.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.html","../../../../lib/ng-nest/ui/drawer/drawer-portal.component.ts","../../../../lib/ng-nest/ui/drawer/drawer-portal.component.html","../../../../lib/ng-nest/ui/drawer/drawer-ref.ts","../../../../lib/ng-nest/ui/drawer/drawer-portal.directives.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.component.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.component.html","../../../../lib/ng-nest/ui/drawer/drawer.module.ts","../../../../lib/ng-nest/ui/drawer/drawer.service.ts","../../../../lib/ng-nest/ui/drawer/ng-nest-ui-drawer.ts"],"sourcesContent":["import { XPropertyFunction, XProperty, XToCssPixelValue, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, InjectionToken, ViewContainerRef, input, model, output } from '@angular/core';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\nimport type { XDrawerRef } from './drawer-ref';\r\nimport type { XTemplate, XPosition, XBoolean, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Drawer\r\n * @selector x-drawer\r\n * @decorator component\r\n */\r\nexport const XDrawerPrefix = 'x-drawer';\r\nexport const X_DRAWER_CONFIG_NAME = 'drawer';\r\nexport const X_DRAWER_DATA = new InjectionToken<any>('XDrawerData');\r\n\r\n/**\r\n * Drawer Property\r\n */\r\n@Component({ selector: `${XDrawerPrefix}-property`, template: '' })\r\nexport class XDrawerProperty extends XPropertyFunction(X_DRAWER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n readonly title = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n */\r\n readonly placement = input<XPosition>(this.config?.placement ?? 'right');\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n */\r\n readonly size = input<string, XNumber>(this.config?.size ?? '30%', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n readonly backdropClose = input<boolean, XBoolean>(this.config?.backdropClose ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n readonly hasBackdrop = input<boolean, XBoolean>(this.config?.hasBackdrop ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n readonly className = input<string>(this.config?.className ?? '');\r\n /**\r\n * @zh_CN 关闭的事件\r\n * @en_US Closed event\r\n */\r\n readonly close = output();\r\n}\r\n\r\n/**\r\n * Drawer Option\r\n */\r\nexport interface XDrawerOption {\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n * @default 'right'\r\n * @withConfig true\r\n */\r\n placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n * @default '30%'\r\n * @withConfig true\r\n */\r\n size?: string;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n * @default true\r\n * @withConfig true\r\n */\r\n hasBackdrop?: boolean;\r\n /**\r\n * @zh_CN 数据,通过 \"@Inject(X_DRAWER_DATA)\" 来接收数据\r\n * @en_US Data. Receive data by \"@Inject(X_DRAWER_DATA)\"\r\n */\r\n data?: any;\r\n /**\r\n * @zh_CN 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\n/**\r\n * Drawer Container\r\n * @selector x-drawer-container\r\n * @decorator component\r\n */\r\nexport const XDrawerContainerPrefix = 'x-drawer-container';\r\nexport const X_DRAWER_CONTAINER = new InjectionToken('X_DRAWER_CONTAINER');\r\n\r\n/**\r\n * Drawer Container Property\r\n */\r\n@Component({ selector: `${XDrawerContainerPrefix}-property`, template: '' })\r\nexport class XDrawerContainerProperty extends XProperty {}\r\n\r\n/**\r\n * @zh_CN 创建的抽屉对象\r\n * @en_US Drawer object created\r\n */\r\nexport interface XDrawerPortalOverlayRef extends XPortalOverlayRef<XDrawerPortalComponent> {\r\n drawerRef?: XDrawerRef<any>;\r\n}\r\n\r\n/**\r\n * @zh_CN 抽屉动画状态\r\n * @en_US Drawer animation status\r\n */\r\nexport type XDrawerAnimationState = XPosition | 'void';\r\n\r\n/**\r\n * @zh_CN 抽屉动画事件\r\n * @en_US Drawer animation event\r\n */\r\nexport interface XDrawerAnimationEvent {\r\n state: XDrawerAnimationState;\r\n action: 'start' | 'done';\r\n totalTime: number;\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n TemplateRef,\r\n ViewContainerRef,\r\n HostBinding,\r\n inject,\r\n OnDestroy,\r\n computed,\r\n signal,\r\n AfterViewInit,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XDrawerPrefix, XDrawerProperty, X_DRAWER_CONTAINER } from './drawer.property';\r\nimport { XIsEmpty, XOpacityAnimation, XSlideAnimation } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { Subject, Subscription, takeUntil } from 'rxjs';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XDrawerPrefix}`,\r\n imports: [NgClass, NgTemplateOutlet, XOutletDirective, XButtonComponent],\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation, XOpacityAnimation]\r\n})\r\nexport class XDrawerComponent extends XDrawerProperty implements AfterViewInit, OnDestroy {\r\n @HostBinding('class.x-drawer-visible') get getVisible() {\r\n return this.visible();\r\n }\r\n drawerTpl = viewChild.required<TemplateRef<void>>('drawerTpl');\r\n portal!: XPortalOverlayRef<any>;\r\n back$: Subscription | null = null;\r\n width = computed(() => {\r\n return ['left', 'right'].includes(this.placement()) ? this.size() : '100%';\r\n });\r\n height = computed(() => {\r\n return ['top', 'bottom'].includes(this.placement()) ? this.size() : '100%';\r\n });\r\n\r\n private overlay = inject(Overlay);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private unSubject = new Subject<void>();\r\n container = inject<XDrawerContainerComponent>(X_DRAWER_CONTAINER, { optional: true });\r\n hasContainer = signal(false);\r\n classMap = computed(() => ({\r\n [`${XDrawerPrefix}-${this.placement()}`]: !XIsEmpty(this.placement()),\r\n [`${XDrawerPrefix}-no-title`]: XIsEmpty(this.title())\r\n }));\r\n visibleChanged = toObservable(this.visible);\r\n\r\n constructor() {\r\n super();\r\n this.visibleChanged.pipe(takeUntil(this.unSubject)).subscribe(() => this.setVisible());\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.hasContainer.set(!!this.container);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.back$?.unsubscribe();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible()) {\r\n this.createPortal();\r\n } else {\r\n this.closePortal();\r\n }\r\n }\r\n\r\n createPortal() {\r\n if (this.hasContainer()) return;\r\n this.portal = this.portalService.attach({\r\n content: this.drawerTpl(),\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: this.className(),\r\n hasBackdrop: this.hasBackdrop(),\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n positionStrategy: this.portalService.setPosition(this.placement(), this.width(), this.height())\r\n }\r\n });\r\n if (this.portal.overlayRef && this.backdropClose()) {\r\n this.back$ = this.portal.overlayRef.backdropClick().subscribe(() => this.closePortal());\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.container) {\r\n this.close.emit();\r\n } else {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.back$?.unsubscribe();\r\n this.close.emit();\r\n }\r\n }\r\n }\r\n}\r\n","<ng-template #drawerTpl>\r\n @if (hasContainer() && hasBackdrop()) {\r\n <div class=\"x-drawer-backdrop\" (click)=\"closePortal()\"></div>\r\n }\r\n <div\r\n class=\"x-drawer\"\r\n [ngClass]=\"classMap()\"\r\n [style.width]=\"hasContainer() ? width() : '100%'\"\r\n [style.height]=\"hasContainer() ? height() : '100%'\"\r\n [class.x-drawer-visible]=\"visible()\"\r\n [@x-slide-animation]=\"placement()\"\r\n >\r\n @if (title()) {\r\n <div class=\"x-drawer-header\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </div>\r\n <x-button\r\n size=\"small\"\r\n class=\"x-drawer-close\"\r\n icon=\"fto-x\"\r\n type=\"text\"\r\n (click)=\"closePortal()\"\r\n closable\r\n ></x-button>\r\n </div>\r\n }\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n@if (hasContainer()) {\r\n <ng-container *ngTemplateOutlet=\"drawerTpl\"></ng-container>\r\n}\r\n","import { BasePortalOutlet, PortalModule, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n ViewEncapsulation,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XSlideAnimation } from '@ng-nest/ui/core';\r\nimport { XDrawerAnimationEvent, XDrawerAnimationState } from './drawer.property';\r\nimport { AnimationEvent } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'x-drawer-portal',\r\n imports: [PortalModule],\r\n templateUrl: './drawer-portal.component.html',\r\n styleUrls: ['./drawer-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerPortalComponent extends BasePortalOutlet {\r\n @HostBinding('class.x-drawer-portal') _has = true;\r\n @HostBinding('@x-slide-animation') public placement?: XDrawerAnimationState;\r\n @HostListener('@x-slide-animation.done', ['$event']) done({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'done', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n @HostListener('@x-slide-animation.start', ['$event']) start({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n portalOutlet = viewChild.required(CdkPortalOutlet);\r\n\r\n animationChanged = new EventEmitter<XDrawerAnimationEvent>();\r\n\r\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n if (this.portalOutlet().hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet().attachComponentPortal(portal);\r\n }\r\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n if (this.portalOutlet().hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet().attachTemplatePortal(portal);\r\n }\r\n}\r\n","<ng-template cdkPortalOutlet></ng-template>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { filter, take } from 'rxjs';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\n\r\n// TODO: add more function\r\nexport class XDrawerRef<C> {\r\n componentInstance!: C;\r\n constructor(\r\n public overlayRef: OverlayRef,\r\n public containerInstance: XDrawerPortalComponent\r\n ) {}\r\n close() {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.state === 'void' && event.action === 'done'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.dispose();\r\n });\r\n this.containerInstance.placement = 'void';\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, inject } from '@angular/core';\r\nimport { XDrawerRef } from './drawer-ref';\r\n\r\n@Directive({\r\n selector: `[x-drawer-close]`\r\n})\r\nexport class XDrawerCloseDirective {\r\n @HostListener('click', ['$event']) onCloseClick() {\r\n this.drawerRef && this.drawerRef.close();\r\n }\r\n drawerRef = inject(XDrawerRef, { optional: true });\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-title]`\r\n})\r\nexport class XDrawerTitleDirective {\r\n @HostBinding('class.x-drawer-portal-title') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-content], x-drawer-content`\r\n})\r\nexport class XDrawerContentDirective {\r\n @HostBinding('class.x-drawer-portal-content') _has = true;\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\r\nimport { XDrawerContainerPrefix, XDrawerContainerProperty, X_DRAWER_CONTAINER } from './drawer.property';\r\n\r\n@Component({\r\n selector: XDrawerContainerPrefix,\r\n templateUrl: './drawer-container.component.html',\r\n styleUrls: ['./drawer-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: X_DRAWER_CONTAINER,\r\n useExisting: XDrawerContainerComponent\r\n }\r\n ]\r\n})\r\nexport class XDrawerContainerComponent extends XDrawerContainerProperty {\r\n @HostBinding('class') className = XDrawerContainerPrefix;\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { XDrawerComponent } from './drawer.component';\r\nimport { XDrawerCloseDirective, XDrawerContentDirective, XDrawerTitleDirective } from './drawer-portal.directives';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\n\r\n@NgModule({\r\n exports: [\r\n XDrawerComponent,\r\n XDrawerCloseDirective,\r\n XDrawerTitleDirective,\r\n XDrawerContentDirective,\r\n XDrawerContainerComponent\r\n ],\r\n imports: [\r\n XDrawerComponent,\r\n XDrawerCloseDirective,\r\n XDrawerTitleDirective,\r\n XDrawerContentDirective,\r\n XDrawerContainerComponent\r\n ]\r\n})\r\nexport class XDrawerModule {}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { Injectable, TemplateRef, inject } from '@angular/core';\r\nimport { XFillDefault, XConfigService, XDrawerConfig } from '@ng-nest/ui/core';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\nimport { XDrawerRef } from './drawer-ref';\r\nimport { XDrawerOption, X_DRAWER_CONFIG_NAME, X_DRAWER_DATA } from './drawer.property';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XDrawerService {\r\n default: XDrawerOption = {\r\n placement: 'right',\r\n size: '30%',\r\n hasBackdrop: true,\r\n backdropClose: true\r\n };\r\n configDefault?: XDrawerConfig;\r\n private portalService = inject(XPortalService);\r\n private configService = inject(XConfigService);\r\n private overlay = inject(Overlay);\r\n\r\n constructor() {\r\n this.configDefault = this.configService.getConfigForComponent(X_DRAWER_CONFIG_NAME);\r\n Object.assign(this.default, this.configDefault);\r\n }\r\n\r\n create<T>(content: TemplateRef<any> | ComponentType<T>, option: XDrawerOption = {}): XDrawerRef<T> {\r\n XFillDefault(option, this.default);\r\n const width = ['left', 'right'].includes(option.placement as string) ? option.size : '100%';\r\n const height = ['top', 'bottom'].includes(option.placement as string) ? option.size : '100%';\r\n const portal = this.portalService.attach<XDrawerPortalComponent>({\r\n content: XDrawerPortalComponent,\r\n viewContainerRef: option.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: option.hasBackdrop,\r\n panelClass: option.className,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n positionStrategy: this.portalService.setPosition(option.placement, width, height)\r\n }\r\n });\r\n const { overlayRef, componentRef } = portal || {};\r\n const { instance } = componentRef! || {};\r\n instance.placement = option.placement;\r\n const drawerRef = new XDrawerRef<T>(overlayRef!, instance);\r\n if (content instanceof TemplateRef) {\r\n instance.attachTemplatePortal(\r\n new TemplatePortal(content, option.viewContainerRef!, { $implicit: option.data, drawerRef: drawerRef })\r\n );\r\n } else {\r\n const injector = this.portalService.createInjector([\r\n { provide: X_DRAWER_DATA, useValue: option.data },\r\n { provide: XDrawerRef, useValue: drawerRef }\r\n ]);\r\n\r\n instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));\r\n }\r\n if (option.hasBackdrop && option.backdropClose && overlayRef)\r\n overlayRef.backdropClick().subscribe(() => {\r\n drawerRef.close();\r\n });\r\n\r\n return drawerRef;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|