@fundamental-ngx/core 0.35.1-rc.1 → 0.35.2-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-bar/package.json +1 -1
- package/action-sheet/package.json +1 -1
- package/alert/package.json +1 -1
- package/avatar/package.json +1 -1
- package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +4 -2
- package/avatar-group/esm2020/directives/avatar-group-overflow-button.directive.mjs +5 -1
- package/avatar-group/fesm2015/fundamental-ngx-core-avatar-group.mjs +4 -0
- package/avatar-group/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/avatar-group/fesm2020/fundamental-ngx-core-avatar-group.mjs +4 -0
- package/avatar-group/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/avatar-group/package.json +1 -1
- package/bar/package.json +1 -1
- package/breadcrumb/package.json +1 -1
- package/busy-indicator/package.json +1 -1
- package/button/package.json +1 -1
- package/calendar/package.json +1 -1
- package/card/package.json +1 -1
- package/carousel/package.json +1 -1
- package/checkbox/package.json +1 -1
- package/combobox/package.json +1 -1
- package/date-picker/package.json +1 -1
- package/datetime/package.json +1 -1
- package/datetime-picker/package.json +1 -1
- package/dialog/package.json +1 -1
- package/dynamic-page/package.json +1 -1
- package/dynamic-side-content/package.json +1 -1
- package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +5 -1
- package/esm2020/fundamental-ngx.module.mjs +8 -4
- package/esm2020/overflow-layout/directives/overflow-expand.directive.mjs +36 -0
- package/esm2020/overflow-layout/directives/overflow-item-container-ref.directive.mjs +46 -0
- package/esm2020/overflow-layout/directives/overflow-item-ref.directive.mjs +57 -0
- package/esm2020/overflow-layout/directives/overflow-layout-item-container.directive.mjs +26 -0
- package/esm2020/overflow-layout/directives/overflow-layout-item.directive.mjs +100 -0
- package/esm2020/overflow-layout/directives/overflow-layout-popover-content.directive.mjs +68 -0
- package/esm2020/overflow-layout/fundamental-ngx-core-overflow-layout.mjs +5 -0
- package/esm2020/overflow-layout/index.mjs +15 -0
- package/esm2020/overflow-layout/interfaces/overflow-container.interface.mjs +2 -0
- package/esm2020/overflow-layout/interfaces/overflow-expand.interface.mjs +2 -0
- package/esm2020/overflow-layout/interfaces/overflow-item-ref.interface.mjs +2 -0
- package/esm2020/overflow-layout/interfaces/overflow-item.interface.mjs +2 -0
- package/esm2020/overflow-layout/interfaces/overflow-popover-content.interface.mjs +2 -0
- package/esm2020/overflow-layout/overflow-layout.component.mjs +300 -0
- package/esm2020/overflow-layout/overflow-layout.module.mjs +52 -0
- package/esm2020/overflow-layout/tokens/overflow-container.token.mjs +3 -0
- package/esm2020/overflow-layout/tokens/overflow-expand.token.mjs +3 -0
- package/esm2020/overflow-layout/tokens/overflow-item-ref.token.mjs +3 -0
- package/esm2020/overflow-layout/tokens/overflow-item.token.mjs +3 -0
- package/esm2020/public_api.mjs +2 -1
- package/facets/package.json +1 -1
- package/feed-input/package.json +1 -1
- package/feed-list-item/package.json +1 -1
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs +4 -0
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +672 -0
- package/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
- package/fesm2015/fundamental-ngx-core.mjs +8 -3
- package/fesm2015/fundamental-ngx-core.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs +4 -0
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +660 -0
- package/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-core.mjs +8 -3
- package/fesm2020/fundamental-ngx-core.mjs.map +1 -1
- package/file-uploader/package.json +1 -1
- package/fixed-card-layout/package.json +1 -1
- package/flexible-column-layout/package.json +1 -1
- package/form/package.json +1 -1
- package/formatted-text/package.json +1 -1
- package/fundamental-ngx.module.d.ts +2 -1
- package/grid-list/package.json +1 -1
- package/icon/package.json +1 -1
- package/illustrated-message/package.json +1 -1
- package/infinite-scroll/package.json +1 -1
- package/info-label/package.json +1 -1
- package/inline-help/package.json +1 -1
- package/input-group/package.json +1 -1
- package/layout-grid/package.json +1 -1
- package/layout-panel/package.json +1 -1
- package/link/package.json +1 -1
- package/list/package.json +1 -1
- package/menu/package.json +1 -1
- package/message-box/package.json +1 -1
- package/message-strip/package.json +1 -1
- package/message-toast/package.json +1 -1
- package/micro-process-flow/package.json +1 -1
- package/mobile-mode/package.json +1 -1
- package/multi-input/package.json +1 -1
- package/nested-list/package.json +1 -1
- package/notification/package.json +1 -1
- package/object-identifier/package.json +1 -1
- package/object-marker/package.json +1 -1
- package/object-number/package.json +1 -1
- package/object-status/package.json +1 -1
- package/overflow-layout/README.md +7 -0
- package/overflow-layout/directives/overflow-expand.directive.d.ts +15 -0
- package/overflow-layout/directives/overflow-item-container-ref.directive.d.ts +25 -0
- package/overflow-layout/directives/overflow-item-ref.directive.d.ts +42 -0
- package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +16 -0
- package/overflow-layout/directives/overflow-layout-item.directive.d.ts +38 -0
- package/overflow-layout/directives/overflow-layout-popover-content.directive.d.ts +31 -0
- package/overflow-layout/esm2020/directives/overflow-expand.directive.mjs +36 -0
- package/overflow-layout/esm2020/directives/overflow-item-container-ref.directive.mjs +46 -0
- package/overflow-layout/esm2020/directives/overflow-item-ref.directive.mjs +57 -0
- package/overflow-layout/esm2020/directives/overflow-layout-item-container.directive.mjs +26 -0
- package/overflow-layout/esm2020/directives/overflow-layout-item.directive.mjs +100 -0
- package/overflow-layout/esm2020/directives/overflow-layout-popover-content.directive.mjs +68 -0
- package/overflow-layout/esm2020/fundamental-ngx-core-overflow-layout.mjs +5 -0
- package/overflow-layout/esm2020/index.mjs +15 -0
- package/overflow-layout/esm2020/interfaces/overflow-container.interface.mjs +2 -0
- package/overflow-layout/esm2020/interfaces/overflow-expand.interface.mjs +2 -0
- package/overflow-layout/esm2020/interfaces/overflow-item-ref.interface.mjs +2 -0
- package/overflow-layout/esm2020/interfaces/overflow-item.interface.mjs +2 -0
- package/overflow-layout/esm2020/interfaces/overflow-popover-content.interface.mjs +2 -0
- package/overflow-layout/esm2020/overflow-layout.component.mjs +300 -0
- package/overflow-layout/esm2020/overflow-layout.module.mjs +52 -0
- package/overflow-layout/esm2020/tokens/overflow-container.token.mjs +3 -0
- package/overflow-layout/esm2020/tokens/overflow-expand.token.mjs +3 -0
- package/overflow-layout/esm2020/tokens/overflow-item-ref.token.mjs +3 -0
- package/overflow-layout/esm2020/tokens/overflow-item.token.mjs +3 -0
- package/overflow-layout/fesm2015/fundamental-ngx-core-overflow-layout.mjs +672 -0
- package/overflow-layout/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
- package/overflow-layout/fesm2020/fundamental-ngx-core-overflow-layout.mjs +660 -0
- package/overflow-layout/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
- package/overflow-layout/fundamental-ngx-core-overflow-layout.d.ts +5 -0
- package/overflow-layout/index.d.ts +14 -0
- package/overflow-layout/interfaces/overflow-container.interface.d.ts +4 -0
- package/overflow-layout/interfaces/overflow-expand.interface.d.ts +11 -0
- package/overflow-layout/interfaces/overflow-item-ref.interface.d.ts +38 -0
- package/overflow-layout/interfaces/overflow-item.interface.d.ts +20 -0
- package/overflow-layout/interfaces/overflow-popover-content.interface.d.ts +11 -0
- package/overflow-layout/overflow-layout.component.d.ts +131 -0
- package/overflow-layout/overflow-layout.module.d.ts +16 -0
- package/overflow-layout/package.json +53 -0
- package/overflow-layout/tokens/overflow-container.token.d.ts +3 -0
- package/overflow-layout/tokens/overflow-expand.token.d.ts +3 -0
- package/overflow-layout/tokens/overflow-item-ref.token.d.ts +3 -0
- package/overflow-layout/tokens/overflow-item.token.d.ts +3 -0
- package/package.json +9 -1
- package/pagination/package.json +1 -1
- package/panel/package.json +1 -1
- package/popover/package.json +1 -1
- package/product-switch/package.json +1 -1
- package/progress-indicator/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/quick-view/package.json +1 -1
- package/radio/package.json +1 -1
- package/rating-indicator/package.json +1 -1
- package/resizable-card-layout/package.json +1 -1
- package/schematics/ng-add/index.js +2 -3
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/utils/angular-json-utils.d.ts +3 -0
- package/schematics/utils/angular-json-utils.js +14 -0
- package/schematics/utils/angular-json-utils.js.map +1 -0
- package/scroll-spy/package.json +1 -1
- package/scrollbar/package.json +1 -1
- package/segmented-button/package.json +1 -1
- package/select/package.json +1 -1
- package/shared/package.json +1 -1
- package/shellbar/package.json +1 -1
- package/side-navigation/package.json +1 -1
- package/slider/package.json +1 -1
- package/split-button/package.json +1 -1
- package/splitter/package.json +1 -1
- package/status-indicator/package.json +1 -1
- package/step-input/package.json +1 -1
- package/switch/package.json +1 -1
- package/table/package.json +1 -1
- package/tabs/package.json +1 -1
- package/text/package.json +1 -1
- package/theming/package.json +1 -1
- package/tile/package.json +1 -1
- package/time/package.json +1 -1
- package/time-picker/package.json +1 -1
- package/timeline/package.json +1 -1
- package/title/package.json +1 -1
- package/token/package.json +1 -1
- package/toolbar/package.json +1 -1
- package/tree/package.json +1 -1
- package/upload-collection/package.json +1 -1
- package/utils/package.json +1 -1
- package/vertical-navigation/package.json +1 -1
- package/wizard/package.json +1 -1
package/action-bar/package.json
CHANGED
package/alert/package.json
CHANGED
package/avatar/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ElementRef, OnChanges } from '@angular/core';
|
|
1
|
+
import { ElementRef, OnChanges, OnInit } from '@angular/core';
|
|
2
2
|
import { Size } from '@fundamental-ngx/core/utils';
|
|
3
3
|
import { CssClassBuilder } from '@fundamental-ngx/core/utils';
|
|
4
4
|
import { AvatarGroupOverflowButtonColor } from '../avatar-group.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class AvatarGroupOverflowButtonDirective implements OnChanges, CssClassBuilder {
|
|
6
|
+
export declare class AvatarGroupOverflowButtonDirective implements OnInit, OnChanges, CssClassBuilder {
|
|
7
7
|
private readonly _elementRef;
|
|
8
8
|
/** User's custom classes. */
|
|
9
9
|
class: string;
|
|
@@ -17,6 +17,8 @@ export declare class AvatarGroupOverflowButtonDirective implements OnChanges, Cs
|
|
|
17
17
|
/** @hidden */
|
|
18
18
|
constructor(_elementRef: ElementRef);
|
|
19
19
|
/** @hidden */
|
|
20
|
+
ngOnInit(): void;
|
|
21
|
+
/** @hidden */
|
|
20
22
|
ngOnChanges(): void;
|
|
21
23
|
/** @hidden */
|
|
22
24
|
buildComponentCssClass(): string[];
|
|
@@ -16,6 +16,10 @@ export class AvatarGroupOverflowButtonDirective {
|
|
|
16
16
|
this.color = 'neutral';
|
|
17
17
|
}
|
|
18
18
|
/** @hidden */
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.buildComponentCssClass();
|
|
21
|
+
}
|
|
22
|
+
/** @hidden */
|
|
19
23
|
ngOnChanges() {
|
|
20
24
|
this.buildComponentCssClass();
|
|
21
25
|
}
|
|
@@ -65,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
65
69
|
}], color: [{
|
|
66
70
|
type: Input
|
|
67
71
|
}], buildComponentCssClass: [] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWdyb3VwLW92ZXJmbG93LWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9hdmF0YXItZ3JvdXAvZGlyZWN0aXZlcy9hdmF0YXItZ3JvdXAtb3ZlcmZsb3ctYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBU25FLE1BQU0sT0FBTyxrQ0FBa0M7SUFnQjNDLGNBQWM7SUFDZCxZQUE2QixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQVpwRDs7MkVBRW1FO1FBRW5FLFNBQUksR0FBUyxHQUFHLENBQUM7UUFFakI7MkhBQ21IO1FBRW5ILFVBQUssR0FBbUMsU0FBUyxDQUFDO0lBR0ssQ0FBQztJQUV4RCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBRWQsc0JBQXNCO1FBQ2xCLE9BQU87WUFDSCxXQUFXO1lBQ1gsOEJBQThCO1lBQzlCLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxJQUFJLEVBQUU7WUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsaUNBQWlDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3RCxJQUFJLENBQUMsS0FBSztTQUNiLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztJQUNkLFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7SUFDTiwyQkFBMkI7UUFDL0IsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUN6QixPQUFPLDhDQUE4QyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7U0FDakY7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ25ELE9BQU8sOENBQThDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OytIQXhEUSxrQ0FBa0M7bUhBQWxDLGtDQUFrQztBQStCM0M7SUFEQyxhQUFhOzs7O2dGQVNiOzJGQXZDUSxrQ0FBa0M7a0JBSjlDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsbUNBQW1DO2lCQUNoRDtpR0FJRyxLQUFLO3NCQURKLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQU1OLEtBQUs7c0JBREosS0FBSztnQkFrQk4sc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2l6ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5pbXBvcnQgeyBhcHBseUNzc0NsYXNzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IGdldFJhbmRvbUNvbG9yQWNjZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IENzc0NsYXNzQnVpbGRlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbmltcG9ydCB7IEF2YXRhckdyb3VwT3ZlcmZsb3dCdXR0b25Db2xvciB9IGZyb20gJy4uL2F2YXRhci1ncm91cC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLWF2YXRhci1ncm91cC1vdmVyZmxvdy1idXR0b25dJ1xufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJHcm91cE92ZXJmbG93QnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIENzc0NsYXNzQnVpbGRlciB7XG4gICAgLyoqIFVzZXIncyBjdXN0b20gY2xhc3Nlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIHNpemUgb2YgdGhlIG92ZXJmbG93IGJ1dHRvbi5cbiAgICAgKiBTaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIEF2YXRhciBHcm91cCBhbmQgQXZhdGFyIHNpemUuXG4gICAgICogT3B0aW9ucyBpbmNsdWRlOiAqeHMqLCAqcyosICptKiwgKmwqIGFuZCAqeGwqIChkZWZhdWx0OiAqcyopLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogU2l6ZSA9ICdzJztcblxuICAgIC8qKiBBIG51bWJlciBmcm9tIDEgdG8gMTAgcmVwcmVzZW50aW5nIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBBdmF0YXIgR3JvdXAncyBvdmVyZmxvdyBidXR0b24uXG4gICAgICogT3B0aW9ucyBpbmNsdWRlOiAqbmV1dHJhbCosICpyYW5kb20qLCAqMSosICoyKiwgKjMqLCAqNCosICo1KiwgKjYqLCAqNyosICo4KiwgKjkqLCAqMTAqIChkZWZhdWx0OiAqbmV1dHJhbCopLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sb3I6IEF2YXRhckdyb3VwT3ZlcmZsb3dCdXR0b25Db2xvciA9ICduZXV0cmFsJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdmZC1idXR0b24nLFxuICAgICAgICAgICAgJ2ZkLWF2YXRhci1ncm91cF9fbW9yZS1idXR0b24nLFxuICAgICAgICAgICAgKHRoaXMuY29sb3IgJiYgdGhpcy5fZ2V0TW9yZUJ1dHRvbkNvbG9yQ3NzQ2xhc3MoKSkgfHwgJycsXG4gICAgICAgICAgICB0aGlzLnNpemUgPyBgZmQtYXZhdGFyLWdyb3VwX19tb3JlLWJ1dHRvbi0tJHt0aGlzLnNpemV9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZWxlbWVudFJlZigpOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0TW9yZUJ1dHRvbkNvbG9yQ3NzQ2xhc3MoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmNvbG9yID09PSAncmFuZG9tJykge1xuICAgICAgICAgICAgcmV0dXJuIGBmZC1hdmF0YXItZ3JvdXBfX21vcmUtYnV0dG9uLS1hY2NlbnQtY29sb3ItJHtnZXRSYW5kb21Db2xvckFjY2VudCgpfWA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZUludCh0aGlzLmNvbG9yIGFzIHN0cmluZywgMTApKSkge1xuICAgICAgICAgICAgcmV0dXJuIGBmZC1hdmF0YXItZ3JvdXBfX21vcmUtYnV0dG9uLS1hY2NlbnQtY29sb3ItJHt0aGlzLmNvbG9yfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-avatar-group.mjs","sources":["../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-item.directive.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.component.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.component.html","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-focusable-avatar.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-body.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-item.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button-text.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-popover-control.directive.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.module.ts","../../../../../libs/core/src/lib/avatar-group/fundamental-ngx-core-avatar-group.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Optional, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupComponent } from '../avatar-group.component';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-item]',\n host: { class: 'fd-avatar-group__item' }\n})\nexport class AvatarGroupItemDirective implements FocusableOption {\n /** Item disable state */\n disabled = false;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(forwardRef(() => AvatarGroupComponent)) private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { of, Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { ColorAccent, KeyUtil, RtlService, Size } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupInterface } from './avatar-group.interface';\n\nexport type AvatarGroupType = 'group' | 'individual';\nexport type AvatarGroupOverflowButtonColor = 'neutral' | 'random' | ColorAccent;\n\nlet avatarGroupCount = 0;\n\n@Component({\n selector: 'fd-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarGroupComponent implements AvatarGroupInterface, OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** Id of the Avatar Group. */\n @Input()\n id = `fd-avatar-group-${avatarGroupCount++}`;\n\n /** Apply user custom class. */\n @Input()\n class: string;\n\n /** The size of the Avatar Group. Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** The type of the Avatar Group. Options include: *group* and *individual* (default: *group*). */\n @Input()\n type: AvatarGroupType = 'group';\n\n /** Aria-label for Avatar Group. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Counter for all avatars. */\n allItemsCount = 0;\n\n /** Counter for visible in overflow popover avatars. */\n overflowItemsCount = 0;\n\n /** @hidden Avatar Group items. */\n @ContentChildren(forwardRef(() => AvatarGroupItemDirective), { descendants: true })\n mainItems: QueryList<AvatarGroupItemDirective>;\n\n /** @hidden */\n @ViewChild('avatarGroupContainer')\n avatarGroupContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n rootClassNames: Record<string, boolean | undefined | null>;\n\n /** @hidden */\n get isGroupType(): boolean {\n return this.type === 'group';\n }\n\n /** @hidden */\n private get _avatarGroupWidth(): number {\n return this.avatarGroupContainer?.nativeElement?.offsetWidth;\n }\n\n /** @hidden */\n private get _avatarGroupItemWidth(): number {\n return this.mainItems.first?._element.offsetWidth ?? 0;\n }\n\n /** @hidden */\n private get _avatarGroupItemWithMarginsWidth(): number {\n if (!this.mainItems.first) {\n return this._avatarGroupItemWidth;\n }\n\n const elementStyles = getComputedStyle(this.mainItems.first._element);\n\n return (\n this._avatarGroupItemWidth +\n parseInt(elementStyles.marginLeft, 10) +\n parseInt(elementStyles.marginRight, 10)\n );\n }\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupItemDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(private readonly _viewportRuler: ViewportRuler, @Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscription.add(this._viewportRuler.change().subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._assignCssClasses();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._reset();\n\n this._subscription.add(\n of(true)\n .pipe(delay(5))\n .subscribe(() => this._collapseItems())\n );\n\n this._listenForItemChanges();\n this._setKeyboardEventsManager();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.mainItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupItemDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _onResize(): void {\n this._reset();\n this._collapseItems();\n }\n\n /** @hidden */\n private _reset(): void {\n this.allItemsCount = this.mainItems.length;\n this.overflowItemsCount = 0;\n\n this.mainItems.forEach((it) => {\n it._element.style.display = 'inline-block';\n it.disabled = false;\n });\n }\n\n /** @hidden */\n private _collapseItems(): void {\n const allItemsCounter = this.mainItems?.length || 0;\n let contentWidth = 0;\n let idx = 0;\n const avatarGroupItemWidth = this._avatarGroupItemWidth;\n const avatarGroupItemWithMarginsWidth = this._avatarGroupItemWithMarginsWidth;\n\n while (idx < allItemsCounter) {\n const newContentWidth =\n idx === 0 && this.isGroupType\n ? contentWidth + avatarGroupItemWidth\n : contentWidth + avatarGroupItemWithMarginsWidth;\n\n if (newContentWidth >= this._avatarGroupWidth) {\n // -1 because the last element in the loop will be replaced by the overflow button\n const newIdx = idx - 1;\n this.overflowItemsCount = allItemsCounter - newIdx;\n const mainItemsToHide = this.mainItems.toArray().slice(newIdx);\n mainItemsToHide.forEach((it) => {\n it._element.style.display = 'none';\n it.disabled = true;\n });\n\n break;\n }\n\n contentWidth = newContentWidth;\n idx++;\n }\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this._subscription.add(this.mainItems.changes.subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n private _assignCssClasses(): void {\n this.rootClassNames = {\n 'fd-avatar-group': true,\n [`fd-avatar-group--${this.type}-type`]: !!this.type,\n [`fd-avatar-group--${this.size}`]: !!this.size,\n [this.class]: !!this.class\n };\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.mainItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","<div #avatarGroupContainer [class]=\"rootClassNames\" [id]=\"id\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ElementRef, Optional, HostBinding, HostListener, Input, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupOverflowBodyDirective } from './avatar-group-overflow-body.directive';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-focusable-avatar]',\n host: { class: 'fd-avatar-group__focusable-avatar' }\n})\nexport class AvatarGroupFocusableAvatarDirective implements FocusableOption {\n /** Tabindex of the Avatar. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(forwardRef(() => AvatarGroupOverflowBodyDirective))\n private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n forwardRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { TAB, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Subscription } from 'rxjs';\n\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupFocusableAvatarDirective } from './avatar-group-focusable-avatar.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-body]',\n host: {\n class: 'fd-avatar-group__overflow-body',\n '[class.fd-avatar-group__overflow-body--no-padding]': 'noPadding',\n '[class.fd-avatar-group__overflow-body--no-horizontal-scroll]': 'noHorizontalScroll',\n '[class.fd-avatar-group__overflow-body--no-vertical-scroll]': 'noVerticalScroll'\n }\n})\nexport class AvatarGroupOverflowBodyDirective implements AfterViewInit, OnDestroy {\n /** Remove the padding from the overflow body. */\n @Input()\n noPadding = false;\n\n /** Hide horizontal scrollbar from the overflow body. */\n @Input()\n noHorizontalScroll = true;\n\n /** Hide vertical scrollbar from the overflow body. */\n @Input()\n noVerticalScroll = true;\n\n /** @hidden Avatar Group Overflow items. */\n @ContentChildren(forwardRef(() => AvatarGroupFocusableAvatarDirective), { descendants: true })\n overflowItems: QueryList<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForItemChanges();\n\n this._setKeyboardEventsManager();\n\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.overflowItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupFocusableAvatarDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this.overflowItems.changes.subscribe(() => this._setKeyboardEventsManager());\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n\n this._keyboardEventsManager.setFirstItemActive();\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { AvatarGroupItemDirective } from './avatar-group-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-item]'\n})\nexport class AvatarGroupOverflowItemDirective extends AvatarGroupItemDirective {}\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\n\nimport { Size } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { getRandomColorAccent } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\nimport { AvatarGroupOverflowButtonColor } from '../avatar-group.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button]'\n})\nexport class AvatarGroupOverflowButtonDirective implements OnChanges, CssClassBuilder {\n /** User's custom classes. */\n @Input()\n class: string;\n\n /** The size of the overflow button.\n * Should be the same as the Avatar Group and Avatar size.\n * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** A number from 1 to 10 representing the background color of the Avatar Group's overflow button.\n * Options include: *neutral*, *random*, *1*, *2*, *3*, *4*, *5*, *6*, *7*, *8*, *9*, *10* (default: *neutral*). */\n @Input()\n color: AvatarGroupOverflowButtonColor = 'neutral';\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n 'fd-avatar-group__more-button',\n (this.color && this._getMoreButtonColorCssClass()) || '',\n this.size ? `fd-avatar-group__more-button--${this.size}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getMoreButtonColorCssClass(): string | null {\n if (this.color === 'random') {\n return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;\n }\n\n if (!Number.isNaN(parseInt(this.color as string, 10))) {\n return `fd-avatar-group__more-button--accent-color-${this.color}`;\n }\n return null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button-text]',\n host: { class: 'fd-button__text fd-avatar-group__button-text' }\n})\nexport class AvatarGroupOverflowButtonTextDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/** Needed to bind specific class to group type popover control. */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-popover-control]',\n host: { class: 'fd-avatar-group__popover-control' }\n})\nexport class AvatarGroupPopoverControlDirective {\n /** Tabindex of the popover control. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** Role of the popover control. */\n @Input()\n @HostBinding('attr.role')\n role = 'button';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarGroupComponent } from './avatar-group.component';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupOverflowBodyDirective } from './directives/avatar-group-overflow-body.directive';\nimport { AvatarGroupOverflowItemDirective } from './directives/avatar-group-overflow-item.directive';\nimport { AvatarGroupOverflowButtonDirective } from './directives/avatar-group-overflow-button.directive';\nimport { AvatarGroupOverflowButtonTextDirective } from './directives/avatar-group-overflow-button-text.directive';\nimport { AvatarGroupFocusableAvatarDirective } from './directives/avatar-group-focusable-avatar.directive';\nimport { AvatarGroupPopoverControlDirective } from './directives/avatar-group-popover-control.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ],\n declarations: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ]\n})\nexport class AvatarGroupModule {}\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":"fundamental-ngx-core-avatar-group.mjs","sources":["../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-item.directive.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.component.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.component.html","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-focusable-avatar.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-body.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-item.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button-text.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-popover-control.directive.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.module.ts","../../../../../libs/core/src/lib/avatar-group/fundamental-ngx-core-avatar-group.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Optional, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupComponent } from '../avatar-group.component';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-item]',\n host: { class: 'fd-avatar-group__item' }\n})\nexport class AvatarGroupItemDirective implements FocusableOption {\n /** Item disable state */\n disabled = false;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(forwardRef(() => AvatarGroupComponent)) private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { of, Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { ColorAccent, KeyUtil, RtlService, Size } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupInterface } from './avatar-group.interface';\n\nexport type AvatarGroupType = 'group' | 'individual';\nexport type AvatarGroupOverflowButtonColor = 'neutral' | 'random' | ColorAccent;\n\nlet avatarGroupCount = 0;\n\n@Component({\n selector: 'fd-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarGroupComponent implements AvatarGroupInterface, OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** Id of the Avatar Group. */\n @Input()\n id = `fd-avatar-group-${avatarGroupCount++}`;\n\n /** Apply user custom class. */\n @Input()\n class: string;\n\n /** The size of the Avatar Group. Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** The type of the Avatar Group. Options include: *group* and *individual* (default: *group*). */\n @Input()\n type: AvatarGroupType = 'group';\n\n /** Aria-label for Avatar Group. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Counter for all avatars. */\n allItemsCount = 0;\n\n /** Counter for visible in overflow popover avatars. */\n overflowItemsCount = 0;\n\n /** @hidden Avatar Group items. */\n @ContentChildren(forwardRef(() => AvatarGroupItemDirective), { descendants: true })\n mainItems: QueryList<AvatarGroupItemDirective>;\n\n /** @hidden */\n @ViewChild('avatarGroupContainer')\n avatarGroupContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n rootClassNames: Record<string, boolean | undefined | null>;\n\n /** @hidden */\n get isGroupType(): boolean {\n return this.type === 'group';\n }\n\n /** @hidden */\n private get _avatarGroupWidth(): number {\n return this.avatarGroupContainer?.nativeElement?.offsetWidth;\n }\n\n /** @hidden */\n private get _avatarGroupItemWidth(): number {\n return this.mainItems.first?._element.offsetWidth ?? 0;\n }\n\n /** @hidden */\n private get _avatarGroupItemWithMarginsWidth(): number {\n if (!this.mainItems.first) {\n return this._avatarGroupItemWidth;\n }\n\n const elementStyles = getComputedStyle(this.mainItems.first._element);\n\n return (\n this._avatarGroupItemWidth +\n parseInt(elementStyles.marginLeft, 10) +\n parseInt(elementStyles.marginRight, 10)\n );\n }\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupItemDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(private readonly _viewportRuler: ViewportRuler, @Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscription.add(this._viewportRuler.change().subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._assignCssClasses();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._reset();\n\n this._subscription.add(\n of(true)\n .pipe(delay(5))\n .subscribe(() => this._collapseItems())\n );\n\n this._listenForItemChanges();\n this._setKeyboardEventsManager();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.mainItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupItemDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _onResize(): void {\n this._reset();\n this._collapseItems();\n }\n\n /** @hidden */\n private _reset(): void {\n this.allItemsCount = this.mainItems.length;\n this.overflowItemsCount = 0;\n\n this.mainItems.forEach((it) => {\n it._element.style.display = 'inline-block';\n it.disabled = false;\n });\n }\n\n /** @hidden */\n private _collapseItems(): void {\n const allItemsCounter = this.mainItems?.length || 0;\n let contentWidth = 0;\n let idx = 0;\n const avatarGroupItemWidth = this._avatarGroupItemWidth;\n const avatarGroupItemWithMarginsWidth = this._avatarGroupItemWithMarginsWidth;\n\n while (idx < allItemsCounter) {\n const newContentWidth =\n idx === 0 && this.isGroupType\n ? contentWidth + avatarGroupItemWidth\n : contentWidth + avatarGroupItemWithMarginsWidth;\n\n if (newContentWidth >= this._avatarGroupWidth) {\n // -1 because the last element in the loop will be replaced by the overflow button\n const newIdx = idx - 1;\n this.overflowItemsCount = allItemsCounter - newIdx;\n const mainItemsToHide = this.mainItems.toArray().slice(newIdx);\n mainItemsToHide.forEach((it) => {\n it._element.style.display = 'none';\n it.disabled = true;\n });\n\n break;\n }\n\n contentWidth = newContentWidth;\n idx++;\n }\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this._subscription.add(this.mainItems.changes.subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n private _assignCssClasses(): void {\n this.rootClassNames = {\n 'fd-avatar-group': true,\n [`fd-avatar-group--${this.type}-type`]: !!this.type,\n [`fd-avatar-group--${this.size}`]: !!this.size,\n [this.class]: !!this.class\n };\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.mainItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","<div #avatarGroupContainer [class]=\"rootClassNames\" [id]=\"id\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ElementRef, Optional, HostBinding, HostListener, Input, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupOverflowBodyDirective } from './avatar-group-overflow-body.directive';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-focusable-avatar]',\n host: { class: 'fd-avatar-group__focusable-avatar' }\n})\nexport class AvatarGroupFocusableAvatarDirective implements FocusableOption {\n /** Tabindex of the Avatar. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(forwardRef(() => AvatarGroupOverflowBodyDirective))\n private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n forwardRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { TAB, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Subscription } from 'rxjs';\n\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupFocusableAvatarDirective } from './avatar-group-focusable-avatar.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-body]',\n host: {\n class: 'fd-avatar-group__overflow-body',\n '[class.fd-avatar-group__overflow-body--no-padding]': 'noPadding',\n '[class.fd-avatar-group__overflow-body--no-horizontal-scroll]': 'noHorizontalScroll',\n '[class.fd-avatar-group__overflow-body--no-vertical-scroll]': 'noVerticalScroll'\n }\n})\nexport class AvatarGroupOverflowBodyDirective implements AfterViewInit, OnDestroy {\n /** Remove the padding from the overflow body. */\n @Input()\n noPadding = false;\n\n /** Hide horizontal scrollbar from the overflow body. */\n @Input()\n noHorizontalScroll = true;\n\n /** Hide vertical scrollbar from the overflow body. */\n @Input()\n noVerticalScroll = true;\n\n /** @hidden Avatar Group Overflow items. */\n @ContentChildren(forwardRef(() => AvatarGroupFocusableAvatarDirective), { descendants: true })\n overflowItems: QueryList<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForItemChanges();\n\n this._setKeyboardEventsManager();\n\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.overflowItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupFocusableAvatarDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this.overflowItems.changes.subscribe(() => this._setKeyboardEventsManager());\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n\n this._keyboardEventsManager.setFirstItemActive();\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { AvatarGroupItemDirective } from './avatar-group-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-item]'\n})\nexport class AvatarGroupOverflowItemDirective extends AvatarGroupItemDirective {}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\n\nimport { Size } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { getRandomColorAccent } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\nimport { AvatarGroupOverflowButtonColor } from '../avatar-group.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button]'\n})\nexport class AvatarGroupOverflowButtonDirective implements OnInit, OnChanges, CssClassBuilder {\n /** User's custom classes. */\n @Input()\n class: string;\n\n /** The size of the overflow button.\n * Should be the same as the Avatar Group and Avatar size.\n * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** A number from 1 to 10 representing the background color of the Avatar Group's overflow button.\n * Options include: *neutral*, *random*, *1*, *2*, *3*, *4*, *5*, *6*, *7*, *8*, *9*, *10* (default: *neutral*). */\n @Input()\n color: AvatarGroupOverflowButtonColor = 'neutral';\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n 'fd-avatar-group__more-button',\n (this.color && this._getMoreButtonColorCssClass()) || '',\n this.size ? `fd-avatar-group__more-button--${this.size}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getMoreButtonColorCssClass(): string | null {\n if (this.color === 'random') {\n return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;\n }\n\n if (!Number.isNaN(parseInt(this.color as string, 10))) {\n return `fd-avatar-group__more-button--accent-color-${this.color}`;\n }\n return null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button-text]',\n host: { class: 'fd-button__text fd-avatar-group__button-text' }\n})\nexport class AvatarGroupOverflowButtonTextDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/** Needed to bind specific class to group type popover control. */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-popover-control]',\n host: { class: 'fd-avatar-group__popover-control' }\n})\nexport class AvatarGroupPopoverControlDirective {\n /** Tabindex of the popover control. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** Role of the popover control. */\n @Input()\n @HostBinding('attr.role')\n role = 'button';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarGroupComponent } from './avatar-group.component';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupOverflowBodyDirective } from './directives/avatar-group-overflow-body.directive';\nimport { AvatarGroupOverflowItemDirective } from './directives/avatar-group-overflow-item.directive';\nimport { AvatarGroupOverflowButtonDirective } from './directives/avatar-group-overflow-button.directive';\nimport { AvatarGroupOverflowButtonTextDirective } from './directives/avatar-group-overflow-button-text.directive';\nimport { AvatarGroupFocusableAvatarDirective } from './directives/avatar-group-focusable-avatar.directive';\nimport { AvatarGroupPopoverControlDirective } from './directives/avatar-group-popover-control.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ],\n declarations: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ]\n})\nexport class AvatarGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-avatar-group.mjs","sources":["../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-item.directive.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.component.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.component.html","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-focusable-avatar.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-body.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-item.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button-text.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-popover-control.directive.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.module.ts","../../../../../libs/core/src/lib/avatar-group/fundamental-ngx-core-avatar-group.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Optional, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupComponent } from '../avatar-group.component';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-item]',\n host: { class: 'fd-avatar-group__item' }\n})\nexport class AvatarGroupItemDirective implements FocusableOption {\n /** Item disable state */\n disabled = false;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(forwardRef(() => AvatarGroupComponent)) private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { of, Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { ColorAccent, KeyUtil, RtlService, Size } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupInterface } from './avatar-group.interface';\n\nexport type AvatarGroupType = 'group' | 'individual';\nexport type AvatarGroupOverflowButtonColor = 'neutral' | 'random' | ColorAccent;\n\nlet avatarGroupCount = 0;\n\n@Component({\n selector: 'fd-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarGroupComponent implements AvatarGroupInterface, OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** Id of the Avatar Group. */\n @Input()\n id = `fd-avatar-group-${avatarGroupCount++}`;\n\n /** Apply user custom class. */\n @Input()\n class: string;\n\n /** The size of the Avatar Group. Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** The type of the Avatar Group. Options include: *group* and *individual* (default: *group*). */\n @Input()\n type: AvatarGroupType = 'group';\n\n /** Aria-label for Avatar Group. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Counter for all avatars. */\n allItemsCount = 0;\n\n /** Counter for visible in overflow popover avatars. */\n overflowItemsCount = 0;\n\n /** @hidden Avatar Group items. */\n @ContentChildren(forwardRef(() => AvatarGroupItemDirective), { descendants: true })\n mainItems: QueryList<AvatarGroupItemDirective>;\n\n /** @hidden */\n @ViewChild('avatarGroupContainer')\n avatarGroupContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n rootClassNames: Record<string, boolean | undefined | null>;\n\n /** @hidden */\n get isGroupType(): boolean {\n return this.type === 'group';\n }\n\n /** @hidden */\n private get _avatarGroupWidth(): number {\n return this.avatarGroupContainer?.nativeElement?.offsetWidth;\n }\n\n /** @hidden */\n private get _avatarGroupItemWidth(): number {\n return this.mainItems.first?._element.offsetWidth ?? 0;\n }\n\n /** @hidden */\n private get _avatarGroupItemWithMarginsWidth(): number {\n if (!this.mainItems.first) {\n return this._avatarGroupItemWidth;\n }\n\n const elementStyles = getComputedStyle(this.mainItems.first._element);\n\n return (\n this._avatarGroupItemWidth +\n parseInt(elementStyles.marginLeft, 10) +\n parseInt(elementStyles.marginRight, 10)\n );\n }\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupItemDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(private readonly _viewportRuler: ViewportRuler, @Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscription.add(this._viewportRuler.change().subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._assignCssClasses();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._reset();\n\n this._subscription.add(\n of(true)\n .pipe(delay(5))\n .subscribe(() => this._collapseItems())\n );\n\n this._listenForItemChanges();\n this._setKeyboardEventsManager();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.mainItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupItemDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _onResize(): void {\n this._reset();\n this._collapseItems();\n }\n\n /** @hidden */\n private _reset(): void {\n this.allItemsCount = this.mainItems.length;\n this.overflowItemsCount = 0;\n\n this.mainItems.forEach((it) => {\n it._element.style.display = 'inline-block';\n it.disabled = false;\n });\n }\n\n /** @hidden */\n private _collapseItems(): void {\n const allItemsCounter = this.mainItems?.length || 0;\n let contentWidth = 0;\n let idx = 0;\n const avatarGroupItemWidth = this._avatarGroupItemWidth;\n const avatarGroupItemWithMarginsWidth = this._avatarGroupItemWithMarginsWidth;\n\n while (idx < allItemsCounter) {\n const newContentWidth =\n idx === 0 && this.isGroupType\n ? contentWidth + avatarGroupItemWidth\n : contentWidth + avatarGroupItemWithMarginsWidth;\n\n if (newContentWidth >= this._avatarGroupWidth) {\n // -1 because the last element in the loop will be replaced by the overflow button\n const newIdx = idx - 1;\n this.overflowItemsCount = allItemsCounter - newIdx;\n const mainItemsToHide = this.mainItems.toArray().slice(newIdx);\n mainItemsToHide.forEach((it) => {\n it._element.style.display = 'none';\n it.disabled = true;\n });\n\n break;\n }\n\n contentWidth = newContentWidth;\n idx++;\n }\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this._subscription.add(this.mainItems.changes.subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n private _assignCssClasses(): void {\n this.rootClassNames = {\n 'fd-avatar-group': true,\n [`fd-avatar-group--${this.type}-type`]: !!this.type,\n [`fd-avatar-group--${this.size}`]: !!this.size,\n [this.class]: !!this.class\n };\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.mainItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","<div #avatarGroupContainer [class]=\"rootClassNames\" [id]=\"id\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ElementRef, Optional, HostBinding, HostListener, Input, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupOverflowBodyDirective } from './avatar-group-overflow-body.directive';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-focusable-avatar]',\n host: { class: 'fd-avatar-group__focusable-avatar' }\n})\nexport class AvatarGroupFocusableAvatarDirective implements FocusableOption {\n /** Tabindex of the Avatar. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(forwardRef(() => AvatarGroupOverflowBodyDirective))\n private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n forwardRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { TAB, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Subscription } from 'rxjs';\n\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupFocusableAvatarDirective } from './avatar-group-focusable-avatar.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-body]',\n host: {\n class: 'fd-avatar-group__overflow-body',\n '[class.fd-avatar-group__overflow-body--no-padding]': 'noPadding',\n '[class.fd-avatar-group__overflow-body--no-horizontal-scroll]': 'noHorizontalScroll',\n '[class.fd-avatar-group__overflow-body--no-vertical-scroll]': 'noVerticalScroll'\n }\n})\nexport class AvatarGroupOverflowBodyDirective implements AfterViewInit, OnDestroy {\n /** Remove the padding from the overflow body. */\n @Input()\n noPadding = false;\n\n /** Hide horizontal scrollbar from the overflow body. */\n @Input()\n noHorizontalScroll = true;\n\n /** Hide vertical scrollbar from the overflow body. */\n @Input()\n noVerticalScroll = true;\n\n /** @hidden Avatar Group Overflow items. */\n @ContentChildren(forwardRef(() => AvatarGroupFocusableAvatarDirective), { descendants: true })\n overflowItems: QueryList<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForItemChanges();\n\n this._setKeyboardEventsManager();\n\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.overflowItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupFocusableAvatarDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this.overflowItems.changes.subscribe(() => this._setKeyboardEventsManager());\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n\n this._keyboardEventsManager.setFirstItemActive();\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { AvatarGroupItemDirective } from './avatar-group-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-item]'\n})\nexport class AvatarGroupOverflowItemDirective extends AvatarGroupItemDirective {}\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\n\nimport { Size } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { getRandomColorAccent } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\nimport { AvatarGroupOverflowButtonColor } from '../avatar-group.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button]'\n})\nexport class AvatarGroupOverflowButtonDirective implements OnChanges, CssClassBuilder {\n /** User's custom classes. */\n @Input()\n class: string;\n\n /** The size of the overflow button.\n * Should be the same as the Avatar Group and Avatar size.\n * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** A number from 1 to 10 representing the background color of the Avatar Group's overflow button.\n * Options include: *neutral*, *random*, *1*, *2*, *3*, *4*, *5*, *6*, *7*, *8*, *9*, *10* (default: *neutral*). */\n @Input()\n color: AvatarGroupOverflowButtonColor = 'neutral';\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n 'fd-avatar-group__more-button',\n (this.color && this._getMoreButtonColorCssClass()) || '',\n this.size ? `fd-avatar-group__more-button--${this.size}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getMoreButtonColorCssClass(): string | null {\n if (this.color === 'random') {\n return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;\n }\n\n if (!Number.isNaN(parseInt(this.color as string, 10))) {\n return `fd-avatar-group__more-button--accent-color-${this.color}`;\n }\n return null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button-text]',\n host: { class: 'fd-button__text fd-avatar-group__button-text' }\n})\nexport class AvatarGroupOverflowButtonTextDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/** Needed to bind specific class to group type popover control. */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-popover-control]',\n host: { class: 'fd-avatar-group__popover-control' }\n})\nexport class AvatarGroupPopoverControlDirective {\n /** Tabindex of the popover control. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** Role of the popover control. */\n @Input()\n @HostBinding('attr.role')\n role = 'button';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarGroupComponent } from './avatar-group.component';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupOverflowBodyDirective } from './directives/avatar-group-overflow-body.directive';\nimport { AvatarGroupOverflowItemDirective } from './directives/avatar-group-overflow-item.directive';\nimport { AvatarGroupOverflowButtonDirective } from './directives/avatar-group-overflow-button.directive';\nimport { AvatarGroupOverflowButtonTextDirective } from './directives/avatar-group-overflow-button-text.directive';\nimport { AvatarGroupFocusableAvatarDirective } from './directives/avatar-group-focusable-avatar.directive';\nimport { AvatarGroupPopoverControlDirective } from './directives/avatar-group-popover-control.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ],\n declarations: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ]\n})\nexport class AvatarGroupModule {}\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":"fundamental-ngx-core-avatar-group.mjs","sources":["../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-item.directive.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.component.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.component.html","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-focusable-avatar.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-body.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-item.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button-text.directive.ts","../../../../../libs/core/src/lib/avatar-group/directives/avatar-group-popover-control.directive.ts","../../../../../libs/core/src/lib/avatar-group/avatar-group.module.ts","../../../../../libs/core/src/lib/avatar-group/fundamental-ngx-core-avatar-group.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Optional, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupComponent } from '../avatar-group.component';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-item]',\n host: { class: 'fd-avatar-group__item' }\n})\nexport class AvatarGroupItemDirective implements FocusableOption {\n /** Item disable state */\n disabled = false;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(forwardRef(() => AvatarGroupComponent)) private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { of, Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { ColorAccent, KeyUtil, RtlService, Size } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupInterface } from './avatar-group.interface';\n\nexport type AvatarGroupType = 'group' | 'individual';\nexport type AvatarGroupOverflowButtonColor = 'neutral' | 'random' | ColorAccent;\n\nlet avatarGroupCount = 0;\n\n@Component({\n selector: 'fd-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarGroupComponent implements AvatarGroupInterface, OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** Id of the Avatar Group. */\n @Input()\n id = `fd-avatar-group-${avatarGroupCount++}`;\n\n /** Apply user custom class. */\n @Input()\n class: string;\n\n /** The size of the Avatar Group. Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** The type of the Avatar Group. Options include: *group* and *individual* (default: *group*). */\n @Input()\n type: AvatarGroupType = 'group';\n\n /** Aria-label for Avatar Group. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Counter for all avatars. */\n allItemsCount = 0;\n\n /** Counter for visible in overflow popover avatars. */\n overflowItemsCount = 0;\n\n /** @hidden Avatar Group items. */\n @ContentChildren(forwardRef(() => AvatarGroupItemDirective), { descendants: true })\n mainItems: QueryList<AvatarGroupItemDirective>;\n\n /** @hidden */\n @ViewChild('avatarGroupContainer')\n avatarGroupContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n rootClassNames: Record<string, boolean | undefined | null>;\n\n /** @hidden */\n get isGroupType(): boolean {\n return this.type === 'group';\n }\n\n /** @hidden */\n private get _avatarGroupWidth(): number {\n return this.avatarGroupContainer?.nativeElement?.offsetWidth;\n }\n\n /** @hidden */\n private get _avatarGroupItemWidth(): number {\n return this.mainItems.first?._element.offsetWidth ?? 0;\n }\n\n /** @hidden */\n private get _avatarGroupItemWithMarginsWidth(): number {\n if (!this.mainItems.first) {\n return this._avatarGroupItemWidth;\n }\n\n const elementStyles = getComputedStyle(this.mainItems.first._element);\n\n return (\n this._avatarGroupItemWidth +\n parseInt(elementStyles.marginLeft, 10) +\n parseInt(elementStyles.marginRight, 10)\n );\n }\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupItemDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(private readonly _viewportRuler: ViewportRuler, @Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscription.add(this._viewportRuler.change().subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._assignCssClasses();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._reset();\n\n this._subscription.add(\n of(true)\n .pipe(delay(5))\n .subscribe(() => this._collapseItems())\n );\n\n this._listenForItemChanges();\n this._setKeyboardEventsManager();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.mainItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupItemDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _onResize(): void {\n this._reset();\n this._collapseItems();\n }\n\n /** @hidden */\n private _reset(): void {\n this.allItemsCount = this.mainItems.length;\n this.overflowItemsCount = 0;\n\n this.mainItems.forEach((it) => {\n it._element.style.display = 'inline-block';\n it.disabled = false;\n });\n }\n\n /** @hidden */\n private _collapseItems(): void {\n const allItemsCounter = this.mainItems?.length || 0;\n let contentWidth = 0;\n let idx = 0;\n const avatarGroupItemWidth = this._avatarGroupItemWidth;\n const avatarGroupItemWithMarginsWidth = this._avatarGroupItemWithMarginsWidth;\n\n while (idx < allItemsCounter) {\n const newContentWidth =\n idx === 0 && this.isGroupType\n ? contentWidth + avatarGroupItemWidth\n : contentWidth + avatarGroupItemWithMarginsWidth;\n\n if (newContentWidth >= this._avatarGroupWidth) {\n // -1 because the last element in the loop will be replaced by the overflow button\n const newIdx = idx - 1;\n this.overflowItemsCount = allItemsCounter - newIdx;\n const mainItemsToHide = this.mainItems.toArray().slice(newIdx);\n mainItemsToHide.forEach((it) => {\n it._element.style.display = 'none';\n it.disabled = true;\n });\n\n break;\n }\n\n contentWidth = newContentWidth;\n idx++;\n }\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this._subscription.add(this.mainItems.changes.subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n private _assignCssClasses(): void {\n this.rootClassNames = {\n 'fd-avatar-group': true,\n [`fd-avatar-group--${this.type}-type`]: !!this.type,\n [`fd-avatar-group--${this.size}`]: !!this.size,\n [this.class]: !!this.class\n };\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.mainItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","<div #avatarGroupContainer [class]=\"rootClassNames\" [id]=\"id\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ElementRef, Optional, HostBinding, HostListener, Input, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupOverflowBodyDirective } from './avatar-group-overflow-body.directive';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-focusable-avatar]',\n host: { class: 'fd-avatar-group__focusable-avatar' }\n})\nexport class AvatarGroupFocusableAvatarDirective implements FocusableOption {\n /** Tabindex of the Avatar. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(forwardRef(() => AvatarGroupOverflowBodyDirective))\n private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n forwardRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { TAB, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Subscription } from 'rxjs';\n\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupFocusableAvatarDirective } from './avatar-group-focusable-avatar.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-body]',\n host: {\n class: 'fd-avatar-group__overflow-body',\n '[class.fd-avatar-group__overflow-body--no-padding]': 'noPadding',\n '[class.fd-avatar-group__overflow-body--no-horizontal-scroll]': 'noHorizontalScroll',\n '[class.fd-avatar-group__overflow-body--no-vertical-scroll]': 'noVerticalScroll'\n }\n})\nexport class AvatarGroupOverflowBodyDirective implements AfterViewInit, OnDestroy {\n /** Remove the padding from the overflow body. */\n @Input()\n noPadding = false;\n\n /** Hide horizontal scrollbar from the overflow body. */\n @Input()\n noHorizontalScroll = true;\n\n /** Hide vertical scrollbar from the overflow body. */\n @Input()\n noVerticalScroll = true;\n\n /** @hidden Avatar Group Overflow items. */\n @ContentChildren(forwardRef(() => AvatarGroupFocusableAvatarDirective), { descendants: true })\n overflowItems: QueryList<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForItemChanges();\n\n this._setKeyboardEventsManager();\n\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.overflowItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupFocusableAvatarDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this.overflowItems.changes.subscribe(() => this._setKeyboardEventsManager());\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n\n this._keyboardEventsManager.setFirstItemActive();\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { AvatarGroupItemDirective } from './avatar-group-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-item]'\n})\nexport class AvatarGroupOverflowItemDirective extends AvatarGroupItemDirective {}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\n\nimport { Size } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { getRandomColorAccent } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\nimport { AvatarGroupOverflowButtonColor } from '../avatar-group.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button]'\n})\nexport class AvatarGroupOverflowButtonDirective implements OnInit, OnChanges, CssClassBuilder {\n /** User's custom classes. */\n @Input()\n class: string;\n\n /** The size of the overflow button.\n * Should be the same as the Avatar Group and Avatar size.\n * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** A number from 1 to 10 representing the background color of the Avatar Group's overflow button.\n * Options include: *neutral*, *random*, *1*, *2*, *3*, *4*, *5*, *6*, *7*, *8*, *9*, *10* (default: *neutral*). */\n @Input()\n color: AvatarGroupOverflowButtonColor = 'neutral';\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n 'fd-avatar-group__more-button',\n (this.color && this._getMoreButtonColorCssClass()) || '',\n this.size ? `fd-avatar-group__more-button--${this.size}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getMoreButtonColorCssClass(): string | null {\n if (this.color === 'random') {\n return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;\n }\n\n if (!Number.isNaN(parseInt(this.color as string, 10))) {\n return `fd-avatar-group__more-button--accent-color-${this.color}`;\n }\n return null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button-text]',\n host: { class: 'fd-button__text fd-avatar-group__button-text' }\n})\nexport class AvatarGroupOverflowButtonTextDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/** Needed to bind specific class to group type popover control. */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-popover-control]',\n host: { class: 'fd-avatar-group__popover-control' }\n})\nexport class AvatarGroupPopoverControlDirective {\n /** Tabindex of the popover control. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** Role of the popover control. */\n @Input()\n @HostBinding('attr.role')\n role = 'button';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarGroupComponent } from './avatar-group.component';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupOverflowBodyDirective } from './directives/avatar-group-overflow-body.directive';\nimport { AvatarGroupOverflowItemDirective } from './directives/avatar-group-overflow-item.directive';\nimport { AvatarGroupOverflowButtonDirective } from './directives/avatar-group-overflow-button.directive';\nimport { AvatarGroupOverflowButtonTextDirective } from './directives/avatar-group-overflow-button-text.directive';\nimport { AvatarGroupFocusableAvatarDirective } from './directives/avatar-group-focusable-avatar.directive';\nimport { AvatarGroupPopoverControlDirective } from './directives/avatar-group-popover-control.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ],\n declarations: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ]\n})\nexport class AvatarGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/bar/package.json
CHANGED
package/breadcrumb/package.json
CHANGED
package/button/package.json
CHANGED
package/calendar/package.json
CHANGED
package/card/package.json
CHANGED
package/carousel/package.json
CHANGED
package/checkbox/package.json
CHANGED
package/combobox/package.json
CHANGED
package/date-picker/package.json
CHANGED
package/datetime/package.json
CHANGED
package/dialog/package.json
CHANGED