ngx-tethys 19.0.7 → 19.0.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.
Files changed (93) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/date-range/date-range.component.d.ts +16 -28
  3. package/fesm2022/ngx-tethys-action.mjs +10 -10
  4. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  5. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  6. package/fesm2022/ngx-tethys-anchor.mjs +10 -10
  7. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  8. package/fesm2022/ngx-tethys-autocomplete.mjs +16 -16
  9. package/fesm2022/ngx-tethys-avatar.mjs +22 -22
  10. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  11. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  12. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  13. package/fesm2022/ngx-tethys-button.mjs +13 -13
  14. package/fesm2022/ngx-tethys-calendar.mjs +16 -16
  15. package/fesm2022/ngx-tethys-card.mjs +13 -13
  16. package/fesm2022/ngx-tethys-carousel.mjs +13 -13
  17. package/fesm2022/ngx-tethys-cascader.mjs +16 -16
  18. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  19. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  20. package/fesm2022/ngx-tethys-color-picker.mjs +31 -31
  21. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  22. package/fesm2022/ngx-tethys-copy.mjs +7 -7
  23. package/fesm2022/ngx-tethys-core.mjs +21 -21
  24. package/fesm2022/ngx-tethys-date-picker.mjs +116 -116
  25. package/fesm2022/ngx-tethys-date-range.mjs +69 -72
  26. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  27. package/fesm2022/ngx-tethys-dialog.mjs +22 -22
  28. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  29. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  30. package/fesm2022/ngx-tethys-drag-drop.mjs +19 -19
  31. package/fesm2022/ngx-tethys-dropdown.mjs +46 -46
  32. package/fesm2022/ngx-tethys-empty.mjs +10 -10
  33. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  34. package/fesm2022/ngx-tethys-form.mjs +40 -40
  35. package/fesm2022/ngx-tethys-fullscreen.mjs +13 -13
  36. package/fesm2022/ngx-tethys-grid.mjs +31 -31
  37. package/fesm2022/ngx-tethys-guider.mjs +26 -25
  38. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  39. package/fesm2022/ngx-tethys-i18n.mjs +3 -3
  40. package/fesm2022/ngx-tethys-icon.mjs +10 -10
  41. package/fesm2022/ngx-tethys-image.mjs +16 -16
  42. package/fesm2022/ngx-tethys-input-number.mjs +7 -7
  43. package/fesm2022/ngx-tethys-input.mjs +19 -19
  44. package/fesm2022/ngx-tethys-layout.mjs +58 -58
  45. package/fesm2022/ngx-tethys-list.mjs +16 -16
  46. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  47. package/fesm2022/ngx-tethys-mention.mjs +10 -10
  48. package/fesm2022/ngx-tethys-menu.mjs +25 -25
  49. package/fesm2022/ngx-tethys-message.mjs +22 -22
  50. package/fesm2022/ngx-tethys-nav.mjs +32 -29
  51. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  52. package/fesm2022/ngx-tethys-notify.mjs +16 -16
  53. package/fesm2022/ngx-tethys-pagination.mjs +13 -13
  54. package/fesm2022/ngx-tethys-popover.mjs +19 -19
  55. package/fesm2022/ngx-tethys-progress.mjs +13 -13
  56. package/fesm2022/ngx-tethys-property-operation.mjs +10 -10
  57. package/fesm2022/ngx-tethys-property.mjs +10 -10
  58. package/fesm2022/ngx-tethys-radio.mjs +13 -13
  59. package/fesm2022/ngx-tethys-rate.mjs +10 -10
  60. package/fesm2022/ngx-tethys-resizable.mjs +16 -16
  61. package/fesm2022/ngx-tethys-result.mjs +7 -7
  62. package/fesm2022/ngx-tethys-segment.mjs +10 -10
  63. package/fesm2022/ngx-tethys-select.mjs +10 -10
  64. package/fesm2022/ngx-tethys-shared.mjs +66 -66
  65. package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
  66. package/fesm2022/ngx-tethys-slide.mjs +31 -31
  67. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  68. package/fesm2022/ngx-tethys-space.mjs +10 -10
  69. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  70. package/fesm2022/ngx-tethys-stepper.mjs +19 -19
  71. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  72. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  73. package/fesm2022/ngx-tethys-table.mjs +19 -19
  74. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  75. package/fesm2022/ngx-tethys-tag.mjs +10 -10
  76. package/fesm2022/ngx-tethys-time-picker.mjs +19 -19
  77. package/fesm2022/ngx-tethys-timeline.mjs +13 -13
  78. package/fesm2022/ngx-tethys-tooltip.mjs +13 -13
  79. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  80. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  81. package/fesm2022/ngx-tethys-tree.mjs +16 -16
  82. package/fesm2022/ngx-tethys-typography.mjs +13 -13
  83. package/fesm2022/ngx-tethys-upload.mjs +16 -16
  84. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  85. package/fesm2022/ngx-tethys-watermark.mjs +7 -7
  86. package/fesm2022/ngx-tethys.mjs +1 -1
  87. package/fesm2022/ngx-tethys.mjs.map +1 -1
  88. package/guider/guider.directive.d.ts +2 -2
  89. package/nav/nav.component.d.ts +30 -6
  90. package/nav/styles/nav.scss +4 -1
  91. package/package.json +1 -1
  92. package/schematics/version.d.ts +1 -1
  93. package/schematics/version.js +1 -1
@@ -5,7 +5,7 @@ import { DOCUMENT, NgTemplateOutlet, NgClass, CommonModule } from '@angular/comm
5
5
  import { ThyPopover, ThyPopoverModule } from 'ngx-tethys/popover';
6
6
  import { Overlay } from '@angular/cdk/overlay';
7
7
  import * as i0 from '@angular/core';
8
- import { Inject, RendererFactory2, NgZone, Injectable, inject, ElementRef, Input, Directive, HostBinding, Component, NgModule } from '@angular/core';
8
+ import { Inject, RendererFactory2, NgZone, Injectable, inject, ElementRef, input, Directive, HostBinding, Component, NgModule } from '@angular/core';
9
9
  import { fromEvent, ReplaySubject, Subject } from 'rxjs';
10
10
  import { ThyIconModule } from 'ngx-tethys/icon';
11
11
  import { ThySharedModule } from 'ngx-tethys/shared';
@@ -412,10 +412,10 @@ class ThyGuiderManager {
412
412
  guiderRef: this.thyGuiderRef
413
413
  };
414
414
  }
415
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
416
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderManager, providedIn: 'root' }); }
415
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
416
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderManager, providedIn: 'root' }); }
417
417
  }
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderManager, decorators: [{
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderManager, decorators: [{
419
419
  type: Injectable,
420
420
  args: [{
421
421
  providedIn: 'root'
@@ -477,10 +477,10 @@ class ThyGuider {
477
477
  }
478
478
  }
479
479
  }
480
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
481
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuider, providedIn: 'root' }); }
480
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
481
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuider, providedIn: 'root' }); }
482
482
  }
483
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuider, decorators: [{
483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuider, decorators: [{
484
484
  type: Injectable,
485
485
  args: [{
486
486
  providedIn: 'root'
@@ -497,13 +497,17 @@ class ThyGuiderTargetDirective {
497
497
  this.guiderManager = inject(ThyGuiderManager);
498
498
  this.el = inject(ElementRef);
499
499
  this.ngZone = inject(NgZone);
500
+ /**
501
+ * 标记当前元素对应的新手引导中 step 的 key
502
+ */
503
+ this.target = input(undefined, { alias: 'thyGuiderTarget' });
500
504
  }
501
505
  ngOnInit() {
502
- this.guiderManager.addStepTarget(this.target, this.el.nativeElement);
506
+ this.guiderManager.addStepTarget(this.target(), this.el.nativeElement);
503
507
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
504
508
  const { key, guiderRef } = this.guiderManager.getActive();
505
- if (key === this.target) {
506
- const index = guiderRef.steps.findIndex(step => step.key === this.target);
509
+ if (key === this.target()) {
510
+ const index = guiderRef.steps.findIndex(step => step.key === this.target());
507
511
  this.ngZone.run(() => {
508
512
  guiderRef.active(index);
509
513
  });
@@ -516,21 +520,18 @@ class ThyGuiderTargetDirective {
516
520
  if (guiderRef) {
517
521
  guiderRef.close();
518
522
  }
519
- this.guiderManager.removeStepTarget(this.target);
523
+ this.guiderManager.removeStepTarget(this.target());
520
524
  }
521
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
522
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ThyGuiderTargetDirective, isStandalone: true, selector: "[thyGuiderTarget]", inputs: { target: ["thyGuiderTarget", "target"] }, exportAs: ["thyGuiderTarget"], ngImport: i0 }); }
525
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
526
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: ThyGuiderTargetDirective, isStandalone: true, selector: "[thyGuiderTarget]", inputs: { target: { classPropertyName: "target", publicName: "thyGuiderTarget", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["thyGuiderTarget"], ngImport: i0 }); }
523
527
  }
524
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderTargetDirective, decorators: [{
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderTargetDirective, decorators: [{
525
529
  type: Directive,
526
530
  args: [{
527
531
  selector: '[thyGuiderTarget]',
528
532
  exportAs: 'thyGuiderTarget'
529
533
  }]
530
- }], propDecorators: { target: [{
531
- type: Input,
532
- args: ['thyGuiderTarget']
533
- }] } });
534
+ }] });
534
535
 
