@ng-nest/ui 14.0.7 → 14.0.8
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/avatar/avatar-group.component.d.ts +8 -0
- package/avatar/avatar.component.d.ts +15 -4
- package/avatar/avatar.module.d.ts +5 -4
- package/avatar/avatar.property.d.ts +31 -3
- package/avatar/examples/en_US/default/badge/README.md +6 -0
- package/avatar/examples/en_US/default/group/README.md +6 -0
- package/avatar/examples/en_US/default/label/README.md +6 -0
- package/avatar/examples/en_US/default/response/README.md +6 -0
- package/avatar/examples/zh_CN/default/badge/README.md +6 -0
- package/avatar/examples/zh_CN/default/group/README.md +6 -0
- package/avatar/examples/zh_CN/default/label/README.md +6 -0
- package/avatar/examples/zh_CN/default/response/README.md +6 -0
- package/avatar/public-api.d.ts +1 -0
- package/badge/badge.component.d.ts +4 -1
- package/badge/badge.property.d.ts +6 -1
- package/badge/examples/en_US/default/animation/README.md +4 -0
- package/badge/examples/en_US/default/standalone/README.md +6 -0
- package/badge/examples/zh_CN/default/animation/README.md +4 -0
- package/badge/examples/zh_CN/default/standalone/README.md +6 -0
- package/calendar/calendar.property.d.ts +2 -1
- package/core/animation/badge.d.ts +1 -0
- package/core/config/config.d.ts +26 -0
- package/core/interfaces/identify.type.d.ts +2 -0
- package/core/interfaces/layout.type.d.ts +15 -0
- package/esm2020/avatar/avatar-group.component.mjs +19 -0
- package/esm2020/avatar/avatar.component.mjs +91 -11
- package/esm2020/avatar/avatar.module.mjs +6 -5
- package/esm2020/avatar/avatar.property.mjs +31 -3
- package/esm2020/avatar/public-api.mjs +2 -1
- package/esm2020/badge/badge.component.mjs +24 -8
- package/esm2020/badge/badge.property.mjs +7 -2
- package/esm2020/calendar/calendar.property.mjs +1 -1
- package/esm2020/core/animation/badge.mjs +17 -1
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/core/interfaces/identify.type.mjs +1 -1
- package/esm2020/core/interfaces/layout.type.mjs +1 -1
- package/esm2020/form/form.component.mjs +3 -3
- package/esm2020/i18n/i18n.property.mjs +1 -1
- package/esm2020/i18n/languages/en_US.mjs +5 -1
- package/esm2020/i18n/languages/zh_CN.mjs +5 -1
- package/esm2020/i18n/languages/zh_TW.mjs +5 -1
- package/esm2020/image/image-group.component.mjs +2 -2
- package/esm2020/image/image.component.mjs +13 -5
- package/esm2020/image/image.module.mjs +5 -4
- package/esm2020/image/image.property.mjs +22 -3
- package/esm2020/index.mjs +3 -1
- package/esm2020/keyword/keyword.directive.mjs +66 -0
- package/esm2020/keyword/keyword.module.mjs +19 -0
- package/esm2020/keyword/keyword.property.mjs +41 -0
- package/esm2020/keyword/ng-nest-ui-keyword.mjs +5 -0
- package/esm2020/keyword/public-api.mjs +4 -0
- package/esm2020/list/list-option.component.mjs +4 -4
- package/esm2020/list/list.component.mjs +4 -4
- package/esm2020/list/list.module.mjs +8 -4
- package/esm2020/list/list.property.mjs +19 -3
- package/esm2020/select/select-portal.component.mjs +6 -3
- package/esm2020/select/select.component.mjs +31 -23
- package/esm2020/select/select.property.mjs +8 -2
- package/esm2020/table/table.component.mjs +4 -4
- package/esm2020/tree/tree-node.component.mjs +52 -27
- package/esm2020/tree/tree.component.mjs +173 -58
- package/esm2020/tree/tree.module.mjs +5 -4
- package/esm2020/tree/tree.property.mjs +38 -2
- package/esm2020/tree-select/ng-nest-ui-tree-select.mjs +5 -0
- package/esm2020/tree-select/public-api.mjs +5 -0
- package/esm2020/tree-select/tree-select-portal.component.mjs +110 -0
- package/esm2020/tree-select/tree-select.component.mjs +632 -0
- package/esm2020/tree-select/tree-select.module.mjs +65 -0
- package/esm2020/tree-select/tree-select.property.mjs +153 -0
- package/esm2020/upload/upload.component.mjs +9 -6
- package/esm2020/upload/upload.module.mjs +12 -4
- package/esm2020/upload/upload.property.mjs +10 -3
- package/fesm2015/ng-nest-ui-avatar.mjs +143 -17
- package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-badge.mjs +29 -8
- package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-core.mjs +17 -1
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-form.mjs +2 -2
- package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.mjs +12 -0
- package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-image.mjs +39 -11
- package/fesm2015/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-keyword.mjs +125 -0
- package/fesm2015/ng-nest-ui-keyword.mjs.map +1 -0
- package/fesm2015/ng-nest-ui-list.mjs +32 -12
- package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-select.mjs +42 -25
- package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-table.mjs +3 -3
- package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree-select.mjs +951 -0
- package/fesm2015/ng-nest-ui-tree-select.mjs.map +1 -0
- package/fesm2015/ng-nest-ui-tree.mjs +271 -94
- package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-upload.mjs +28 -10
- package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2015/ng-nest-ui.mjs +2 -0
- package/fesm2015/ng-nest-ui.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-avatar.mjs +140 -17
- package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-badge.mjs +29 -8
- package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs +17 -1
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-form.mjs +2 -2
- package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-i18n.mjs +12 -0
- package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-image.mjs +39 -11
- package/fesm2020/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-keyword.mjs +125 -0
- package/fesm2020/ng-nest-ui-keyword.mjs.map +1 -0
- package/fesm2020/ng-nest-ui-list.mjs +32 -12
- package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-select.mjs +42 -25
- package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-table.mjs +3 -3
- package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree-select.mjs +946 -0
- package/fesm2020/ng-nest-ui-tree-select.mjs.map +1 -0
- package/fesm2020/ng-nest-ui-tree.mjs +267 -91
- package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-upload.mjs +28 -10
- package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2020/ng-nest-ui.mjs +2 -0
- package/fesm2020/ng-nest-ui.mjs.map +1 -1
- package/i18n/i18n.property.d.ts +5 -0
- package/i18n/languages/en_US.d.ts +4 -0
- package/i18n/languages/zh_CN.d.ts +4 -0
- package/i18n/languages/zh_TW.d.ts +4 -0
- package/image/image.component.d.ts +2 -2
- package/image/image.module.d.ts +3 -2
- package/image/image.property.d.ts +23 -7
- package/index.d.ts +2 -0
- package/keyword/index.d.ts +5 -0
- package/keyword/keyword.directive.d.ts +19 -0
- package/keyword/keyword.module.d.ts +9 -0
- package/keyword/keyword.property.d.ts +40 -0
- package/keyword/public-api.d.ts +3 -0
- package/list/list-option.component.d.ts +0 -1
- package/list/list.module.d.ts +2 -1
- package/list/list.property.d.ts +22 -2
- package/package.json +17 -1
- package/select/examples/en_US/default/default/README.md +1 -2
- package/select/examples/zh_CN/default/default/README.md +1 -2
- package/select/select-portal.component.d.ts +5 -1
- package/select/select.component.d.ts +2 -2
- package/select/select.property.d.ts +6 -1
- package/style/core/index.css +29 -0
- package/style/core/index.css.map +1 -1
- package/style/directives/index.scss +1 -0
- package/style/directives/keyword/index.scss +6 -0
- package/style/directives/keyword/mixin.scss +24 -0
- package/style/directives/keyword/param.scss +3 -0
- package/tree/tree-node.component.d.ts +4 -4
- package/tree/tree.component.d.ts +13 -1
- package/tree/tree.module.d.ts +2 -1
- package/tree/tree.property.d.ts +44 -14
- package/tree-select/examples/en_US/default/README.md +4 -0
- package/tree-select/examples/en_US/default/async/README.md +6 -0
- package/tree-select/examples/en_US/default/bordered/README.md +6 -0
- package/tree-select/examples/en_US/default/custom/README.md +6 -0
- package/tree-select/examples/en_US/default/default/README.md +6 -0
- package/tree-select/examples/en_US/default/disabled/README.md +6 -0
- package/tree-select/examples/en_US/default/label/README.md +6 -0
- package/tree-select/examples/en_US/default/multiple/README.md +6 -0
- package/tree-select/examples/en_US/default/path/README.md +6 -0
- package/tree-select/examples/en_US/default/required/README.md +6 -0
- package/tree-select/examples/en_US/default/scroll/README.md +6 -0
- package/tree-select/examples/en_US/default/search/README.md +7 -0
- package/tree-select/examples/en_US/default/size/README.md +6 -0
- package/tree-select/examples/zh_CN/default/README.md +4 -0
- package/tree-select/examples/zh_CN/default/async/README.md +6 -0
- package/tree-select/examples/zh_CN/default/bordered/README.md +6 -0
- package/tree-select/examples/zh_CN/default/custom/README.md +6 -0
- package/tree-select/examples/zh_CN/default/default/README.md +6 -0
- package/tree-select/examples/zh_CN/default/disabled/README.md +6 -0
- package/tree-select/examples/zh_CN/default/label/README.md +6 -0
- package/tree-select/examples/zh_CN/default/multiple/README.md +6 -0
- package/tree-select/examples/zh_CN/default/path/README.md +6 -0
- package/tree-select/examples/zh_CN/default/required/README.md +6 -0
- package/tree-select/examples/zh_CN/default/scroll/README.md +6 -0
- package/tree-select/examples/zh_CN/default/search/README.md +7 -0
- package/tree-select/examples/zh_CN/default/size/README.md +6 -0
- package/tree-select/index.d.ts +5 -0
- package/tree-select/public-api.d.ts +4 -0
- package/tree-select/tree-select-portal.component.d.ts +62 -0
- package/tree-select/tree-select.component.d.ts +101 -0
- package/tree-select/tree-select.module.d.ts +20 -0
- package/tree-select/tree-select.property.d.ts +202 -0
- package/upload/upload.component.d.ts +1 -1
- package/upload/upload.module.d.ts +3 -1
- package/upload/upload.property.d.ts +13 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { XInputBoolean, XWithConfig } from '@ng-nest/ui/core';
|
|
2
|
+
import { XInputBoolean, XWithConfig, XInputNumber } from '@ng-nest/ui/core';
|
|
3
3
|
import { Input, Output, EventEmitter, Component } from '@angular/core';
|
|
4
4
|
import { XControlValueAccessor } from '@ng-nest/ui/base-form';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -49,7 +49,7 @@ export class XUploadProperty extends XControlValueAccessor {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
/** @nocollapse */ XUploadProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
/** @nocollapse */ XUploadProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XUploadProperty, selector: "ng-component", inputs: { text: "text", action: "action", accept: "accept", type: "type", imgCut: "imgCut", multiple: "multiple", download: "download", multipleModel: "multipleModel", filesTpl: "filesTpl" }, outputs: { removeClick: "removeClick", uploadReady: "uploadReady", uploading: "uploading", uploadSuccess: "uploadSuccess", uploadError: "uploadError" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
52
|
+
/** @nocollapse */ XUploadProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XUploadProperty, selector: "ng-component", inputs: { text: "text", action: "action", accept: "accept", type: "type", imgFallback: "imgFallback", imgCut: "imgCut", multiple: "multiple", download: "download", multipleModel: "multipleModel", filesTpl: "filesTpl", maxLimit: "maxLimit" }, outputs: { removeClick: "removeClick", uploadReady: "uploadReady", uploading: "uploading", uploadSuccess: "uploadSuccess", uploadError: "uploadError" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
53
53
|
__decorate([
|
|
54
54
|
XInputBoolean()
|
|
55
55
|
], XUploadProperty.prototype, "imgCut", void 0);
|
|
@@ -63,6 +63,9 @@ __decorate([
|
|
|
63
63
|
__decorate([
|
|
64
64
|
XWithConfig(X_CONFIG_NAME, 'cover')
|
|
65
65
|
], XUploadProperty.prototype, "multipleModel", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
XInputNumber()
|
|
68
|
+
], XUploadProperty.prototype, "maxLimit", void 0);
|
|
66
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadProperty, decorators: [{
|
|
67
70
|
type: Component,
|
|
68
71
|
args: [{ template: '' }]
|
|
@@ -74,6 +77,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
74
77
|
type: Input
|
|
75
78
|
}], type: [{
|
|
76
79
|
type: Input
|
|
80
|
+
}], imgFallback: [{
|
|
81
|
+
type: Input
|
|
77
82
|
}], imgCut: [{
|
|
78
83
|
type: Input
|
|
79
84
|
}], multiple: [{
|
|
@@ -84,6 +89,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
84
89
|
type: Input
|
|
85
90
|
}], filesTpl: [{
|
|
86
91
|
type: Input
|
|
92
|
+
}], maxLimit: [{
|
|
93
|
+
type: Input
|
|
87
94
|
}], removeClick: [{
|
|
88
95
|
type: Output
|
|
89
96
|
}], uploadReady: [{
|
|
@@ -101,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
101
108
|
* @decorator component
|
|
102
109
|
*/
|
|
103
110
|
export const XUploadPortalPrefix = 'x-upload-portal';
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdXBsb2FkL3VwbG9hZC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBMkMsV0FBVyxFQUFXLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTlEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQUUvQjs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUFvQztJQUR6RTs7UUFpQkU7OztXQUdHO1FBQ00sU0FBSSxHQUFnQixNQUFNLENBQUM7UUFvQ3BDOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXdDLENBQUM7UUFDakY7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBQ3hEOzs7V0FHRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBQ3REOzs7V0FHRztRQUNPLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUMxRDs7O1dBR0c7UUFDTyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7S0FDekQ7OytIQWpGWSxlQUFlO21IQUFmLGVBQWUsc2RBREwsRUFBRTtBQStCRztJQUFoQixhQUFhLEVBQUU7K0NBQW1CO0FBS2xCO0lBQWhCLGFBQWEsRUFBRTtpREFBcUI7QUFLd0I7SUFBNUQsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7aURBQXFCO0FBS3RCO0lBQTFELFdBQVcsQ0FBdUIsYUFBYSxFQUFFLE9BQU8sQ0FBQztzREFBc0M7QUFVaEY7SUFBZixZQUFZLEVBQUU7aURBQW9COzJGQXZEakMsZUFBZTtrQkFEM0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLElBQUk7c0JBQVosS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtvQixNQUFNO3NCQUEvQixLQUFLO2dCQUtvQixRQUFRO3NCQUFqQyxLQUFLO2dCQUtnRSxRQUFRO3NCQUE3RSxLQUFLO2dCQUs4RCxhQUFhO3NCQUFoRixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS21CLFFBQVE7c0JBQWhDLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFNBQVM7c0JBQWxCLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNOztBQWlEVDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYSW5wdXRCb29sZWFuLCBYQm9vbGVhbiwgWFRlbXBsYXRlLCBYUG9zaXRpb24sIFhDb3JuZXIsIFhXaXRoQ29uZmlnLCBYTnVtYmVyLCBYSW5wdXROdW1iZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBVcGxvYWRcclxuICogQHNlbGVjdG9yIHgtdXBsb2FkXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFVwbG9hZFByZWZpeCA9ICd4LXVwbG9hZCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndXBsb2FkJztcclxuXHJcbi8qKlxyXG4gKiBVcGxvYWQgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhVcGxvYWRQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3NvcjxYVXBsb2FkTm9kZVtdPiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSB0ZXh0PzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDor7fmsYLlnLDlnYBcclxuICAgKiBAZW5fVVMgUmVxdWVzdCBhZGRyZXNzXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aW9uPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIrkvKDmlofku7bnsbvlnovvvIzkuI7ljp/nlJ/nmoQgaW5wdXQgZmlsZSDnu4Tku7bkuIDoh7RcclxuICAgKiBAZW5fVVMgVXBsb2FkIGZpbGUgdHlwZSwgY29uc2lzdGVudCB3aXRoIG5hdGl2ZSBpbnB1dCBmaWxlIGNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjY2VwdD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5Lu25pi+56S657G75Z6LXHJcbiAgICogQGVuX1VTIEZpbGUgZGlzcGxheSB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHlwZTogWFVwbG9hZFR5cGUgPSAnbGlzdCc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvueJh+exu+Wei+S4i+mdouWKoOi9veWksei0peaYvuekulxyXG4gICAqIEBlbl9VUyBQaG90byB0eXBlIGJlbG93IGxvYWRpbmcgZmFpbGVkIGRpc3BsYXlcclxuICAgKi9cclxuICBASW5wdXQoKSBpbWdGYWxsYmFjaz86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+54mH5Ymq6KOBXHJcbiAgICogQGVuX1VTIFBpY3R1cmUgY3JvcHBpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGltZ0N1dD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrmlofku7bkuIrkvKBcclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgZmlsZSB1cGxvYWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+S4i+i9vVxyXG4gICAqIEBlbl9VUyBjbGljayBkb3dubG9hZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBkb3dubG9hZCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrmrKHkuIrkvKDnmoTmqKHlvI/vvIxjb3ZlciDopobnm5bnjrDmnIkgYWRkIOe7p+e7rea3u+WKoFxyXG4gICAqIEBlbl9VUyBGb3IgbWFueSB1cGxvYWQgbW9kZSwgJ2NvdmVyJyBjb3ZlcnMgdGhlIGV4aXN0aW5nLCAnYWRkJyBjb250aW51ZSB0byBhZGRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFVwbG9hZE11bHRpcGxlTW9kZWw+KFhfQ09ORklHX05BTUUsICdjb3ZlcicpIG11bHRpcGxlTW9kZWwhOiBYVXBsb2FkTXVsdGlwbGVNb2RlbDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5Lu25YiX6KGo6Ieq5a6a5LmJ5pi+56S65qih5p2/XHJcbiAgICogQGVuX1VTIEZpbGUgbGlzdCBjdXN0b20gZGlzcGxheSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZpbGVzVHBsPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmZDliLbljZXmrKHkuIrkvKDmlofku7bkuKrmlbDvvIzlj6rmnInlvIDlkK/lpJrmlofku7bkuIrkvKAgbXVsdGlwbGUg5pe255Sf5pWI77yM6buY6K6k5LiN5YGa6ZmQ5Yi2XHJcbiAgICogQGVuX1VTIExpbWl0IHRoZSBudW1iZXIgb2YgZmlsZXMgdXBsb2FkZWQgZmlsZXMuIERvIG5vdCByZXN0cmljdCB0aGUgZGVmYXVsdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBtYXhMaW1pdD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIoOmZpOaMiemSrueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBEZWxldGUgYnV0dG9uIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlbW92ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IGZpbGU6IFhVcGxvYWROb2RlOyBpbmRleDogbnVtYmVyIH0+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWni+S4iuS8oOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTdGFydCB1cGxvYWQgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdXBsb2FkUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPFhVcGxvYWROb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjkuIrkvKDkuovku7ZcclxuICAgKiBAZW5fVVMgU3RhcnQgdXBsb2FkIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHVwbG9hZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8WFVwbG9hZE5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4iuS8oOaIkOWKn+S6i+S7tlxyXG4gICAqIEBlbl9VUyBTdGFydCB1cGxvYWQgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdXBsb2FkU3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8WFVwbG9hZE5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4iuS8oOWksei0peS6i+S7tlxyXG4gICAqIEBlbl9VUyBTdGFydCB1cGxvYWQgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdXBsb2FkRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPFhVcGxvYWROb2RlPigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIFVwbG9hZCDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIFVwbG9hZCBkYXRhIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVXBsb2FkTm9kZSBleHRlbmRzIEZpbGUge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlnLDlnYBcclxuICAgKiBAZW5fVVMgYWRkcmVzc1xyXG4gICAqL1xyXG4gIHVybD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g54q25oCBXHJcbiAgICogQGVuX1VTIHN0YXR1c1xyXG4gICAqL1xyXG4gIHN0YXRlPzogWFN0YXRlVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5Lyg6L+b5bqmXHJcbiAgICogQGVuX1VTIFVwbG9hZCBwcm9ncmVzc1xyXG4gICAqL1xyXG4gIHBlcmNlbnQ/OiBYTnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaWh+S7tueKtuaAgVxyXG4gKiBAZW5fVVMgRmlsZSBzdGF0dXNcclxuICovXHJcbmV4cG9ydCB0eXBlIFhTdGF0ZVR5cGUgPSAncmVhZHknIHwgJ3VwbG9hZGluZycgfCAnc3VjY2VzcycgfCAnZXJyb3InO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmlofku7bmmL7npLrnsbvlnotcclxuICogQGVuX1VTIEZpbGUgZGlzcGxheSB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVXBsb2FkVHlwZSA9ICdsaXN0JyB8ICdpbWcnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDlpJrmrKHkuIrkvKDnmoTmqKHlvI/vvIxjb3ZlciDopobnm5bnjrDmnIkgYWRkIOe7p+e7rea3u+WKoFxyXG4gKiBAZW5fVVMgRm9yIG1hbnkgdXBsb2FkIG1vZGUsICdjb3ZlcicgY292ZXJzIHRoZSBleGlzdGluZywgJ2FkZCcgY29udGludWUgdG8gYWRkXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVXBsb2FkTXVsdGlwbGVNb2RlbCA9ICdjb3ZlcicgfCAnYWRkJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Ymq6KOB55qE5pa55L2NXHJcbiAqIEBlbl9VUyBUYWlsb3JlZCBvcmllbnRhdGlvblxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWFVwbG9hZEN1dFR5cGUgPSBYUG9zaXRpb24gfCBYQ29ybmVyIHwgJyc7XHJcblxyXG4vKipcclxuICogVXBsb2FkIFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC11cGxvYWQtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFVwbG9hZFBvcnRhbFByZWZpeCA9ICd4LXVwbG9hZC1wb3J0YWwnO1xyXG4iXX0=
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewChild, HostBinding, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate } from 'tslib';
|
|
4
4
|
import * as i1 from '@ng-nest/ui/core';
|
|
5
|
-
import { XProperty, XWithConfig, XIsEmpty } from '@ng-nest/ui/core';
|
|
5
|
+
import { XProperty, XWithConfig, XInputNumber, XIsChange, XIsEmpty, XIsNumber, XIsString, XIsObject, XResize } from '@ng-nest/ui/core';
|
|
6
6
|
import * as i2 from '@angular/common';
|
|
7
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
8
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
8
9
|
import * as i3 from '@ng-nest/ui/outlet';
|
|
9
10
|
import { XOutletModule } from '@ng-nest/ui/outlet';
|
|
10
11
|
import * as i4 from '@ng-nest/ui/icon';
|
|
@@ -23,7 +24,7 @@ const X_CONFIG_NAME = 'avatar';
|
|
|
23
24
|
class XAvatarProperty extends XProperty {
|
|
24
25
|
}
|
|
25
26
|
/** @nocollapse */ XAvatarProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
/** @nocollapse */ XAvatarProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAvatarProperty, selector: "ng-component", inputs: { label: "label", size: "size", icon: "icon", shape: "shape", src: "src", fit: "fit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
27
|
+
/** @nocollapse */ XAvatarProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAvatarProperty, selector: "ng-component", inputs: { label: "label", size: "size", icon: "icon", shape: "shape", src: "src", fit: "fit", gap: "gap", backgroundColor: "backgroundColor" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
27
28
|
__decorate([
|
|
28
29
|
XWithConfig(X_CONFIG_NAME, 'medium')
|
|
29
30
|
], XAvatarProperty.prototype, "size", void 0);
|
|
@@ -33,6 +34,13 @@ __decorate([
|
|
|
33
34
|
__decorate([
|
|
34
35
|
XWithConfig(X_CONFIG_NAME, 'cover')
|
|
35
36
|
], XAvatarProperty.prototype, "fit", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
XWithConfig(X_CONFIG_NAME, 4),
|
|
39
|
+
XInputNumber()
|
|
40
|
+
], XAvatarProperty.prototype, "gap", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
XWithConfig(X_CONFIG_NAME, '#999999')
|
|
43
|
+
], XAvatarProperty.prototype, "backgroundColor", void 0);
|
|
36
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarProperty, decorators: [{
|
|
37
45
|
type: Component,
|
|
38
46
|
args: [{ template: '' }]
|
|
@@ -48,48 +56,166 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
48
56
|
type: Input
|
|
49
57
|
}], fit: [{
|
|
50
58
|
type: Input
|
|
51
|
-
}]
|
|
59
|
+
}], gap: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], backgroundColor: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}] } });
|
|
64
|
+
/**
|
|
65
|
+
* Avatar Group
|
|
66
|
+
* @selector x-avatar-group
|
|
67
|
+
* @decorator component
|
|
68
|
+
*/
|
|
69
|
+
const XAvatarGroupPrefix = 'x-avatar-group';
|
|
70
|
+
/**
|
|
71
|
+
* Avatar Group Property
|
|
72
|
+
*/
|
|
73
|
+
class XAvatarGroupProperty extends XProperty {
|
|
74
|
+
}
|
|
75
|
+
/** @nocollapse */ XAvatarGroupProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarGroupProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
/** @nocollapse */ XAvatarGroupProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAvatarGroupProperty, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarGroupProperty, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ template: '' }]
|
|
80
|
+
}] });
|
|
52
81
|
|
|
53
82
|
class XAvatarComponent extends XAvatarProperty {
|
|
54
|
-
constructor(renderer, elementRef, cdr, configService) {
|
|
83
|
+
constructor(renderer, elementRef, cdr, configService, document) {
|
|
55
84
|
super();
|
|
56
85
|
this.renderer = renderer;
|
|
57
86
|
this.elementRef = elementRef;
|
|
58
87
|
this.cdr = cdr;
|
|
59
88
|
this.configService = configService;
|
|
60
89
|
this.isImgError = false;
|
|
90
|
+
this.styleMap = {};
|
|
91
|
+
this._unSubject = new Subject();
|
|
92
|
+
this.document = document;
|
|
93
|
+
}
|
|
94
|
+
ngOnDestroy() {
|
|
95
|
+
var _a;
|
|
96
|
+
this._unSubject.next();
|
|
97
|
+
this._unSubject.complete();
|
|
98
|
+
(_a = this._resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
61
99
|
}
|
|
62
|
-
|
|
100
|
+
ngOnChanges(changes) {
|
|
101
|
+
let { label } = changes;
|
|
102
|
+
XIsChange(label) && setTimeout(() => this.setLabel());
|
|
103
|
+
}
|
|
104
|
+
ngAfterViewInit() {
|
|
63
105
|
this.setClassMap();
|
|
106
|
+
this.setLabel();
|
|
64
107
|
}
|
|
65
108
|
setClassMap() {
|
|
66
109
|
this.classMap = {
|
|
67
|
-
[`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape)
|
|
68
|
-
[`${XAvatarPrefix}-${this.size}`]: !XIsEmpty(this.size)
|
|
110
|
+
[`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape)
|
|
69
111
|
};
|
|
112
|
+
if (XIsNumber(this.size)) {
|
|
113
|
+
const nsize = Number(this.size);
|
|
114
|
+
this.setStyleMap(nsize);
|
|
115
|
+
this.cdr.detectChanges();
|
|
116
|
+
}
|
|
117
|
+
else if (XIsString(this.size)) {
|
|
118
|
+
this.classMap[`${XAvatarPrefix}-${this.size}`] = !XIsEmpty(this.size);
|
|
119
|
+
this.cdr.detectChanges();
|
|
120
|
+
}
|
|
121
|
+
else if (XIsObject(this.size)) {
|
|
122
|
+
this.classMap[`${XAvatarPrefix}-medium`] = true;
|
|
123
|
+
const sz = this.size;
|
|
124
|
+
let { xs, sm, md, lg, xl } = sz;
|
|
125
|
+
if (!xs && !sm && !md && !lg && !xl)
|
|
126
|
+
return;
|
|
127
|
+
XResize(this.document.documentElement)
|
|
128
|
+
.pipe(takeUntil(this._unSubject))
|
|
129
|
+
.subscribe((x) => {
|
|
130
|
+
this._resizeObserver = x.resizeObserver;
|
|
131
|
+
const width = this.document.documentElement.clientWidth;
|
|
132
|
+
let nsize = 40;
|
|
133
|
+
if (xs && width < 768) {
|
|
134
|
+
nsize = xs;
|
|
135
|
+
}
|
|
136
|
+
if (sm && width >= 768) {
|
|
137
|
+
nsize = sm;
|
|
138
|
+
}
|
|
139
|
+
if (md && width >= 992) {
|
|
140
|
+
nsize = md;
|
|
141
|
+
}
|
|
142
|
+
if (lg && width >= 1200) {
|
|
143
|
+
nsize = lg;
|
|
144
|
+
}
|
|
145
|
+
if (xl && width >= 1920) {
|
|
146
|
+
nsize = xl;
|
|
147
|
+
}
|
|
148
|
+
this.setStyleMap(nsize);
|
|
149
|
+
this.cdr.detectChanges();
|
|
150
|
+
this.setLabel();
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
setStyleMap(size) {
|
|
155
|
+
this.styleMap = {
|
|
156
|
+
height: `${size}px`,
|
|
157
|
+
width: `${size}px`,
|
|
158
|
+
lineHeight: `${size}px`,
|
|
159
|
+
fontSize: `${size * 0.6}px`
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
setLabel() {
|
|
163
|
+
if (!this.label)
|
|
164
|
+
return;
|
|
165
|
+
if (!this.elementRef || !this.labelRef)
|
|
166
|
+
return;
|
|
167
|
+
const eleWidth = this.elementRef.nativeElement.clientWidth;
|
|
168
|
+
const labelWidth = this.labelRef.nativeElement.clientWidth;
|
|
169
|
+
let scale = (eleWidth - Number(this.gap) * 2) / labelWidth;
|
|
170
|
+
scale = scale > 1 ? 1 : scale;
|
|
171
|
+
this.renderer.setStyle(this.labelRef.nativeElement, 'transform', `scale(${scale})`);
|
|
70
172
|
}
|
|
71
173
|
imgError() {
|
|
72
174
|
this.isImgError = true;
|
|
73
175
|
this.cdr.detectChanges();
|
|
74
176
|
}
|
|
75
177
|
}
|
|
76
|
-
/** @nocollapse */ XAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
-
/** @nocollapse */ XAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAvatarComponent, selector: "x-avatar", usesInheritance: true, ngImport: i0, template: "<span
|
|
178
|
+
/** @nocollapse */ XAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
179
|
+
/** @nocollapse */ XAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAvatarComponent, selector: "x-avatar", viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["labelRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i4.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
78
180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarComponent, decorators: [{
|
|
79
181
|
type: Component,
|
|
80
|
-
args: [{ selector: `${XAvatarPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span
|
|
81
|
-
}], ctorParameters: function () {
|
|
182
|
+
args: [{ selector: `${XAvatarPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n", styles: ["x-avatar{display:flex}.x-avatar{margin:0;padding:0;font-size:var(--x-font-size);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--x-background-100)}.x-avatar>img{display:block;height:100%}.x-avatar-circle{border-radius:50%}.x-avatar-square{border-radius:var(--x-border-radius)}.x-avatar-error>img{height:initial}.x-avatar>span{white-space:nowrap}.x-avatar-big{height:3.5rem;width:3.5rem;line-height:3.5rem;font-size:2.1rem}.x-avatar-large{height:3rem;width:3rem;line-height:3rem;font-size:1.8rem}.x-avatar-medium{height:2.5rem;width:2.5rem;line-height:2.5rem;font-size:1.5rem}.x-avatar-small{height:2rem;width:2rem;line-height:2rem;font-size:1.2rem}.x-avatar-mini{height:1.5rem;width:1.5rem;line-height:1.5rem;font-size:.9rem}\n"] }]
|
|
183
|
+
}], ctorParameters: function () {
|
|
184
|
+
return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }, { type: undefined, decorators: [{
|
|
185
|
+
type: Inject,
|
|
186
|
+
args: [DOCUMENT]
|
|
187
|
+
}] }];
|
|
188
|
+
}, propDecorators: { labelRef: [{
|
|
189
|
+
type: ViewChild,
|
|
190
|
+
args: ['labelRef']
|
|
191
|
+
}] } });
|
|
192
|
+
|
|
193
|
+
class XAvatarGroupComponent extends XAvatarGroupProperty {
|
|
194
|
+
constructor() {
|
|
195
|
+
super();
|
|
196
|
+
this._has = true;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/** @nocollapse */ XAvatarGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
200
|
+
/** @nocollapse */ XAvatarGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAvatarGroupComponent, selector: "x-avatar-group", host: { properties: { "class.x-avatar-group": "this._has" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarGroupComponent, decorators: [{
|
|
202
|
+
type: Component,
|
|
203
|
+
args: [{ selector: `${XAvatarGroupPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n", styles: ["x-avatar-group{display:flex}.x-avatar-group{margin:0;padding:0}.x-avatar-group>x-avatar{z-index:0}.x-avatar-group>x-avatar:not(:first-child){margin-left:-.5rem}.x-avatar-group>x-avatar .x-avatar{border:var(--x-border-width) var(--x-border-style) var(--x-white)}\n"] }]
|
|
204
|
+
}], ctorParameters: function () { return []; }, propDecorators: { _has: [{
|
|
205
|
+
type: HostBinding,
|
|
206
|
+
args: ['class.x-avatar-group']
|
|
207
|
+
}] } });
|
|
82
208
|
|
|
83
209
|
class XAvatarModule {
|
|
84
210
|
}
|
|
85
211
|
/** @nocollapse */ XAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
86
|
-
/** @nocollapse */ XAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XAvatarModule, declarations: [XAvatarComponent, XAvatarProperty], imports: [CommonModule, XOutletModule, XIconModule], exports: [XAvatarComponent] });
|
|
212
|
+
/** @nocollapse */ XAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XAvatarModule, declarations: [XAvatarComponent, XAvatarProperty, XAvatarGroupComponent, XAvatarGroupProperty], imports: [CommonModule, XOutletModule, XIconModule], exports: [XAvatarComponent, XAvatarGroupComponent] });
|
|
87
213
|
/** @nocollapse */ XAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarModule, imports: [CommonModule, XOutletModule, XIconModule] });
|
|
88
214
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarModule, decorators: [{
|
|
89
215
|
type: NgModule,
|
|
90
216
|
args: [{
|
|
91
|
-
declarations: [XAvatarComponent, XAvatarProperty],
|
|
92
|
-
exports: [XAvatarComponent],
|
|
217
|
+
declarations: [XAvatarComponent, XAvatarProperty, XAvatarGroupComponent, XAvatarGroupProperty],
|
|
218
|
+
exports: [XAvatarComponent, XAvatarGroupComponent],
|
|
93
219
|
imports: [CommonModule, XOutletModule, XIconModule]
|
|
94
220
|
}]
|
|
95
221
|
}] });
|
|
@@ -98,5 +224,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
98
224
|
* Generated bundle index. Do not edit.
|
|
99
225
|
*/
|
|
100
226
|
|
|
101
|
-
export { XAvatarComponent, XAvatarModule, XAvatarPrefix, XAvatarProperty };
|
|
227
|
+
export { XAvatarComponent, XAvatarGroupComponent, XAvatarGroupPrefix, XAvatarGroupProperty, XAvatarModule, XAvatarPrefix, XAvatarProperty };
|
|
102
228
|
//# sourceMappingURL=ng-nest-ui-avatar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-avatar.mjs","sources":["../../../../lib/ng-nest/ui/avatar/avatar.property.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.html","../../../../lib/ng-nest/ui/avatar/avatar.module.ts","../../../../lib/ng-nest/ui/avatar/ng-nest-ui-avatar.ts"],"sourcesContent":["import { XSize, XTemplate, XProperty, XWithConfig, XShape, XFit } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Avatar\r\n * @selector x-avatar\r\n * @decorator component\r\n */\r\nexport const XAvatarPrefix = 'x-avatar';\r\nconst X_CONFIG_NAME = 'avatar';\r\n\r\n/**\r\n * Avatar Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAvatarProperty extends XProperty {\r\n /**\r\n * @zh_CN 显示字符\r\n * @en_US Display characters\r\n */\r\n @Input() label?: XTemplate;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 形状\r\n * @en_US Shape\r\n */\r\n @Input() @XWithConfig<XAvatarShape>(X_CONFIG_NAME, 'circle') shape?: XAvatarShape;\r\n /**\r\n * @zh_CN 图片地址\r\n * @en_US The map's address\r\n */\r\n @Input() src?: string;\r\n /**\r\n * @zh_CN 图片适应方式\r\n * @en_US Image adaptation method\r\n */\r\n @Input() @XWithConfig<XAvatarFit>(X_CONFIG_NAME, 'cover') fit?: XAvatarFit;\r\n}\r\n\r\n/**\r\n * @zh_CN 头像形状\r\n * @en_US Avatar shape\r\n */\r\nexport type XAvatarShape = XShape;\r\n\r\n/**\r\n * @zh_CN 当展示类型为图片的时候,设置图片如何适应容器框\r\n * @en_US When the display type is picture, set how the picture fits into the container frame\r\n */\r\nexport type XAvatarFit = XFit;\r\n","import { Component, OnInit, ViewEncapsulation, Renderer2, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { XAvatarPrefix, XAvatarProperty } from './avatar.property';\r\nimport { XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XAvatarPrefix}`,\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarComponent extends XAvatarProperty implements OnInit {\r\n isImgError: boolean = false;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape),\r\n [`${XAvatarPrefix}-${this.size}`]: !XIsEmpty(this.size)\r\n };\r\n }\r\n\r\n imgError() {\r\n this.isImgError = true;\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<span #avatar class=\"x-avatar\" [ngClass]=\"classMap\" [class.x-avatar-error]=\"isImgError\">\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAvatarComponent } from './avatar.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XAvatarProperty } from './avatar.property';\r\n\r\n@NgModule({\r\n declarations: [XAvatarComponent, XAvatarProperty],\r\n exports: [XAvatarComponent],\r\n imports: [CommonModule, XOutletModule, XIconModule]\r\n})\r\nexport class XAvatarModule {}\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-avatar.mjs","sources":["../../../../lib/ng-nest/ui/avatar/avatar.property.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.html","../../../../lib/ng-nest/ui/avatar/avatar-group.component.ts","../../../../lib/ng-nest/ui/avatar/avatar-group.component.html","../../../../lib/ng-nest/ui/avatar/avatar.module.ts","../../../../lib/ng-nest/ui/avatar/ng-nest-ui-avatar.ts"],"sourcesContent":["import { XSize, XTemplate, XProperty, XWithConfig, XShape, XFit, XResponseSize, XNumber, XInputNumber } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Avatar\r\n * @selector x-avatar\r\n * @decorator component\r\n */\r\nexport const XAvatarPrefix = 'x-avatar';\r\nconst X_CONFIG_NAME = 'avatar';\r\n\r\n/**\r\n * Avatar Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAvatarProperty extends XProperty {\r\n /**\r\n * @zh_CN 显示字符\r\n * @en_US Display characters\r\n */\r\n @Input() label?: XTemplate;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XAvatarSize>(X_CONFIG_NAME, 'medium') size?: XAvatarSize;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 形状\r\n * @en_US Shape\r\n */\r\n @Input() @XWithConfig<XAvatarShape>(X_CONFIG_NAME, 'circle') shape?: XAvatarShape;\r\n /**\r\n * @zh_CN 图片地址\r\n * @en_US The map's address\r\n */\r\n @Input() src?: string;\r\n /**\r\n * @zh_CN 图片适应方式\r\n * @en_US Image adaptation method\r\n */\r\n @Input() @XWithConfig<XAvatarFit>(X_CONFIG_NAME, 'cover') fit?: XAvatarFit;\r\n /**\r\n * @zh_CN 字符类型的时候左右边距,px\r\n * @en_US When the character type is the left and right distance, PX\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 4) @XInputNumber() gap?: XNumber;\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '#999999') backgroundColor?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 头像形状\r\n * @en_US Avatar shape\r\n */\r\nexport type XAvatarShape = XShape;\r\n\r\n/**\r\n * @zh_CN 当展示类型为图片的时候,设置图片如何适应容器框\r\n * @en_US When the display type is picture, set how the picture fits into the container frame\r\n */\r\nexport type XAvatarFit = XFit;\r\n\r\n/**\r\n * @zh_CN 尺寸类型\r\n * @en_US Size type\r\n */\r\nexport type XAvatarSize = number | XSize | XResponseSize;\r\n\r\n/**\r\n * Avatar Group\r\n * @selector x-avatar-group\r\n * @decorator component\r\n */\r\nexport const XAvatarGroupPrefix = 'x-avatar-group';\r\n\r\n/**\r\n * Avatar Group Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAvatarGroupProperty extends XProperty {}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n Inject,\r\n OnDestroy,\r\n ViewChild,\r\n AfterViewInit,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XAvatarPrefix, XAvatarProperty } from './avatar.property';\r\nimport { XIsEmpty, XConfigService, XIsNumber, XIsString, XResize, XIsObject, XResponseSize, XIsChange } from '@ng-nest/ui/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XAvatarPrefix}`,\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarComponent extends XAvatarProperty implements OnDestroy, OnChanges, AfterViewInit {\r\n isImgError: boolean = false;\r\n\r\n styleMap: { [key: string]: any } = {};\r\n document!: Document;\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: ResizeObserver;\r\n\r\n @ViewChild('labelRef') labelRef!: ElementRef;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService,\r\n @Inject(DOCUMENT) document: any\r\n ) {\r\n super();\r\n this.document = document;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n let { label } = changes;\r\n XIsChange(label) && setTimeout(() => this.setLabel());\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setClassMap();\r\n this.setLabel();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape)\r\n };\r\n if (XIsNumber(this.size)) {\r\n const nsize = Number(this.size);\r\n this.setStyleMap(nsize);\r\n this.cdr.detectChanges();\r\n } else if (XIsString(this.size)) {\r\n this.classMap[`${XAvatarPrefix}-${this.size}`] = !XIsEmpty(this.size);\r\n this.cdr.detectChanges();\r\n } else if (XIsObject(this.size)) {\r\n this.classMap[`${XAvatarPrefix}-medium`] = true;\r\n const sz = this.size as XResponseSize;\r\n let { xs, sm, md, lg, xl } = sz;\r\n if (!xs && !sm && !md && !lg && !xl) return;\r\n XResize(this.document.documentElement)\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n const width = this.document.documentElement.clientWidth;\r\n let nsize = 40;\r\n if (xs && width < 768) {\r\n nsize = xs;\r\n }\r\n if (sm && width >= 768) {\r\n nsize = sm;\r\n }\r\n if (md && width >= 992) {\r\n nsize = md;\r\n }\r\n if (lg && width >= 1200) {\r\n nsize = lg;\r\n }\r\n if (xl && width >= 1920) {\r\n nsize = xl;\r\n }\r\n this.setStyleMap(nsize);\r\n this.cdr.detectChanges();\r\n this.setLabel();\r\n });\r\n }\r\n }\r\n\r\n setStyleMap(size: number) {\r\n this.styleMap = {\r\n height: `${size}px`,\r\n width: `${size}px`,\r\n lineHeight: `${size}px`,\r\n fontSize: `${size * 0.6}px`\r\n };\r\n }\r\n\r\n setLabel() {\r\n if (!this.label) return;\r\n if (!this.elementRef || !this.labelRef) return;\r\n const eleWidth = this.elementRef.nativeElement.clientWidth;\r\n const labelWidth = this.labelRef.nativeElement.clientWidth;\r\n let scale = (eleWidth - Number(this.gap) * 2) / labelWidth;\r\n scale = scale > 1 ? 1 : scale;\r\n this.renderer.setStyle(this.labelRef.nativeElement, 'transform', `scale(${scale})`);\r\n }\r\n\r\n imgError() {\r\n this.isImgError = true;\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<span\r\n #avatar\r\n class=\"x-avatar\"\r\n [class.x-avatar-label]=\"label\"\r\n [ngClass]=\"classMap\"\r\n [class.x-avatar-error]=\"isImgError\"\r\n [ngStyle]=\"styleMap\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <img *ngIf=\"src && !isImgError\" [src]=\"src\" [style.object-fit]=\"fit\" (error)=\"imgError()\" />\r\n <x-icon *ngIf=\"icon\" [type]=\"icon\"></x-icon>\r\n <x-icon *ngIf=\"isImgError\" type=\"fto-image\"></x-icon>\r\n <span #labelRef *xOutlet=\"label; context: { $label: label }\">\r\n {{ label }}\r\n </span>\r\n</span>\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XAvatarGroupPrefix, XAvatarGroupProperty } from './avatar.property';\r\n\r\n@Component({\r\n selector: `${XAvatarGroupPrefix}`,\r\n templateUrl: './avatar-group.component.html',\r\n styleUrls: ['./avatar-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarGroupComponent extends XAvatarGroupProperty {\r\n @HostBinding('class.x-avatar-group') _has = true;\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAvatarComponent } from './avatar.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XAvatarGroupProperty, XAvatarProperty } from './avatar.property';\r\nimport { XAvatarGroupComponent } from './avatar-group.component';\r\n\r\n@NgModule({\r\n declarations: [XAvatarComponent, XAvatarProperty, XAvatarGroupComponent, XAvatarGroupProperty],\r\n exports: [XAvatarComponent, XAvatarGroupComponent],\r\n imports: [CommonModule, XOutletModule, XIconModule]\r\n})\r\nexport class XAvatarModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGA;;;;AAIG;AACI,MAAM,aAAa,GAAG,WAAW;AACxC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B;;AAEG;AAEG,MAAO,eAAgB,SAAQ,SAAS,CAAA;;+HAAjC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,2NADL,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAWqC,UAAA,CAAA;AAAlD,IAAA,WAAW,CAAc,aAAa,EAAE,QAAQ,CAAC;CAAoB,EAAA,eAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAUlB,UAAA,CAAA;AAAnD,IAAA,WAAW,CAAe,aAAa,EAAE,QAAQ,CAAC;CAAsB,EAAA,eAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAUxB,UAAA,CAAA;AAAhD,IAAA,WAAW,CAAa,aAAa,EAAE,OAAO,CAAC;CAAkB,EAAA,eAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKV,UAAA,CAAA;AAAvD,IAAA,WAAW,CAAU,aAAa,EAAE,CAAC,CAAC;AAAE,IAAA,YAAY,EAAE;CAAe,EAAA,eAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKvB,UAAA,CAAA;AAA9C,IAAA,WAAW,CAAS,aAAa,EAAE,SAAS,CAAC;CAA0B,EAAA,eAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAxCtE,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;8BAMhB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKsD,IAAI,EAAA,CAAA;sBAA/D,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKuD,KAAK,EAAA,CAAA;sBAAjE,KAAK;gBAKG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAKoD,GAAG,EAAA,CAAA;sBAA5D,KAAK;gBAK2D,GAAG,EAAA,CAAA;sBAAnE,KAAK;gBAKkD,eAAe,EAAA,CAAA;sBAAtE,KAAK;;AAqBR;;;;AAIG;AACI,MAAM,kBAAkB,GAAG,iBAAiB;AAEnD;;AAEG;AAEG,MAAO,oBAAqB,SAAQ,SAAS,CAAA;;oIAAtC,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,2EADV,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FACZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;;;AC5DrB,MAAO,gBAAiB,SAAQ,eAAe,CAAA;IAUnD,WACS,CAAA,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B,EAClB,QAAa,EAAA;AAE/B,QAAA,KAAK,EAAE,CAAC;AAND,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACnB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;AAbtC,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAE5B,QAAA,IAAQ,CAAA,QAAA,GAA2B,EAAE,CAAC;AAE9B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;AAavC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;IAED,WAAW,GAAA;;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC3B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,EAAE,CAAC;KACpC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;AACxB,QAAA,SAAS,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KACvD;IAED,eAAe,GAAA;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,QAAQ,GAAG;AACd,YAAA,CAAC,CAAG,EAAA,aAAa,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,CAAA,CAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1D,CAAC;AACF,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACxB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC1B,SAAA;AAAM,aAAA,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtE,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC1B,SAAA;AAAM,aAAA,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,CAAA,EAAG,aAAa,CAAS,OAAA,CAAA,CAAC,GAAG,IAAI,CAAC;AAChD,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,IAAqB,CAAC;AACtC,YAAA,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AAChC,YAAA,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;gBAAE,OAAO;AAC5C,YAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;AACnC,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,iBAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACf,gBAAA,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,cAAc,CAAC;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;gBACxD,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,gBAAA,IAAI,EAAE,IAAI,KAAK,GAAG,GAAG,EAAE;oBACrB,KAAK,GAAG,EAAE,CAAC;AACZ,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE;oBACtB,KAAK,GAAG,EAAE,CAAC;AACZ,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE;oBACtB,KAAK,GAAG,EAAE,CAAC;AACZ,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;oBACvB,KAAK,GAAG,EAAE,CAAC;AACZ,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;oBACvB,KAAK,GAAG,EAAE,CAAC;AACZ,iBAAA;AACD,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACxB,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;AACN,SAAA;KACF;AAED,IAAA,WAAW,CAAC,IAAY,EAAA;QACtB,IAAI,CAAC,QAAQ,GAAG;YACd,MAAM,EAAE,CAAG,EAAA,IAAI,CAAI,EAAA,CAAA;YACnB,KAAK,EAAE,CAAG,EAAA,IAAI,CAAI,EAAA,CAAA;YAClB,UAAU,EAAE,CAAG,EAAA,IAAI,CAAI,EAAA,CAAA;AACvB,YAAA,QAAQ,EAAE,CAAA,EAAG,IAAI,GAAG,GAAG,CAAI,EAAA,CAAA;SAC5B,CAAC;KACH;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;AAC3D,QAAA,IAAI,KAAK,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC;AAC3D,QAAA,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;KACrF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;AAvGU,mBAAA,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,oIAejB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAfP,mBAAA,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,kMC1B7B,8jBAgBA,EAAA,MAAA,EAAA,CAAA,0yBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDUa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACE,CAAA,EAAG,aAAa,CAAA,CAAE,EAGb,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8jBAAA,EAAA,MAAA,EAAA,CAAA,0yBAAA,CAAA,EAAA,CAAA;;;8BAiB5C,MAAM;+BAAC,QAAQ,CAAA;;yBAPK,QAAQ,EAAA,CAAA;sBAA9B,SAAS;uBAAC,UAAU,CAAA;;;AExBjB,MAAO,qBAAsB,SAAQ,oBAAoB,CAAA;AAE7D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AAF2B,QAAA,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;KAGhD;;qIAJU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,4ICVlC,+BACA,EAAA,MAAA,EAAA,CAAA,yQAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDSa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;+BACE,CAAA,EAAG,kBAAkB,CAAA,CAAE,EAGlB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,yQAAA,CAAA,EAAA,CAAA;0EAGV,IAAI,EAAA,CAAA;sBAAxC,WAAW;uBAAC,sBAAsB,CAAA;;;MEExB,aAAa,CAAA;;6HAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,mBAAA,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAJT,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,CAEnF,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,WAAW,CADxC,EAAA,OAAA,EAAA,CAAA,gBAAgB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGtC,mBAAA,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAFd,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;2FAEvC,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,CAAC;AAC9F,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;AAClD,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;iBACpD,CAAA;;;ACZD;;AAEG;;;;"}
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate } from 'tslib';
|
|
4
4
|
import * as i1 from '@ng-nest/ui/core';
|
|
5
|
-
import { XProperty, XWithConfig, XInputNumber, XInputBoolean, XIsArray, XIsChange, XIsEmpty, XIsNumber, XBadgeAnimation } from '@ng-nest/ui/core';
|
|
5
|
+
import { XProperty, XWithConfig, XInputNumber, XInputBoolean, XIsArray, XIsChange, XIsEmpty, XIsNumber, XBadgeAnimation, XBadgeStandaloneAnimation } from '@ng-nest/ui/core';
|
|
6
6
|
import * as i2 from '@angular/common';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
8
|
|
|
@@ -32,7 +32,7 @@ class XBadgeProperty extends XProperty {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
/** @nocollapse */ XBadgeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XBadgeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
/** @nocollapse */ XBadgeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XBadgeProperty, selector: "ng-component", inputs: { type: "type", max: "max", value: "value", offset: "offset", dot: "dot" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
35
|
+
/** @nocollapse */ XBadgeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XBadgeProperty, selector: "ng-component", inputs: { type: "type", max: "max", value: "value", offset: "offset", dot: "dot", standalone: "standalone" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
36
36
|
__decorate([
|
|
37
37
|
XWithConfig(X_CONFIG_NAME, 'danger')
|
|
38
38
|
], XBadgeProperty.prototype, "type", void 0);
|
|
@@ -42,6 +42,9 @@ __decorate([
|
|
|
42
42
|
__decorate([
|
|
43
43
|
XInputBoolean()
|
|
44
44
|
], XBadgeProperty.prototype, "dot", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
XInputBoolean()
|
|
47
|
+
], XBadgeProperty.prototype, "standalone", void 0);
|
|
45
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XBadgeProperty, decorators: [{
|
|
46
49
|
type: Component,
|
|
47
50
|
args: [{ template: '' }]
|
|
@@ -55,6 +58,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
55
58
|
type: Input
|
|
56
59
|
}], dot: [{
|
|
57
60
|
type: Input
|
|
61
|
+
}], standalone: [{
|
|
62
|
+
type: Input
|
|
58
63
|
}] } });
|
|
59
64
|
|
|
60
65
|
class XBadgeComponent extends XBadgeProperty {
|
|
@@ -66,10 +71,13 @@ class XBadgeComponent extends XBadgeProperty {
|
|
|
66
71
|
this.configService = configService;
|
|
67
72
|
this.displayValue = '';
|
|
68
73
|
this.viewInit = false;
|
|
74
|
+
this.range = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '+'];
|
|
75
|
+
this.displayNums = [];
|
|
76
|
+
this.maxNums = [];
|
|
69
77
|
}
|
|
70
|
-
get
|
|
78
|
+
get getOffsetRight() {
|
|
71
79
|
if (this.offset && XIsArray(this.offset) && this.offset.length > 0) {
|
|
72
|
-
return this.offset[0]
|
|
80
|
+
return `-${this.offset[0]}`;
|
|
73
81
|
}
|
|
74
82
|
return null;
|
|
75
83
|
}
|
|
@@ -86,8 +94,7 @@ class XBadgeComponent extends XBadgeProperty {
|
|
|
86
94
|
const { value } = simples;
|
|
87
95
|
XIsChange(value) && this.setDisplayValue();
|
|
88
96
|
}
|
|
89
|
-
ngAfterViewInit() {
|
|
90
|
-
}
|
|
97
|
+
ngAfterViewInit() { }
|
|
91
98
|
setClassMap() {
|
|
92
99
|
this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type);
|
|
93
100
|
}
|
|
@@ -99,13 +106,27 @@ class XBadgeComponent extends XBadgeProperty {
|
|
|
99
106
|
else {
|
|
100
107
|
this.displayValue = `${this.value}`;
|
|
101
108
|
}
|
|
109
|
+
let res = [];
|
|
110
|
+
for (let i = 0; i < this.displayValue.length; i++) {
|
|
111
|
+
let str = this.displayValue[i];
|
|
112
|
+
if (str === '+') {
|
|
113
|
+
res.push(str);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
res.push(Number(str));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
this.displayNums = res;
|
|
120
|
+
if (this.displayNums.length != this.maxNums.length) {
|
|
121
|
+
this.maxNums = this.displayNums.map((_x, index) => index);
|
|
122
|
+
}
|
|
102
123
|
}
|
|
103
124
|
}
|
|
104
125
|
/** @nocollapse */ XBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XBadgeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
105
|
-
/** @nocollapse */ XBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XBadgeComponent, selector: "x-badge", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-
|
|
126
|
+
/** @nocollapse */ XBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XBadgeComponent, selector: "x-badge", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"value > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [XBadgeAnimation, XBadgeStandaloneAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
106
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XBadgeComponent, decorators: [{
|
|
107
128
|
type: Component,
|
|
108
|
-
args: [{ selector: `${XBadgePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XBadgeAnimation], template: "<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-
|
|
129
|
+
args: [{ selector: `${XBadgePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XBadgeAnimation, XBadgeStandaloneAnimation], template: "<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"value > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n", styles: ["x-badge{display:inline-block}.x-badge{margin:0;padding:0;font-size:var(--x-font-size);display:inline-block;box-sizing:border-box;text-align:center;position:relative}.x-badge>sup{position:absolute;top:0;right:0;overflow:hidden;transform:translate(50%,-50%);transform-origin:100% 0%;border-radius:.625rem;color:var(--x-white);display:inline-block;height:1.125rem;line-height:1.125rem;padding:0 .375rem;text-align:center;white-space:nowrap;box-shadow:0 0 0 .0625rem var(--x-white);vertical-align:middle}.x-badge-dot>sup{width:.5rem;height:.5rem;padding:0;right:0;border-radius:50%}.x-badge-standalone>sup{position:initial;transform:initial;transform-origin:initial}.x-badge-scroll{position:relative;height:1.125rem;display:inline-block;transition:transform var(--x-animation-duration-base) ease-in-out}.x-badge-primary>sup{background-color:var(--x-primary)}.x-badge-success>sup{background-color:var(--x-success)}.x-badge-info>sup{background-color:var(--x-info)}.x-badge-warning>sup{background-color:var(--x-warning)}.x-badge-danger>sup{background-color:var(--x-danger)}.x-badge-text>sup{background-color:var(--x-text)}\n"] }]
|
|
109
130
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
|
|
110
131
|
|
|
111
132
|
class XBadgeModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-badge.mjs","sources":["../../../../lib/ng-nest/ui/badge/badge.property.ts","../../../../lib/ng-nest/ui/badge/badge.component.ts","../../../../lib/ng-nest/ui/badge/badge.component.html","../../../../lib/ng-nest/ui/badge/badge.module.ts","../../../../lib/ng-nest/ui/badge/ng-nest-ui-badge.ts"],"sourcesContent":["import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XType, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Badge\r\n * @selector x-badge\r\n * @decorator component\r\n */\r\nexport const XBadgePrefix = 'x-badge';\r\nconst X_CONFIG_NAME = 'badge';\r\n\r\n/**\r\n * Badge Property\r\n */\r\n@Component({ template: '' })\r\nexport class XBadgeProperty extends XProperty {\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<XBadgeType>(X_CONFIG_NAME, 'danger') type?: XBadgeType;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max?: XNumber;\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n @Input() value: XNumber = '';\r\n /**\r\n * @zh_CN 偏移值 [left, top]\r\n * @en_US Offset value\r\n */\r\n @Input() offset: (number | string)[] = [];\r\n /**\r\n * @zh_CN 是否显示小红点\r\n * @en_US Whether to show the small red dot\r\n */\r\n @Input() @XInputBoolean() dot?: XBoolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 标记类型\r\n * @en_US Mark type\r\n */\r\nexport type XBadgeType = XType;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XBadgePrefix, XBadgeProperty } from './badge.property';\r\nimport { XIsNumber, XIsChange, XIsEmpty, XConfigService, XIsArray, XBadgeAnimation } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XBadgePrefix}`,\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XBadgeAnimation]\r\n})\r\nexport class XBadgeComponent extends XBadgeProperty implements OnInit, OnChanges {\r\n displayValue: string = '';\r\n viewInit = false;\r\n\r\n get getOffsetLeft() {\r\n if (this.offset && XIsArray(this.offset) && this.offset.length > 0) {\r\n return this.offset[0];\r\n }\r\n return null;\r\n }\r\n\r\n get getOffsetTop() {\r\n if (this.offset && XIsArray(this.offset) && this.offset.length > 1) {\r\n return this.offset[1];\r\n }\r\n return null;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { value } = simples;\r\n XIsChange(value) && this.setDisplayValue();\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type);\r\n }\r\n\r\n setDisplayValue() {\r\n let toNumber = Number(this.value);\r\n if (XIsNumber(toNumber) && this.max && toNumber > this.max) {\r\n this.displayValue = `${this.max}+`;\r\n } else {\r\n this.displayValue = `${this.value}`;\r\n }\r\n }\r\n}\r\n","<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-offset]=\"getOffsetLeft\">\r\n <ng-content></ng-content>\r\n <sup [@x-badge-animation] [style.marginLeft]=\"getOffsetLeft\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">{{ displayValue }}</ng-container>\r\n </sup>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBadgeComponent } from './badge.component';\r\nimport { XBadgeProperty } from './badge.property';\r\n\r\n@NgModule({\r\n declarations: [XBadgeComponent, XBadgeProperty],\r\n exports: [XBadgeComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XBadgeModule {}\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-badge.mjs","sources":["../../../../lib/ng-nest/ui/badge/badge.property.ts","../../../../lib/ng-nest/ui/badge/badge.component.ts","../../../../lib/ng-nest/ui/badge/badge.component.html","../../../../lib/ng-nest/ui/badge/badge.module.ts","../../../../lib/ng-nest/ui/badge/ng-nest-ui-badge.ts"],"sourcesContent":["import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XType, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Badge\r\n * @selector x-badge\r\n * @decorator component\r\n */\r\nexport const XBadgePrefix = 'x-badge';\r\nconst X_CONFIG_NAME = 'badge';\r\n\r\n/**\r\n * Badge Property\r\n */\r\n@Component({ template: '' })\r\nexport class XBadgeProperty extends XProperty {\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<XBadgeType>(X_CONFIG_NAME, 'danger') type?: XBadgeType;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max?: XNumber;\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n @Input() value: XNumber = '';\r\n /**\r\n * @zh_CN 偏移值 [left, top]\r\n * @en_US Offset value\r\n */\r\n @Input() offset: (number | string)[] = [];\r\n /**\r\n * @zh_CN 是否显示小红点\r\n * @en_US Whether to show the small red dot\r\n */\r\n @Input() @XInputBoolean() dot?: XBoolean;\r\n /**\r\n * @zh_CN 独立使用\r\n * @en_US Independent use\r\n */\r\n @Input() @XInputBoolean() standalone?: XBoolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 标记类型\r\n * @en_US Mark type\r\n */\r\nexport type XBadgeType = XType;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XBadgePrefix, XBadgeProperty } from './badge.property';\r\nimport { XIsNumber, XIsChange, XIsEmpty, XConfigService, XIsArray, XBadgeAnimation, XBadgeStandaloneAnimation } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XBadgePrefix}`,\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XBadgeAnimation, XBadgeStandaloneAnimation]\r\n})\r\nexport class XBadgeComponent extends XBadgeProperty implements OnInit, OnChanges {\r\n displayValue: string = '';\r\n viewInit = false;\r\n range = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '+'];\r\n displayNums: any[] = [];\r\n maxNums: number[] = [];\r\n\r\n get getOffsetRight() {\r\n if (this.offset && XIsArray(this.offset) && this.offset.length > 0) {\r\n return `-${this.offset[0]}`;\r\n }\r\n return null;\r\n }\r\n\r\n get getOffsetTop() {\r\n if (this.offset && XIsArray(this.offset) && this.offset.length > 1) {\r\n return this.offset[1];\r\n }\r\n return null;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { value } = simples;\r\n XIsChange(value) && this.setDisplayValue();\r\n }\r\n\r\n ngAfterViewInit() {}\r\n\r\n setClassMap() {\r\n this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type);\r\n }\r\n\r\n setDisplayValue() {\r\n let toNumber = Number(this.value);\r\n if (XIsNumber(toNumber) && this.max && toNumber > this.max) {\r\n this.displayValue = `${this.max}+`;\r\n } else {\r\n this.displayValue = `${this.value}`;\r\n }\r\n let res: any = [];\r\n for (let i = 0; i < this.displayValue.length; i++) {\r\n let str = this.displayValue[i];\r\n if (str === '+') {\r\n res.push(str);\r\n } else {\r\n res.push(Number(str));\r\n }\r\n }\r\n this.displayNums = res;\r\n if (this.displayNums.length != this.maxNums.length) {\r\n this.maxNums = this.displayNums.map((_x, index) => index) as number[];\r\n }\r\n }\r\n}\r\n","<div #badge class=\"x-badge\" [ngClass]=\"classMap\" [class.x-badge-dot]=\"dot\" [class.x-badge-standalone]=\"standalone\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"value > 0 || dot\">\r\n <sup *ngIf=\"standalone\" [@x-badge-standalone-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n <sup *ngIf=\"!standalone\" [@x-badge-animation] [style.marginRight]=\"getOffsetRight\" [style.marginTop]=\"getOffsetTop\">\r\n <ng-container *ngIf=\"!dot\">\r\n <ng-container *ngTemplateOutlet=\"diaplayValueTpl\"></ng-container>\r\n </ng-container>\r\n </sup>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #diaplayValueTpl>\r\n <span\r\n class=\"x-badge-scroll\"\r\n *ngFor=\"let item of maxNums; let i = index\"\r\n [style.transform]=\"'translateY(-' + (displayNums[i] == '+' ? 10 : displayNums[i]) * 100 + '%)'\"\r\n >\r\n <p *ngFor=\"let j of range\">{{ j }}</p>\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBadgeComponent } from './badge.component';\r\nimport { XBadgeProperty } from './badge.property';\r\n\r\n@NgModule({\r\n declarations: [XBadgeComponent, XBadgeProperty],\r\n exports: [XBadgeComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XBadgeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|