@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.
Files changed (197) hide show
  1. package/avatar/avatar-group.component.d.ts +8 -0
  2. package/avatar/avatar.component.d.ts +15 -4
  3. package/avatar/avatar.module.d.ts +5 -4
  4. package/avatar/avatar.property.d.ts +31 -3
  5. package/avatar/examples/en_US/default/badge/README.md +6 -0
  6. package/avatar/examples/en_US/default/group/README.md +6 -0
  7. package/avatar/examples/en_US/default/label/README.md +6 -0
  8. package/avatar/examples/en_US/default/response/README.md +6 -0
  9. package/avatar/examples/zh_CN/default/badge/README.md +6 -0
  10. package/avatar/examples/zh_CN/default/group/README.md +6 -0
  11. package/avatar/examples/zh_CN/default/label/README.md +6 -0
  12. package/avatar/examples/zh_CN/default/response/README.md +6 -0
  13. package/avatar/public-api.d.ts +1 -0
  14. package/badge/badge.component.d.ts +4 -1
  15. package/badge/badge.property.d.ts +6 -1
  16. package/badge/examples/en_US/default/animation/README.md +4 -0
  17. package/badge/examples/en_US/default/standalone/README.md +6 -0
  18. package/badge/examples/zh_CN/default/animation/README.md +4 -0
  19. package/badge/examples/zh_CN/default/standalone/README.md +6 -0
  20. package/calendar/calendar.property.d.ts +2 -1
  21. package/core/animation/badge.d.ts +1 -0
  22. package/core/config/config.d.ts +26 -0
  23. package/core/interfaces/identify.type.d.ts +2 -0
  24. package/core/interfaces/layout.type.d.ts +15 -0
  25. package/esm2020/avatar/avatar-group.component.mjs +19 -0
  26. package/esm2020/avatar/avatar.component.mjs +91 -11
  27. package/esm2020/avatar/avatar.module.mjs +6 -5
  28. package/esm2020/avatar/avatar.property.mjs +31 -3
  29. package/esm2020/avatar/public-api.mjs +2 -1
  30. package/esm2020/badge/badge.component.mjs +24 -8
  31. package/esm2020/badge/badge.property.mjs +7 -2
  32. package/esm2020/calendar/calendar.property.mjs +1 -1
  33. package/esm2020/core/animation/badge.mjs +17 -1
  34. package/esm2020/core/config/config.mjs +1 -1
  35. package/esm2020/core/interfaces/identify.type.mjs +1 -1
  36. package/esm2020/core/interfaces/layout.type.mjs +1 -1
  37. package/esm2020/form/form.component.mjs +3 -3
  38. package/esm2020/i18n/i18n.property.mjs +1 -1
  39. package/esm2020/i18n/languages/en_US.mjs +5 -1
  40. package/esm2020/i18n/languages/zh_CN.mjs +5 -1
  41. package/esm2020/i18n/languages/zh_TW.mjs +5 -1
  42. package/esm2020/image/image-group.component.mjs +2 -2
  43. package/esm2020/image/image.component.mjs +13 -5
  44. package/esm2020/image/image.module.mjs +5 -4
  45. package/esm2020/image/image.property.mjs +22 -3
  46. package/esm2020/index.mjs +3 -1
  47. package/esm2020/keyword/keyword.directive.mjs +66 -0
  48. package/esm2020/keyword/keyword.module.mjs +19 -0
  49. package/esm2020/keyword/keyword.property.mjs +41 -0
  50. package/esm2020/keyword/ng-nest-ui-keyword.mjs +5 -0
  51. package/esm2020/keyword/public-api.mjs +4 -0
  52. package/esm2020/list/list-option.component.mjs +4 -4
  53. package/esm2020/list/list.component.mjs +4 -4
  54. package/esm2020/list/list.module.mjs +8 -4
  55. package/esm2020/list/list.property.mjs +19 -3
  56. package/esm2020/select/select-portal.component.mjs +6 -3
  57. package/esm2020/select/select.component.mjs +31 -23
  58. package/esm2020/select/select.property.mjs +8 -2
  59. package/esm2020/table/table.component.mjs +4 -4
  60. package/esm2020/tree/tree-node.component.mjs +52 -27
  61. package/esm2020/tree/tree.component.mjs +173 -58
  62. package/esm2020/tree/tree.module.mjs +5 -4
  63. package/esm2020/tree/tree.property.mjs +38 -2
  64. package/esm2020/tree-select/ng-nest-ui-tree-select.mjs +5 -0
  65. package/esm2020/tree-select/public-api.mjs +5 -0
  66. package/esm2020/tree-select/tree-select-portal.component.mjs +110 -0
  67. package/esm2020/tree-select/tree-select.component.mjs +632 -0
  68. package/esm2020/tree-select/tree-select.module.mjs +65 -0
  69. package/esm2020/tree-select/tree-select.property.mjs +153 -0
  70. package/esm2020/upload/upload.component.mjs +9 -6
  71. package/esm2020/upload/upload.module.mjs +12 -4
  72. package/esm2020/upload/upload.property.mjs +10 -3
  73. package/fesm2015/ng-nest-ui-avatar.mjs +143 -17
  74. package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
  75. package/fesm2015/ng-nest-ui-badge.mjs +29 -8
  76. package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
  77. package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
  78. package/fesm2015/ng-nest-ui-core.mjs +17 -1
  79. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  80. package/fesm2015/ng-nest-ui-form.mjs +2 -2
  81. package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
  82. package/fesm2015/ng-nest-ui-i18n.mjs +12 -0
  83. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  84. package/fesm2015/ng-nest-ui-image.mjs +39 -11
  85. package/fesm2015/ng-nest-ui-image.mjs.map +1 -1
  86. package/fesm2015/ng-nest-ui-keyword.mjs +125 -0
  87. package/fesm2015/ng-nest-ui-keyword.mjs.map +1 -0
  88. package/fesm2015/ng-nest-ui-list.mjs +32 -12
  89. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  90. package/fesm2015/ng-nest-ui-select.mjs +42 -25
  91. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  92. package/fesm2015/ng-nest-ui-table.mjs +3 -3
  93. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  94. package/fesm2015/ng-nest-ui-tree-select.mjs +951 -0
  95. package/fesm2015/ng-nest-ui-tree-select.mjs.map +1 -0
  96. package/fesm2015/ng-nest-ui-tree.mjs +271 -94
  97. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  98. package/fesm2015/ng-nest-ui-upload.mjs +28 -10
  99. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  100. package/fesm2015/ng-nest-ui.mjs +2 -0
  101. package/fesm2015/ng-nest-ui.mjs.map +1 -1
  102. package/fesm2020/ng-nest-ui-avatar.mjs +140 -17
  103. package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
  104. package/fesm2020/ng-nest-ui-badge.mjs +29 -8
  105. package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
  106. package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
  107. package/fesm2020/ng-nest-ui-core.mjs +17 -1
  108. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  109. package/fesm2020/ng-nest-ui-form.mjs +2 -2
  110. package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
  111. package/fesm2020/ng-nest-ui-i18n.mjs +12 -0
  112. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  113. package/fesm2020/ng-nest-ui-image.mjs +39 -11
  114. package/fesm2020/ng-nest-ui-image.mjs.map +1 -1
  115. package/fesm2020/ng-nest-ui-keyword.mjs +125 -0
  116. package/fesm2020/ng-nest-ui-keyword.mjs.map +1 -0
  117. package/fesm2020/ng-nest-ui-list.mjs +32 -12
  118. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  119. package/fesm2020/ng-nest-ui-select.mjs +42 -25
  120. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  121. package/fesm2020/ng-nest-ui-table.mjs +3 -3
  122. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  123. package/fesm2020/ng-nest-ui-tree-select.mjs +946 -0
  124. package/fesm2020/ng-nest-ui-tree-select.mjs.map +1 -0
  125. package/fesm2020/ng-nest-ui-tree.mjs +267 -91
  126. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  127. package/fesm2020/ng-nest-ui-upload.mjs +28 -10
  128. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  129. package/fesm2020/ng-nest-ui.mjs +2 -0
  130. package/fesm2020/ng-nest-ui.mjs.map +1 -1
  131. package/i18n/i18n.property.d.ts +5 -0
  132. package/i18n/languages/en_US.d.ts +4 -0
  133. package/i18n/languages/zh_CN.d.ts +4 -0
  134. package/i18n/languages/zh_TW.d.ts +4 -0
  135. package/image/image.component.d.ts +2 -2
  136. package/image/image.module.d.ts +3 -2
  137. package/image/image.property.d.ts +23 -7
  138. package/index.d.ts +2 -0
  139. package/keyword/index.d.ts +5 -0
  140. package/keyword/keyword.directive.d.ts +19 -0
  141. package/keyword/keyword.module.d.ts +9 -0
  142. package/keyword/keyword.property.d.ts +40 -0
  143. package/keyword/public-api.d.ts +3 -0
  144. package/list/list-option.component.d.ts +0 -1
  145. package/list/list.module.d.ts +2 -1
  146. package/list/list.property.d.ts +22 -2
  147. package/package.json +17 -1
  148. package/select/examples/en_US/default/default/README.md +1 -2
  149. package/select/examples/zh_CN/default/default/README.md +1 -2
  150. package/select/select-portal.component.d.ts +5 -1
  151. package/select/select.component.d.ts +2 -2
  152. package/select/select.property.d.ts +6 -1
  153. package/style/core/index.css +29 -0
  154. package/style/core/index.css.map +1 -1
  155. package/style/directives/index.scss +1 -0
  156. package/style/directives/keyword/index.scss +6 -0
  157. package/style/directives/keyword/mixin.scss +24 -0
  158. package/style/directives/keyword/param.scss +3 -0
  159. package/tree/tree-node.component.d.ts +4 -4
  160. package/tree/tree.component.d.ts +13 -1
  161. package/tree/tree.module.d.ts +2 -1
  162. package/tree/tree.property.d.ts +44 -14
  163. package/tree-select/examples/en_US/default/README.md +4 -0
  164. package/tree-select/examples/en_US/default/async/README.md +6 -0
  165. package/tree-select/examples/en_US/default/bordered/README.md +6 -0
  166. package/tree-select/examples/en_US/default/custom/README.md +6 -0
  167. package/tree-select/examples/en_US/default/default/README.md +6 -0
  168. package/tree-select/examples/en_US/default/disabled/README.md +6 -0
  169. package/tree-select/examples/en_US/default/label/README.md +6 -0
  170. package/tree-select/examples/en_US/default/multiple/README.md +6 -0
  171. package/tree-select/examples/en_US/default/path/README.md +6 -0
  172. package/tree-select/examples/en_US/default/required/README.md +6 -0
  173. package/tree-select/examples/en_US/default/scroll/README.md +6 -0
  174. package/tree-select/examples/en_US/default/search/README.md +7 -0
  175. package/tree-select/examples/en_US/default/size/README.md +6 -0
  176. package/tree-select/examples/zh_CN/default/README.md +4 -0
  177. package/tree-select/examples/zh_CN/default/async/README.md +6 -0
  178. package/tree-select/examples/zh_CN/default/bordered/README.md +6 -0
  179. package/tree-select/examples/zh_CN/default/custom/README.md +6 -0
  180. package/tree-select/examples/zh_CN/default/default/README.md +6 -0
  181. package/tree-select/examples/zh_CN/default/disabled/README.md +6 -0
  182. package/tree-select/examples/zh_CN/default/label/README.md +6 -0
  183. package/tree-select/examples/zh_CN/default/multiple/README.md +6 -0
  184. package/tree-select/examples/zh_CN/default/path/README.md +6 -0
  185. package/tree-select/examples/zh_CN/default/required/README.md +6 -0
  186. package/tree-select/examples/zh_CN/default/scroll/README.md +6 -0
  187. package/tree-select/examples/zh_CN/default/search/README.md +7 -0
  188. package/tree-select/examples/zh_CN/default/size/README.md +6 -0
  189. package/tree-select/index.d.ts +5 -0
  190. package/tree-select/public-api.d.ts +4 -0
  191. package/tree-select/tree-select-portal.component.d.ts +62 -0
  192. package/tree-select/tree-select.component.d.ts +101 -0
  193. package/tree-select/tree-select.module.d.ts +20 -0
  194. package/tree-select/tree-select.property.d.ts +202 -0
  195. package/upload/upload.component.d.ts +1 -1
  196. package/upload/upload.module.d.ts +3 -1
  197. package/upload/upload.property.d.ts +13 -3