535
536
  /**
536
537
  * @private
@@ -566,10 +567,10 @@ class ThyGuiderHint {
566
567
  trackByFn(index, step) {
567
568
  return step.key || index;
568
569
  }
569
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderHint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
570
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ThyGuiderHint, isStandalone: true, selector: "thy-guider-hint", host: { properties: { "class.thy-guider-tip-container": "this.guiderHint" } }, ngImport: i0, template: "<div class=\"thy-guider-tip-top\">\n <img [src]=\"stepRef.step.data.image\" [alt]=\"stepRef.step.data.title\" />\n <a href=\"javascript:;\" class=\"thy-guider-tip-top-btn\" (click)=\"jump()\">{{ locale().skip }}</a>\n</div>\n<div class=\"thy-guider-tip-content\">\n <div class=\"thy-guider-tip-content-title\">{{ stepRef.step.data.title }}</div>\n <div class=\"thy-guider-tip-content-description\">\n @if (descriptionTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n } @else {\n {{ descriptionString }}\n }\n </div>\n <div class=\"thy-guider-tip-step\">\n <div class=\"thy-guider-tip-step-pagination\">\n @for (step of guiderRef.steps; track trackByFn(i, step); let i = $index) {\n <span class=\"pagination-item\" [ngClass]=\"{ active: i === stepRef.stepIndex }\"></span>\n }\n </div>\n <div class=\"thy-guider-tip-step-btn\">\n @if (stepRef.stepIndex !== 0) {\n <a href=\"javascript:;\" (click)=\"prev()\" class=\"thy-guider-tip-step-pre\">{{ locale().prev }}</a>\n }\n @if (stepRef.stepIndex !== guiderRef.steps.length - 1) {\n <a href=\"javascript:;\" (click)=\"next()\" class=\"thy-guider-tip-step-next\">{{ locale().next }}</a>\n } @else {\n <a href=\"javascript:;\" (click)=\"end()\" class=\"thy-guider-tip-step-next\">{{ locale().finish }}</a>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
570
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderHint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
571
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyGuiderHint, isStandalone: true, selector: "thy-guider-hint", host: { properties: { "class.thy-guider-tip-container": "this.guiderHint" } }, ngImport: i0, template: "<div class=\"thy-guider-tip-top\">\n <img [src]=\"stepRef.step.data.image\" [alt]=\"stepRef.step.data.title\" />\n <a href=\"javascript:;\" class=\"thy-guider-tip-top-btn\" (click)=\"jump()\">{{ locale().skip }}</a>\n</div>\n<div class=\"thy-guider-tip-content\">\n <div class=\"thy-guider-tip-content-title\">{{ stepRef.step.data.title }}</div>\n <div class=\"thy-guider-tip-content-description\">\n @if (descriptionTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n } @else {\n {{ descriptionString }}\n }\n </div>\n <div class=\"thy-guider-tip-step\">\n <div class=\"thy-guider-tip-step-pagination\">\n @for (step of guiderRef.steps; track trackByFn(i, step); let i = $index) {\n <span class=\"pagination-item\" [ngClass]=\"{ active: i === stepRef.stepIndex }\"></span>\n }\n </div>\n <div class=\"thy-guider-tip-step-btn\">\n @if (stepRef.stepIndex !== 0) {\n <a href=\"javascript:;\" (click)=\"prev()\" class=\"thy-guider-tip-step-pre\">{{ locale().prev }}</a>\n }\n @if (stepRef.stepIndex !== guiderRef.steps.length - 1) {\n <a href=\"javascript:;\" (click)=\"next()\" class=\"thy-guider-tip-step-next\">{{ locale().next }}</a>\n } @else {\n <a href=\"javascript:;\" (click)=\"end()\" class=\"thy-guider-tip-step-next\">{{ locale().finish }}</a>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
571
572
  }
572
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderHint, decorators: [{
573
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderHint, decorators: [{
573
574
  type: Component,
574
575
  args: [{ selector: 'thy-guider-hint', imports: [NgTemplateOutlet, NgClass], template: "<div class=\"thy-guider-tip-top\">\n <img [src]=\"stepRef.step.data.image\" [alt]=\"stepRef.step.data.title\" />\n <a href=\"javascript:;\" class=\"thy-guider-tip-top-btn\" (click)=\"jump()\">{{ locale().skip }}</a>\n</div>\n<div class=\"thy-guider-tip-content\">\n <div class=\"thy-guider-tip-content-title\">{{ stepRef.step.data.title }}</div>\n <div class=\"thy-guider-tip-content-description\">\n @if (descriptionTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n } @else {\n {{ descriptionString }}\n }\n </div>\n <div class=\"thy-guider-tip-step\">\n <div class=\"thy-guider-tip-step-pagination\">\n @for (step of guiderRef.steps; track trackByFn(i, step); let i = $index) {\n <span class=\"pagination-item\" [ngClass]=\"{ active: i === stepRef.stepIndex }\"></span>\n }\n </div>\n <div class=\"thy-guider-tip-step-btn\">\n @if (stepRef.stepIndex !== 0) {\n <a href=\"javascript:;\" (click)=\"prev()\" class=\"thy-guider-tip-step-pre\">{{ locale().prev }}</a>\n }\n @if (stepRef.stepIndex !== guiderRef.steps.length - 1) {\n <a href=\"javascript:;\" (click)=\"next()\" class=\"thy-guider-tip-step-next\">{{ locale().next }}</a>\n } @else {\n <a href=\"javascript:;\" (click)=\"end()\" class=\"thy-guider-tip-step-next\">{{ locale().finish }}</a>\n }\n </div>\n </div>\n</div>\n" }]
575
576
  }], ctorParameters: () => [], propDecorators: { guiderHint: [{
@@ -579,11 +580,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
579
580
  defaultGuiderPositionConfig.hintComponent = ThyGuiderHint;
580
581
 
581
582
  class ThyGuiderModule {
582
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
583
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule, ThyGuiderHint, ThyGuiderTargetDirective], exports: [ThyGuiderHint, ThyGuiderTargetDirective] }); }
584
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderModule, providers: [ThyGuider], imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule] }); }
583
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
584
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule, ThyGuiderHint, ThyGuiderTargetDirective], exports: [ThyGuiderHint, ThyGuiderTargetDirective] }); }
585
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderModule, providers: [ThyGuider], imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule] }); }
585
586
  }
586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyGuiderModule, decorators: [{
587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyGuiderModule, decorators: [{
587
588
  type: NgModule,
588
589
  args: [{
589
590
  imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule, ThyGuiderHint, ThyGuiderTargetDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-guider.mjs","sources":["../../../src/guider/utils.ts","../../../src/guider/guider-step-ref.ts","../../../src/guider/guider.class.ts","../../../src/guider/guider-ref.ts","../../../src/guider/guider-manager.ts","../../../src/guider/guider.service.ts","../../../src/guider/guider.directive.ts","../../../src/guider/guider-hint/guider-hint.component.ts","../../../src/guider/guider-hint/guider-hint.component.html","../../../src/guider/guider.module.ts","../../../src/guider/ngx-tethys-guider.ts"],"sourcesContent":["import { SafeAny } from 'ngx-tethys/types';\nimport { isArray, isNumber, isObject } from 'ngx-tethys/util';\n\nexport function isPositionDataType(target: any): target is { x: number; y: number } {\n if (isObject(target) && !isArray(target)) {\n if (isNumber((target as SafeAny).x) && isNumber((target as SafeAny).y)) {\n return true;\n }\n }\n return false;\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Renderer2, RendererFactory2 } from '@angular/core';\nimport { ThyPopover, ThyPopoverConfig, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { coerceArray, isArray, isNull, isString, isUndefinedOrNull } from 'ngx-tethys/util';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { IThyGuiderManager, IThyGuiderRef } from './guider.interface';\nimport { ThyGuiderStep } from './guider.class';\nimport { isPositionDataType } from './utils';\n\nconst pointContainerSize = 28;\n\n/**\n * @public\n * @order 50\n */\nexport class ThyGuiderStepRef {\n private renderer: Renderer2;\n\n private lastPointerContainer: any;\n\n private lastTargetElement: Element;\n\n private targetElementObserver: Subscription;\n\n private lastTipContainer: any;\n\n private guiderRef: IThyGuiderRef;\n\n private lastPopoverRef: ThyPopoverRef<any>;\n\n constructor(\n public step: ThyGuiderStep,\n public stepIndex: number,\n private readonly rendererFactory: RendererFactory2,\n private popover: ThyPopover,\n private guiderManager: IThyGuiderManager,\n private overlay: Overlay,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n public show(guiderRef: IThyGuiderRef): void {\n this.guiderRef = guiderRef;\n this.createPoint(this.step, guiderRef);\n }\n\n public dispose() {\n this.removeLastPointContainer();\n this.removeTip();\n }\n\n private getTargetElement(step: ThyGuiderStep) {\n let targetElement: HTMLElement;\n\n if (step.target && !isPositionDataType(step.target)) {\n const target = [...coerceArray(step.target)];\n\n while (target.length && isUndefinedOrNull(targetElement)) {\n targetElement = this.document.querySelector(target.shift());\n }\n } else {\n targetElement = this.guiderManager.getActiveTarget(step.key);\n }\n return targetElement;\n }\n\n private createPoint(step: ThyGuiderStep, guiderRef: IThyGuiderRef) {\n // target 为空并且 guiderManager 中的 targetMap 也没有此step 的 key,或者 target 直接为 坐标数组\n // 则执行无 target 的显示\n if (!this.isTipHasTarget(step)) {\n this.createTip(this.step);\n return;\n }\n\n const targetElement = this.getTargetElement(step);\n\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && isNull(targetElement)) {\n throw new Error(`there is no target called ${coerceArray(step.target).join(' or ')}`);\n }\n this.targetElementObserver = fromEvent(targetElement, 'click').subscribe(() => {\n guiderRef.targetClicked().next(step);\n });\n const positionValue = targetElement?.style?.position;\n if (!positionValue || positionValue === 'static') {\n this.renderer.setStyle(targetElement, 'position', 'relative');\n }\n this.setStyleForPointContainer(step, targetElement);\n }\n\n private setStyleForPointContainer(step: ThyGuiderStep, targetElement: Element) {\n const pointPosition = this.getPointPosition(step, targetElement);\n const pointContainer = this.setPointPosition(pointPosition);\n\n this.renderPoint(targetElement, pointContainer);\n }\n\n private getPointPosition(step: ThyGuiderStep, targetElement: Element): [number, number] {\n const targetElementClientRect = targetElement.getBoundingClientRect();\n const { width: targetElementWidth, height: targetElementHeight } = targetElementClientRect;\n const pointOffset = step.pointOffset;\n // 只通过 pointOffset 控制 point 的位置,默认在 target 的右下角,\n // offset 的基点也为默认位置\n return [targetElementWidth + pointOffset[0], targetElementHeight + pointOffset[1]];\n }\n\n private setPointPosition(pointPosition: [number, number]) {\n const currentPointContainer = this.renderer.createElement('div');\n\n this.renderer.addClass(currentPointContainer, 'thy-guider-highlight-container');\n if (this.guiderRef.config.pointClass) {\n this.addPointClass(currentPointContainer, this.guiderRef.config.pointClass);\n }\n this.renderer.setStyle(currentPointContainer, 'position', 'absolute');\n this.renderer.setStyle(currentPointContainer, 'left', pointPosition[0] + 'px');\n this.renderer.setStyle(currentPointContainer, 'top', pointPosition[1] + 'px');\n this.renderer.setStyle(currentPointContainer, 'transform', 'translate(-100%,-100%)');\n\n return currentPointContainer;\n }\n\n private addPointClass(el: any, pointClass: string | string[]) {\n if (isString(pointClass)) {\n this.renderer.addClass(el, pointClass);\n }\n if (isArray(pointClass)) {\n pointClass.forEach(classItem => {\n this.renderer.addClass(el, classItem);\n });\n }\n }\n\n private renderPoint(targetElement: Element, pointContainer: any) {\n this.renderer.appendChild(targetElement, pointContainer);\n this.lastPointerContainer = pointContainer;\n this.lastTargetElement = targetElement;\n this.createTip(this.step);\n }\n\n private removeLastPointContainer() {\n if (this.lastPointerContainer) {\n this.renderer.removeChild(this.document.body, this.lastPointerContainer);\n this.lastPointerContainer = undefined;\n }\n }\n\n private createTip(step: ThyGuiderStep) {\n if (this.isTipHasTarget(step)) {\n this.tipWithTarget(step);\n } else {\n this.tipWithoutTarget(step);\n }\n }\n\n private tipWithoutTarget(step: ThyGuiderStep) {\n const position = this.getTipPosition(step);\n this.lastPopoverRef = this.popover.open(this.guiderRef.config.hintComponent, {\n origin: null,\n originPosition: position,\n originActiveClass: '',\n panelClass: this.guiderRef.config.hintClass || '',\n backdropClosable: false,\n hasBackdrop: false,\n manualClosure: true,\n initialState: {\n guiderRef: this.guiderRef,\n stepRef: this\n },\n scrollStrategy: this.overlay.scrollStrategies.block()\n });\n }\n\n private getTipPosition(step: ThyGuiderStep): { x: number; y: number } {\n if (isPositionDataType(step.target)) {\n return step.target;\n }\n return this.guiderRef.config.defaultPosition;\n }\n\n private createTipContainer() {\n const tipContainer = this.renderer.createElement('div');\n this.renderer.addClass(tipContainer, 'thy-guider-content-container');\n this.renderer.setStyle(tipContainer, 'position', 'absolute');\n this.renderer.setStyle(tipContainer, 'top', '0px');\n this.renderer.setStyle(tipContainer, 'right', '0px');\n this.renderer.setStyle(tipContainer, 'bottom', '0px');\n this.renderer.setStyle(tipContainer, 'left', '0px');\n return tipContainer;\n }\n\n private tipWithTarget(step: ThyGuiderStep) {\n const targetElement = this.getTargetElement(step);\n const hintContainer = this.createTipContainer();\n\n this.renderer.appendChild(targetElement, hintContainer);\n this.lastTipContainer = hintContainer;\n\n const popoverConfig = {\n origin: hintContainer,\n placement: step.hintPlacement,\n panelClass: this.guiderRef.config.hintClass || '',\n backdropClosable: false,\n hasBackdrop: false,\n manualClosure: true,\n initialState: {\n guiderRef: this.guiderRef,\n stepRef: this\n },\n scrollStrategy: this.overlay.scrollStrategies.block()\n } as ThyPopoverConfig<any>;\n\n const pointPosition = this.getPointPosition(step, targetElement);\n const hintOffset = this.getTipOffset(step, pointPosition, targetElement);\n if (hintOffset) {\n popoverConfig.offset = hintOffset;\n }\n this.lastPopoverRef = this.popover.open(this.guiderRef.config.hintComponent, popoverConfig);\n }\n\n private getTipOffset(step: ThyGuiderStep, pointPosition: [number, number], targetElement: Element): number {\n const hintPlacement = step.hintPlacement;\n const targetElementClientRect = targetElement.getBoundingClientRect();\n const { width: targetElementWidth, height: targetElementHeight } = targetElementClientRect;\n let hintOffset: number = step.hintOffset || 0;\n const pointXAxisOffset = pointPosition[0];\n const pointYAxisOffset = pointPosition[1];\n\n if (hintPlacement.startsWith('top')) {\n if (pointYAxisOffset < pointContainerSize) {\n hintOffset = hintOffset + Math.abs(pointYAxisOffset) + pointContainerSize;\n }\n } else if (hintPlacement.startsWith('bottom')) {\n if (pointYAxisOffset > targetElementHeight) {\n hintOffset = hintOffset + (pointYAxisOffset - targetElementHeight) + 10; // 10 为空隙量\n }\n } else if (hintPlacement.startsWith('left')) {\n if (pointXAxisOffset < 0) {\n hintOffset = hintOffset + Math.abs(pointXAxisOffset) + pointContainerSize;\n }\n } else if (hintPlacement.startsWith('right')) {\n if (pointXAxisOffset > targetElementWidth) {\n hintOffset = hintOffset + (pointXAxisOffset - targetElementWidth) + 10; // 10 为空隙量\n }\n }\n return hintOffset;\n }\n\n private removeTip() {\n if (this.lastPopoverRef) {\n this.lastPopoverRef.close();\n this.lastPopoverRef = undefined;\n }\n if (this.lastTipContainer) {\n this.renderer.removeChild(this.document.body, this.lastTipContainer);\n this.lastTipContainer = undefined;\n }\n if (this.lastTargetElement && this.targetElementObserver) {\n this.targetElementObserver.unsubscribe();\n this.lastTargetElement = undefined;\n this.targetElementObserver = undefined;\n }\n }\n\n private isTipHasTarget(step: ThyGuiderStep): boolean {\n if (step.target) {\n return !isPositionDataType(step.target);\n } else {\n return !!this.guiderManager.getActiveTarget(step.key);\n }\n }\n}\n","import { Type } from '@angular/core';\nimport { ThyPlacement } from 'ngx-tethys/core';\n\n/**\n * @public\n * @order 30\n */\nexport interface ThyGuiderStep<TData = any> {\n /**\n * 步骤的唯一标识符\n */\n key: string;\n\n /**\n * 步骤的目标DOM selectors,如果为 [number,number] 类型则是相对浏览器视窗的位置\n * @type string | string[] | { x: number; y: number }\n */\n target?: string | string[] | { x: number; y: number };\n\n /**\n * 新手引导内容组件的值\n */\n data: TData;\n\n /**\n * 步骤对应的路由\n */\n route?: string;\n\n /**\n * 当前步骤内容组件基于 target 元素的方位\n */\n hintPlacement?: ThyPlacement;\n\n /**\n * 当前步骤内容组件基于位置的偏移量(与 popover 中 offset 相同作用)\n */\n hintOffset?: number;\n\n /**\n * 当前步骤高亮圆圈基于默认位置的偏移量\n */\n pointOffset?: [number, number];\n}\n\n/**\n * 新手引导服务的配置项\n * @public\n * @order 20\n */\nexport class ThyGuiderConfig {\n /**\n * 新手引导内容组件\n */\n hintComponent?: Type<unknown>;\n\n /**\n * 新手引导步骤信息\n * @type ThyGuiderStep[]\n */\n steps: ThyGuiderStep[];\n\n /**\n * 新手引导内容组件基于 target 元素的方位\n */\n hintPlacement?: ThyPlacement;\n\n /**\n * 新手引导内容组件默认位置(基于浏览器视窗,优先级小于 hintPlacement\n */\n defaultPosition?: { x: number; y: number };\n\n /**\n * 新手引导高亮圆圈基于默认位置的偏移量\n */\n pointOffset?: [number, number];\n\n /**\n * 新手引导内容组件基于位置的偏移量(与 popover 中 offset 相同作用)\n */\n hintOffset?: number;\n\n /**\n * 新手引导弹窗的自定义类\n * @type string | string[]\n */\n hintClass?: string | string[];\n\n /**\n * 新手引导point的自定义类\n * @type string | string[]\n */\n pointClass?: string | string[];\n}\n\nexport const defaultGuiderPositionConfig = {\n hintComponent: null as Type<unknown>,\n hintPlacement: 'rightBottom',\n defaultPosition: { x: 0, y: 0 },\n pointOffset: [0, 0],\n hintOffset: 4\n};\n","import { Router } from '@angular/router';\nimport { helpers } from 'ngx-tethys/util';\nimport { DOCUMENT } from '@angular/common';\nimport { ThyPopover } from 'ngx-tethys/popover';\nimport { IThyGuiderManager, IThyGuiderRef } from './guider.interface';\nimport { ThyGuiderStepRef } from './guider-step-ref';\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\nimport { ThyGuiderConfig, ThyGuiderStep } from './guider.class';\nimport { Inject, NgZone, RendererFactory2 } from '@angular/core';\nimport { Overlay } from '@angular/cdk/overlay';\n\nexport class ThyGuiderRef implements IThyGuiderRef {\n public steps: ThyGuiderStep[];\n\n private stepChange$: ReplaySubject<ThyGuiderStep> = new ReplaySubject<ThyGuiderStep>();\n\n private guiderEnded$ = new Subject<ThyGuiderStep>();\n\n private closed$ = new Subject<ThyGuiderStep>();\n\n private targetClicked$ = new Subject<ThyGuiderStep>();\n\n private currentStep: ThyGuiderStep;\n\n private currentStepIndex: number;\n\n private stepsRef: ThyGuiderStepRef[];\n\n constructor(\n public config: ThyGuiderConfig,\n private rendererFactory: RendererFactory2,\n private popover: ThyPopover,\n private router: Router,\n private guiderManager: IThyGuiderManager,\n private ngZone: NgZone,\n private overlay: Overlay,\n @Inject(DOCUMENT) private document: any\n ) {\n this.stepsRef = config.steps.map((step, index) => {\n return new ThyGuiderStepRef(step, index, this.rendererFactory, this.popover, this.guiderManager, this.overlay, this.document);\n });\n this.steps = config.steps;\n }\n\n public stepChange(): Observable<ThyGuiderStep> {\n return this.stepChange$.asObservable();\n }\n\n public ended(): Subject<ThyGuiderStep> {\n return this.guiderEnded$;\n }\n\n public closed(): Subject<ThyGuiderStep> {\n return this.closed$;\n }\n\n public targetClicked(): Subject<ThyGuiderStep> {\n return this.targetClicked$;\n }\n\n public start(startWith?: number) {\n this.to(startWith);\n\n return this.stepChange();\n }\n\n public next(): void {\n if (this.currentStepIndex + 1 > this.steps.length) {\n return;\n }\n this.to(this.currentStepIndex + 1);\n }\n\n public previous(): void {\n if (this.currentStepIndex - 1 < 0) {\n return;\n }\n\n this.to(this.currentStepIndex - 1);\n }\n\n public active(indexOrKey: number | string): void {\n if (helpers.isNumber(indexOrKey)) {\n this.to(indexOrKey as number);\n return;\n }\n if (helpers.isString(indexOrKey)) {\n const index = this.steps.findIndex(step => step.key === (indexOrKey as string));\n this.to(index);\n return;\n }\n }\n\n private to(index: number): void {\n this.removeExistedStep();\n\n if (!helpers.isNumber(index) || index >= this.steps.length || index < 0 || Number.isNaN(index)) {\n index = 0;\n }\n this.currentStep = this.steps[index];\n this.currentStepIndex = index;\n\n // update guiderManager\n this.guiderManager.updateActive(this.currentStep.key, this);\n if (this.currentStep.route && this.currentStep.route !== this.router.url) {\n this.ngZone.run(() => {\n this.router.navigateByUrl(this.currentStep.route);\n });\n return;\n }\n setTimeout(() => {\n this.drawStep();\n this.notifyStepClicked();\n }, 0);\n }\n\n public close(): void {\n this.removeManagerActiveKey();\n this.stepsRef[this.currentStepIndex]?.dispose();\n this.closed$.next(this.currentStep);\n }\n\n public end(): void {\n this.close();\n this.guiderEnded$.next(this.currentStep);\n this.notifyGuiderIsFinished();\n }\n\n private removeManagerActiveKey() {\n const activeKey = this.guiderManager.getActive().key;\n if (activeKey && this.steps.some(step => step.key === activeKey)) {\n this.guiderManager.updateActive('', undefined);\n }\n }\n\n private notifyStepClicked() {\n this.stepChange$.next(this.currentStep);\n }\n\n private drawStep() {\n this.removeExistedStep();\n this.stepsRef[this.currentStepIndex].show(this);\n }\n\n private notifyGuiderIsFinished() {\n this.stepChange$.complete();\n this.currentStepIndex = 0;\n }\n\n private removeExistedStep() {\n this.stepsRef[this.currentStepIndex]?.dispose();\n }\n}\n","import { ThyGuiderRef } from './guider-ref';\nimport { Injectable } from '@angular/core';\nimport { IThyGuiderManager } from './guider.interface';\n\n/**\n * @public\n * @order 60\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyGuiderManager implements IThyGuiderManager {\n private targetListMap: Record<string, HTMLElement> = {};\n\n private thyGuiderRef: ThyGuiderRef;\n\n private activeStepKey: string;\n\n constructor() {}\n\n public updateActive(key: string, guiderRef: ThyGuiderRef): void {\n this.activeStepKey = key;\n this.thyGuiderRef = guiderRef;\n }\n\n public addStepTarget(key: string, el: HTMLElement): void {\n this.targetListMap[key] = el;\n }\n\n public removeStepTarget(key: string): void {\n delete this.targetListMap[key];\n }\n\n public getActiveTarget(key: string): HTMLElement {\n return this.targetListMap[key];\n }\n\n public getActive(): { key: string; guiderRef: ThyGuiderRef } {\n return {\n key: this.activeStepKey,\n guiderRef: this.thyGuiderRef\n };\n }\n}\n","import { Router } from '@angular/router';\nimport { helpers } from 'ngx-tethys/util';\nimport { DOCUMENT } from '@angular/common';\nimport { ThyGuiderRef } from './guider-ref';\nimport { NgZone, inject } from '@angular/core';\nimport { ThyPopover } from 'ngx-tethys/popover';\nimport { ThyGuiderManager } from './guider-manager';\nimport { Injectable, RendererFactory2 } from '@angular/core';\nimport { ThyGuiderStep, ThyGuiderConfig, defaultGuiderPositionConfig } from './guider.class';\nimport { Overlay } from '@angular/cdk/overlay';\n\n/**\n * 新手引导服务\n * @public\n * @order 10\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyGuider {\n private readonly rendererFactory = inject(RendererFactory2);\n private popover = inject(ThyPopover);\n private router = inject(Router);\n private guiderManager = inject(ThyGuiderManager);\n private ngZone = inject(NgZone);\n private overlay = inject(Overlay);\n private document = inject(DOCUMENT);\n\n private guiderRef: ThyGuiderRef;\n\n private guiderRefs: ThyGuiderRef[] = [];\n\n public create(config: ThyGuiderConfig): ThyGuiderRef {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!config || !config?.steps || !helpers.isArray(config?.steps)) {\n throw new Error(`'config.steps' must be an array of length greater than 0`);\n }\n }\n const normalizeConfig = this.normalizeConfig(config);\n this.guiderRef = new ThyGuiderRef(\n normalizeConfig,\n this.rendererFactory,\n this.popover,\n this.router,\n this.guiderManager,\n this.ngZone,\n this.overlay,\n this.document\n );\n this.guiderRef.closed().subscribe(() => {\n const index = this.guiderRefs.findIndex(guiderRef => guiderRef === this.guiderRef);\n this.guiderRefs.splice(index, 1);\n });\n this.guiderRefs.push(this.guiderRef);\n return this.guiderRef;\n }\n\n private normalizeConfig(config: ThyGuiderConfig): ThyGuiderConfig {\n const normalizeConfig = Object.assign({}, defaultGuiderPositionConfig, config);\n normalizeConfig.steps = normalizeConfig.steps.map(step => {\n return this.normalizeStep(step, normalizeConfig);\n });\n return normalizeConfig;\n }\n\n private normalizeStep(step: ThyGuiderStep, config: ThyGuiderConfig): ThyGuiderStep {\n const tempStep = Object.assign(\n {\n hintPlacement: config.hintPlacement,\n hintOffset: config.hintOffset,\n pointOffset: config.pointOffset\n },\n step\n );\n\n return tempStep;\n }\n\n close() {\n if (this.guiderRefs.length > 0) {\n const lasGuiderRef = this.guiderRefs[this.guiderRefs.length - 1];\n if (lasGuiderRef) {\n lasGuiderRef.close();\n this.guiderRefs.pop();\n }\n }\n }\n}\n","import { ThyGuiderManager } from './guider-manager';\nimport { AfterViewInit, Directive, ElementRef, Input, OnDestroy, OnInit, NgZone, inject } from '@angular/core';\nimport { take } from 'rxjs/operators';\n\n/**\n * 标记新手引导的步骤的target,使用指令方式的新手引导支持多路由跳转\n * @name thyGuiderTarget\n * @order 40\n */\n@Directive({\n selector: '[thyGuiderTarget]',\n exportAs: 'thyGuiderTarget'\n})\nexport class ThyGuiderTargetDirective implements OnInit, OnDestroy, AfterViewInit {\n private guiderManager = inject(ThyGuiderManager);\n private el = inject(ElementRef);\n private ngZone = inject(NgZone);\n\n /**\n * 标记当前元素对应的新手引导中 step 的 key\n */\n @Input('thyGuiderTarget')\n target: string;\n\n ngOnInit() {\n this.guiderManager.addStepTarget(this.target, this.el.nativeElement);\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n const { key, guiderRef } = this.guiderManager.getActive();\n if (key === this.target) {\n const index = guiderRef.steps.findIndex(step => step.key === this.target);\n this.ngZone.run(() => {\n guiderRef.active(index);\n });\n }\n });\n }\n\n ngAfterViewInit() {}\n\n ngOnDestroy() {\n const { guiderRef } = this.guiderManager.getActive();\n if (guiderRef) {\n guiderRef.close();\n }\n this.guiderManager.removeStepTarget(this.target);\n }\n}\n","import { HostBinding, Component, OnInit, TemplateRef, Signal } from '@angular/core';\nimport { ThyGuiderRef } from '../guider-ref';\nimport { helpers } from 'ngx-tethys/util';\nimport { defaultGuiderPositionConfig, ThyGuiderStep } from '../guider.class';\nimport { ThyGuiderStepRef } from '../guider-step-ref';\nimport { NgTemplateOutlet, NgClass } from '@angular/common';\nimport { injectLocale, ThyGuiderLocale } from 'ngx-tethys/i18n';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-guider-hint',\n templateUrl: 'guider-hint.component.html',\n imports: [NgTemplateOutlet, NgClass]\n})\nexport class ThyGuiderHint implements OnInit {\n @HostBinding('class.thy-guider-tip-container') guiderHint = true;\n\n locale: Signal<ThyGuiderLocale> = injectLocale('guider');\n\n public guiderRef: ThyGuiderRef;\n\n public stepRef: ThyGuiderStepRef;\n\n public descriptionString: string;\n\n public descriptionTemplateRef: TemplateRef<any>;\n\n public currentStepIndex: number;\n\n constructor() {}\n\n ngOnInit() {\n this.setDescription(this.stepRef.step.data.description);\n }\n\n private setDescription(value: string | TemplateRef<any>) {\n if (helpers.isString(value)) {\n this.descriptionString = value as string;\n } else {\n this.descriptionTemplateRef = value as TemplateRef<any>;\n }\n }\n\n public jump() {\n this.guiderRef.end();\n }\n\n public prev() {\n this.guiderRef.previous();\n }\n\n public next() {\n this.guiderRef.next();\n }\n\n public end() {\n this.guiderRef.end();\n }\n\n public trackByFn(index: number, step: ThyGuiderStep) {\n return step.key || index;\n }\n}\n\ndefaultGuiderPositionConfig.hintComponent = ThyGuiderHint;\n","<div class=\"thy-guider-tip-top\">\n <img [src]=\"stepRef.step.data.image\" [alt]=\"stepRef.step.data.title\" />\n <a href=\"javascript:;\" class=\"thy-guider-tip-top-btn\" (click)=\"jump()\">{{ locale().skip }}</a>\n</div>\n<div class=\"thy-guider-tip-content\">\n <div class=\"thy-guider-tip-content-title\">{{ stepRef.step.data.title }}</div>\n <div class=\"thy-guider-tip-content-description\">\n @if (descriptionTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n } @else {\n {{ descriptionString }}\n }\n </div>\n <div class=\"thy-guider-tip-step\">\n <div class=\"thy-guider-tip-step-pagination\">\n @for (step of guiderRef.steps; track trackByFn(i, step); let i = $index) {\n <span class=\"pagination-item\" [ngClass]=\"{ active: i === stepRef.stepIndex }\"></span>\n }\n </div>\n <div class=\"thy-guider-tip-step-btn\">\n @if (stepRef.stepIndex !== 0) {\n <a href=\"javascript:;\" (click)=\"prev()\" class=\"thy-guider-tip-step-pre\">{{ locale().prev }}</a>\n }\n @if (stepRef.stepIndex !== guiderRef.steps.length - 1) {\n <a href=\"javascript:;\" (click)=\"next()\" class=\"thy-guider-tip-step-next\">{{ locale().next }}</a>\n } @else {\n <a href=\"javascript:;\" (click)=\"end()\" class=\"thy-guider-tip-step-next\">{{ locale().finish }}</a>\n }\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ThyGuider } from './guider.service';\nimport { CommonModule } from '@angular/common';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyButtonModule } from 'ngx-tethys/button';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyGuiderTargetDirective } from './guider.directive';\nimport { ThyGuiderHint } from './guider-hint/guider-hint.component';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule, ThyGuiderHint, ThyGuiderTargetDirective],\n exports: [ThyGuiderHint, ThyGuiderTargetDirective],\n providers: [ThyGuider]\n})\nexport class ThyGuiderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-guider.mjs","sources":["../../../src/guider/utils.ts","../../../src/guider/guider-step-ref.ts","../../../src/guider/guider.class.ts","../../../src/guider/guider-ref.ts","../../../src/guider/guider-manager.ts","../../../src/guider/guider.service.ts","../../../src/guider/guider.directive.ts","../../../src/guider/guider-hint/guider-hint.component.ts","../../../src/guider/guider-hint/guider-hint.component.html","../../../src/guider/guider.module.ts","../../../src/guider/ngx-tethys-guider.ts"],"sourcesContent":["import { SafeAny } from 'ngx-tethys/types';\nimport { isArray, isNumber, isObject } from 'ngx-tethys/util';\n\nexport function isPositionDataType(target: any): target is { x: number; y: number } {\n if (isObject(target) && !isArray(target)) {\n if (isNumber((target as SafeAny).x) && isNumber((target as SafeAny).y)) {\n return true;\n }\n }\n return false;\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Renderer2, RendererFactory2 } from '@angular/core';\nimport { ThyPopover, ThyPopoverConfig, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { coerceArray, isArray, isNull, isString, isUndefinedOrNull } from 'ngx-tethys/util';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { IThyGuiderManager, IThyGuiderRef } from './guider.interface';\nimport { ThyGuiderStep } from './guider.class';\nimport { isPositionDataType } from './utils';\n\nconst pointContainerSize = 28;\n\n/**\n * @public\n * @order 50\n */\nexport class ThyGuiderStepRef {\n private renderer: Renderer2;\n\n private lastPointerContainer: any;\n\n private lastTargetElement: Element;\n\n private targetElementObserver: Subscription;\n\n private lastTipContainer: any;\n\n private guiderRef: IThyGuiderRef;\n\n private lastPopoverRef: ThyPopoverRef<any>;\n\n constructor(\n public step: ThyGuiderStep,\n public stepIndex: number,\n private readonly rendererFactory: RendererFactory2,\n private popover: ThyPopover,\n private guiderManager: IThyGuiderManager,\n private overlay: Overlay,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n public show(guiderRef: IThyGuiderRef): void {\n this.guiderRef = guiderRef;\n this.createPoint(this.step, guiderRef);\n }\n\n public dispose() {\n this.removeLastPointContainer();\n this.removeTip();\n }\n\n private getTargetElement(step: ThyGuiderStep) {\n let targetElement: HTMLElement;\n\n if (step.target && !isPositionDataType(step.target)) {\n const target = [...coerceArray(step.target)];\n\n while (target.length && isUndefinedOrNull(targetElement)) {\n targetElement = this.document.querySelector(target.shift());\n }\n } else {\n targetElement = this.guiderManager.getActiveTarget(step.key);\n }\n return targetElement;\n }\n\n private createPoint(step: ThyGuiderStep, guiderRef: IThyGuiderRef) {\n // target 为空并且 guiderManager 中的 targetMap 也没有此step 的 key,或者 target 直接为 坐标数组\n // 则执行无 target 的显示\n if (!this.isTipHasTarget(step)) {\n this.createTip(this.step);\n return;\n }\n\n const targetElement = this.getTargetElement(step);\n\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && isNull(targetElement)) {\n throw new Error(`there is no target called ${coerceArray(step.target).join(' or ')}`);\n }\n this.targetElementObserver = fromEvent(targetElement, 'click').subscribe(() => {\n guiderRef.targetClicked().next(step);\n });\n const positionValue = targetElement?.style?.position;\n if (!positionValue || positionValue === 'static') {\n this.renderer.setStyle(targetElement, 'position', 'relative');\n }\n this.setStyleForPointContainer(step, targetElement);\n }\n\n private setStyleForPointContainer(step: ThyGuiderStep, targetElement: Element) {\n const pointPosition = this.getPointPosition(step, targetElement);\n const pointContainer = this.setPointPosition(pointPosition);\n\n this.renderPoint(targetElement, pointContainer);\n }\n\n private getPointPosition(step: ThyGuiderStep, targetElement: Element): [number, number] {\n const targetElementClientRect = targetElement.getBoundingClientRect();\n const { width: targetElementWidth, height: targetElementHeight } = targetElementClientRect;\n const pointOffset = step.pointOffset;\n // 只通过 pointOffset 控制 point 的位置,默认在 target 的右下角,\n // offset 的基点也为默认位置\n return [targetElementWidth + pointOffset[0], targetElementHeight + pointOffset[1]];\n }\n\n private setPointPosition(pointPosition: [number, number]) {\n const currentPointContainer = this.renderer.createElement('div');\n\n this.renderer.addClass(currentPointContainer, 'thy-guider-highlight-container');\n if (this.guiderRef.config.pointClass) {\n this.addPointClass(currentPointContainer, this.guiderRef.config.pointClass);\n }\n this.renderer.setStyle(currentPointContainer, 'position', 'absolute');\n this.renderer.setStyle(currentPointContainer, 'left', pointPosition[0] + 'px');\n this.renderer.setStyle(currentPointContainer, 'top', pointPosition[1] + 'px');\n this.renderer.setStyle(currentPointContainer, 'transform', 'translate(-100%,-100%)');\n\n return currentPointContainer;\n }\n\n private addPointClass(el: any, pointClass: string | string[]) {\n if (isString(pointClass)) {\n this.renderer.addClass(el, pointClass);\n }\n if (isArray(pointClass)) {\n pointClass.forEach(classItem => {\n this.renderer.addClass(el, classItem);\n });\n }\n }\n\n private renderPoint(targetElement: Element, pointContainer: any) {\n this.renderer.appendChild(targetElement, pointContainer);\n this.lastPointerContainer = pointContainer;\n this.lastTargetElement = targetElement;\n this.createTip(this.step);\n }\n\n private removeLastPointContainer() {\n if (this.lastPointerContainer) {\n this.renderer.removeChild(this.document.body, this.lastPointerContainer);\n this.lastPointerContainer = undefined;\n }\n }\n\n private createTip(step: ThyGuiderStep) {\n if (this.isTipHasTarget(step)) {\n this.tipWithTarget(step);\n } else {\n this.tipWithoutTarget(step);\n }\n }\n\n private tipWithoutTarget(step: ThyGuiderStep) {\n const position = this.getTipPosition(step);\n this.lastPopoverRef = this.popover.open(this.guiderRef.config.hintComponent, {\n origin: null,\n originPosition: position,\n originActiveClass: '',\n panelClass: this.guiderRef.config.hintClass || '',\n backdropClosable: false,\n hasBackdrop: false,\n manualClosure: true,\n initialState: {\n guiderRef: this.guiderRef,\n stepRef: this\n },\n scrollStrategy: this.overlay.scrollStrategies.block()\n });\n }\n\n private getTipPosition(step: ThyGuiderStep): { x: number; y: number } {\n if (isPositionDataType(step.target)) {\n return step.target;\n }\n return this.guiderRef.config.defaultPosition;\n }\n\n private createTipContainer() {\n const tipContainer = this.renderer.createElement('div');\n this.renderer.addClass(tipContainer, 'thy-guider-content-container');\n this.renderer.setStyle(tipContainer, 'position', 'absolute');\n this.renderer.setStyle(tipContainer, 'top', '0px');\n this.renderer.setStyle(tipContainer, 'right', '0px');\n this.renderer.setStyle(tipContainer, 'bottom', '0px');\n this.renderer.setStyle(tipContainer, 'left', '0px');\n return tipContainer;\n }\n\n private tipWithTarget(step: ThyGuiderStep) {\n const targetElement = this.getTargetElement(step);\n const hintContainer = this.createTipContainer();\n\n this.renderer.appendChild(targetElement, hintContainer);\n this.lastTipContainer = hintContainer;\n\n const popoverConfig = {\n origin: hintContainer,\n placement: step.hintPlacement,\n panelClass: this.guiderRef.config.hintClass || '',\n backdropClosable: false,\n hasBackdrop: false,\n manualClosure: true,\n initialState: {\n guiderRef: this.guiderRef,\n stepRef: this\n },\n scrollStrategy: this.overlay.scrollStrategies.block()\n } as ThyPopoverConfig<any>;\n\n const pointPosition = this.getPointPosition(step, targetElement);\n const hintOffset = this.getTipOffset(step, pointPosition, targetElement);\n if (hintOffset) {\n popoverConfig.offset = hintOffset;\n }\n this.lastPopoverRef = this.popover.open(this.guiderRef.config.hintComponent, popoverConfig);\n }\n\n private getTipOffset(step: ThyGuiderStep, pointPosition: [number, number], targetElement: Element): number {\n const hintPlacement = step.hintPlacement;\n const targetElementClientRect = targetElement.getBoundingClientRect();\n const { width: targetElementWidth, height: targetElementHeight } = targetElementClientRect;\n let hintOffset: number = step.hintOffset || 0;\n const pointXAxisOffset = pointPosition[0];\n const pointYAxisOffset = pointPosition[1];\n\n if (hintPlacement.startsWith('top')) {\n if (pointYAxisOffset < pointContainerSize) {\n hintOffset = hintOffset + Math.abs(pointYAxisOffset) + pointContainerSize;\n }\n } else if (hintPlacement.startsWith('bottom')) {\n if (pointYAxisOffset > targetElementHeight) {\n hintOffset = hintOffset + (pointYAxisOffset - targetElementHeight) + 10; // 10 为空隙量\n }\n } else if (hintPlacement.startsWith('left')) {\n if (pointXAxisOffset < 0) {\n hintOffset = hintOffset + Math.abs(pointXAxisOffset) + pointContainerSize;\n }\n } else if (hintPlacement.startsWith('right')) {\n if (pointXAxisOffset > targetElementWidth) {\n hintOffset = hintOffset + (pointXAxisOffset - targetElementWidth) + 10; // 10 为空隙量\n }\n }\n return hintOffset;\n }\n\n private removeTip() {\n if (this.lastPopoverRef) {\n this.lastPopoverRef.close();\n this.lastPopoverRef = undefined;\n }\n if (this.lastTipContainer) {\n this.renderer.removeChild(this.document.body, this.lastTipContainer);\n this.lastTipContainer = undefined;\n }\n if (this.lastTargetElement && this.targetElementObserver) {\n this.targetElementObserver.unsubscribe();\n this.lastTargetElement = undefined;\n this.targetElementObserver = undefined;\n }\n }\n\n private isTipHasTarget(step: ThyGuiderStep): boolean {\n if (step.target) {\n return !isPositionDataType(step.target);\n } else {\n return !!this.guiderManager.getActiveTarget(step.key);\n }\n }\n}\n","import { Type } from '@angular/core';\nimport { ThyPlacement } from 'ngx-tethys/core';\n\n/**\n * @public\n * @order 30\n */\nexport interface ThyGuiderStep<TData = any> {\n /**\n * 步骤的唯一标识符\n */\n key: string;\n\n /**\n * 步骤的目标DOM selectors,如果为 [number,number] 类型则是相对浏览器视窗的位置\n * @type string | string[] | { x: number; y: number }\n */\n target?: string | string[] | { x: number; y: number };\n\n /**\n * 新手引导内容组件的值\n */\n data: TData;\n\n /**\n * 步骤对应的路由\n */\n route?: string;\n\n /**\n * 当前步骤内容组件基于 target 元素的方位\n */\n hintPlacement?: ThyPlacement;\n\n /**\n * 当前步骤内容组件基于位置的偏移量(与 popover 中 offset 相同作用)\n */\n hintOffset?: number;\n\n /**\n * 当前步骤高亮圆圈基于默认位置的偏移量\n */\n pointOffset?: [number, number];\n}\n\n/**\n * 新手引导服务的配置项\n * @public\n * @order 20\n */\nexport class ThyGuiderConfig {\n /**\n * 新手引导内容组件\n */\n hintComponent?: Type<unknown>;\n\n /**\n * 新手引导步骤信息\n * @type ThyGuiderStep[]\n */\n steps: ThyGuiderStep[];\n\n /**\n * 新手引导内容组件基于 target 元素的方位\n */\n hintPlacement?: ThyPlacement;\n\n /**\n * 新手引导内容组件默认位置(基于浏览器视窗,优先级小于 hintPlacement\n */\n defaultPosition?: { x: number; y: number };\n\n /**\n * 新手引导高亮圆圈基于默认位置的偏移量\n */\n pointOffset?: [number, number];\n\n /**\n * 新手引导内容组件基于位置的偏移量(与 popover 中 offset 相同作用)\n */\n hintOffset?: number;\n\n /**\n * 新手引导弹窗的自定义类\n * @type string | string[]\n */\n hintClass?: string | string[];\n\n /**\n * 新手引导point的自定义类\n * @type string | string[]\n */\n pointClass?: string | string[];\n}\n\nexport const defaultGuiderPositionConfig = {\n hintComponent: null as Type<unknown>,\n hintPlacement: 'rightBottom',\n defaultPosition: { x: 0, y: 0 },\n pointOffset: [0, 0],\n hintOffset: 4\n};\n","import { Router } from '@angular/router';\nimport { helpers } from 'ngx-tethys/util';\nimport { DOCUMENT } from '@angular/common';\nimport { ThyPopover } from 'ngx-tethys/popover';\nimport { IThyGuiderManager, IThyGuiderRef } from './guider.interface';\nimport { ThyGuiderStepRef } from './guider-step-ref';\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\nimport { ThyGuiderConfig, ThyGuiderStep } from './guider.class';\nimport { Inject, NgZone, RendererFactory2 } from '@angular/core';\nimport { Overlay } from '@angular/cdk/overlay';\n\nexport class ThyGuiderRef implements IThyGuiderRef {\n public steps: ThyGuiderStep[];\n\n private stepChange$: ReplaySubject<ThyGuiderStep> = new ReplaySubject<ThyGuiderStep>();\n\n private guiderEnded$ = new Subject<ThyGuiderStep>();\n\n private closed$ = new Subject<ThyGuiderStep>();\n\n private targetClicked$ = new Subject<ThyGuiderStep>();\n\n private currentStep: ThyGuiderStep;\n\n private currentStepIndex: number;\n\n private stepsRef: ThyGuiderStepRef[];\n\n constructor(\n public config: ThyGuiderConfig,\n private rendererFactory: RendererFactory2,\n private popover: ThyPopover,\n private router: Router,\n private guiderManager: IThyGuiderManager,\n private ngZone: NgZone,\n private overlay: Overlay,\n @Inject(DOCUMENT) private document: any\n ) {\n this.stepsRef = config.steps.map((step, index) => {\n return new ThyGuiderStepRef(step, index, this.rendererFactory, this.popover, this.guiderManager, this.overlay, this.document);\n });\n this.steps = config.steps;\n }\n\n public stepChange(): Observable<ThyGuiderStep> {\n return this.stepChange$.asObservable();\n }\n\n public ended(): Subject<ThyGuiderStep> {\n return this.guiderEnded$;\n }\n\n public closed(): Subject<ThyGuiderStep> {\n return this.closed$;\n }\n\n public targetClicked(): Subject<ThyGuiderStep> {\n return this.targetClicked$;\n }\n\n public start(startWith?: number) {\n this.to(startWith);\n\n return this.stepChange();\n }\n\n public next(): void {\n if (this.currentStepIndex + 1 > this.steps.length) {\n return;\n }\n this.to(this.currentStepIndex + 1);\n }\n\n public previous(): void {\n if (this.currentStepIndex - 1 < 0) {\n return;\n }\n\n this.to(this.currentStepIndex - 1);\n }\n\n public active(indexOrKey: number | string): void {\n if (helpers.isNumber(indexOrKey)) {\n this.to(indexOrKey as number);\n return;\n }\n if (helpers.isString(indexOrKey)) {\n const index = this.steps.findIndex(step => step.key === (indexOrKey as string));\n this.to(index);\n return;\n }\n }\n\n private to(index: number): void {\n this.removeExistedStep();\n\n if (!helpers.isNumber(index) || index >= this.steps.length || index < 0 || Number.isNaN(index)) {\n index = 0;\n }\n this.currentStep = this.steps[index];\n this.currentStepIndex = index;\n\n // update guiderManager\n this.guiderManager.updateActive(this.currentStep.key, this);\n if (this.currentStep.route && this.currentStep.route !== this.router.url) {\n this.ngZone.run(() => {\n this.router.navigateByUrl(this.currentStep.route);\n });\n return;\n }\n setTimeout(() => {\n this.drawStep();\n this.notifyStepClicked();\n }, 0);\n }\n\n public close(): void {\n this.removeManagerActiveKey();\n this.stepsRef[this.currentStepIndex]?.dispose();\n this.closed$.next(this.currentStep);\n }\n\n public end(): void {\n this.close();\n this.guiderEnded$.next(this.currentStep);\n this.notifyGuiderIsFinished();\n }\n\n private removeManagerActiveKey() {\n const activeKey = this.guiderManager.getActive().key;\n if (activeKey && this.steps.some(step => step.key === activeKey)) {\n this.guiderManager.updateActive('', undefined);\n }\n }\n\n private notifyStepClicked() {\n this.stepChange$.next(this.currentStep);\n }\n\n private drawStep() {\n this.removeExistedStep();\n this.stepsRef[this.currentStepIndex].show(this);\n }\n\n private notifyGuiderIsFinished() {\n this.stepChange$.complete();\n this.currentStepIndex = 0;\n }\n\n private removeExistedStep() {\n this.stepsRef[this.currentStepIndex]?.dispose();\n }\n}\n","import { ThyGuiderRef } from './guider-ref';\nimport { Injectable } from '@angular/core';\nimport { IThyGuiderManager } from './guider.interface';\n\n/**\n * @public\n * @order 60\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyGuiderManager implements IThyGuiderManager {\n private targetListMap: Record<string, HTMLElement> = {};\n\n private thyGuiderRef: ThyGuiderRef;\n\n private activeStepKey: string;\n\n constructor() {}\n\n public updateActive(key: string, guiderRef: ThyGuiderRef): void {\n this.activeStepKey = key;\n this.thyGuiderRef = guiderRef;\n }\n\n public addStepTarget(key: string, el: HTMLElement): void {\n this.targetListMap[key] = el;\n }\n\n public removeStepTarget(key: string): void {\n delete this.targetListMap[key];\n }\n\n public getActiveTarget(key: string): HTMLElement {\n return this.targetListMap[key];\n }\n\n public getActive(): { key: string; guiderRef: ThyGuiderRef } {\n return {\n key: this.activeStepKey,\n guiderRef: this.thyGuiderRef\n };\n }\n}\n","import { Router } from '@angular/router';\nimport { helpers } from 'ngx-tethys/util';\nimport { DOCUMENT } from '@angular/common';\nimport { ThyGuiderRef } from './guider-ref';\nimport { NgZone, inject } from '@angular/core';\nimport { ThyPopover } from 'ngx-tethys/popover';\nimport { ThyGuiderManager } from './guider-manager';\nimport { Injectable, RendererFactory2 } from '@angular/core';\nimport { ThyGuiderStep, ThyGuiderConfig, defaultGuiderPositionConfig } from './guider.class';\nimport { Overlay } from '@angular/cdk/overlay';\n\n/**\n * 新手引导服务\n * @public\n * @order 10\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyGuider {\n private readonly rendererFactory = inject(RendererFactory2);\n private popover = inject(ThyPopover);\n private router = inject(Router);\n private guiderManager = inject(ThyGuiderManager);\n private ngZone = inject(NgZone);\n private overlay = inject(Overlay);\n private document = inject(DOCUMENT);\n\n private guiderRef: ThyGuiderRef;\n\n private guiderRefs: ThyGuiderRef[] = [];\n\n public create(config: ThyGuiderConfig): ThyGuiderRef {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!config || !config?.steps || !helpers.isArray(config?.steps)) {\n throw new Error(`'config.steps' must be an array of length greater than 0`);\n }\n }\n const normalizeConfig = this.normalizeConfig(config);\n this.guiderRef = new ThyGuiderRef(\n normalizeConfig,\n this.rendererFactory,\n this.popover,\n this.router,\n this.guiderManager,\n this.ngZone,\n this.overlay,\n this.document\n );\n this.guiderRef.closed().subscribe(() => {\n const index = this.guiderRefs.findIndex(guiderRef => guiderRef === this.guiderRef);\n this.guiderRefs.splice(index, 1);\n });\n this.guiderRefs.push(this.guiderRef);\n return this.guiderRef;\n }\n\n private normalizeConfig(config: ThyGuiderConfig): ThyGuiderConfig {\n const normalizeConfig = Object.assign({}, defaultGuiderPositionConfig, config);\n normalizeConfig.steps = normalizeConfig.steps.map(step => {\n return this.normalizeStep(step, normalizeConfig);\n });\n return normalizeConfig;\n }\n\n private normalizeStep(step: ThyGuiderStep, config: ThyGuiderConfig): ThyGuiderStep {\n const tempStep = Object.assign(\n {\n hintPlacement: config.hintPlacement,\n hintOffset: config.hintOffset,\n pointOffset: config.pointOffset\n },\n step\n );\n\n return tempStep;\n }\n\n close() {\n if (this.guiderRefs.length > 0) {\n const lasGuiderRef = this.guiderRefs[this.guiderRefs.length - 1];\n if (lasGuiderRef) {\n lasGuiderRef.close();\n this.guiderRefs.pop();\n }\n }\n }\n}\n","import { ThyGuiderManager } from './guider-manager';\nimport { AfterViewInit, Directive, ElementRef, OnDestroy, OnInit, NgZone, inject, input } from '@angular/core';\nimport { take } from 'rxjs/operators';\n\n/**\n * 标记新手引导的步骤的target,使用指令方式的新手引导支持多路由跳转\n * @name thyGuiderTarget\n * @order 40\n */\n@Directive({\n selector: '[thyGuiderTarget]',\n exportAs: 'thyGuiderTarget'\n})\nexport class ThyGuiderTargetDirective implements OnInit, OnDestroy, AfterViewInit {\n private guiderManager = inject(ThyGuiderManager);\n private el = inject(ElementRef);\n private ngZone = inject(NgZone);\n\n /**\n * 标记当前元素对应的新手引导中 step 的 key\n */\n readonly target = input<string>(undefined, { alias: 'thyGuiderTarget' });\n\n ngOnInit() {\n this.guiderManager.addStepTarget(this.target(), this.el.nativeElement);\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n const { key, guiderRef } = this.guiderManager.getActive();\n if (key === this.target()) {\n const index = guiderRef.steps.findIndex(step => step.key === this.target());\n this.ngZone.run(() => {\n guiderRef.active(index);\n });\n }\n });\n }\n\n ngAfterViewInit() {}\n\n ngOnDestroy() {\n const { guiderRef } = this.guiderManager.getActive();\n if (guiderRef) {\n guiderRef.close();\n }\n this.guiderManager.removeStepTarget(this.target());\n }\n}\n","import { HostBinding, Component, OnInit, TemplateRef, Signal } from '@angular/core';\nimport { ThyGuiderRef } from '../guider-ref';\nimport { helpers } from 'ngx-tethys/util';\nimport { defaultGuiderPositionConfig, ThyGuiderStep } from '../guider.class';\nimport { ThyGuiderStepRef } from '../guider-step-ref';\nimport { NgTemplateOutlet, NgClass } from '@angular/common';\nimport { injectLocale, ThyGuiderLocale } from 'ngx-tethys/i18n';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-guider-hint',\n templateUrl: 'guider-hint.component.html',\n imports: [NgTemplateOutlet, NgClass]\n})\nexport class ThyGuiderHint implements OnInit {\n @HostBinding('class.thy-guider-tip-container') guiderHint = true;\n\n locale: Signal<ThyGuiderLocale> = injectLocale('guider');\n\n public guiderRef: ThyGuiderRef;\n\n public stepRef: ThyGuiderStepRef;\n\n public descriptionString: string;\n\n public descriptionTemplateRef: TemplateRef<any>;\n\n public currentStepIndex: number;\n\n constructor() {}\n\n ngOnInit() {\n this.setDescription(this.stepRef.step.data.description);\n }\n\n private setDescription(value: string | TemplateRef<any>) {\n if (helpers.isString(value)) {\n this.descriptionString = value as string;\n } else {\n this.descriptionTemplateRef = value as TemplateRef<any>;\n }\n }\n\n public jump() {\n this.guiderRef.end();\n }\n\n public prev() {\n this.guiderRef.previous();\n }\n\n public next() {\n this.guiderRef.next();\n }\n\n public end() {\n this.guiderRef.end();\n }\n\n public trackByFn(index: number, step: ThyGuiderStep) {\n return step.key || index;\n }\n}\n\ndefaultGuiderPositionConfig.hintComponent = ThyGuiderHint;\n","<div class=\"thy-guider-tip-top\">\n <img [src]=\"stepRef.step.data.image\" [alt]=\"stepRef.step.data.title\" />\n <a href=\"javascript:;\" class=\"thy-guider-tip-top-btn\" (click)=\"jump()\">{{ locale().skip }}</a>\n</div>\n<div class=\"thy-guider-tip-content\">\n <div class=\"thy-guider-tip-content-title\">{{ stepRef.step.data.title }}</div>\n <div class=\"thy-guider-tip-content-description\">\n @if (descriptionTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n } @else {\n {{ descriptionString }}\n }\n </div>\n <div class=\"thy-guider-tip-step\">\n <div class=\"thy-guider-tip-step-pagination\">\n @for (step of guiderRef.steps; track trackByFn(i, step); let i = $index) {\n <span class=\"pagination-item\" [ngClass]=\"{ active: i === stepRef.stepIndex }\"></span>\n }\n </div>\n <div class=\"thy-guider-tip-step-btn\">\n @if (stepRef.stepIndex !== 0) {\n <a href=\"javascript:;\" (click)=\"prev()\" class=\"thy-guider-tip-step-pre\">{{ locale().prev }}</a>\n }\n @if (stepRef.stepIndex !== guiderRef.steps.length - 1) {\n <a href=\"javascript:;\" (click)=\"next()\" class=\"thy-guider-tip-step-next\">{{ locale().next }}</a>\n } @else {\n <a href=\"javascript:;\" (click)=\"end()\" class=\"thy-guider-tip-step-next\">{{ locale().finish }}</a>\n }\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ThyGuider } from './guider.service';\nimport { CommonModule } from '@angular/common';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyButtonModule } from 'ngx-tethys/button';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyGuiderTargetDirective } from './guider.directive';\nimport { ThyGuiderHint } from './guider-hint/guider-hint.component';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule, ThyGuiderHint, ThyGuiderTargetDirective],\n exports: [ThyGuiderHint, ThyGuiderTargetDirective],\n providers: [ThyGuider]\n})\nexport class ThyGuiderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -746,10 +746,10 @@ class ThyI18nService {
746
746
  getLocale() {
747
747
  return this.locale;
748
748
  }
749
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyI18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
750
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyI18nService, providedIn: 'root' }); }
749
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyI18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
750
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyI18nService, providedIn: 'root' }); }
751
751
  }
