@agorapulse/ui-components 20.1.8 → 20.1.9

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.
@@ -12,6 +12,7 @@ import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
12
12
  import * as i1 from '@angular/forms';
13
13
  import { FormsModule } from '@angular/forms';
14
14
  import { BehaviorSubject, skip, debounceTime, distinctUntilChanged, tap, filter, switchMap, fromEvent } from 'rxjs';
15
+ import { NgTemplateOutlet } from '@angular/common';
15
16
 
16
17
  class AutocompleteComponent {
17
18
  placeholder = 'Search...';
@@ -76,7 +77,7 @@ class AutocompleteComponent {
76
77
  this.resultsLoadingSignal.set(false);
77
78
  }
78
79
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
79
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AutocompleteComponent, isStandalone: true, selector: "ap-autocomplete", inputs: { placeholder: "placeholder", label: "label", inputId: "inputId", loadingText: "loadingText", notFoundText: "notFoundText", searchFn: "searchFn", trackByFn: "trackByFn", disabled: "disabled", optionLabel: "optionLabel", optionCaption: "optionCaption", optionImageUrl: "optionImageUrl", optionValue: "optionValue", optionTextTemplate: "optionTextTemplate" }, outputs: { selectOption: "selectOption" }, viewQueries: [{ propertyName: "formField", first: true, predicate: ["formField"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <ap-loader [diameter]=\"30\" />\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"optionTextTemplate; context: { option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["ap-autocomplete{display:block}ap-autocomplete .input-autocomplete-wrapper{display:flex;flex-direction:column}ap-autocomplete .search-results-wrapper{position:relative}.ap-autocomplete-search-results{width:100%;display:flex;flex-direction:column;border-radius:var(--ref-border-radius-sm);box-shadow:var(--comp-select-shadow);padding:var(--comp-select-padding-vertical) 0;background-color:var(--comp-select-background-color);margin-top:var(--ref-spacing-xxxs);max-height:250px;overflow:auto}.ap-autocomplete-search-results-loading{display:flex;padding:var(--ref-spacing-sm) 0;flex-direction:column;justify-content:center;align-items:center;gap:var(--ref-spacing-xs)}.ap-autocomplete-search-results-loading .search-results-loading-label{font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80)}.ap-autocomplete-search-results-not-found{padding:var(--ref-spacing-xs) var(--ref-spacing-sm);font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item{padding:var(--ref-spacing-xxs) var(--ref-spacing-sm)}.ap-autocomplete-search-results-item .option{display:flex;align-items:center;font-size:var(--comp-select-one-line-text-size);font-weight:var(--comp-select-one-line-text-font-weight);color:var(--comp-select-one-line-text-color);line-height:var(--comp-select-one-line-text-line-height);font-family:var(--comp-select-one-line-text-font-family);gap:var(--ref-spacing-xs);min-height:24px}.ap-autocomplete-search-results-item .option .option-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item .option .texts{flex:1;overflow:auto}.ap-autocomplete-search-results-item .option .texts .first-line{display:flex}.ap-autocomplete-search-results-item .option .texts .label{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item .option.with-caption .texts{display:flex;flex-direction:column}.ap-autocomplete-search-results-item .option.with-caption .texts .label{color:var(--comp-select-two-line-title-text-color);font-size:var(--comp-select-two-line-title-text-size);line-height:var(--comp-select-two-line-title-text-line-height);font-weight:var(--comp-select-two-line-title-text-font-weight)}.ap-autocomplete-search-results-item .option.with-caption .texts .caption{color:var(--comp-select-two-line-caption-text-color);font-size:var(--comp-select-two-line-caption-text-size);line-height:var(--comp-select-two-line-caption-text-line-height);font-weight:var(--comp-select-two-line-caption-text-font-weight);display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item:hover{cursor:pointer;background-color:var(--ref-color-electric-blue-10)}.ap-autocomplete-search-results-item:active{background-color:var(--ref-color-electric-blue-20)}.ap-autocomplete-search-results-item:focus{background-color:var(--ref-color-electric-blue-20)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: FormFieldComponent, selector: "ap-form-field" }, { kind: "component", type: InputGroupComponent, selector: "ap-input-group", inputs: ["symbolPosition"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }, { kind: "directive", type: InputDirective, selector: "[apInput]" }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["profilePicture", "alt", "network", "size", "username", "showInitials", "bigNetwork", "anonymous", "online", "youtubeAvatarMode", "rounded"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AutocompleteComponent, isStandalone: true, selector: "ap-autocomplete", inputs: { placeholder: "placeholder", label: "label", inputId: "inputId", loadingText: "loadingText", notFoundText: "notFoundText", searchFn: "searchFn", trackByFn: "trackByFn", disabled: "disabled", optionLabel: "optionLabel", optionCaption: "optionCaption", optionImageUrl: "optionImageUrl", optionValue: "optionValue", optionTextTemplate: "optionTextTemplate" }, outputs: { selectOption: "selectOption" }, viewQueries: [{ propertyName: "formField", first: true, predicate: ["formField"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <ap-loader [diameter]=\"30\" />\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"optionTextTemplate\" [ngTemplateOutletContext]=\"{ option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["ap-autocomplete{display:block}ap-autocomplete .input-autocomplete-wrapper{display:flex;flex-direction:column}ap-autocomplete .search-results-wrapper{position:relative}.ap-autocomplete-search-results{width:100%;display:flex;flex-direction:column;border-radius:var(--ref-border-radius-sm);box-shadow:var(--comp-select-shadow);padding:var(--comp-select-padding-vertical) 0;background-color:var(--comp-select-background-color);margin-top:var(--ref-spacing-xxxs);max-height:250px;overflow:auto}.ap-autocomplete-search-results-loading{display:flex;padding:var(--ref-spacing-sm) 0;flex-direction:column;justify-content:center;align-items:center;gap:var(--ref-spacing-xs)}.ap-autocomplete-search-results-loading .search-results-loading-label{font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80)}.ap-autocomplete-search-results-not-found{padding:var(--ref-spacing-xs) var(--ref-spacing-sm);font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item{padding:var(--ref-spacing-xxs) var(--ref-spacing-sm)}.ap-autocomplete-search-results-item .option{display:flex;align-items:center;font-size:var(--comp-select-one-line-text-size);font-weight:var(--comp-select-one-line-text-font-weight);color:var(--comp-select-one-line-text-color);line-height:var(--comp-select-one-line-text-line-height);font-family:var(--comp-select-one-line-text-font-family);gap:var(--ref-spacing-xs);min-height:24px}.ap-autocomplete-search-results-item .option .option-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item .option .texts{flex:1;overflow:auto}.ap-autocomplete-search-results-item .option .texts .first-line{display:flex}.ap-autocomplete-search-results-item .option .texts .label{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item .option.with-caption .texts{display:flex;flex-direction:column}.ap-autocomplete-search-results-item .option.with-caption .texts .label{color:var(--comp-select-two-line-title-text-color);font-size:var(--comp-select-two-line-title-text-size);line-height:var(--comp-select-two-line-title-text-line-height);font-weight:var(--comp-select-two-line-title-text-font-weight)}.ap-autocomplete-search-results-item .option.with-caption .texts .caption{color:var(--comp-select-two-line-caption-text-color);font-size:var(--comp-select-two-line-caption-text-size);line-height:var(--comp-select-two-line-caption-text-line-height);font-weight:var(--comp-select-two-line-caption-text-font-weight);display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item:hover{cursor:pointer;background-color:var(--ref-color-electric-blue-10)}.ap-autocomplete-search-results-item:active{background-color:var(--ref-color-electric-blue-20)}.ap-autocomplete-search-results-item:focus{background-color:var(--ref-color-electric-blue-20)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: FormFieldComponent, selector: "ap-form-field" }, { kind: "component", type: InputGroupComponent, selector: "ap-input-group", inputs: ["symbolPosition"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }, { kind: "directive", type: InputDirective, selector: "[apInput]" }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["profilePicture", "alt", "network", "size", "username", "showInitials", "bigNetwork", "anonymous", "online", "youtubeAvatarMode", "rounded"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
80
81
  }
81
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AutocompleteComponent, decorators: [{
82
83
  type: Component,
@@ -89,7 +90,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
89
90
  InputDirective,
90
91
  AvatarComponent,
91
92
  OverlayModule,
92
- ], encapsulation: ViewEncapsulation.None, template: "<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <ap-loader [diameter]=\"30\" />\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"optionTextTemplate; context: { option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["ap-autocomplete{display:block}ap-autocomplete .input-autocomplete-wrapper{display:flex;flex-direction:column}ap-autocomplete .search-results-wrapper{position:relative}.ap-autocomplete-search-results{width:100%;display:flex;flex-direction:column;border-radius:var(--ref-border-radius-sm);box-shadow:var(--comp-select-shadow);padding:var(--comp-select-padding-vertical) 0;background-color:var(--comp-select-background-color);margin-top:var(--ref-spacing-xxxs);max-height:250px;overflow:auto}.ap-autocomplete-search-results-loading{display:flex;padding:var(--ref-spacing-sm) 0;flex-direction:column;justify-content:center;align-items:center;gap:var(--ref-spacing-xs)}.ap-autocomplete-search-results-loading .search-results-loading-label{font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80)}.ap-autocomplete-search-results-not-found{padding:var(--ref-spacing-xs) var(--ref-spacing-sm);font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item{padding:var(--ref-spacing-xxs) var(--ref-spacing-sm)}.ap-autocomplete-search-results-item .option{display:flex;align-items:center;font-size:var(--comp-select-one-line-text-size);font-weight:var(--comp-select-one-line-text-font-weight);color:var(--comp-select-one-line-text-color);line-height:var(--comp-select-one-line-text-line-height);font-family:var(--comp-select-one-line-text-font-family);gap:var(--ref-spacing-xs);min-height:24px}.ap-autocomplete-search-results-item .option .option-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item .option .texts{flex:1;overflow:auto}.ap-autocomplete-search-results-item .option .texts .first-line{display:flex}.ap-autocomplete-search-results-item .option .texts .label{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item .option.with-caption .texts{display:flex;flex-direction:column}.ap-autocomplete-search-results-item .option.with-caption .texts .label{color:var(--comp-select-two-line-title-text-color);font-size:var(--comp-select-two-line-title-text-size);line-height:var(--comp-select-two-line-title-text-line-height);font-weight:var(--comp-select-two-line-title-text-font-weight)}.ap-autocomplete-search-results-item .option.with-caption .texts .caption{color:var(--comp-select-two-line-caption-text-color);font-size:var(--comp-select-two-line-caption-text-size);line-height:var(--comp-select-two-line-caption-text-line-height);font-weight:var(--comp-select-two-line-caption-text-font-weight);display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item:hover{cursor:pointer;background-color:var(--ref-color-electric-blue-10)}.ap-autocomplete-search-results-item:active{background-color:var(--ref-color-electric-blue-20)}.ap-autocomplete-search-results-item:focus{background-color:var(--ref-color-electric-blue-20)}\n"] }]
93
+ NgTemplateOutlet
94
+ ], encapsulation: ViewEncapsulation.None, template: "<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <ap-loader [diameter]=\"30\" />\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"optionTextTemplate\" [ngTemplateOutletContext]=\"{ option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["ap-autocomplete{display:block}ap-autocomplete .input-autocomplete-wrapper{display:flex;flex-direction:column}ap-autocomplete .search-results-wrapper{position:relative}.ap-autocomplete-search-results{width:100%;display:flex;flex-direction:column;border-radius:var(--ref-border-radius-sm);box-shadow:var(--comp-select-shadow);padding:var(--comp-select-padding-vertical) 0;background-color:var(--comp-select-background-color);margin-top:var(--ref-spacing-xxxs);max-height:250px;overflow:auto}.ap-autocomplete-search-results-loading{display:flex;padding:var(--ref-spacing-sm) 0;flex-direction:column;justify-content:center;align-items:center;gap:var(--ref-spacing-xs)}.ap-autocomplete-search-results-loading .search-results-loading-label{font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80)}.ap-autocomplete-search-results-not-found{padding:var(--ref-spacing-xs) var(--ref-spacing-sm);font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item{padding:var(--ref-spacing-xxs) var(--ref-spacing-sm)}.ap-autocomplete-search-results-item .option{display:flex;align-items:center;font-size:var(--comp-select-one-line-text-size);font-weight:var(--comp-select-one-line-text-font-weight);color:var(--comp-select-one-line-text-color);line-height:var(--comp-select-one-line-text-line-height);font-family:var(--comp-select-one-line-text-font-family);gap:var(--ref-spacing-xs);min-height:24px}.ap-autocomplete-search-results-item .option .option-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item .option .texts{flex:1;overflow:auto}.ap-autocomplete-search-results-item .option .texts .first-line{display:flex}.ap-autocomplete-search-results-item .option .texts .label{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item .option.with-caption .texts{display:flex;flex-direction:column}.ap-autocomplete-search-results-item .option.with-caption .texts .label{color:var(--comp-select-two-line-title-text-color);font-size:var(--comp-select-two-line-title-text-size);line-height:var(--comp-select-two-line-title-text-line-height);font-weight:var(--comp-select-two-line-title-text-font-weight)}.ap-autocomplete-search-results-item .option.with-caption .texts .caption{color:var(--comp-select-two-line-caption-text-color);font-size:var(--comp-select-two-line-caption-text-size);line-height:var(--comp-select-two-line-caption-text-line-height);font-weight:var(--comp-select-two-line-caption-text-font-weight);display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item:hover{cursor:pointer;background-color:var(--ref-color-electric-blue-10)}.ap-autocomplete-search-results-item:active{background-color:var(--ref-color-electric-blue-20)}.ap-autocomplete-search-results-item:focus{background-color:var(--ref-color-electric-blue-20)}\n"] }]
93
95
  }], ctorParameters: () => [], propDecorators: { placeholder: [{
94
96
  type: Input
95
97
  }], label: [{
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components-autocomplete.mjs","sources":["../../../libs/ui-components/autocomplete/src/autocomplete.component.ts","../../../libs/ui-components/autocomplete/src/autocomplete.component.html","../../../libs/ui-components/autocomplete/src/agorapulse-ui-components-autocomplete.ts"],"sourcesContent":["import { LoaderComponent } from '@agorapulse/ui-animations';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { FormFieldComponent } from '@agorapulse/ui-components/form-field';\nimport { InputDirective } from '@agorapulse/ui-components/input';\nimport { InputGroupComponent } from '@agorapulse/ui-components/input-group';\nimport { SymbolComponent, SymbolRegistry, apSearch } from '@agorapulse/ui-symbol';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { BehaviorSubject, Observable, debounceTime, distinctUntilChanged, filter, fromEvent, skip, switchMap, tap } from 'rxjs';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-autocomplete',\n styleUrls: ['./autocomplete.component.scss'],\n imports: [\n SymbolComponent,\n FormFieldComponent,\n InputGroupComponent,\n FormsModule,\n LoaderComponent,\n InputDirective,\n AvatarComponent,\n OverlayModule,\n ],\n templateUrl: './autocomplete.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AutocompleteComponent<T extends Record<string, unknown> | string> implements AfterViewInit {\n @Input() placeholder = 'Search...';\n @Input() label = '';\n @Input() inputId = '';\n @Input() loadingText = 'Loading Items';\n @Input() notFoundText = 'No result found';\n @Input({ required: true }) searchFn!: (term: string) => Observable<T[]>;\n @Input() trackByFn: (index: number, item: T) => T | T[keyof T] = (_: number, item: T) => item;\n @Input() set disabled(value: boolean) {\n this.disabledSignal.set(value);\n }\n @Input() optionLabel?: string;\n @Input() optionCaption?: string;\n @Input() optionImageUrl?: string;\n @Input() optionValue?: string;\n @Input() optionTextTemplate?: TemplateRef<{ option: T }>;\n\n @ViewChild('formField', { read: ElementRef }) formField!: ElementRef<FormFieldComponent>;\n\n @Output()\n selectOption: EventEmitter<unknown> = new EventEmitter<unknown>();\n\n readonly disabledSignal = signal(false);\n readonly symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n readonly searchTerm$ = new BehaviorSubject<string>('');\n readonly searchTermSignal = toSignal(this.searchTerm$);\n readonly showResultsSignal = signal(false);\n readonly resultsLoadingSignal = signal(false);\n readonly searchResultsSignal = toSignal<any[]>(\n this.searchTerm$.pipe(\n skip(1),\n debounceTime(250),\n distinctUntilChanged(),\n tap(() => this.showResultsSignal.set(false)),\n filter(term => term.length > 0),\n tap(() => this.showResultsSignal.set(true)),\n tap(() => this.resultsLoadingSignal.set(true)),\n switchMap(term => {\n return this.searchFn(term);\n }),\n tap(() => this.resultsLoadingSignal.set(false))\n )\n );\n private readonly ngZone = inject(NgZone);\n private readonly el = inject(ElementRef);\n readonly inputWidthSignal = signal(0);\n\n constructor() {\n this.symbolRegistry.registerSymbols([apSearch]);\n this.ngZone.runOutsideAngular(() => {\n fromEvent(document, 'click')\n .pipe(takeUntilDestroyed())\n .subscribe(e => {\n const clickedInside = this.el.nativeElement.contains(e.target);\n if (!clickedInside) {\n this.ngZone.run(() => {\n this.resetAutocomplete();\n });\n }\n });\n });\n }\n\n ngAfterViewInit(): void {\n this.inputWidthSignal.set((this.formField.nativeElement as HTMLElement).offsetWidth);\n }\n\n onSelectOption(option: T) {\n if (typeof option !== 'string' && this.optionValue && option[this.optionValue]) {\n this.selectOption.emit(option[this.optionValue]);\n } else {\n this.selectOption.emit(option);\n }\n this.resetAutocomplete();\n }\n\n private resetAutocomplete() {\n this.searchTerm$.next('');\n this.showResultsSignal.set(false);\n this.resultsLoadingSignal.set(false);\n }\n}\n","<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <ap-loader [diameter]=\"30\" />\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"optionTextTemplate; context: { option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MA4Ca,qBAAqB,CAAA;IACrB,WAAW,GAAG,WAAW;IACzB,KAAK,GAAG,EAAE;IACV,OAAO,GAAG,EAAE;IACZ,WAAW,GAAG,eAAe;IAC7B,YAAY,GAAG,iBAAiB;AACd,IAAA,QAAQ;IAC1B,SAAS,GAA+C,CAAC,CAAS,EAAE,IAAO,KAAK,IAAI;IAC7F,IAAa,QAAQ,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;;AAEzB,IAAA,WAAW;AACX,IAAA,aAAa;AACb,IAAA,cAAc;AACd,IAAA,WAAW;AACX,IAAA,kBAAkB;AAEmB,IAAA,SAAS;AAGvD,IAAA,YAAY,GAA0B,IAAI,YAAY,EAAW;AAExD,IAAA,cAAc,GAAG,MAAM,CAAC,KAAK,0DAAC;AAC9B,IAAA,cAAc,GAAmB,MAAM,CAAC,cAAc,CAAC;AACvD,IAAA,WAAW,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAC7C,IAAA,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,IAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,6DAAC;AACjC,IAAA,oBAAoB,GAAG,MAAM,CAAC,KAAK,gEAAC;AACpC,IAAA,mBAAmB,GAAG,QAAQ,CACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,CAAC,CAAC,CAAC,EACP,YAAY,CAAC,GAAG,CAAC,EACjB,oBAAoB,EAAE,EACtB,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAC5C,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/B,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC3C,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC9C,SAAS,CAAC,IAAI,IAAG;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC9B,KAAC,CAAC,EACF,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAClD,CACJ;AACgB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,gBAAgB,GAAG,MAAM,CAAC,CAAC,4DAAC;AAErC,IAAA,WAAA,GAAA;QACI,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,SAAS,CAAC,QAAQ,EAAE,OAAO;iBACtB,IAAI,CAAC,kBAAkB,EAAE;iBACzB,SAAS,CAAC,CAAC,IAAG;AACX,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9D,IAAI,CAAC,aAAa,EAAE;AAChB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;wBACjB,IAAI,CAAC,iBAAiB,EAAE;AAC5B,qBAAC,CAAC;;AAEV,aAAC,CAAC;AACV,SAAC,CAAC;;IAGN,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAE,IAAI,CAAC,SAAS,CAAC,aAA6B,CAAC,WAAW,CAAC;;AAGxF,IAAA,cAAc,CAAC,MAAS,EAAA;AACpB,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AAC5E,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;aAC7C;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;;QAElC,IAAI,CAAC,iBAAiB,EAAE;;IAGpB,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;;uGA/E/B,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,ujBAiBE,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7D9C,w4KAoGA,EAAA,MAAA,EAAA,CAAA,w+FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDpEQ,eAAe,sHACf,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,WAAW,+mBACX,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,eAAe,4MACf,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,wCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKR,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAjBjC,SAAS;AACW,YAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,iBAAiB,EAAA,OAAA,EAElB;wBACL,eAAe;wBACf,kBAAkB;wBAClB,mBAAmB;wBACnB,WAAW;wBACX,eAAe;wBACf,cAAc;wBACd,eAAe;wBACf,aAAa;qBAChB,EAAA,aAAA,EAEc,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,w4KAAA,EAAA,MAAA,EAAA,CAAA,w+FAAA,CAAA,EAAA;wDAG5B,WAAW,EAAA,CAAA;sBAAnB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAC0B,QAAQ,EAAA,CAAA;sBAAlC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChB,SAAS,EAAA,CAAA;sBAAjB;gBACY,QAAQ,EAAA,CAAA;sBAApB;gBAGQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAE6C,SAAS,EAAA,CAAA;sBAAtD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAG5C,YAAY,EAAA,CAAA;sBADX;;;AE/DL;;AAEG;;;;"}
1
+ {"version":3,"file":"agorapulse-ui-components-autocomplete.mjs","sources":["../../../libs/ui-components/autocomplete/src/autocomplete.component.ts","../../../libs/ui-components/autocomplete/src/autocomplete.component.html","../../../libs/ui-components/autocomplete/src/agorapulse-ui-components-autocomplete.ts"],"sourcesContent":["import { LoaderComponent } from '@agorapulse/ui-animations';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { FormFieldComponent } from '@agorapulse/ui-components/form-field';\nimport { InputDirective } from '@agorapulse/ui-components/input';\nimport { InputGroupComponent } from '@agorapulse/ui-components/input-group';\nimport { SymbolComponent, SymbolRegistry, apSearch } from '@agorapulse/ui-symbol';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { BehaviorSubject, Observable, debounceTime, distinctUntilChanged, filter, fromEvent, skip, switchMap, tap } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-autocomplete',\n styleUrls: ['./autocomplete.component.scss'],\n imports: [\n SymbolComponent,\n FormFieldComponent,\n InputGroupComponent,\n FormsModule,\n LoaderComponent,\n InputDirective,\n AvatarComponent,\n OverlayModule,\n NgTemplateOutlet\n ],\n templateUrl: './autocomplete.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AutocompleteComponent<T extends Record<string, unknown> | string> implements AfterViewInit {\n @Input() placeholder = 'Search...';\n @Input() label = '';\n @Input() inputId = '';\n @Input() loadingText = 'Loading Items';\n @Input() notFoundText = 'No result found';\n @Input({ required: true }) searchFn!: (term: string) => Observable<T[]>;\n @Input() trackByFn: (index: number, item: T) => T | T[keyof T] = (_: number, item: T) => item;\n @Input() set disabled(value: boolean) {\n this.disabledSignal.set(value);\n }\n @Input() optionLabel?: string;\n @Input() optionCaption?: string;\n @Input() optionImageUrl?: string;\n @Input() optionValue?: string;\n @Input() optionTextTemplate?: TemplateRef<{ option: T }>;\n\n @ViewChild('formField', { read: ElementRef }) formField!: ElementRef<FormFieldComponent>;\n\n @Output()\n selectOption: EventEmitter<unknown> = new EventEmitter<unknown>();\n\n readonly disabledSignal = signal(false);\n readonly symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n readonly searchTerm$ = new BehaviorSubject<string>('');\n readonly searchTermSignal = toSignal(this.searchTerm$);\n readonly showResultsSignal = signal(false);\n readonly resultsLoadingSignal = signal(false);\n readonly searchResultsSignal = toSignal<any[]>(\n this.searchTerm$.pipe(\n skip(1),\n debounceTime(250),\n distinctUntilChanged(),\n tap(() => this.showResultsSignal.set(false)),\n filter(term => term.length > 0),\n tap(() => this.showResultsSignal.set(true)),\n tap(() => this.resultsLoadingSignal.set(true)),\n switchMap(term => {\n return this.searchFn(term);\n }),\n tap(() => this.resultsLoadingSignal.set(false))\n )\n );\n private readonly ngZone = inject(NgZone);\n private readonly el = inject(ElementRef);\n readonly inputWidthSignal = signal(0);\n\n constructor() {\n this.symbolRegistry.registerSymbols([apSearch]);\n this.ngZone.runOutsideAngular(() => {\n fromEvent(document, 'click')\n .pipe(takeUntilDestroyed())\n .subscribe(e => {\n const clickedInside = this.el.nativeElement.contains(e.target);\n if (!clickedInside) {\n this.ngZone.run(() => {\n this.resetAutocomplete();\n });\n }\n });\n });\n }\n\n ngAfterViewInit(): void {\n this.inputWidthSignal.set((this.formField.nativeElement as HTMLElement).offsetWidth);\n }\n\n onSelectOption(option: T) {\n if (typeof option !== 'string' && this.optionValue && option[this.optionValue]) {\n this.selectOption.emit(option[this.optionValue]);\n } else {\n this.selectOption.emit(option);\n }\n this.resetAutocomplete();\n }\n\n private resetAutocomplete() {\n this.searchTerm$.next('');\n this.showResultsSignal.set(false);\n this.resultsLoadingSignal.set(false);\n }\n}\n","<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <ap-loader [diameter]=\"30\" />\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"optionTextTemplate\" [ngTemplateOutletContext]=\"{ option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, EventEmitter, booleanAttribute, HostListener, Output, Input, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { inject, input, computed, EventEmitter, booleanAttribute, HostListener, Output, Input, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { LoaderComponent } from '@agorapulse/ui-animations';
4
4
  import * as i2 from '@agorapulse/ui-components/directives';
5
5
  import { BaseButtonDirective } from '@agorapulse/ui-components/directives';
@@ -15,7 +15,8 @@ class SocialButtonComponent {
15
15
  name = '';
16
16
  loading = false;
17
17
  network = 'facebook';
18
- buttonType = 'default';
18
+ buttonType = input('default', ...(ngDevMode ? [{ debugName: "buttonType" }] : []));
19
+ loaderColor = computed(() => this.buttonType() === 'default' ? 'white' : this.network, ...(ngDevMode ? [{ debugName: "loaderColor" }] : []));
19
20
  // eslint-disable-next-line @angular-eslint/no-output-native
20
21
  click = new EventEmitter();
21
22
  // eslint-disable-next-line @angular-eslint/no-output-native
@@ -124,13 +125,13 @@ class SocialButtonComponent {
124
125
  }
125
126
  }
126
127
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SocialButtonComponent, deps: [{ token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
127
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: SocialButtonComponent, isStandalone: true, selector: "ap-social-button", inputs: { ariaLabel: "ariaLabel", disabled: ["disabled", "disabled", booleanAttribute], name: "name", loading: "loading", network: "network", buttonType: "buttonType" }, outputs: { click: "click", focus: "focus", blur: "blur" }, host: { listeners: { "window:keyup.space": "onSpaceKeyUp($event)" }, properties: { "attr.disabled": "loading || disabled || null" } }, providers: [], viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true }], hostDirectives: [{ directive: i2.BaseButtonDirective }], ngImport: i0, template: "<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\" />\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button[disabled]{pointer-events:none}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--comp-button-spacing);max-height:var(--comp-button-height);min-height:var(--comp-button-height);width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button.loading{pointer-events:none}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter,ap-social-button button.x{background-color:var(--ref-color-x-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol,ap-social-button button.x span,ap-social-button button.x ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover,ap-social-button button.x:hover{background-color:#313131}ap-social-button button.twitter:active:not(:disabled),ap-social-button button.x:active:not(:disabled){background-color:#626262}ap-social-button button.twitter:disabled,ap-social-button button.x:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading,ap-social-button button.x.loading{background-color:#626262}ap-social-button button.twitter.stroked,ap-social-button button.x.stroked{background:transparent;border:1px solid var(--ref-color-x-100)}ap-social-button button.twitter.stroked span,ap-social-button button.twitter.stroked ap-symbol,ap-social-button button.x.stroked span,ap-social-button button.x.stroked ap-symbol{color:var(--ref-color-x-100)}ap-social-button button.twitter.stroked:hover,ap-social-button button.x.stroked:hover{background:transparent;border-color:#313131}ap-social-button button.twitter.stroked:hover span,ap-social-button button.x.stroked:hover span{color:#313131}ap-social-button button.twitter.stroked:disabled,ap-social-button button.x.stroked:disabled{border:1px solid var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:disabled ap-symbol,ap-social-button button.x.stroked:disabled ap-symbol{opacity:.2}ap-social-button button.twitter.stroked:disabled span,ap-social-button button.x.stroked:disabled span{color:var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:active:not(:disabled),ap-social-button button.x.stroked:active:not(:disabled){border-color:#626262;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span,ap-social-button button.x.stroked:active:not(:disabled) span{color:#626262}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active),ap-social-button button.x.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.twitter.stroked.loading,ap-social-button button.x.stroked.loading{border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#fee49a,#fcb178 26.56%,#dc478a 50.52%,#a942d1 73.96%,#6b75db)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:calc(var(--comp-button-height) - 2px)}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.pinterest{background-color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest span,ap-social-button button.pinterest ap-symbol{color:var(--ref-color-white)}ap-social-button button.pinterest:hover{background-color:#eb4242}ap-social-button button.pinterest:active:not(:disabled){background-color:#f47171}ap-social-button button.pinterest:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.pinterest.loading{background-color:#fcbbbb}ap-social-button button.pinterest.stroked{background:transparent;border:1px solid var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked span{color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked:hover{background:transparent;border-color:#eb4242}ap-social-button button.pinterest.stroked:hover span{color:#eb4242}ap-social-button button.pinterest.stroked:active:not(:disabled){border-color:#f47171;color:#f47171;background:transparent}ap-social-button button.pinterest.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.pinterest.stroked:disabled{opacity:.2}ap-social-button button.pinterest.stroked.loading{border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-tiktok-default-100);background:transparent}ap-social-button button.google-my-business{background-color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business span,ap-social-button button.google-my-business ap-symbol{color:var(--ref-color-white)}ap-social-button button.google-my-business:hover{background-color:#2c78ce}ap-social-button button.google-my-business:active:not(:disabled){background-color:#5795db}ap-social-button button.google-my-business:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.google-my-business.loading{background-color:#5795db}ap-social-button button.google-my-business.stroked{background:transparent;border:1px solid var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked span{color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.google-my-business.stroked:hover span{color:#2c78ce}ap-social-button button.google-my-business.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.google-my-business.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.google-my-business.stroked:disabled{opacity:.2}ap-social-button button.google-my-business.stroked.loading{border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.threads{background-color:var(--ref-color-threads-100)}ap-social-button button.threads span,ap-social-button button.threads ap-symbol{color:var(--ref-color-white)}ap-social-button button.threads:hover{background-color:#202020}ap-social-button button.threads:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.threads:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.threads.loading{background-color:#2e2e2e}ap-social-button button.threads.stroked{background:transparent;border:1px solid var(--ref-color-threads-100)}ap-social-button button.threads.stroked span{color:var(--ref-color-threads-100)}ap-social-button button.threads.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.threads.stroked:hover span{color:#202020}ap-social-button button.threads.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.threads.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.threads.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.threads.stroked:disabled{opacity:.2}ap-social-button button.threads.stroked.loading{border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.bluesky{background-color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky span,ap-social-button button.bluesky ap-symbol{color:var(--ref-color-white)}ap-social-button button.bluesky:hover{background-color:#3993f3}ap-social-button button.bluesky:active:not(:disabled){background-color:#6eb0f7}ap-social-button button.bluesky:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.bluesky.loading{background-color:#6eb0f7}ap-social-button button.bluesky.stroked{background:transparent;border:1px solid var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked span{color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked:hover{background:transparent;border-color:#3993f3}ap-social-button button.bluesky.stroked:hover span{color:#3993f3}ap-social-button button.bluesky.stroked:active:not(:disabled){border-color:#6eb0f7;background:transparent}ap-social-button button.bluesky.stroked:active:not(:disabled) span{color:#6eb0f7}ap-social-button button.bluesky.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-bluesky-100);background:transparent}ap-social-button button.bluesky.stroked:disabled{opacity:.2}ap-social-button button.bluesky.stroked.loading{border-color:#6eb0f7;background:transparent}ap-social-button button.google,ap-social-button button.microsoft{background:transparent;border-width:1px;border-style:solid;color:var(--ref-color-grey-80);border-color:var(--ref-color-grey-20)}ap-social-button button.google ap-symbol,ap-social-button button.microsoft ap-symbol{color:var(--ref-color-grey-80)}ap-social-button button.google:hover,ap-social-button button.microsoft:hover{border-color:var(--ref-color-grey-40)}ap-social-button button.google:active:not(:disabled),ap-social-button button.microsoft:active:not(:disabled){border-color:var(--ref-color-grey-60)}ap-social-button button.google:focus:not(:disabled):not(:active),ap-social-button button.microsoft:focus:not(:disabled):not(:active){border-color:var(--ref-color-grey-20)}ap-social-button button.google:disabled,ap-social-button button.microsoft:disabled{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-20)}ap-social-button button.google:disabled ap-symbol,ap-social-button button.microsoft:disabled ap-symbol{color:var(--ref-color-grey-20)}ap-social-button button.google.loading,ap-social-button button.microsoft.loading{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-40)}ap-social-button button.google.loading ap-symbol,ap-social-button button.microsoft.loading ap-symbol{color:var(--ref-color-grey-40)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
128
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: SocialButtonComponent, isStandalone: true, selector: "ap-social-button", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: true, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, network: { classPropertyName: "network", publicName: "network", isSignal: false, isRequired: false, transformFunction: null }, buttonType: { classPropertyName: "buttonType", publicName: "buttonType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click", focus: "focus", blur: "blur" }, host: { listeners: { "window:keyup.space": "onSpaceKeyUp($event)" }, properties: { "attr.disabled": "loading || disabled || null" } }, providers: [], viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true }], hostDirectives: [{ directive: i2.BaseButtonDirective }], ngImport: i0, template: "<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType() === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType()]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"loaderColor()\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\" />\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button[disabled]{pointer-events:none}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--comp-button-spacing);max-height:var(--comp-button-height);min-height:var(--comp-button-height);width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button.loading{pointer-events:none}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter,ap-social-button button.x{background-color:var(--ref-color-x-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol,ap-social-button button.x span,ap-social-button button.x ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover,ap-social-button button.x:hover{background-color:#313131}ap-social-button button.twitter:active:not(:disabled),ap-social-button button.x:active:not(:disabled){background-color:#626262}ap-social-button button.twitter:disabled,ap-social-button button.x:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading,ap-social-button button.x.loading{background-color:#626262}ap-social-button button.twitter.stroked,ap-social-button button.x.stroked{background:transparent;border:1px solid var(--ref-color-x-100)}ap-social-button button.twitter.stroked span,ap-social-button button.twitter.stroked ap-symbol,ap-social-button button.x.stroked span,ap-social-button button.x.stroked ap-symbol{color:var(--ref-color-x-100)}ap-social-button button.twitter.stroked:hover,ap-social-button button.x.stroked:hover{background:transparent;border-color:#313131}ap-social-button button.twitter.stroked:hover span,ap-social-button button.x.stroked:hover span{color:#313131}ap-social-button button.twitter.stroked:disabled,ap-social-button button.x.stroked:disabled{border:1px solid var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:disabled ap-symbol,ap-social-button button.x.stroked:disabled ap-symbol{opacity:.2}ap-social-button button.twitter.stroked:disabled span,ap-social-button button.x.stroked:disabled span{color:var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:active:not(:disabled),ap-social-button button.x.stroked:active:not(:disabled){border-color:#626262;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span,ap-social-button button.x.stroked:active:not(:disabled) span{color:#626262}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active),ap-social-button button.x.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.twitter.stroked.loading,ap-social-button button.x.stroked.loading{border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#fee49a,#fcb178 26.56%,#dc478a 50.52%,#a942d1 73.96%,#6b75db)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:calc(var(--comp-button-height) - 2px)}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.pinterest{background-color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest span,ap-social-button button.pinterest ap-symbol{color:var(--ref-color-white)}ap-social-button button.pinterest:hover{background-color:#eb4242}ap-social-button button.pinterest:active:not(:disabled){background-color:#f47171}ap-social-button button.pinterest:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.pinterest.loading{background-color:#fcbbbb}ap-social-button button.pinterest.stroked{background:transparent;border:1px solid var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked span{color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked:hover{background:transparent;border-color:#eb4242}ap-social-button button.pinterest.stroked:hover span{color:#eb4242}ap-social-button button.pinterest.stroked:active:not(:disabled){border-color:#f47171;color:#f47171;background:transparent}ap-social-button button.pinterest.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.pinterest.stroked:disabled{opacity:.2}ap-social-button button.pinterest.stroked.loading{border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-tiktok-default-100);background:transparent}ap-social-button button.google-my-business{background-color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business span,ap-social-button button.google-my-business ap-symbol{color:var(--ref-color-white)}ap-social-button button.google-my-business:hover{background-color:#2c78ce}ap-social-button button.google-my-business:active:not(:disabled){background-color:#5795db}ap-social-button button.google-my-business:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.google-my-business.loading{background-color:#5795db}ap-social-button button.google-my-business.stroked{background:transparent;border:1px solid var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked span{color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.google-my-business.stroked:hover span{color:#2c78ce}ap-social-button button.google-my-business.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.google-my-business.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.google-my-business.stroked:disabled{opacity:.2}ap-social-button button.google-my-business.stroked.loading{border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.threads{background-color:var(--ref-color-threads-100)}ap-social-button button.threads span,ap-social-button button.threads ap-symbol{color:var(--ref-color-white)}ap-social-button button.threads:hover{background-color:#202020}ap-social-button button.threads:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.threads:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.threads.loading{background-color:#2e2e2e}ap-social-button button.threads.stroked{background:transparent;border:1px solid var(--ref-color-threads-100)}ap-social-button button.threads.stroked span{color:var(--ref-color-threads-100)}ap-social-button button.threads.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.threads.stroked:hover span{color:#202020}ap-social-button button.threads.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.threads.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.threads.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.threads.stroked:disabled{opacity:.2}ap-social-button button.threads.stroked.loading{border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.bluesky{background-color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky span,ap-social-button button.bluesky ap-symbol{color:var(--ref-color-white)}ap-social-button button.bluesky:hover{background-color:#3993f3}ap-social-button button.bluesky:active:not(:disabled){background-color:#6eb0f7}ap-social-button button.bluesky:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.bluesky.loading{background-color:#6eb0f7}ap-social-button button.bluesky.stroked{background:transparent;border:1px solid var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked span{color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked:hover{background:transparent;border-color:#3993f3}ap-social-button button.bluesky.stroked:hover span{color:#3993f3}ap-social-button button.bluesky.stroked:active:not(:disabled){border-color:#6eb0f7;background:transparent}ap-social-button button.bluesky.stroked:active:not(:disabled) span{color:#6eb0f7}ap-social-button button.bluesky.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-bluesky-100);background:transparent}ap-social-button button.bluesky.stroked:disabled{opacity:.2}ap-social-button button.bluesky.stroked.loading{border-color:#6eb0f7;background:transparent}ap-social-button button.google,ap-social-button button.microsoft{background:transparent;border-width:1px;border-style:solid;color:var(--ref-color-grey-80);border-color:var(--ref-color-grey-20)}ap-social-button button.google ap-symbol,ap-social-button button.microsoft ap-symbol{color:var(--ref-color-grey-80)}ap-social-button button.google:hover,ap-social-button button.microsoft:hover{border-color:var(--ref-color-grey-40)}ap-social-button button.google:active:not(:disabled),ap-social-button button.microsoft:active:not(:disabled){border-color:var(--ref-color-grey-60)}ap-social-button button.google:focus:not(:disabled):not(:active),ap-social-button button.microsoft:focus:not(:disabled):not(:active){border-color:var(--ref-color-grey-20)}ap-social-button button.google:disabled,ap-social-button button.microsoft:disabled{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-20)}ap-social-button button.google:disabled ap-symbol,ap-social-button button.microsoft:disabled ap-symbol{color:var(--ref-color-grey-20)}ap-social-button button.google.loading,ap-social-button button.microsoft.loading{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-40)}ap-social-button button.google.loading ap-symbol,ap-social-button button.microsoft.loading ap-symbol{color:var(--ref-color-grey-40)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
128
129
  }
129
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SocialButtonComponent, decorators: [{
130
131
  type: Component,
131
132
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-social-button', imports: [SymbolComponent, LoaderComponent], providers: [], encapsulation: ViewEncapsulation.None, hostDirectives: [BaseButtonDirective], host: {
132
133
  '[attr.disabled]': 'loading || disabled || null',
133
- }, template: "<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\" />\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button[disabled]{pointer-events:none}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--comp-button-spacing);max-height:var(--comp-button-height);min-height:var(--comp-button-height);width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button.loading{pointer-events:none}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter,ap-social-button button.x{background-color:var(--ref-color-x-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol,ap-social-button button.x span,ap-social-button button.x ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover,ap-social-button button.x:hover{background-color:#313131}ap-social-button button.twitter:active:not(:disabled),ap-social-button button.x:active:not(:disabled){background-color:#626262}ap-social-button button.twitter:disabled,ap-social-button button.x:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading,ap-social-button button.x.loading{background-color:#626262}ap-social-button button.twitter.stroked,ap-social-button button.x.stroked{background:transparent;border:1px solid var(--ref-color-x-100)}ap-social-button button.twitter.stroked span,ap-social-button button.twitter.stroked ap-symbol,ap-social-button button.x.stroked span,ap-social-button button.x.stroked ap-symbol{color:var(--ref-color-x-100)}ap-social-button button.twitter.stroked:hover,ap-social-button button.x.stroked:hover{background:transparent;border-color:#313131}ap-social-button button.twitter.stroked:hover span,ap-social-button button.x.stroked:hover span{color:#313131}ap-social-button button.twitter.stroked:disabled,ap-social-button button.x.stroked:disabled{border:1px solid var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:disabled ap-symbol,ap-social-button button.x.stroked:disabled ap-symbol{opacity:.2}ap-social-button button.twitter.stroked:disabled span,ap-social-button button.x.stroked:disabled span{color:var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:active:not(:disabled),ap-social-button button.x.stroked:active:not(:disabled){border-color:#626262;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span,ap-social-button button.x.stroked:active:not(:disabled) span{color:#626262}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active),ap-social-button button.x.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.twitter.stroked.loading,ap-social-button button.x.stroked.loading{border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#fee49a,#fcb178 26.56%,#dc478a 50.52%,#a942d1 73.96%,#6b75db)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:calc(var(--comp-button-height) - 2px)}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.pinterest{background-color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest span,ap-social-button button.pinterest ap-symbol{color:var(--ref-color-white)}ap-social-button button.pinterest:hover{background-color:#eb4242}ap-social-button button.pinterest:active:not(:disabled){background-color:#f47171}ap-social-button button.pinterest:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.pinterest.loading{background-color:#fcbbbb}ap-social-button button.pinterest.stroked{background:transparent;border:1px solid var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked span{color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked:hover{background:transparent;border-color:#eb4242}ap-social-button button.pinterest.stroked:hover span{color:#eb4242}ap-social-button button.pinterest.stroked:active:not(:disabled){border-color:#f47171;color:#f47171;background:transparent}ap-social-button button.pinterest.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.pinterest.stroked:disabled{opacity:.2}ap-social-button button.pinterest.stroked.loading{border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-tiktok-default-100);background:transparent}ap-social-button button.google-my-business{background-color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business span,ap-social-button button.google-my-business ap-symbol{color:var(--ref-color-white)}ap-social-button button.google-my-business:hover{background-color:#2c78ce}ap-social-button button.google-my-business:active:not(:disabled){background-color:#5795db}ap-social-button button.google-my-business:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.google-my-business.loading{background-color:#5795db}ap-social-button button.google-my-business.stroked{background:transparent;border:1px solid var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked span{color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.google-my-business.stroked:hover span{color:#2c78ce}ap-social-button button.google-my-business.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.google-my-business.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.google-my-business.stroked:disabled{opacity:.2}ap-social-button button.google-my-business.stroked.loading{border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.threads{background-color:var(--ref-color-threads-100)}ap-social-button button.threads span,ap-social-button button.threads ap-symbol{color:var(--ref-color-white)}ap-social-button button.threads:hover{background-color:#202020}ap-social-button button.threads:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.threads:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.threads.loading{background-color:#2e2e2e}ap-social-button button.threads.stroked{background:transparent;border:1px solid var(--ref-color-threads-100)}ap-social-button button.threads.stroked span{color:var(--ref-color-threads-100)}ap-social-button button.threads.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.threads.stroked:hover span{color:#202020}ap-social-button button.threads.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.threads.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.threads.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.threads.stroked:disabled{opacity:.2}ap-social-button button.threads.stroked.loading{border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.bluesky{background-color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky span,ap-social-button button.bluesky ap-symbol{color:var(--ref-color-white)}ap-social-button button.bluesky:hover{background-color:#3993f3}ap-social-button button.bluesky:active:not(:disabled){background-color:#6eb0f7}ap-social-button button.bluesky:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.bluesky.loading{background-color:#6eb0f7}ap-social-button button.bluesky.stroked{background:transparent;border:1px solid var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked span{color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked:hover{background:transparent;border-color:#3993f3}ap-social-button button.bluesky.stroked:hover span{color:#3993f3}ap-social-button button.bluesky.stroked:active:not(:disabled){border-color:#6eb0f7;background:transparent}ap-social-button button.bluesky.stroked:active:not(:disabled) span{color:#6eb0f7}ap-social-button button.bluesky.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-bluesky-100);background:transparent}ap-social-button button.bluesky.stroked:disabled{opacity:.2}ap-social-button button.bluesky.stroked.loading{border-color:#6eb0f7;background:transparent}ap-social-button button.google,ap-social-button button.microsoft{background:transparent;border-width:1px;border-style:solid;color:var(--ref-color-grey-80);border-color:var(--ref-color-grey-20)}ap-social-button button.google ap-symbol,ap-social-button button.microsoft ap-symbol{color:var(--ref-color-grey-80)}ap-social-button button.google:hover,ap-social-button button.microsoft:hover{border-color:var(--ref-color-grey-40)}ap-social-button button.google:active:not(:disabled),ap-social-button button.microsoft:active:not(:disabled){border-color:var(--ref-color-grey-60)}ap-social-button button.google:focus:not(:disabled):not(:active),ap-social-button button.microsoft:focus:not(:disabled):not(:active){border-color:var(--ref-color-grey-20)}ap-social-button button.google:disabled,ap-social-button button.microsoft:disabled{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-20)}ap-social-button button.google:disabled ap-symbol,ap-social-button button.microsoft:disabled ap-symbol{color:var(--ref-color-grey-20)}ap-social-button button.google.loading,ap-social-button button.microsoft.loading{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-40)}ap-social-button button.google.loading ap-symbol,ap-social-button button.microsoft.loading ap-symbol{color:var(--ref-color-grey-40)}\n"] }]
134
+ }, template: "<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType() === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType()]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"loaderColor()\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\" />\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button[disabled]{pointer-events:none}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--comp-button-spacing);max-height:var(--comp-button-height);min-height:var(--comp-button-height);width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button.loading{pointer-events:none}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter,ap-social-button button.x{background-color:var(--ref-color-x-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol,ap-social-button button.x span,ap-social-button button.x ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover,ap-social-button button.x:hover{background-color:#313131}ap-social-button button.twitter:active:not(:disabled),ap-social-button button.x:active:not(:disabled){background-color:#626262}ap-social-button button.twitter:disabled,ap-social-button button.x:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading,ap-social-button button.x.loading{background-color:#626262}ap-social-button button.twitter.stroked,ap-social-button button.x.stroked{background:transparent;border:1px solid var(--ref-color-x-100)}ap-social-button button.twitter.stroked span,ap-social-button button.twitter.stroked ap-symbol,ap-social-button button.x.stroked span,ap-social-button button.x.stroked ap-symbol{color:var(--ref-color-x-100)}ap-social-button button.twitter.stroked:hover,ap-social-button button.x.stroked:hover{background:transparent;border-color:#313131}ap-social-button button.twitter.stroked:hover span,ap-social-button button.x.stroked:hover span{color:#313131}ap-social-button button.twitter.stroked:disabled,ap-social-button button.x.stroked:disabled{border:1px solid var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:disabled ap-symbol,ap-social-button button.x.stroked:disabled ap-symbol{opacity:.2}ap-social-button button.twitter.stroked:disabled span,ap-social-button button.x.stroked:disabled span{color:var(--ref-color-grey-20)}ap-social-button button.twitter.stroked:active:not(:disabled),ap-social-button button.x.stroked:active:not(:disabled){border-color:#626262;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span,ap-social-button button.x.stroked:active:not(:disabled) span{color:#626262}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active),ap-social-button button.x.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.twitter.stroked.loading,ap-social-button button.x.stroked.loading{border-color:var(--ref-color-x-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#fee49a,#fcb178 26.56%,#dc478a 50.52%,#a942d1 73.96%,#6b75db)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#fff3d1,#fcb178 26.56%,#e576a8 50.52%,#bd6fdc 73.96%,#989fe6)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:calc(var(--comp-button-height) - 2px)}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#feda75,#fa7e1e 26.56%,#d62976 50.52%,#962fbf 73.96%,#4f5bd5)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.pinterest{background-color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest span,ap-social-button button.pinterest ap-symbol{color:var(--ref-color-white)}ap-social-button button.pinterest:hover{background-color:#eb4242}ap-social-button button.pinterest:active:not(:disabled){background-color:#f47171}ap-social-button button.pinterest:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.pinterest.loading{background-color:#fcbbbb}ap-social-button button.pinterest.stroked{background:transparent;border:1px solid var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked span{color:var(--ref-color-pinterest-100)}ap-social-button button.pinterest.stroked:hover{background:transparent;border-color:#eb4242}ap-social-button button.pinterest.stroked:hover span{color:#eb4242}ap-social-button button.pinterest.stroked:active:not(:disabled){border-color:#f47171;color:#f47171;background:transparent}ap-social-button button.pinterest.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.pinterest.stroked:disabled{opacity:.2}ap-social-button button.pinterest.stroked.loading{border-color:var(--ref-color-pinterest-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-tiktok-default-100);background:transparent}ap-social-button button.google-my-business{background-color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business span,ap-social-button button.google-my-business ap-symbol{color:var(--ref-color-white)}ap-social-button button.google-my-business:hover{background-color:#2c78ce}ap-social-button button.google-my-business:active:not(:disabled){background-color:#5795db}ap-social-button button.google-my-business:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.google-my-business.loading{background-color:#5795db}ap-social-button button.google-my-business.stroked{background:transparent;border:1px solid var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked span{color:var(--ref-color-google-my-business-100)}ap-social-button button.google-my-business.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.google-my-business.stroked:hover span{color:#2c78ce}ap-social-button button.google-my-business.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.google-my-business.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.google-my-business.stroked:disabled{opacity:.2}ap-social-button button.google-my-business.stroked.loading{border-color:var(--ref-color-google-my-business-100);background:transparent}ap-social-button button.threads{background-color:var(--ref-color-threads-100)}ap-social-button button.threads span,ap-social-button button.threads ap-symbol{color:var(--ref-color-white)}ap-social-button button.threads:hover{background-color:#202020}ap-social-button button.threads:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.threads:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.threads.loading{background-color:#2e2e2e}ap-social-button button.threads.stroked{background:transparent;border:1px solid var(--ref-color-threads-100)}ap-social-button button.threads.stroked span{color:var(--ref-color-threads-100)}ap-social-button button.threads.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.threads.stroked:hover span{color:#202020}ap-social-button button.threads.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.threads.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.threads.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.threads.stroked:disabled{opacity:.2}ap-social-button button.threads.stroked.loading{border-color:var(--ref-color-threads-100);background:transparent}ap-social-button button.bluesky{background-color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky span,ap-social-button button.bluesky ap-symbol{color:var(--ref-color-white)}ap-social-button button.bluesky:hover{background-color:#3993f3}ap-social-button button.bluesky:active:not(:disabled){background-color:#6eb0f7}ap-social-button button.bluesky:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.bluesky.loading{background-color:#6eb0f7}ap-social-button button.bluesky.stroked{background:transparent;border:1px solid var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked span{color:var(--ref-color-bluesky-100)}ap-social-button button.bluesky.stroked:hover{background:transparent;border-color:#3993f3}ap-social-button button.bluesky.stroked:hover span{color:#3993f3}ap-social-button button.bluesky.stroked:active:not(:disabled){border-color:#6eb0f7;background:transparent}ap-social-button button.bluesky.stroked:active:not(:disabled) span{color:#6eb0f7}ap-social-button button.bluesky.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-bluesky-100);background:transparent}ap-social-button button.bluesky.stroked:disabled{opacity:.2}ap-social-button button.bluesky.stroked.loading{border-color:#6eb0f7;background:transparent}ap-social-button button.google,ap-social-button button.microsoft{background:transparent;border-width:1px;border-style:solid;color:var(--ref-color-grey-80);border-color:var(--ref-color-grey-20)}ap-social-button button.google ap-symbol,ap-social-button button.microsoft ap-symbol{color:var(--ref-color-grey-80)}ap-social-button button.google:hover,ap-social-button button.microsoft:hover{border-color:var(--ref-color-grey-40)}ap-social-button button.google:active:not(:disabled),ap-social-button button.microsoft:active:not(:disabled){border-color:var(--ref-color-grey-60)}ap-social-button button.google:focus:not(:disabled):not(:active),ap-social-button button.microsoft:focus:not(:disabled):not(:active){border-color:var(--ref-color-grey-20)}ap-social-button button.google:disabled,ap-social-button button.microsoft:disabled{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-20)}ap-social-button button.google:disabled ap-symbol,ap-social-button button.microsoft:disabled ap-symbol{color:var(--ref-color-grey-20)}ap-social-button button.google.loading,ap-social-button button.microsoft.loading{border-color:var(--ref-color-grey-20);color:var(--ref-color-grey-40)}ap-social-button button.google.loading ap-symbol,ap-social-button button.microsoft.loading ap-symbol{color:var(--ref-color-grey-40)}\n"] }]
134
135
  }], ctorParameters: () => [{ type: i1.SymbolRegistry }], propDecorators: { buttonElement: [{
135
136
  type: ViewChild,
136
137
  args: ['button']
@@ -150,8 +151,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
150
151
  type: Input
151
152
  }], network: [{
152
153
  type: Input
153
- }], buttonType: [{
154
- type: Input
155
154
  }], click: [{
156
155
  type: Output
157
156
  }], focus: [{
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components-social-button.mjs","sources":["../../../libs/ui-components/social-button/src/social-button.component.ts","../../../libs/ui-components/social-button/src/social-button.component.html","../../../libs/ui-components/social-button/src/agorapulse-ui-components-social-button.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { LoaderComponent } from '@agorapulse/ui-animations';\nimport { BaseButtonDirective } from '@agorapulse/ui-components/directives';\nimport {\n apBluesky,\n apBlueskyOfficial,\n apFacebook,\n apGoogleMyBusinessIcon,\n apGoogleMyBusinessOfficial,\n apInstagramOutline,\n apLinkedin,\n apLinkedinOfficial,\n apPinterestIcon,\n apPinterestOfficial,\n apThreadsOfficial,\n apThreadsWhiteOfficial,\n apTiktokOfficial,\n apTiktokWhiteOfficial,\n apXOfficial,\n apXWhiteOfficial,\n apYoutube,\n apYoutubeOfficial,\n SymbolComponent,\n SymbolRegistry,\n} from '@agorapulse/ui-symbol';\n\ntype Service =\n | 'facebook'\n | 'instagram'\n | 'twitter'\n | 'linkedin'\n | 'youtube'\n | 'tiktok'\n | 'google'\n | 'googleMyBusiness'\n | 'microsoft'\n | 'pinterest'\n | 'X'\n | 'threads'\n | 'bluesky';\ntype SocialButtonType = 'default' | 'stroked';\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-social-button',\n styleUrls: ['./social-button.component.scss'],\n imports: [SymbolComponent, LoaderComponent],\n providers: [],\n templateUrl: './social-button.component.html',\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [BaseButtonDirective],\n host: {\n '[attr.disabled]': 'loading || disabled || null',\n },\n})\nexport class SocialButtonComponent {\n readonly baseButtonDirective: BaseButtonDirective = inject(BaseButtonDirective, { self: true });\n\n @ViewChild('button') buttonElement!: ElementRef<HTMLButtonElement>;\n\n @Input() ariaLabel = '';\n @Input({\n transform: booleanAttribute,\n })\n disabled = false;\n @Input({\n required: true,\n })\n name = '';\n @Input() loading = false;\n @Input() network: Service = 'facebook';\n @Input() buttonType: SocialButtonType = 'default';\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<MouseEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() focus: EventEmitter<FocusEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur: EventEmitter<FocusEvent> = new EventEmitter();\n\n symbolIdPerNetwork: Record<Service, Record<SocialButtonType, string>> = {\n facebook: {\n default: 'facebook',\n stroked: 'facebook-official',\n },\n instagram: {\n default: 'instagram-outline',\n stroked: 'instagram-official',\n },\n twitter: {\n default: 'x-white-official',\n stroked: 'x-official',\n },\n X: {\n default: 'x-white-official',\n stroked: 'x-official',\n },\n linkedin: {\n default: 'linkedin',\n stroked: 'linkedin-official',\n },\n youtube: {\n default: 'youtube',\n stroked: 'youtube-official',\n },\n tiktok: {\n default: 'tiktok-white-official',\n stroked: 'tiktok-official',\n },\n google: {\n default: 'google-icon',\n stroked: 'google-official',\n },\n microsoft: {\n default: 'microsoft-icon',\n stroked: 'microsoft-official',\n },\n googleMyBusiness: {\n default: 'google-my-business-icon',\n stroked: 'google-my-business-official',\n },\n pinterest: {\n default: 'pinterest-icon',\n stroked: 'pinterest-official',\n },\n threads: {\n default: 'threads-white-official',\n stroked: 'threads-official',\n },\n bluesky: {\n default: 'bluesky',\n stroked: 'bluesky-official',\n },\n };\n\n constructor(private symbolRegistry: SymbolRegistry) {\n this.symbolRegistry.registerSymbols([\n apFacebook,\n apLinkedin,\n apLinkedinOfficial,\n apYoutubeOfficial,\n apYoutube,\n apInstagramOutline,\n apTiktokOfficial,\n apTiktokWhiteOfficial,\n apPinterestIcon,\n apPinterestOfficial,\n apXOfficial,\n apXWhiteOfficial,\n apGoogleMyBusinessIcon,\n apGoogleMyBusinessOfficial,\n apThreadsOfficial,\n apThreadsWhiteOfficial,\n apBluesky,\n apBlueskyOfficial,\n ]);\n }\n\n focused: boolean = false;\n\n onClickHandle($event: MouseEvent): void {\n if (this.disabled || this.loading) {\n return;\n }\n $event.stopImmediatePropagation();\n this.click.emit($event);\n this.buttonElement.nativeElement.blur();\n this.blur.emit($event);\n }\n\n onBlurHandle($event: FocusEvent): void {\n this.focused = false;\n this.blur.emit($event);\n }\n\n onFocusHandle($event: FocusEvent): void {\n this.focused = true;\n this.focus.emit($event);\n }\n\n @HostListener('window:keyup.space', ['$event'])\n onSpaceKeyUp(event: KeyboardEvent) {\n if (this.focused && !this.disabled && !this.loading) {\n event.preventDefault();\n this.buttonElement.nativeElement.click();\n }\n }\n}\n","<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\" />\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;MAmEa,qBAAqB,CAAA;AAgFV,IAAA,cAAA;IA/EX,mBAAmB,GAAwB,MAAM,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAE1E,IAAA,aAAa;IAEzB,SAAS,GAAG,EAAE;IAIvB,QAAQ,GAAG,KAAK;IAIhB,IAAI,GAAG,EAAE;IACA,OAAO,GAAG,KAAK;IACf,OAAO,GAAY,UAAU;IAC7B,UAAU,GAAqB,SAAS;;AAGvC,IAAA,KAAK,GAA6B,IAAI,YAAY,EAAE;;AAEpD,IAAA,KAAK,GAA6B,IAAI,YAAY,EAAE;;AAEpD,IAAA,IAAI,GAA6B,IAAI,YAAY,EAAE;AAE7D,IAAA,kBAAkB,GAAsD;AACpE,QAAA,QAAQ,EAAE;AACN,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,OAAO,EAAE,mBAAmB;AAC/B,SAAA;AACD,QAAA,SAAS,EAAE;AACP,YAAA,OAAO,EAAE,mBAAmB;AAC5B,YAAA,OAAO,EAAE,oBAAoB;AAChC,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,OAAO,EAAE,kBAAkB;AAC3B,YAAA,OAAO,EAAE,YAAY;AACxB,SAAA;AACD,QAAA,CAAC,EAAE;AACC,YAAA,OAAO,EAAE,kBAAkB;AAC3B,YAAA,OAAO,EAAE,YAAY;AACxB,SAAA;AACD,QAAA,QAAQ,EAAE;AACN,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,OAAO,EAAE,mBAAmB;AAC/B,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,OAAO,EAAE,kBAAkB;AAC9B,SAAA;AACD,QAAA,MAAM,EAAE;AACJ,YAAA,OAAO,EAAE,uBAAuB;AAChC,YAAA,OAAO,EAAE,iBAAiB;AAC7B,SAAA;AACD,QAAA,MAAM,EAAE;AACJ,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,OAAO,EAAE,iBAAiB;AAC7B,SAAA;AACD,QAAA,SAAS,EAAE;AACP,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,OAAO,EAAE,oBAAoB;AAChC,SAAA;AACD,QAAA,gBAAgB,EAAE;AACd,YAAA,OAAO,EAAE,yBAAyB;AAClC,YAAA,OAAO,EAAE,6BAA6B;AACzC,SAAA;AACD,QAAA,SAAS,EAAE;AACP,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,OAAO,EAAE,oBAAoB;AAChC,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,OAAO,EAAE,wBAAwB;AACjC,YAAA,OAAO,EAAE,kBAAkB;AAC9B,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,OAAO,EAAE,kBAAkB;AAC9B,SAAA;KACJ;AAED,IAAA,WAAA,CAAoB,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;AAC9B,QAAA,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YAChC,UAAU;YACV,UAAU;YACV,kBAAkB;YAClB,iBAAiB;YACjB,SAAS;YACT,kBAAkB;YAClB,gBAAgB;YAChB,qBAAqB;YACrB,eAAe;YACf,mBAAmB;YACnB,WAAW;YACX,gBAAgB;YAChB,sBAAsB;YACtB,0BAA0B;YAC1B,iBAAiB;YACjB,sBAAsB;YACtB,SAAS;YACT,iBAAiB;AACpB,SAAA,CAAC;;IAGN,OAAO,GAAY,KAAK;AAExB,IAAA,aAAa,CAAC,MAAkB,EAAA;QAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B;;QAEJ,MAAM,CAAC,wBAAwB,EAAE;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAG1B,IAAA,YAAY,CAAC,MAAkB,EAAA;AAC3B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAG1B,IAAA,aAAa,CAAC,MAAkB,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;;AAI3B,IAAA,YAAY,CAAC,KAAoB,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjD,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE;;;uGAjIvC,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAOf,gBAAgB,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,SAAA,EAfpB,EAAE,4LC3DjB,u/CAwCA,EAAA,MAAA,EAAA,CAAA,usiBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDkBc,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FASjC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;sCACW,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,kBAAkB,WAEnB,CAAC,eAAe,EAAE,eAAe,CAAC,aAChC,EAAE,EAAA,aAAA,EAEE,iBAAiB,CAAC,IAAI,kBACrB,CAAC,mBAAmB,CAAC,EAAA,IAAA,EAC/B;AACF,wBAAA,iBAAiB,EAAE,6BAA6B;AACnD,qBAAA,EAAA,QAAA,EAAA,u/CAAA,EAAA,MAAA,EAAA,CAAA,usiBAAA,CAAA,EAAA;mFAKoB,aAAa,EAAA,CAAA;sBAAjC,SAAS;uBAAC,QAAQ;gBAEV,SAAS,EAAA,CAAA;sBAAjB;gBAID,QAAQ,EAAA,CAAA;sBAHP,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;AACH,wBAAA,SAAS,EAAE,gBAAgB;AAC9B,qBAAA;gBAKD,IAAI,EAAA,CAAA;sBAHH,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;AACH,wBAAA,QAAQ,EAAE,IAAI;AACjB,qBAAA;gBAEQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBAGS,KAAK,EAAA,CAAA;sBAAd;gBAES,KAAK,EAAA,CAAA;sBAAd;gBAES,IAAI,EAAA,CAAA;sBAAb;gBAuGD,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC;;;AEhMlD;;AAEG;;;;"}
1
+ {"version":3,"file":"agorapulse-ui-components-social-button.mjs","sources":["../../../libs/ui-components/social-button/src/social-button.component.ts","../../../libs/ui-components/social-button/src/social-button.component.html","../../../libs/ui-components/social-button/src/agorapulse-ui-components-social-button.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component, computed,\n ElementRef,\n EventEmitter,\n HostListener,\n inject, input,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { LoaderComponent, NetworkLoaderColor } from '@agorapulse/ui-animations';\nimport { BaseButtonDirective } from '@agorapulse/ui-components/directives';\nimport {\n apBluesky,\n apBlueskyOfficial,\n apFacebook,\n apGoogleMyBusinessIcon,\n apGoogleMyBusinessOfficial,\n apInstagramOutline,\n apLinkedin,\n apLinkedinOfficial,\n apPinterestIcon,\n apPinterestOfficial,\n apThreadsOfficial,\n apThreadsWhiteOfficial,\n apTiktokOfficial,\n apTiktokWhiteOfficial,\n apXOfficial,\n apXWhiteOfficial,\n apYoutube,\n apYoutubeOfficial,\n SymbolComponent,\n SymbolRegistry,\n} from '@agorapulse/ui-symbol';\n\ntype Service =\n | 'facebook'\n | 'instagram'\n | 'twitter'\n | 'linkedin'\n | 'youtube'\n | 'tiktok'\n | 'google'\n | 'googleMyBusiness'\n | 'microsoft'\n | 'pinterest'\n | 'X'\n | 'threads'\n | 'bluesky';\ntype SocialButtonType = 'default' | 'stroked';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-social-button',\n styleUrls: ['./social-button.component.scss'],\n imports: [SymbolComponent, LoaderComponent],\n providers: [],\n templateUrl: './social-button.component.html',\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [BaseButtonDirective],\n host: {\n '[attr.disabled]': 'loading || disabled || null',\n },\n})\nexport class SocialButtonComponent {\n readonly baseButtonDirective: BaseButtonDirective = inject(BaseButtonDirective, { self: true });\n\n @ViewChild('button') buttonElement!: ElementRef<HTMLButtonElement>;\n\n @Input() ariaLabel = '';\n @Input({\n transform: booleanAttribute,\n })\n disabled = false;\n @Input({\n required: true,\n })\n name = '';\n @Input() loading = false;\n @Input() network: Service = 'facebook';\n buttonType = input<SocialButtonType>('default');\n\n loaderColor = computed(() => this.buttonType() === 'default' ? 'white' : (this.network as NetworkLoaderColor));\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<MouseEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() focus: EventEmitter<FocusEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur: EventEmitter<FocusEvent> = new EventEmitter();\n\n symbolIdPerNetwork: Record<Service, Record<SocialButtonType, string>> = {\n facebook: {\n default: 'facebook',\n stroked: 'facebook-official',\n },\n instagram: {\n default: 'instagram-outline',\n stroked: 'instagram-official',\n },\n twitter: {\n default: 'x-white-official',\n stroked: 'x-official',\n },\n X: {\n default: 'x-white-official',\n stroked: 'x-official',\n },\n linkedin: {\n default: 'linkedin',\n stroked: 'linkedin-official',\n },\n youtube: {\n default: 'youtube',\n stroked: 'youtube-official',\n },\n tiktok: {\n default: 'tiktok-white-official',\n stroked: 'tiktok-official',\n },\n google: {\n default: 'google-icon',\n stroked: 'google-official',\n },\n microsoft: {\n default: 'microsoft-icon',\n stroked: 'microsoft-official',\n },\n googleMyBusiness: {\n default: 'google-my-business-icon',\n stroked: 'google-my-business-official',\n },\n pinterest: {\n default: 'pinterest-icon',\n stroked: 'pinterest-official',\n },\n threads: {\n default: 'threads-white-official',\n stroked: 'threads-official',\n },\n bluesky: {\n default: 'bluesky',\n stroked: 'bluesky-official',\n },\n };\n\n constructor(private symbolRegistry: SymbolRegistry) {\n this.symbolRegistry.registerSymbols([\n apFacebook,\n apLinkedin,\n apLinkedinOfficial,\n apYoutubeOfficial,\n apYoutube,\n apInstagramOutline,\n apTiktokOfficial,\n apTiktokWhiteOfficial,\n apPinterestIcon,\n apPinterestOfficial,\n apXOfficial,\n apXWhiteOfficial,\n apGoogleMyBusinessIcon,\n apGoogleMyBusinessOfficial,\n apThreadsOfficial,\n apThreadsWhiteOfficial,\n apBluesky,\n apBlueskyOfficial,\n ]);\n }\n\n focused: boolean = false;\n\n onClickHandle($event: MouseEvent): void {\n if (this.disabled || this.loading) {\n return;\n }\n $event.stopImmediatePropagation();\n this.click.emit($event);\n this.buttonElement.nativeElement.blur();\n this.blur.emit($event);\n }\n\n onBlurHandle($event: FocusEvent): void {\n this.focused = false;\n this.blur.emit($event);\n }\n\n onFocusHandle($event: FocusEvent): void {\n this.focused = true;\n this.focus.emit($event);\n }\n\n @HostListener('window:keyup.space', ['$event'])\n onSpaceKeyUp(event: KeyboardEvent) {\n if (this.focused && !this.disabled && !this.loading) {\n event.preventDefault();\n this.buttonElement.nativeElement.click();\n }\n }\n}\n","<button\n #button\n role=\"button\"\n [class.stroked]=\"buttonType() === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.x]=\"network === 'X'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [class.microsoft]=\"network === 'microsoft'\"\n [class.google-my-business]=\"network === 'googleMyBusiness'\"\n [class.google]=\"network === 'google'\"\n [class.pinterest]=\"network === 'pinterest'\"\n [class.threads]=\"network === 'threads'\"\n [class.bluesky]=\"network === 'bluesky'\"\n [class.loading]=\"loading\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.type]=\"baseButtonDirective.hostType\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (blur)=\"onBlurHandle($event)\">\n @if (!loading) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType()]\" />\n }\n @if (loading) {\n <ap-loader\n [color]=\"loaderColor()\"\n [diameter]=\"16\" />\n }\n <ng-content select=\"span\" />\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agorapulse/ui-components",
3
3
  "description": "Agorapulse UI Components Library",
4
- "version": "20.1.8",
4
+ "version": "20.1.9",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",
@@ -167,14 +167,14 @@
167
167
  "types": "./radio/index.d.ts",
168
168
  "default": "./fesm2022/agorapulse-ui-components-radio.mjs"
169
169
  },
170
- "./range-slider": {
171
- "types": "./range-slider/index.d.ts",
172
- "default": "./fesm2022/agorapulse-ui-components-range-slider.mjs"
173
- },
174
170
  "./select": {
175
171
  "types": "./select/index.d.ts",
176
172
  "default": "./fesm2022/agorapulse-ui-components-select.mjs"
177
173
  },
174
+ "./range-slider": {
175
+ "types": "./range-slider/index.d.ts",
176
+ "default": "./fesm2022/agorapulse-ui-components-range-slider.mjs"
177
+ },
178
178
  "./slide-toggle": {
179
179
  "types": "./slide-toggle/index.d.ts",
180
180
  "default": "./fesm2022/agorapulse-ui-components-slide-toggle.mjs"
@@ -1,5 +1,6 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { ElementRef, EventEmitter } from '@angular/core';
3
+ import { NetworkLoaderColor } from '@agorapulse/ui-animations';
3
4
  import * as i1 from '@agorapulse/ui-components/directives';
4
5
  import { BaseButtonDirective } from '@agorapulse/ui-components/directives';
5
6
  import { SymbolRegistry } from '@agorapulse/ui-symbol';
@@ -15,7 +16,8 @@ declare class SocialButtonComponent {
15
16
  name: string;
16
17
  loading: boolean;
17
18
  network: Service;
18
- buttonType: SocialButtonType;
19
+ buttonType: _angular_core.InputSignal<SocialButtonType>;
20
+ loaderColor: _angular_core.Signal<"white" | NetworkLoaderColor>;
19
21
  click: EventEmitter<MouseEvent>;
20
22
  focus: EventEmitter<FocusEvent>;
21
23
  blur: EventEmitter<FocusEvent>;
@@ -26,8 +28,8 @@ declare class SocialButtonComponent {
26
28
  onBlurHandle($event: FocusEvent): void;
27
29
  onFocusHandle($event: FocusEvent): void;
28
30
  onSpaceKeyUp(event: KeyboardEvent): void;
29
- static ɵfac: i0.ɵɵFactoryDeclaration<SocialButtonComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<SocialButtonComponent, "ap-social-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "name": { "alias": "name"; "required": true; }; "loading": { "alias": "loading"; "required": false; }; "network": { "alias": "network"; "required": false; }; "buttonType": { "alias": "buttonType"; "required": false; }; }, { "click": "click"; "focus": "focus"; "blur": "blur"; }, never, ["span"], true, [{ directive: typeof i1.BaseButtonDirective; inputs: {}; outputs: {}; }]>;
31
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SocialButtonComponent, never>;
32
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SocialButtonComponent, "ap-social-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "name": { "alias": "name"; "required": true; }; "loading": { "alias": "loading"; "required": false; }; "network": { "alias": "network"; "required": false; }; "buttonType": { "alias": "buttonType"; "required": false; "isSignal": true; }; }, { "click": "click"; "focus": "focus"; "blur": "blur"; }, never, ["span"], true, [{ directive: typeof i1.BaseButtonDirective; inputs: {}; outputs: {}; }]>;
31
33
  static ngAcceptInputType_disabled: unknown;
32
34
  }
33
35
 
Binary file