@@ -0,0 +1,8 @@
1
+ import { XAvatarGroupProperty } from './avatar.property';
2
+ import * as i0 from "@angular/core";
3
+ export declare class XAvatarGroupComponent extends XAvatarGroupProperty {
4
+ _has: boolean;
5
+ constructor();
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<XAvatarGroupComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<XAvatarGroupComponent, "x-avatar-group", never, {}, {}, never, ["*"], false>;
8
+ }
@@ -1,16 +1,27 @@
1
- import { OnInit, Renderer2, ElementRef, ChangeDetectorRef } from '@angular/core';
1
+ import { Renderer2, ElementRef, ChangeDetectorRef, OnDestroy, AfterViewInit, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { XAvatarProperty } from './avatar.property';
3
3
  import { XConfigService } from '@ng-nest/ui/core';
4
4
  import * as i0 from "@angular/core";
5
- export declare class XAvatarComponent extends XAvatarProperty implements OnInit {
5
+ export declare class XAvatarComponent extends XAvatarProperty implements OnDestroy, OnChanges, AfterViewInit {
6
6
  renderer: Renderer2;
7
7
  elementRef: ElementRef;
8
8
  cdr: ChangeDetectorRef;
9
9
  configService: XConfigService;
10
10
  isImgError: boolean;
11
- constructor(renderer: Renderer2, elementRef: ElementRef, cdr: ChangeDetectorRef, configService: XConfigService);
12
- ngOnInit(): void;
11
+ styleMap: {
12
+ [key: string]: any;
13
+ };
14
+ document: Document;
15
+ private _unSubject;
16
+ private _resizeObserver;
17
+ labelRef: ElementRef;
18
+ constructor(renderer: Renderer2, elementRef: ElementRef, cdr: ChangeDetectorRef, configService: XConfigService, document: any);
19
+ ngOnDestroy(): void;
20
+ ngOnChanges(changes: SimpleChanges): void;
21
+ ngAfterViewInit(): void;
13
22
  setClassMap(): void;
23
+ setStyleMap(size: number): void;
24
+ setLabel(): void;
14
25
  imgError(): void;
15
26
  static ɵfac: i0.ɵɵFactoryDeclaration<XAvatarComponent, never>;
16
27
  static ɵcmp: i0.ɵɵComponentDeclaration<XAvatarComponent, "x-avatar", never, {}, {}, never, never, false>;
@@ -1,11 +1,12 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./avatar.component";
3
3
  import * as i2 from "./avatar.property";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@ng-nest/ui/outlet";
6
- import * as i5 from "@ng-nest/ui/icon";
4
+ import * as i3 from "./avatar-group.component";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@ng-nest/ui/outlet";
7
+ import * as i6 from "@ng-nest/ui/icon";
7
8
  export declare class XAvatarModule {
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<XAvatarModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<XAvatarModule, [typeof i1.XAvatarComponent, typeof i2.XAvatarProperty], [typeof i3.CommonModule, typeof i4.XOutletModule, typeof i5.XIconModule], [typeof i1.XAvatarComponent]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<XAvatarModule, [typeof i1.XAvatarComponent, typeof i2.XAvatarProperty, typeof i3.XAvatarGroupComponent, typeof i2.XAvatarGroupProperty], [typeof i4.CommonModule, typeof i5.XOutletModule, typeof i6.XIconModule], [typeof i1.XAvatarComponent, typeof i3.XAvatarGroupComponent]>;
10
11
  static ɵinj: i0.ɵɵInjectorDeclaration<XAvatarModule>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { XSize, XTemplate, XProperty, XShape, XFit } from '@ng-nest/ui/core';
1
+ import { XSize, XTemplate, XProperty, XShape, XFit, XResponseSize, XNumber } from '@ng-nest/ui/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Avatar
@@ -19,7 +19,7 @@ export declare class XAvatarProperty extends XProperty {
19
19
  * @zh_CN 尺寸
20
20
  * @en_US Size
21
21
  */
22
- size?: XSize;
22
+ size?: XAvatarSize;
23
23
  /**
24
24
  * @zh_CN 显示图标
25
25
  * @en_US Show icon
@@ -40,8 +40,18 @@ export declare class XAvatarProperty extends XProperty {
40
40
  * @en_US Image adaptation method
41
41
  */
42
42
  fit?: XAvatarFit;
43
+ /**
44
+ * @zh_CN 字符类型的时候左右边距,px
45
+ * @en_US When the character type is the left and right distance, PX
46
+ */
47
+ gap?: XNumber;
48
+ /**
49
+ * @zh_CN 背景颜色
50
+ * @en_US Background color
51
+ */
52
+ backgroundColor?: string;
43
53
  static ɵfac: i0.ɵɵFactoryDeclaration<XAvatarProperty, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<XAvatarProperty, "ng-component", never, { "label": "label"; "size": "size"; "icon": "icon"; "shape": "shape"; "src": "src"; "fit": "fit"; }, {}, never, never, false>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<XAvatarProperty, "ng-component", never, { "label": "label"; "size": "size"; "icon": "icon"; "shape": "shape"; "src": "src"; "fit": "fit"; "gap": "gap"; "backgroundColor": "backgroundColor"; }, {}, never, never, false>;
45
55
  }
46
56
  /**
47
57
  * @zh_CN 头像形状
@@ -53,3 +63,21 @@ export declare type XAvatarShape = XShape;
53
63
  * @en_US When the display type is picture, set how the picture fits into the container frame
54
64
  */
55
65
  export declare type XAvatarFit = XFit;
66
+ /**
67
+ * @zh_CN 尺寸类型
68
+ * @en_US Size type
69
+ */
70
+ export declare type XAvatarSize = number | XSize | XResponseSize;
71
+ /**
72
+ * Avatar Group
73
+ * @selector x-avatar-group
74
+ * @decorator component
75
+ */
76
+ export declare const XAvatarGroupPrefix = "x-avatar-group";
77
+ /**
78
+ * Avatar Group Property
79
+ */
80
+ export declare class XAvatarGroupProperty extends XProperty {
81
+ static ɵfac: i0.ɵɵFactoryDeclaration<XAvatarGroupProperty, never>;
82
+ static ɵcmp: i0.ɵɵComponentDeclaration<XAvatarGroupProperty, "ng-component", never, {}, {}, never, never, false>;
83
+ }
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 5
3
+ label: 'Badge'
4
+ ---
5
+
6
+ Use the module `x-badge` to use the badge.
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 8
3
+ label: 'Group'
4
+ ---
5
+
6
+ Use the `x-avatar-group` to achieve the avatar group display.
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 7
3
+ label: '文字自适应'
4
+ ---
5
+
6
+ `label` 中的文字将自适应宽度。
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 6
3
+ label: 'Response'
4
+ ---
5
+
6
+ Use the `size` to set the response size.
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 5
3
+ label: '徽章'
4
+ ---
5
+
6
+ 配合组件 `x-badge` 来使用徽章。
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 8
3
+ label: '头像组'
4
+ ---
5
+
6
+ 使用 `x-avatar-group` 实现头像组显示。
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 7
3
+ label: '文字自适应'
4
+ ---
5
+
6
+ `label` 中的文字将自适应宽度。
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 6
3
+ label: '响应尺寸'
4
+ ---
5
+
6
+ 使用 `size` 来设置响应式尺寸。
@@ -1,3 +1,4 @@
1
1
  export * from './avatar.component';
2
+ export * from './avatar-group.component';
2
3
  export * from './avatar.module';
3
4
  export * from './avatar.property';
@@ -9,7 +9,10 @@ export declare class XBadgeComponent extends XBadgeProperty implements OnInit, O
9
9
  configService: XConfigService;
10
10
  displayValue: string;
11
11
  viewInit: boolean;
12
- get getOffsetLeft(): string | number | null;
12
+ range: (string | number)[];
13
+ displayNums: any[];
14
+ maxNums: number[];
15
+ get getOffsetRight(): string | null;
13
16
  get getOffsetTop(): string | number | null;
14
17
  constructor(renderer: Renderer2, elementRef: ElementRef, cdr: ChangeDetectorRef, configService: XConfigService);
15
18
  ngOnInit(): void;
@@ -35,8 +35,13 @@ export declare class XBadgeProperty extends XProperty {
35
35
  * @en_US Whether to show the small red dot
36
36
  */
37
37
  dot?: XBoolean;
38
+ /**
39
+ * @zh_CN 独立使用
40
+ * @en_US Independent use
41
+ */
42
+ standalone?: XBoolean;
38
43
  static ɵfac: i0.ɵɵFactoryDeclaration<XBadgeProperty, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<XBadgeProperty, "ng-component", never, { "type": "type"; "max": "max"; "value": "value"; "offset": "offset"; "dot": "dot"; }, {}, never, never, false>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<XBadgeProperty, "ng-component", never, { "type": "type"; "max": "max"; "value": "value"; "offset": "offset"; "dot": "dot"; "standalone": "standalone"; }, {}, never, never, false>;
40
45
  }
41
46
  /**
42
47
  * @zh_CN 标记类型
@@ -0,0 +1,4 @@
1
+ ---
2
+ order: 9
3
+ label: 'Switching'
4
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 8
3
+ label: 'Standalone'
4
+ ---
5
+
6
+ Use the `standalone` to set it independently.
@@ -0,0 +1,4 @@
1
+ ---
2
+ order: 9
3
+ label: '切换动效'
4
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 8
3
+ label: '独立使用'
4
+ ---
5
+
6
+ 使用 `standalone` 来设置独立使用。
@@ -50,7 +50,8 @@ export declare class XCalendarProperty extends XProperty {
50
50
  */
51
51
  export interface XCalendarData {
52
52
  /**
53
- * key-value { "2020-2-22": [{id:"1",label:"1"}] }
53
+ * key-value
54
+ * { "2020-2-22": [{id:"1",label:"1"}] }
54
55
  */
55
56
  [property: string]: XCalendarNode[];
56
57
  }
@@ -1,2 +1,3 @@
1
1
  import { AnimationTriggerMetadata } from '@angular/animations';
2
2
  export declare const XBadgeAnimation: AnimationTriggerMetadata;
3
+ export declare const XBadgeStandaloneAnimation: AnimationTriggerMetadata;
@@ -91,8 +91,10 @@ export interface XComponentConfig {
91
91
  transfer?: XTransferConfig;
92
92
  tree?: XTreeConfig;
93
93
  treeFile?: XTreeFileConfig;
94
+ treeSelect?: XTreeSelectConfig;
94
95
  textarea?: XTextareaConfig;
95
96
  upload?: XUploadConfig;
97
+ keyword?: XKeywordConfig;
96
98
  }
97
99
  export interface XAffixConfig {
98
100
  top?: string;
@@ -118,6 +120,8 @@ export interface XAvatarConfig {
118
120
  size?: XSize;
119
121
  shape?: XShape;
120
122
  fit?: XFit;
123
+ gap?: number;
124
+ backgroundColor?: string;
121
125
  }
122
126
  export interface XAutoCompleteConfig {
123
127
  placement?: XPositionTopBottom;
@@ -311,6 +315,7 @@ export interface XListConfig {
311
315
  selectAllText?: string;
312
316
  loadMoreText?: string;
313
317
  loadingMoreText?: string;
318
+ caseSensitive?: boolean;
314
319
  }
315
320
  export interface XListOptionConfig {
316
321
  size?: XSize;
@@ -407,6 +412,7 @@ export interface XSelectConfig {
407
412
  caseSensitive?: XBoolean;
408
413
  debounceTime?: number;
409
414
  maxTagCount?: number;
415
+ virtualScroll?: XBoolean;
410
416
  }
411
417
  export interface XSkeletonConfig {
412
418
  }
@@ -492,7 +498,27 @@ export interface XTreeFileConfig {
492
498
  maxHeight?: XNumber;
493
499
  spacing?: XNumber;
494
500
  }
501
+ export interface XTreeSelectConfig {
502
+ placement?: XPositionTopBottom;
503
+ clearable?: XBoolean;
504
+ size?: XSize;
505
+ bordered?: XBoolean;
506
+ portalMaxHeight?: string;
507
+ selectAllText?: string;
508
+ search?: XBoolean;
509
+ caseSensitive?: XBoolean;
510
+ debounceTime?: number;
511
+ maxTagCount?: number;
512
+ virtualScroll?: XBoolean;
513
+ showPath?: XBoolean;
514
+ separator?: string;
515
+ }
495
516
  export interface XUploadConfig {
496
517
  download?: XBoolean;
497
518
  multipleModel?: 'cover' | 'add';
498
519
  }
520
+ export interface XKeywordConfig {
521
+ type?: XType;
522
+ color?: string;
523
+ caseSensitive?: boolean;
524
+ }
@@ -7,8 +7,10 @@ export interface XParentIdentityProperty<T> extends XIdentityProperty {
7
7
  level?: number;
8
8
  leaf?: boolean;
9
9
  children?: T[];
10
+ childrenLoaded?: boolean;
10
11
  selected?: boolean;
11
12
  disabled?: boolean;
13
+ open?: boolean;
12
14
  }
13
15
  export declare class XIdentity {
14
16
  id?: any;
@@ -43,6 +43,21 @@ export declare type XStyle = {
43
43
  * @value "mini" 迷你
44
44
  */
45
45
  export declare type XSize = 'big' | 'large' | 'medium' | 'small' | 'mini';
46
+ /**
47
+ * 响应尺寸
48
+ * @value "xs" <768px
49
+ * @value "sm" ≥768px
50
+ * @value "md" ≥992px
51
+ * @value "lg" ≥1200px
52
+ * @value "xl" ≥1920px
53
+ */
54
+ export declare type XResponseSize = {
55
+ xs?: number;
56
+ sm?: number;
57
+ md?: number;
58
+ lg?: number;
59
+ xl?: number;
60
+ };
46
61
  /**
47
62
  * flex 布局下的子元素水平排列方式
48
63
  */
@@ -0,0 +1,19 @@
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';
2
+ import { XAvatarGroupPrefix, XAvatarGroupProperty } from './avatar.property';
3
+ import * as i0 from "@angular/core";
4
+ export class XAvatarGroupComponent extends XAvatarGroupProperty {
5
+ constructor() {
6
+ super();
7
+ this._has = true;
8
+ }
9
+ }
10
+ /** @nocollapse */ XAvatarGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ /** @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 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarGroupComponent, decorators: [{
13
+ type: Component,
14
+ 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"] }]
15
+ }], ctorParameters: function () { return []; }, propDecorators: { _has: [{
16
+ type: HostBinding,
17
+ args: ['class.x-avatar-group']
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2F2YXRhci9hdmF0YXItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYXZhdGFyL2F2YXRhci1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFTN0UsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjtJQUU3RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRjJCLFNBQUksR0FBRyxJQUFJLENBQUM7SUFHakQsQ0FBQzs7cUlBSlUscUJBQXFCO3lIQUFyQixxQkFBcUIsNElDVmxDLCtCQUNBOzJGRFNhLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxHQUFHLGtCQUFrQixFQUFFLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUdWLElBQUk7c0JBQXhDLFdBQVc7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhBdmF0YXJHcm91cFByZWZpeCwgWEF2YXRhckdyb3VwUHJvcGVydHkgfSBmcm9tICcuL2F2YXRhci5wcm9wZXJ0eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEF2YXRhckdyb3VwUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEF2YXRhckdyb3VwQ29tcG9uZW50IGV4dGVuZHMgWEF2YXRhckdyb3VwUHJvcGVydHkge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MueC1hdmF0YXItZ3JvdXAnKSBfaGFzID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
@@ -1,38 +1,118 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewChild } from '@angular/core';
2
2
  import { XAvatarPrefix, XAvatarProperty } from './avatar.property';
3
- import { XIsEmpty } from '@ng-nest/ui/core';
3
+ import { XIsEmpty, XIsNumber, XIsString, XResize, XIsObject, XIsChange } from '@ng-nest/ui/core';
4
+ import { DOCUMENT } from '@angular/common';
5
+ import { Subject, takeUntil } from 'rxjs';
4
6
  import * as i0 from "@angular/core";
5
7
  import * as i1 from "@ng-nest/ui/core";
6
8
  import * as i2 from "@angular/common";
7
9
  import * as i3 from "@ng-nest/ui/outlet";
8
10
  import * as i4 from "@ng-nest/ui/icon";
9
11
  export class XAvatarComponent extends XAvatarProperty {
10
- constructor(renderer, elementRef, cdr, configService) {
12
+ constructor(renderer, elementRef, cdr, configService, document) {
11
13
  super();
12
14
  this.renderer = renderer;
13
15
  this.elementRef = elementRef;
14
16
  this.cdr = cdr;
15
17
  this.configService = configService;
16
18
  this.isImgError = false;
19
+ this.styleMap = {};
20
+ this._unSubject = new Subject();
21
+ this.document = document;
17
22
  }
18
- ngOnInit() {
23
+ ngOnDestroy() {
24
+ this._unSubject.next();
25
+ this._unSubject.complete();
26
+ this._resizeObserver?.disconnect();
27
+ }
28
+ ngOnChanges(changes) {
29
+ let { label } = changes;
30
+ XIsChange(label) && setTimeout(() => this.setLabel());
31
+ }
32
+ ngAfterViewInit() {
19
33
  this.setClassMap();
34
+ this.setLabel();
20
35
  }
21
36
  setClassMap() {
22
37
  this.classMap = {
23
- [`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape),
24
- [`${XAvatarPrefix}-${this.size}`]: !XIsEmpty(this.size)
38
+ [`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape)
25
39
  };
40
+ if (XIsNumber(this.size)) {
41
+ const nsize = Number(this.size);
42
+ this.setStyleMap(nsize);
43
+ this.cdr.detectChanges();
44
+ }
45
+ else if (XIsString(this.size)) {
46
+ this.classMap[`${XAvatarPrefix}-${this.size}`] = !XIsEmpty(this.size);
47
+ this.cdr.detectChanges();
48
+ }
49
+ else if (XIsObject(this.size)) {
50
+ this.classMap[`${XAvatarPrefix}-medium`] = true;
51
+ const sz = this.size;
52
+ let { xs, sm, md, lg, xl } = sz;
53
+ if (!xs && !sm && !md && !lg && !xl)
54
+ return;
55
+ XResize(this.document.documentElement)
56
+ .pipe(takeUntil(this._unSubject))
57
+ .subscribe((x) => {
58
+ this._resizeObserver = x.resizeObserver;
59
+ const width = this.document.documentElement.clientWidth;
60
+ let nsize = 40;
61
+ if (xs && width < 768) {
62
+ nsize = xs;
63
+ }
64
+ if (sm && width >= 768) {
65
+ nsize = sm;
66
+ }
67
+ if (md && width >= 992) {
68
+ nsize = md;
69
+ }
70
+ if (lg && width >= 1200) {
71
+ nsize = lg;
72
+ }
73
+ if (xl && width >= 1920) {
74
+ nsize = xl;
75
+ }
76
+ this.setStyleMap(nsize);
77
+ this.cdr.detectChanges();
78
+ this.setLabel();
79
+ });
80
+ }
81
+ }
82
+ setStyleMap(size) {
83
+ this.styleMap = {
84
+ height: `${size}px`,
85
+ width: `${size}px`,
86
+ lineHeight: `${size}px`,
87
+ fontSize: `${size * 0.6}px`
88
+ };
89
+ }
90
+ setLabel() {
91
+ if (!this.label)
92
+ return;
93
+ if (!this.elementRef || !this.labelRef)
94
+ return;
95
+ const eleWidth = this.elementRef.nativeElement.clientWidth;
96
+ const labelWidth = this.labelRef.nativeElement.clientWidth;
97
+ let scale = (eleWidth - Number(this.gap) * 2) / labelWidth;
98
+ scale = scale > 1 ? 1 : scale;
99
+ this.renderer.setStyle(this.labelRef.nativeElement, 'transform', `scale(${scale})`);
26
100
  }
27
101
  imgError() {
28
102
  this.isImgError = true;
29
103
  this.cdr.detectChanges();
30
104
  }
31
105
  }
32
- /** @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 });
33
- /** @nocollapse */ XAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAvatarComponent, selector: "x-avatar", usesInheritance: true, ngImport: i0, template: "<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", 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);background-color:var(--x-text-500)}.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-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: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i4.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
106
+ /** @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 });
107
+ /** @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 });
34
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarComponent, decorators: [{
35
109
  type: Component,
36
- args: [{ selector: `${XAvatarPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", 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);background-color:var(--x-text-500)}.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-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"] }]
37
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUE0Qyx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQVM1RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQUduRCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQU50QyxlQUFVLEdBQVksS0FBSyxDQUFDO0lBUzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLENBQUMsR0FBRyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6RCxDQUFDLEdBQUcsYUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztnSUExQlUsZ0JBQWdCO29IQUFoQixnQkFBZ0IsdUVDWDdCLHlhQVFBOzJGREdhLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxHQUFHLGFBQWEsRUFBRSxpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQXZhdGFyUHJlZml4LCBYQXZhdGFyUHJvcGVydHkgfSBmcm9tICcuL2F2YXRhci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hBdmF0YXJQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQXZhdGFyQ29tcG9uZW50IGV4dGVuZHMgWEF2YXRhclByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpc0ltZ0Vycm9yOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgJHtYQXZhdGFyUHJlZml4fS0ke3RoaXMuc2hhcGV9YF06ICFYSXNFbXB0eSh0aGlzLnNoYXBlKSxcclxuICAgICAgW2Ake1hBdmF0YXJQcmVmaXh9LSR7dGhpcy5zaXplfWBdOiAhWElzRW1wdHkodGhpcy5zaXplKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGltZ0Vycm9yKCkge1xyXG4gICAgdGhpcy5pc0ltZ0Vycm9yID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPHNwYW4gI2F2YXRhciBjbGFzcz1cIngtYXZhdGFyXCIgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIiBbY2xhc3MueC1hdmF0YXItZXJyb3JdPVwiaXNJbWdFcnJvclwiPlxyXG4gIDxpbWcgKm5nSWY9XCJzcmMgJiYgIWlzSW1nRXJyb3JcIiBbc3JjXT1cInNyY1wiIFtzdHlsZS5vYmplY3QtZml0XT1cImZpdFwiIChlcnJvcik9XCJpbWdFcnJvcigpXCIgLz5cclxuICA8eC1pY29uICpuZ0lmPVwiaWNvblwiIFt0eXBlXT1cImljb25cIj48L3gtaWNvbj5cclxuICA8eC1pY29uICpuZ0lmPVwiaXNJbWdFcnJvclwiIHR5cGU9XCJmdG8taW1hZ2VcIj48L3gtaWNvbj5cclxuICA8c3BhbiAqeE91dGxldD1cImxhYmVsOyBjb250ZXh0OiB7ICRsYWJlbDogbGFiZWwgfVwiPlxyXG4gICAge3sgbGFiZWwgfX1cclxuICA8L3NwYW4+XHJcbjwvc3Bhbj5cclxuIl19
110
+ 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"] }]
111
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }, { type: undefined, decorators: [{
112
+ type: Inject,
113
+ args: [DOCUMENT]
114
+ }] }]; }, propDecorators: { labelRef: [{
115
+ type: ViewChild,
116
+ args: ['labelRef']
117
+ }] } });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUlqQix1QkFBdUIsRUFDdkIsTUFBTSxFQUVOLFNBQVMsRUFJVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQWtCLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBaUIsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEksT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFTMUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFVbkQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixhQUE2QixFQUNsQixRQUFhO1FBRS9CLEtBQUssRUFBRSxDQUFDO1FBTkQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQWJ0QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRTVCLGFBQVEsR0FBMkIsRUFBRSxDQUFDO1FBRTlCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBYXZDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNC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LGFBQWEsRUFBRSxXQUFXLEVBQUUsU0FBUyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztnSUF2R1UsZ0JBQWdCLG9JQWVqQixRQUFRO29IQWZQLGdCQUFnQixrTUMxQjdCLDhqQkFnQkE7MkZEVWEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQWlCNUMsTUFBTTsyQkFBQyxRQUFROzRDQVBLLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEluamVjdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEF2YXRhclByZWZpeCwgWEF2YXRhclByb3BlcnR5IH0gZnJvbSAnLi9hdmF0YXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWENvbmZpZ1NlcnZpY2UsIFhJc051bWJlciwgWElzU3RyaW5nLCBYUmVzaXplLCBYSXNPYmplY3QsIFhSZXNwb25zZVNpemUsIFhJc0NoYW5nZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hBdmF0YXJQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQXZhdGFyQ29tcG9uZW50IGV4dGVuZHMgWEF2YXRhclByb3BlcnR5IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gIGlzSW1nRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgc3R5bGVNYXA6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICBkb2N1bWVudCE6IERvY3VtZW50O1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbGFiZWxSZWYnKSBsYWJlbFJlZiE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGxldCB7IGxhYmVsIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGxhYmVsKSAmJiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0TGFiZWwoKSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldExhYmVsKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgJHtYQXZhdGFyUHJlZml4fS0ke3RoaXMuc2hhcGV9YF06ICFYSXNFbXB0eSh0aGlzLnNoYXBlKVxyXG4gICAgfTtcclxuICAgIGlmIChYSXNOdW1iZXIodGhpcy5zaXplKSkge1xyXG4gICAgICBjb25zdCBuc2l6ZSA9IE51bWJlcih0aGlzLnNpemUpO1xyXG4gICAgICB0aGlzLnNldFN0eWxlTWFwKG5zaXplKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSBlbHNlIGlmIChYSXNTdHJpbmcodGhpcy5zaXplKSkge1xyXG4gICAgICB0aGlzLmNsYXNzTWFwW2Ake1hBdmF0YXJQcmVmaXh9LSR7dGhpcy5zaXplfWBdID0gIVhJc0VtcHR5KHRoaXMuc2l6ZSk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSBpZiAoWElzT2JqZWN0KHRoaXMuc2l6ZSkpIHtcclxuICAgICAgdGhpcy5jbGFzc01hcFtgJHtYQXZhdGFyUHJlZml4fS1tZWRpdW1gXSA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHN6ID0gdGhpcy5zaXplIGFzIFhSZXNwb25zZVNpemU7XHJcbiAgICAgIGxldCB7IHhzLCBzbSwgbWQsIGxnLCB4bCB9ID0gc3o7XHJcbiAgICAgIGlmICgheHMgJiYgIXNtICYmICFtZCAmJiAhbGcgJiYgIXhsKSByZXR1cm47XHJcbiAgICAgIFhSZXNpemUodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgICAgICAgIGxldCBuc2l6ZSA9IDQwO1xyXG4gICAgICAgICAgaWYgKHhzICYmIHdpZHRoIDwgNzY4KSB7XHJcbiAgICAgICAgICAgIG5zaXplID0geHM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoc20gJiYgd2lkdGggPj0gNzY4KSB7XHJcbiAgICAgICAgICAgIG5zaXplID0gc207XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAobWQgJiYgd2lkdGggPj0gOTkyKSB7XHJcbiAgICAgICAgICAgIG5zaXplID0gbWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAobGcgJiYgd2lkdGggPj0gMTIwMCkge1xyXG4gICAgICAgICAgICBuc2l6ZSA9IGxnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHhsICYmIHdpZHRoID49IDE5MjApIHtcclxuICAgICAgICAgICAgbnNpemUgPSB4bDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3R5bGVNYXAobnNpemUpO1xyXG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgdGhpcy5zZXRMYWJlbCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGVNYXAoc2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0eWxlTWFwID0ge1xyXG4gICAgICBoZWlnaHQ6IGAke3NpemV9cHhgLFxyXG4gICAgICB3aWR0aDogYCR7c2l6ZX1weGAsXHJcbiAgICAgIGxpbmVIZWlnaHQ6IGAke3NpemV9cHhgLFxyXG4gICAgICBmb250U2l6ZTogYCR7c2l6ZSAqIDAuNn1weGBcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzZXRMYWJlbCgpIHtcclxuICAgIGlmICghdGhpcy5sYWJlbCkgcmV0dXJuO1xyXG4gICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYgfHwgIXRoaXMubGFiZWxSZWYpIHJldHVybjtcclxuICAgIGNvbnN0IGVsZVdpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICBjb25zdCBsYWJlbFdpZHRoID0gdGhpcy5sYWJlbFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgbGV0IHNjYWxlID0gKGVsZVdpZHRoIC0gTnVtYmVyKHRoaXMuZ2FwKSAqIDIpIC8gbGFiZWxXaWR0aDtcclxuICAgIHNjYWxlID0gc2NhbGUgPiAxID8gMSA6IHNjYWxlO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmxhYmVsUmVmLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLCBgc2NhbGUoJHtzY2FsZX0pYCk7XHJcbiAgfVxyXG5cclxuICBpbWdFcnJvcigpIHtcclxuICAgIHRoaXMuaXNJbWdFcnJvciA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxzcGFuXHJcbiAgI2F2YXRhclxyXG4gIGNsYXNzPVwieC1hdmF0YXJcIlxyXG4gIFtjbGFzcy54LWF2YXRhci1sYWJlbF09XCJsYWJlbFwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFtjbGFzcy54LWF2YXRhci1lcnJvcl09XCJpc0ltZ0Vycm9yXCJcclxuICBbbmdTdHlsZV09XCJzdHlsZU1hcFwiXHJcbiAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIlxyXG4+XHJcbiAgPGltZyAqbmdJZj1cInNyYyAmJiAhaXNJbWdFcnJvclwiIFtzcmNdPVwic3JjXCIgW3N0eWxlLm9iamVjdC1maXRdPVwiZml0XCIgKGVycm9yKT1cImltZ0Vycm9yKClcIiAvPlxyXG4gIDx4LWljb24gKm5nSWY9XCJpY29uXCIgW3R5cGVdPVwiaWNvblwiPjwveC1pY29uPlxyXG4gIDx4LWljb24gKm5nSWY9XCJpc0ltZ0Vycm9yXCIgdHlwZT1cImZ0by1pbWFnZVwiPjwveC1pY29uPlxyXG4gIDxzcGFuICNsYWJlbFJlZiAqeE91dGxldD1cImxhYmVsOyBjb250ZXh0OiB7ICRsYWJlbDogbGFiZWwgfVwiPlxyXG4gICAge3sgbGFiZWwgfX1cclxuICA8L3NwYW4+XHJcbjwvc3Bhbj5cclxuIl19
@@ -3,19 +3,20 @@ import { CommonModule } from '@angular/common';
3
3
  import { XAvatarComponent } from './avatar.component';
4
4
  import { XIconModule } from '@ng-nest/ui/icon';
5
5
  import { XOutletModule } from '@ng-nest/ui/outlet';
6
- import { XAvatarProperty } from './avatar.property';
6
+ import { XAvatarGroupProperty, XAvatarProperty } from './avatar.property';
7
+ import { XAvatarGroupComponent } from './avatar-group.component';
7
8
  import * as i0 from "@angular/core";
8
9
  export class XAvatarModule {
9
10
  }
10
11
  /** @nocollapse */ XAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- /** @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] });
12
+ /** @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] });
12
13
  /** @nocollapse */ XAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarModule, imports: [CommonModule, XOutletModule, XIconModule] });
13
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAvatarModule, decorators: [{
14
15
  type: NgModule,
15
16
  args: [{
16
- declarations: [XAvatarComponent, XAvatarProperty],
17
- exports: [XAvatarComponent],
17
+ declarations: [XAvatarComponent, XAvatarProperty, XAvatarGroupComponent, XAvatarGroupProperty],
18
+ exports: [XAvatarComponent, XAvatarGroupComponent],
18
19
  imports: [CommonModule, XOutletModule, XIconModule]
19
20
  }]
20
21
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2F2YXRhci9hdmF0YXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sYUFBYTs7NkhBQWIsYUFBYTs4SEFBYixhQUFhLGlCQUpULGdCQUFnQixFQUFFLGVBQWUsYUFFdEMsWUFBWSxFQUFFLGFBQWEsRUFBRSxXQUFXLGFBRHhDLGdCQUFnQjs4SEFHZixhQUFhLFlBRmQsWUFBWSxFQUFFLGFBQWEsRUFBRSxXQUFXOzJGQUV2QyxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztvQkFDakQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDO2lCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2F2YXRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgWEF2YXRhclByb3BlcnR5IH0gZnJvbSAnLi9hdmF0YXIucHJvcGVydHknO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtYQXZhdGFyQ29tcG9uZW50LCBYQXZhdGFyUHJvcGVydHldLFxyXG4gIGV4cG9ydHM6IFtYQXZhdGFyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBYT3V0bGV0TW9kdWxlLCBYSWNvbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhBdmF0YXJNb2R1bGUge31cclxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2F2YXRhci9hdmF0YXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU9qRSxNQUFNLE9BQU8sYUFBYTs7NkhBQWIsYUFBYTs4SEFBYixhQUFhLGlCQUpULGdCQUFnQixFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsYUFFbkYsWUFBWSxFQUFFLGFBQWEsRUFBRSxXQUFXLGFBRHhDLGdCQUFnQixFQUFFLHFCQUFxQjs4SEFHdEMsYUFBYSxZQUZkLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVzsyRkFFdkMsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLENBQUM7b0JBQzlGLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixDQUFDO29CQUNsRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9hdmF0YXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWEljb25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pY29uJztcclxuaW1wb3J0IHsgWE91dGxldE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhBdmF0YXJHcm91cFByb3BlcnR5LCBYQXZhdGFyUHJvcGVydHkgfSBmcm9tICcuL2F2YXRhci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhBdmF0YXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyLWdyb3VwLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hBdmF0YXJDb21wb25lbnQsIFhBdmF0YXJQcm9wZXJ0eSwgWEF2YXRhckdyb3VwQ29tcG9uZW50LCBYQXZhdGFyR3JvdXBQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hBdmF0YXJDb21wb25lbnQsIFhBdmF0YXJHcm91cENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgWE91dGxldE1vZHVsZSwgWEljb25Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQXZhdGFyTW9kdWxlIHt9XHJcbiJdfQ==