design-angular-kit
Version:
Un toolkit Angular conforme alle linee guida di design per i servizi web della PA
68 lines • 9.02 kB
JavaScript
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
import { ItAbstractComponent } from '../../../abstracts/abstract.component';
import { BackToTop } from 'bootstrap-italia';
import { ItIconComponent } from '../../utils/icon/icon.component';
import { inputToBoolean } from '../../../utils/coercion';
import * as i0 from "@angular/core";
export class ItBackToTopComponent extends ItAbstractComponent {
constructor() {
super(...arguments);
/**
* Aria label for the component
* @default 'Torna su'
*/
this.ariaLabel = 'Torna su';
}
ngAfterViewInit() {
super.ngAfterViewInit();
if (this.backToTopElement) {
const element = this.backToTopElement.nativeElement;
this.backToTop = BackToTop.getOrCreateInstance(element);
}
}
/**
* Show button
*/
show() {
this.backToTop?.show();
}
/**
* Hide the button
*/
hide() {
this.backToTop?.hide();
}
/**
* Activates the scroll animation towards the Y coordinate indicated by the positionTop option
*/
scrollToTop() {
this.backToTop?.scrollToTop();
}
/**
* Eliminate component features
*/
dispose() {
this.backToTop?.dispose();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackToTopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItBackToTopComponent, isStandalone: true, selector: "it-back-to-top", inputs: { ariaLabel: "ariaLabel", small: ["small", "small", inputToBoolean], shadow: ["shadow", "shadow", inputToBoolean], dark: ["dark", "dark", inputToBoolean] }, viewQueries: [{ propertyName: "backToTopElement", first: true, predicate: ["backToTop"], descendants: true }], exportAs: ["itBackToTop"], usesInheritance: true, ngImport: i0, template: "<a\n #backToTop\n [id]=\"id\"\n href=\"#\"\n [attr.aria-label]=\"ariaLabel\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"small\"\n [class.shadow]=\"shadow\"\n [class.dark]=\"dark\">\n <it-icon name=\"arrow-up\" [color]=\"dark ? 'secondary' : 'light'\"></it-icon>\n</a>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "title", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackToTopComponent, decorators: [{
type: Component,
args: [{ standalone: true, selector: 'it-back-to-top', exportAs: 'itBackToTop', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent], template: "<a\n #backToTop\n [id]=\"id\"\n href=\"#\"\n [attr.aria-label]=\"ariaLabel\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"small\"\n [class.shadow]=\"shadow\"\n [class.dark]=\"dark\">\n <it-icon name=\"arrow-up\" [color]=\"dark ? 'secondary' : 'light'\"></it-icon>\n</a>\n" }]
}], propDecorators: { ariaLabel: [{
type: Input
}], small: [{
type: Input,
args: [{ transform: inputToBoolean }]
}], shadow: [{
type: Input,
args: [{ transform: inputToBoolean }]
}], dark: [{
type: Input,
args: [{ transform: inputToBoolean }]
}], backToTopElement: [{
type: ViewChild,
args: ['backToTop']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10by10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stdG8tdG9wL2JhY2stdG8tdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9iYWNrLXRvLXRvcC9iYWNrLXRvLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVV6RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBUjdEOztRQVNFOzs7V0FHRztRQUNNLGNBQVMsR0FBVyxVQUFVLENBQUM7S0E0RHpDO0lBcENVLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBaEVVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDhHQVdYLGNBQWMsZ0NBTWQsY0FBYywwQkFNZCxjQUFjLDhMQ3JDcEMsbVNBV0EsNENEQ1ksZUFBZTs7MkZBRWQsb0JBQW9CO2tCQVJoQyxTQUFTO2lDQUNJLElBQUksWUFDTixnQkFBZ0IsWUFFaEIsYUFBYSxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxDQUFDOzhCQU9qQixTQUFTO3NCQUFqQixLQUFLO2dCQU1nQyxLQUFLO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxNQUFNO3NCQUEzQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxJQUFJO3NCQUF6QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFJSixnQkFBZ0I7c0JBQS9DLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJhY2tUb1RvcCB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtYmFjay10by10b3AnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFjay10by10b3AuY29tcG9uZW50Lmh0bWwnLFxuICBleHBvcnRBczogJ2l0QmFja1RvVG9wJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJdEljb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdEJhY2tUb1RvcENvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIEFyaWEgbGFiZWwgZm9yIHRoZSBjb21wb25lbnRcbiAgICogQGRlZmF1bHQgJ1Rvcm5hIHN1J1xuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnVG9ybmEgc3UnO1xuXG4gIC8qKlxuICAgKiBTaG93IHNtYWxsIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzbWFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgc2hhZG93XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNoYWRvdz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiB1c2FibGUgYnV0dG9uIG9uIGEgZGFyayBiYWNrZ3JvdW5kXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRhcms/OiBib29sZWFuO1xuXG4gIHByaXZhdGUgYmFja1RvVG9wPzogQmFja1RvVG9wO1xuXG4gIEBWaWV3Q2hpbGQoJ2JhY2tUb1RvcCcpIHByaXZhdGUgYmFja1RvVG9wRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTEFuY2hvckVsZW1lbnQ+O1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIGlmICh0aGlzLmJhY2tUb1RvcEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmJhY2tUb1RvcEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgIHRoaXMuYmFja1RvVG9wID0gQmFja1RvVG9wLmdldE9yQ3JlYXRlSW5zdGFuY2UoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tUb1RvcD8uc2hvdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrVG9Ub3A/LmhpZGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgdGhlIHNjcm9sbCBhbmltYXRpb24gdG93YXJkcyB0aGUgWSBjb29yZGluYXRlIGluZGljYXRlZCBieSB0aGUgcG9zaXRpb25Ub3Agb3B0aW9uXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Ub3AoKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrVG9Ub3A/LnNjcm9sbFRvVG9wKCk7XG4gIH1cblxuICAvKipcbiAgICogRWxpbWluYXRlIGNvbXBvbmVudCBmZWF0dXJlc1xuICAgKi9cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrVG9Ub3A/LmRpc3Bvc2UoKTtcbiAgfVxufVxuIiwiPGFcbiAgI2JhY2tUb1RvcFxuICBbaWRdPVwiaWRcIlxuICBocmVmPVwiI1wiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgY2xhc3M9XCJiYWNrLXRvLXRvcFwiXG4gIFtjbGFzcy5iYWNrLXRvLXRvcC1zbWFsbF09XCJzbWFsbFwiXG4gIFtjbGFzcy5zaGFkb3ddPVwic2hhZG93XCJcbiAgW2NsYXNzLmRhcmtdPVwiZGFya1wiPlxuICA8aXQtaWNvbiBuYW1lPVwiYXJyb3ctdXBcIiBbY29sb3JdPVwiZGFyayA/ICdzZWNvbmRhcnknIDogJ2xpZ2h0J1wiPjwvaXQtaWNvbj5cbjwvYT5cbiJdfQ==