752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyI18nService, decorators: [{
752
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyI18nService, decorators: [{
753
753
  type: Injectable,
754
754
  args: [{
755
755
  providedIn: 'root'
@@ -339,10 +339,10 @@ class ThyIconRegistry {
339
339
  setIconMode(mode) {
340
340
  this.internalIconMode = mode;
341
341
  }
342
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyIconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
343
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyIconRegistry, providedIn: 'root' }); }
342
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
343
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIconRegistry, providedIn: 'root' }); }
344
344
  }
345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyIconRegistry, decorators: [{
345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIconRegistry, decorators: [{
346
346
  type: Injectable,
347
347
  args: [{
348
348
  providedIn: 'root'
@@ -499,10 +499,10 @@ class ThyIcon {
499
499
  const titleElement = svg.querySelector('title');
500
500
  titleElement && titleElement.remove();
501
501
  }
502
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
503
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.6", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate", numberAttribute], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging", coerceBooleanProperty], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient", coerceBooleanProperty] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
502
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
503
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.8", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate", numberAttribute], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging", coerceBooleanProperty], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient", coerceBooleanProperty] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
504
504
  }
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyIcon, decorators: [{
505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIcon, decorators: [{
506
506
  type: Component,
507
507
  args: [{
508
508
  selector: 'thy-icon, [thy-icon]',
@@ -540,11 +540,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
540
540
  }] } });
541
541
 
542
542
  class ThyIconModule {
543
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
544
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ThyIconModule, imports: [ThyIcon, CommonModule, FormsModule], exports: [ThyIcon] }); }
545
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyIconModule, imports: [CommonModule, FormsModule] }); }
543
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
544
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: ThyIconModule, imports: [ThyIcon, CommonModule, FormsModule], exports: [ThyIcon] }); }
545
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIconModule, imports: [CommonModule, FormsModule] }); }
546
546
  }
