@alauda/ui 6.5.10-beta.15 → 6.5.10-beta.16

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.
@@ -18,6 +18,7 @@ export declare class BackTopComponent {
18
18
  isDisplayed$: import("rxjs").Observable<boolean>;
19
19
  getTargetScrollTop(target: Element | Window): number;
20
20
  handleClick(event: Event): void;
21
+ scrollToTop(duration: number): void;
21
22
  getTarget(target: TargetType): Element | Window;
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<BackTopComponent, [{ optional: true; }]>;
23
24
  static ɵcmp: i0.ɵɵComponentDeclaration<BackTopComponent, "aui-back-top", never, { "visibilityHeight": { "alias": "visibilityHeight"; "required": false; }; "target": { "alias": "target"; "required": false; }; }, { "click": "click"; }, never, never, false, never>;
@@ -40,9 +40,24 @@ export class BackTopComponent {
40
40
  return target.scrollTop;
41
41
  }
42
42
  handleClick(event) {
43
- this._scrollTarget.scrollTo({ top: 0, behavior: 'smooth' });
43
+ this.scrollToTop(300);
44
44
  this.click.emit(event);
45
45
  }
46
+ scrollToTop(duration) {
47
+ const startHeight = this.getTargetScrollTop(this._scrollTarget);
48
+ let startTime;
49
+ const scrollStep = (timestamp) => {
50
+ if (!startTime) {
51
+ startTime = timestamp;
52
+ }
53
+ const scrollHeight = Math.max(startHeight - ((timestamp - startTime) / duration) * startHeight, 0);
54
+ this._scrollTarget.scrollTo(0, scrollHeight);
55
+ if (scrollHeight) {
56
+ requestAnimationFrame(scrollStep);
57
+ }
58
+ };
59
+ requestAnimationFrame(scrollStep);
60
+ }
46
61
  getTarget(target) {
47
62
  const scrollTarget = (typeof target === 'string' && document.querySelector(target)) ||
48
63
  this.cdkScrollable?.getElementRef().nativeElement ||
@@ -65,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
65
80
  }], click: [{
66
81
  type: Output
67
82
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2stdG9wL2JhY2stdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9iYWNrLXRvcC9iYWNrLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxNQUFNLENBQUM7Ozs7O0FBWWQsTUFBTSxPQUFPLGdCQUFnQjtJQWlDYztJQWhDekMsSUFDSSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ0ksTUFBTSxDQUFDLEdBQWU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBR0QsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFMUIsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQ2YsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxrQkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUN0QixDQUFDO0lBRU0sT0FBTyxDQUFhO0lBQ3BCLGFBQWEsQ0FBbUI7SUFFeEMsWUFBeUMsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBRyxDQUFDO0lBRXpFLFlBQVksR0FBRyxhQUFhLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDckMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2pCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUU5QixZQUFZLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQzlELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDM0MsQ0FDRixDQUNGO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQjtLQUN4QixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsSUFBSSxnQkFBZ0IsQ0FBQyxFQUNyRSxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO0lBRUYsa0JBQWtCLENBQUMsTUFBd0I7UUFDekMsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ3JCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7U0FDM0M7UUFDRCxPQUFRLE1BQXNCLENBQUMsU0FBUyxDQUFDO0lBQzNDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFrQjtRQUMxQixNQUFNLFlBQVksR0FDaEIsQ0FBQyxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxDQUFDLGFBQWE7WUFDakQsTUFBTSxDQUFDO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzt1R0F2RVUsZ0JBQWdCOzJGQUFoQixnQkFBZ0IscUpDOUI3Qix1TkFVQTs7MkZEb0JhLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7OzBCQW1DYixRQUFROzRDQS9CakIsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVdGLE1BQU07c0JBRFQsS0FBSztnQkFXTixLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtTY3JvbGxhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmcm9tRXZlbnQsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIHN3aXRjaE1hcCxcbiAgdGhyb3R0bGVUaW1lLFxufSBmcm9tICdyeGpzJztcblxudHlwZSBUYXJnZXRUeXBlID0gRWxlbWVudCB8IFdpbmRvdyB8IHN0cmluZztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWJhY2stdG9wJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhY2stdG9wLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFjay10b3AuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBCYWNrVG9wQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgc2V0IHZpc2liaWxpdHlIZWlnaHQodmFsOiBudW1iZXIpIHtcbiAgICB0aGlzLl92aXNpYmlsaXR5SGVpZ2h0ID0gdmFsO1xuICAgIHRoaXMudmlzaWJpbGl0eUhlaWdodCQkLm5leHQodmFsKTtcbiAgfVxuXG4gIGdldCB2aXNpYmlsaXR5SGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmlsaXR5SGVpZ2h0O1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHRhcmdldCh2YWw6IFRhcmdldFR5cGUpIHtcbiAgICB0aGlzLl90YXJnZXQgPSB2YWw7XG4gICAgdGhpcy50YXJnZXQkJC5uZXh0KHZhbCk7XG4gIH1cblxuICBnZXQgdGFyZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHByaXZhdGUgX3Zpc2liaWxpdHlIZWlnaHQgPSA0MDA7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0JCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhcmdldFR5cGU+KHRoaXMudGFyZ2V0KTtcbiAgcHJpdmF0ZSByZWFkb25seSB2aXNpYmlsaXR5SGVpZ2h0JCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oXG4gICAgdGhpcy52aXNpYmlsaXR5SGVpZ2h0LFxuICApO1xuXG4gIHByaXZhdGUgX3RhcmdldDogVGFyZ2V0VHlwZTtcbiAgcHJpdmF0ZSBfc2Nyb2xsVGFyZ2V0OiBFbGVtZW50IHwgV2luZG93O1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgY2RrU2Nyb2xsYWJsZTogQ2RrU2Nyb2xsYWJsZSkge31cblxuICBpc0Rpc3BsYXllZCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnRhcmdldCQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICBtYXAodGFyZ2V0ID0+IHRoaXMuZ2V0VGFyZ2V0KHRhcmdldCkpLFxuICAgICAgc3dpdGNoTWFwKHRhcmdldCA9PlxuICAgICAgICBmcm9tRXZlbnQodGFyZ2V0LCAnc2Nyb2xsJykucGlwZShcbiAgICAgICAgICAvLyB1c2UgZGVmYXVsdCBzY2hlZHVsZXJcbiAgICAgICAgICB0aHJvdHRsZVRpbWUoNTAsIHVuZGVmaW5lZCwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9KSxcbiAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5nZXRUYXJnZXRTY3JvbGxUb3AodGFyZ2V0KSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICAgdGhpcy52aXNpYmlsaXR5SGVpZ2h0JCQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbc2Nyb2xsVG9wLCB2aXNpYmlsaXR5SGVpZ2h0XSkgPT4gc2Nyb2xsVG9wID49IHZpc2liaWxpdHlIZWlnaHQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICk7XG5cbiAgZ2V0VGFyZ2V0U2Nyb2xsVG9wKHRhcmdldDogRWxlbWVudCB8IFdpbmRvdykge1xuICAgIGlmICh0YXJnZXQgPT09IHdpbmRvdykge1xuICAgICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XG4gICAgfVxuICAgIHJldHVybiAodGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5zY3JvbGxUb3A7XG4gIH1cblxuICBoYW5kbGVDbGljayhldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLl9zY3JvbGxUYXJnZXQuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB0aGlzLmNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0KHRhcmdldDogVGFyZ2V0VHlwZSk6IEVsZW1lbnQgfCBXaW5kb3cge1xuICAgIGNvbnN0IHNjcm9sbFRhcmdldCA9XG4gICAgICAodHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpKSB8fFxuICAgICAgdGhpcy5jZGtTY3JvbGxhYmxlPy5nZXRFbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudCB8fFxuICAgICAgd2luZG93O1xuICAgIHRoaXMuX3Njcm9sbFRhcmdldCA9IHNjcm9sbFRhcmdldDtcbiAgICByZXR1cm4gc2Nyb2xsVGFyZ2V0O1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYXVpLWJhY2stdG9wXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICBbY2xhc3Muc2hvd109XCJpc0Rpc3BsYXllZCQgfCBhc3luY1wiXG4+XG4gIDxhdWktaWNvblxuICAgIGljb249XCJhcnJvd191cF90b19saW5lXCJcbiAgICBjbGFzcz1cImF1aS1iYWNrLXRvcF9faWNvblwiXG4gID48L2F1aS1pY29uPlxuPC9kaXY+XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2stdG9wL2JhY2stdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9iYWNrLXRvcC9iYWNrLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxNQUFNLENBQUM7Ozs7O0FBWWQsTUFBTSxPQUFPLGdCQUFnQjtJQWlDYztJQWhDekMsSUFDSSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ0ksTUFBTSxDQUFDLEdBQWU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBR0QsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFMUIsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQ2YsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFhLElBQUks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QUFTOytCQUNFLGNBQWMsaUJBR1QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSzs7MEJBbUNiLFFBQVE7NENBL0JqQixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBV0YsTUFBTTtzQkFEVCxLQUFLO2dCQVdOLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZyb21FdmVudCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgc3dpdGNoTWFwLFxuICB0aHJvdHRsZVRpbWUsXG59IGZyb20gJ3J4anMnO1xuXG50eXBlIFRhcmdldFR5cGUgPSBFbGVtZW50IHwgV2luZG93IHwgc3RyaW5nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktYmFjay10b3AnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFjay10b3AuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYWNrLXRvcC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEJhY2tUb3BDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJpbGl0eUhlaWdodCh2YWw6IG51bWJlcikge1xuICAgIHRoaXMuX3Zpc2liaWxpdHlIZWlnaHQgPSB2YWw7XG4gICAgdGhpcy52aXNpYmlsaXR5SGVpZ2h0JCQubmV4dCh2YWwpO1xuICB9XG5cbiAgZ2V0IHZpc2liaWxpdHlIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2liaWxpdHlIZWlnaHQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdGFyZ2V0KHZhbDogVGFyZ2V0VHlwZSkge1xuICAgIHRoaXMuX3RhcmdldCA9IHZhbDtcbiAgICB0aGlzLnRhcmdldCQkLm5leHQodmFsKTtcbiAgfVxuXG4gIGdldCB0YXJnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBfdmlzaWJpbGl0eUhlaWdodCA9IDQwMDtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXQkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFyZ2V0VHlwZT4odGhpcy50YXJnZXQpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpc2liaWxpdHlIZWlnaHQkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihcbiAgICB0aGlzLnZpc2liaWxpdHlIZWlnaHQsXG4gICk7XG5cbiAgcHJpdmF0ZSBfdGFyZ2V0OiBUYXJnZXRUeXBlO1xuICBwcml2YXRlIF9zY3JvbGxUYXJnZXQ6IEVsZW1lbnQgfCBXaW5kb3c7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBjZGtTY3JvbGxhYmxlOiBDZGtTY3JvbGxhYmxlKSB7fVxuXG4gIGlzRGlzcGxheWVkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudGFyZ2V0JCQuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIG1hcCh0YXJnZXQgPT4gdGhpcy5nZXRUYXJnZXQodGFyZ2V0KSksXG4gICAgICBzd2l0Y2hNYXAodGFyZ2V0ID0+XG4gICAgICAgIGZyb21FdmVudCh0YXJnZXQsICdzY3JvbGwnKS5waXBlKFxuICAgICAgICAgIC8vIHVzZSBkZWZhdWx0IHNjaGVkdWxlclxuICAgICAgICAgIHRocm90dGxlVGltZSg1MCwgdW5kZWZpbmVkLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pLFxuICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldFRhcmdldFNjcm9sbFRvcCh0YXJnZXQpKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgICB0aGlzLnZpc2liaWxpdHlIZWlnaHQkJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtzY3JvbGxUb3AsIHZpc2liaWxpdHlIZWlnaHRdKSA9PiBzY3JvbGxUb3AgPj0gdmlzaWJpbGl0eUhlaWdodCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgKTtcblxuICBnZXRUYXJnZXRTY3JvbGxUb3AodGFyZ2V0OiBFbGVtZW50IHwgV2luZG93KSB7XG4gICAgaWYgKHRhcmdldCA9PT0gd2luZG93KSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcbiAgICB9XG4gICAgcmV0dXJuICh0YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbFRvcDtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoMzAwKTtcbiAgICB0aGlzLmNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgc2Nyb2xsVG9Ub3AoZHVyYXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IHN0YXJ0SGVpZ2h0ID0gdGhpcy5nZXRUYXJnZXRTY3JvbGxUb3AodGhpcy5fc2Nyb2xsVGFyZ2V0KTtcbiAgICBsZXQgc3RhcnRUaW1lOiBudW1iZXI7XG5cbiAgICBjb25zdCBzY3JvbGxTdGVwID0gKHRpbWVzdGFtcDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoIXN0YXJ0VGltZSkge1xuICAgICAgICBzdGFydFRpbWUgPSB0aW1lc3RhbXA7XG4gICAgICB9XG4gICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBNYXRoLm1heChcbiAgICAgICAgc3RhcnRIZWlnaHQgLSAoKHRpbWVzdGFtcCAtIHN0YXJ0VGltZSkgLyBkdXJhdGlvbikgKiBzdGFydEhlaWdodCxcbiAgICAgICAgMCxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX3Njcm9sbFRhcmdldC5zY3JvbGxUbygwLCBzY3JvbGxIZWlnaHQpO1xuICAgICAgaWYgKHNjcm9sbEhlaWdodCkge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2Nyb2xsU3RlcCk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2Nyb2xsU3RlcCk7XG4gIH1cblxuICBnZXRUYXJnZXQodGFyZ2V0OiBUYXJnZXRUeXBlKTogRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgY29uc3Qgc2Nyb2xsVGFyZ2V0ID1cbiAgICAgICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyAmJiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCkpIHx8XG4gICAgICB0aGlzLmNka1Njcm9sbGFibGU/LmdldEVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50IHx8XG4gICAgICB3aW5kb3c7XG4gICAgdGhpcy5fc2Nyb2xsVGFyZ2V0ID0gc2Nyb2xsVGFyZ2V0O1xuICAgIHJldHVybiBzY3JvbGxUYXJnZXQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhdWktYmFjay10b3BcIlxuICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gIFtjbGFzcy5zaG93XT1cImlzRGlzcGxheWVkJCB8IGFzeW5jXCJcbj5cbiAgPGF1aS1pY29uXG4gICAgaWNvbj1cImFycm93X3VwX3RvX2xpbmVcIlxuICAgIGNsYXNzPVwiYXVpLWJhY2stdG9wX19pY29uXCJcbiAgPjwvYXVpLWljb24+XG48L2Rpdj5cbiJdfQ==
@@ -2384,9 +2384,24 @@ class BackTopComponent {
2384
2384
  return target.scrollTop;
2385
2385
  }
2386
2386
  handleClick(event) {
2387
- this._scrollTarget.scrollTo({ top: 0, behavior: 'smooth' });
2387
+ this.scrollToTop(300);
2388
2388
  this.click.emit(event);
2389
2389
  }
2390
+ scrollToTop(duration) {
2391
+ const startHeight = this.getTargetScrollTop(this._scrollTarget);
2392
+ let startTime;
2393
+ const scrollStep = (timestamp) => {
2394
+ if (!startTime) {
2395
+ startTime = timestamp;
2396
+ }
2397
+ const scrollHeight = Math.max(startHeight - ((timestamp - startTime) / duration) * startHeight, 0);
2398
+ this._scrollTarget.scrollTo(0, scrollHeight);
2399
+ if (scrollHeight) {
2400
+ requestAnimationFrame(scrollStep);
2401
+ }
2402
+ };
2403
+ requestAnimationFrame(scrollStep);
2404
+ }
2390
2405
  getTarget(target) {
2391
2406
  const scrollTarget = (typeof target === 'string' && document.querySelector(target)) ||
2392
2407
  this.cdkScrollable?.getElementRef().nativeElement ||