547
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyIconModule, decorators: [{
547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIconModule, decorators: [{
548
548
  type: NgModule,
549
549
  args: [{
550
550
  declarations: [],
@@ -38,15 +38,15 @@ class ThyImageGroup {
38
38
  removeImage(index) {
39
39
  this.images.splice(index, 1);
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ThyImageGroup, isStandalone: true, selector: "thy-image-group, [thyImageGroup]", providers: [
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: ThyImageGroup, isStandalone: true, selector: "thy-image-group, [thyImageGroup]", providers: [
43
43
  {
44
44
  provide: THY_IMAGE_GROUP_COMPONENT,
45
45
  useClass: ThyImageGroup
46
46
  }
47
47
  ], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageGroup, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageGroup, decorators: [{
50
50
  type: Component,
51
51
  args: [{
52
52
  selector: 'thy-image-group, [thyImageGroup]',
@@ -469,10 +469,10 @@ class ThyImagePreview {
469
469
  updatePreviewImageWrapperTransform() {
470
470
  this.previewImageWrapperTransform = `translate3d(${this.position.x}px, ${this.position.y}px, 0)`;
471
471
  }
472
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImagePreview, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
473
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ThyImagePreview, isStandalone: true, selector: "thy-image-preview", outputs: { downloadClicked: "downloadClicked" }, host: { properties: { "class.thy-image-preview-moving": "isDragging" }, classAttribute: "thy-image-preview-wrap" }, viewQueries: [{ propertyName: "imageRef", first: true, predicate: ["imgRef"], descendants: true }, { propertyName: "imagePreviewWrapper", first: true, predicate: ["imagePreviewWrapper"], descendants: true, static: true }], exportAs: ["thyImagePreview"], ngImport: i0, template: "<div class=\"thy-image-preview\" [class.thy-image-preview-fullscreen]=\"isFullScreen\">\n @if (!isFullScreen) {\n <div class=\"thy-image-preview-header pl-10 pr-8\">\n <div class=\"thy-image-preview-header-info\">\n <p class=\"thy-image-name text-truncate\" [thyTooltipDisabled]=\"previewImage?.name?.length < 32\" [thyTooltip]=\"previewImage?.name\">\n {{ previewImage?.name }}\n </p>\n <span class=\"thy-image-size\"> {{ previewImage?.size }}</span>\n </div>\n <a thyAction thyIcon=\"close\" thyTooltip=\"\u9000\u51FA\u9884\u89C8\" href=\"javascript:;\" (click)=\"thyDialog.close()\"></a>\n </div>\n }\n @if (isFullScreen) {\n <a\n class=\"thy-image-preview-exit-fullscreen\"\n thyAction\n thyIcon=\"close\"\n thyTooltip=\"\u9000\u51FA\u9884\u89C8\"\n href=\"javascript:;\"\n (click)=\"thyFullscreen.exit()\"\n thyTooltip=\"\u9000\u51FA\u5168\u5C4F\"></a>\n }\n <div\n class=\"thy-image-preview-img-wrapper\"\n #imagePreviewWrapper\n cdkDrag\n [class.thy-image-preview-inside]=\"isInsideScreen\"\n [style.transform]=\"previewImageWrapperTransform\"\n [cdkDragFreeDragPosition]=\"position\"\n (cdkDragReleased)=\"dragReleased()\">\n @for (image of images; track $index; let imageIndex = $index) {\n @if (previewIndex === imageIndex && isLoadingDone) {\n <img #imgRef class=\"thy-image-preview-img\" [src]=\"image.objectURL || image.src\" [style.transform]=\"previewImageTransform\" />\n }\n }\n <thy-loading [thyDone]=\"isLoadingDone\"></thy-loading>\n </div>\n\n @if (images.length > 1 && !isFullScreen) {\n <div\n class=\"thy-image-preview-switch-left\"\n [thyTooltipDisabled]=\"previewIndex <= 0\"\n thyTooltip=\"\u4E0A\u4E00\u5F20\"\n [class.thy-image-preview-switch-left-disabled]=\"previewIndex <= 0\"\n (click)=\"prev()\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n <div\n class=\"thy-image-preview-switch-right\"\n thyTooltip=\"\u4E0B\u4E00\u5F20\"\n [thyTooltipDisabled]=\"previewIndex >= images.length - 1\"\n [class.thy-image-preview-switch-right-disabled]=\"previewIndex >= images.length - 1\"\n (click)=\"next()\">\n <thy-icon thyIconName=\"angle-right-bold\"> </thy-icon>\n </div>\n }\n @if (!isFullScreen) {\n <thy-actions thySize=\"xs\" class=\"thy-image-preview-operations py-3 px-4\">\n @for (option of previewOperations; track $index; let i = $index) {\n @if (!['original-scale', 'fit-screen', 'copyLink'].includes(option.type) || currentImageMode === option.type) {\n <a\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"option.icon\"\n [thyTooltip]=\"option.name\"\n [thyTooltipOffset]=\"13\"\n (click)=\"option.action(previewImage)\"></a>\n }\n @if (option?.type === 'zoom-out') {\n <span class=\"mr-2\"> {{ (zoom * 100).toFixed(0) + '%' }} </span>\n }\n @if (option?.type === 'rotate-right') {\n <thy-divider class=\"ml-2\" [thyVertical]=\"true\"></thy-divider>\n }\n @if (option.type === 'copyLink') {\n <a\n href=\"javascript:;\"\n thyAction\n [thyCopyTips]=\"option.name\"\n [thyActionIcon]=\"option.icon\"\n [thyCopyTipsOffset]=\"13\"\n (thyCopy)=\"copyLink($event)\"\n [thyCopyContent]=\"previewImageOriginSrc\"\n [thyShowNotify]=\"false\"></a>\n }\n }\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <span class=\"thy-image-preview-operations-text\"> {{ previewIndex + 1 }} / {{ images.length }} </span>\n </thy-actions>\n }\n</div>\n", dependencies: [{ kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyCopyDirective, selector: "[thyCopy]", inputs: ["thyCopySuccessText", "thyCopyTips", "thyCopyTipsOffset", "thyCopyContent", "thyShowNotify"], outputs: ["thyCopy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
472
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImagePreview, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
473
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyImagePreview, isStandalone: true, selector: "thy-image-preview", outputs: { downloadClicked: "downloadClicked" }, host: { properties: { "class.thy-image-preview-moving": "isDragging" }, classAttribute: "thy-image-preview-wrap" }, viewQueries: [{ propertyName: "imageRef", first: true, predicate: ["imgRef"], descendants: true }, { propertyName: "imagePreviewWrapper", first: true, predicate: ["imagePreviewWrapper"], descendants: true, static: true }], exportAs: ["thyImagePreview"], ngImport: i0, template: "<div class=\"thy-image-preview\" [class.thy-image-preview-fullscreen]=\"isFullScreen\">\n @if (!isFullScreen) {\n <div class=\"thy-image-preview-header pl-10 pr-8\">\n <div class=\"thy-image-preview-header-info\">\n <p class=\"thy-image-name text-truncate\" [thyTooltipDisabled]=\"previewImage?.name?.length < 32\" [thyTooltip]=\"previewImage?.name\">\n {{ previewImage?.name }}\n </p>\n <span class=\"thy-image-size\"> {{ previewImage?.size }}</span>\n </div>\n <a thyAction thyIcon=\"close\" thyTooltip=\"\u9000\u51FA\u9884\u89C8\" href=\"javascript:;\" (click)=\"thyDialog.close()\"></a>\n </div>\n }\n @if (isFullScreen) {\n <a\n class=\"thy-image-preview-exit-fullscreen\"\n thyAction\n thyIcon=\"close\"\n thyTooltip=\"\u9000\u51FA\u9884\u89C8\"\n href=\"javascript:;\"\n (click)=\"thyFullscreen.exit()\"\n thyTooltip=\"\u9000\u51FA\u5168\u5C4F\"></a>\n }\n <div\n class=\"thy-image-preview-img-wrapper\"\n #imagePreviewWrapper\n cdkDrag\n [class.thy-image-preview-inside]=\"isInsideScreen\"\n [style.transform]=\"previewImageWrapperTransform\"\n [cdkDragFreeDragPosition]=\"position\"\n (cdkDragReleased)=\"dragReleased()\">\n @for (image of images; track $index; let imageIndex = $index) {\n @if (previewIndex === imageIndex && isLoadingDone) {\n <img #imgRef class=\"thy-image-preview-img\" [src]=\"image.objectURL || image.src\" [style.transform]=\"previewImageTransform\" />\n }\n }\n <thy-loading [thyDone]=\"isLoadingDone\"></thy-loading>\n </div>\n\n @if (images.length > 1 && !isFullScreen) {\n <div\n class=\"thy-image-preview-switch-left\"\n [thyTooltipDisabled]=\"previewIndex <= 0\"\n thyTooltip=\"\u4E0A\u4E00\u5F20\"\n [class.thy-image-preview-switch-left-disabled]=\"previewIndex <= 0\"\n (click)=\"prev()\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n <div\n class=\"thy-image-preview-switch-right\"\n thyTooltip=\"\u4E0B\u4E00\u5F20\"\n [thyTooltipDisabled]=\"previewIndex >= images.length - 1\"\n [class.thy-image-preview-switch-right-disabled]=\"previewIndex >= images.length - 1\"\n (click)=\"next()\">\n <thy-icon thyIconName=\"angle-right-bold\"> </thy-icon>\n </div>\n }\n @if (!isFullScreen) {\n <thy-actions thySize=\"xs\" class=\"thy-image-preview-operations py-3 px-4\">\n @for (option of previewOperations; track $index; let i = $index) {\n @if (!['original-scale', 'fit-screen', 'copyLink'].includes(option.type) || currentImageMode === option.type) {\n <a\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"option.icon\"\n [thyTooltip]=\"option.name\"\n [thyTooltipOffset]=\"13\"\n (click)=\"option.action(previewImage)\"></a>\n }\n @if (option?.type === 'zoom-out') {\n <span class=\"mr-2\"> {{ (zoom * 100).toFixed(0) + '%' }} </span>\n }\n @if (option?.type === 'rotate-right') {\n <thy-divider class=\"ml-2\" [thyVertical]=\"true\"></thy-divider>\n }\n @if (option.type === 'copyLink') {\n <a\n href=\"javascript:;\"\n thyAction\n [thyCopyTips]=\"option.name\"\n [thyActionIcon]=\"option.icon\"\n [thyCopyTipsOffset]=\"13\"\n (thyCopy)=\"copyLink($event)\"\n [thyCopyContent]=\"previewImageOriginSrc\"\n [thyShowNotify]=\"false\"></a>\n }\n }\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <span class=\"thy-image-preview-operations-text\"> {{ previewIndex + 1 }} / {{ images.length }} </span>\n </thy-actions>\n }\n</div>\n", dependencies: [{ kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyCopyDirective, selector: "[thyCopy]", inputs: ["thyCopySuccessText", "thyCopyTips", "thyCopyTipsOffset", "thyCopyContent", "thyShowNotify"], outputs: ["thyCopy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
474
474
  }
475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImagePreview, decorators: [{
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImagePreview, decorators: [{
476
476
  type: Component,
477
477
  args: [{ selector: 'thy-image-preview', exportAs: 'thyImagePreview', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
478
478
  class: 'thy-image-preview-wrap',
@@ -562,10 +562,10 @@ class ThyImageService {
562
562
  this.ngUnsubscribe$.next();
563
563
  this.ngUnsubscribe$.complete();
564
564
  }
565
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
566
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageService }); }
565
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
566
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageService }); }
567
567
  }
568
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageService, decorators: [{
568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageService, decorators: [{
569
569
  type: Injectable
570
570
  }], ctorParameters: () => [] });
571
571
 
@@ -663,10 +663,10 @@ class ThyImageDirective {
663
663
  this.parentGroup.removeImage(index);
664
664
  }
665
665
  }
666
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
667
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.6", type: ThyImageDirective, isStandalone: true, selector: "img[thyImage]", inputs: { thySrc: "thySrc", thyPreviewSrc: "thyPreviewSrc", thyOriginSrc: "thyOriginSrc", thyImageMeta: "thyImageMeta", thyDisablePreview: ["thyDisablePreview", "thyDisablePreview", coerceBooleanProperty], thyResolveSize: ["thyResolveSize", "thyResolveSize", coerceBooleanProperty] }, host: { listeners: { "click": "onPreview($event)" }, properties: { "class.thy-image-disabled": "thyDisablePreview" }, classAttribute: "thy-image" }, exportAs: ["thyImage"], usesOnChanges: true, ngImport: i0 }); }
666
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
667
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.8", type: ThyImageDirective, isStandalone: true, selector: "img[thyImage]", inputs: { thySrc: "thySrc", thyPreviewSrc: "thyPreviewSrc", thyOriginSrc: "thyOriginSrc", thyImageMeta: "thyImageMeta", thyDisablePreview: ["thyDisablePreview", "thyDisablePreview", coerceBooleanProperty], thyResolveSize: ["thyResolveSize", "thyResolveSize", coerceBooleanProperty] }, host: { listeners: { "click": "onPreview($event)" }, properties: { "class.thy-image-disabled": "thyDisablePreview" }, classAttribute: "thy-image" }, exportAs: ["thyImage"], usesOnChanges: true, ngImport: i0 }); }
668
668
  }
669
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageDirective, decorators: [{
669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageDirective, decorators: [{
670
670
  type: Directive,
671
671
  args: [{
672
672
  selector: 'img[thyImage]',
@@ -694,8 +694,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
694
694
  }] } });
695
695
 
696
696
  class ThyImageModule {
697
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
698
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ThyImageModule, imports: [CommonModule,
697
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
698
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: ThyImageModule, imports: [CommonModule,
699
699
  PortalModule,
700
700
  DragDropModule,
701
701
  ThyIconModule,
@@ -708,7 +708,7 @@ class ThyImageModule {
708
708
  ThyImageDirective,
709
709
  ThyImageGroup,
710
710
  ThyImagePreview], exports: [ThyImageDirective, ThyImageGroup, ThyImagePreview] }); }
711
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageModule, providers: [ThyImageService, THY_IMAGE_DEFAULT_PREVIEW_OPTIONS_PROVIDER], imports: [CommonModule,
711
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageModule, providers: [ThyImageService, THY_IMAGE_DEFAULT_PREVIEW_OPTIONS_PROVIDER], imports: [CommonModule,
712
712
  PortalModule,
713
713
  DragDropModule,
714
714
  ThyIconModule,
@@ -720,7 +720,7 @@ class ThyImageModule {
720
720
  ThyActionModule,
721
721
  ThyImagePreview] }); }
722
722
  }
723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyImageModule, decorators: [{
723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyImageModule, decorators: [{
724
724
  type: NgModule,
725
725
  args: [{
726
726
  exports: [ThyImageDirective, ThyImageGroup, ThyImagePreview],