valtech-components 2.0.589 → 2.0.591

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.
@@ -48,6 +48,12 @@ export class LinksAccordionComponent {
48
48
  */
49
49
  this.navigate = new EventEmitter();
50
50
  }
51
+ /**
52
+ * Gets a unique value for the accordion section.
53
+ */
54
+ getSectionValue(section, index) {
55
+ return section.titleKey || section.title || `section-${index}`;
56
+ }
51
57
  /**
52
58
  * Gets the section title, supporting i18n via titleKey.
53
59
  */
@@ -91,9 +97,10 @@ export class LinksAccordionComponent {
91
97
  <div class="links-accordion">
92
98
  <ion-accordion-group #accordionGroup>
93
99
  <ion-accordion
94
- *ngFor="let section of props.sections"
95
- [value]="section.title"
96
- [toggleIcon]="section.links?.length ? 'chevron-down-outline' : 'chevron-forward-outline'"
100
+ *ngFor="let section of props.sections; let i = index"
101
+ [value]="getSectionValue(section, i)"
102
+ [toggleIcon]="section.links?.length ? 'chevron-down-outline' : ''"
103
+ [readonly]="!section.links?.length"
97
104
  >
98
105
  <ion-item
99
106
  slot="header"
@@ -132,9 +139,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
132
139
  <div class="links-accordion">
133
140
  <ion-accordion-group #accordionGroup>
134
141
  <ion-accordion
135
- *ngFor="let section of props.sections"
136
- [value]="section.title"
137
- [toggleIcon]="section.links?.length ? 'chevron-down-outline' : 'chevron-forward-outline'"
142
+ *ngFor="let section of props.sections; let i = index"
143
+ [value]="getSectionValue(section, i)"
144
+ [toggleIcon]="section.links?.length ? 'chevron-down-outline' : ''"
145
+ [readonly]="!section.links?.length"
138
146
  >
139
147
  <ion-item
140
148
  slot="header"
@@ -174,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
174
182
  type: ViewChild,
175
183
  args: ['accordionGroup']
176
184
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGlua3MtYWNjb3JkaW9uL2xpbmtzLWFjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFrQixNQUFNLDJCQUEyQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFHckQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUE2Q0gsTUFBTSxPQUFPLHVCQUF1QjtJQW9CbEMsWUFDVSxNQUFjLEVBQ2QsUUFBd0I7UUFEeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBckIxQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sVUFBSyxHQUEyQjtZQUN2QyxRQUFRLEVBQUUsRUFBRTtZQUNaLGVBQWUsRUFBRSw2QkFBNkI7WUFDOUMsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixxQkFBcUIsRUFBRSxJQUFJO1NBQzVCLENBQUM7UUFFRjs7V0FFRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBTy9DLENBQUM7SUFFSjs7T0FFRztJQUNILGVBQWUsQ0FBQyxPQUE4QjtRQUM1QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsSUFBd0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFlLEVBQUUsS0FBYTtRQUM5QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3hDLENBQUM7UUFFRCx3QkFBd0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBRUQsYUFBYTtRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLFdBQVc7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQXBFVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixnUUF4Q3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNULGdUQXRDUyxZQUFZLHFWQUFFLGlCQUFpQixxSkFBRSxZQUFZLDZJQUFFLE9BQU8sME5BQUUsUUFBUSw2RkFBRSxPQUFPOzs0RkF5Q3hFLHVCQUF1QjtrQkE1Q25DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsWUFDMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1Q7d0dBU1EsS0FBSztzQkFBYixLQUFLO2dCQVVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBRXNCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkFjY29yZGlvbiwgSW9uQWNjb3JkaW9uR3JvdXAsIElvbkl0ZW0sIElvbkxhYmVsLCBJb25MaXN0LCBNZW51Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IExpbmtzQWNjb3JkaW9uTGluaywgTGlua3NBY2NvcmRpb25NZXRhZGF0YSwgTGlua3NBY2NvcmRpb25TZWN0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogdmFsLWxpbmtzLWFjY29yZGlvblxuICpcbiAqIEEgaGllcmFyY2hpY2FsIG5hdmlnYXRpb24gY29tcG9uZW50IHVzaW5nIElvbmljIGFjY29yZGlvbnMuXG4gKiBTdXBwb3J0cyBzZWN0aW9ucyB3aXRoIG9wdGlvbmFsIHN1Yi1saW5rcyBhbmQgYXV0b21hdGljIG1lbnUgY2xvc2luZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1saW5rcy1hY2NvcmRpb25cbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBzZWN0aW9uczogW1xuICogICAgICAgeyB0aXRsZTogJ0hvbWUnLCByb3V0ZTogWycvJ10gfSxcbiAqICAgICAgIHsgdGl0bGU6ICdQcm9kdWN0cycsIGxpbmtzOiBbXG4gKiAgICAgICAgIHsgdGV4dDogJ0NhdGFsb2cnLCByb3V0ZTogWycvcHJvZHVjdHMnXSB9LFxuICogICAgICAgICB7IHRleHQ6ICdOZXcgQXJyaXZhbHMnLCByb3V0ZTogWycvcHJvZHVjdHMnLCAnbmV3J10gfVxuICogICAgICAgXX1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogICAobmF2aWdhdGUpPVwib25OYXZpZ2F0ZSgkZXZlbnQpXCJcbiAqID48L3ZhbC1saW5rcy1hY2NvcmRpb24+XG4gKlxuICogQGlucHV0IHByb3BzIC0gQWNjb3JkaW9uIGNvbmZpZ3VyYXRpb25cbiAqIEBvdXRwdXQgbmF2aWdhdGUgLSBFbWl0cyByb3V0ZSB3aGVuIGEgbGluayBpcyBjbGlja2VkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1saW5rcy1hY2NvcmRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25BY2NvcmRpb25Hcm91cCwgSW9uQWNjb3JkaW9uLCBJb25JdGVtLCBJb25MYWJlbCwgSW9uTGlzdF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImxpbmtzLWFjY29yZGlvblwiPlxuICAgICAgPGlvbi1hY2NvcmRpb24tZ3JvdXAgI2FjY29yZGlvbkdyb3VwPlxuICAgICAgICA8aW9uLWFjY29yZGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHByb3BzLnNlY3Rpb25zXCJcbiAgICAgICAgICBbdmFsdWVdPVwic2VjdGlvbi50aXRsZVwiXG4gICAgICAgICAgW3RvZ2dsZUljb25dPVwic2VjdGlvbi5saW5rcz8ubGVuZ3RoID8gJ2NoZXZyb24tZG93bi1vdXRsaW5lJyA6ICdjaGV2cm9uLWZvcndhcmQtb3V0bGluZSdcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICBzbG90PVwiaGVhZGVyXCJcbiAgICAgICAgICAgIGNvbG9yPVwibGlnaHRcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3IgfHwgJ3ZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKScgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VjdGlvbi5yb3V0ZSA/IG9uTGlua0NsaWNrKHNlY3Rpb24ucm91dGUsICRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAgIFtidXR0b25dPVwiISFzZWN0aW9uLnJvdXRlXCJcbiAgICAgICAgICAgIGxpbmVzPVwibm9uZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImFjY29yZGlvbi1sYWJlbFwiPnt7IGdldFNlY3Rpb25UaXRsZShzZWN0aW9uKSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc2xvdD1cImNvbnRlbnRcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3IgfHwgJ3ZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKScgfVwiXG4gICAgICAgICAgICAqbmdJZj1cInNlY3Rpb24ubGlua3M/Lmxlbmd0aFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1saXN0IGxpbmVzPVwibm9uZVwiPlxuICAgICAgICAgICAgICA8aW9uLWl0ZW1cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGluayBvZiBzZWN0aW9uLmxpbmtzXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IHByb3BzLmJhY2tncm91bmRDb2xvciB8fCAndmFyKC0taW9uLWJhY2tncm91bmQtY29sb3IpJyB9XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2sobGluay5yb3V0ZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiYWNjb3JkaW9uLWl0ZW0tbGFiZWxcIj57eyBnZXRMaW5rVGV4dChsaW5rKSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgPC9pb24tbGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9pb24tYWNjb3JkaW9uPlxuICAgICAgPC9pb24tYWNjb3JkaW9uLWdyb3VwPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9saW5rcy1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlua3NBY2NvcmRpb25Db21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBBY2NvcmRpb24gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBMaW5rc0FjY29yZGlvbk1ldGFkYXRhID0ge1xuICAgIHNlY3Rpb25zOiBbXSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvciknLFxuICAgIGNsb3NlTWVudU9uQ2xpY2s6IHRydWUsXG4gICAgY2xvc2VBY2NvcmRpb25PbkNsaWNrOiB0cnVlLFxuICB9O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgcm91dGUgd2hlbiBhIGxpbmsgaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBuYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYWNjb3JkaW9uR3JvdXAnKSBhY2NvcmRpb25Hcm91cCE6IElvbkFjY29yZGlvbkdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBtZW51Q3RybDogTWVudUNvbnRyb2xsZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzZWN0aW9uIHRpdGxlLCBzdXBwb3J0aW5nIGkxOG4gdmlhIHRpdGxlS2V5LlxuICAgKi9cbiAgZ2V0U2VjdGlvblRpdGxlKHNlY3Rpb246IExpbmtzQWNjb3JkaW9uU2VjdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKHNlY3Rpb24udGl0bGVLZXkgJiYgdGhpcy5wcm9wcy5pMThuTmFtZXNwYWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQoc2VjdGlvbi50aXRsZUtleSwgdGhpcy5wcm9wcy5pMThuTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlY3Rpb24udGl0bGUgfHwgJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGluayB0ZXh0LCBzdXBwb3J0aW5nIGkxOG4gdmlhIHRleHRLZXkuXG4gICAqL1xuICBnZXRMaW5rVGV4dChsaW5rOiBMaW5rc0FjY29yZGlvbkxpbmspOiBzdHJpbmcge1xuICAgIGlmIChsaW5rLnRleHRLZXkgJiYgdGhpcy5wcm9wcy5pMThuTmFtZXNwYWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQobGluay50ZXh0S2V5LCB0aGlzLnByb3BzLmkxOG5OYW1lc3BhY2UpO1xuICAgIH1cbiAgICByZXR1cm4gbGluay50ZXh0IHx8ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbGluayBjbGljayAtIGNsb3NlcyBhY2NvcmRpb24vbWVudSBhbmQgbmF2aWdhdGVzLlxuICAgKi9cbiAgYXN5bmMgb25MaW5rQ2xpY2socm91dGU6IHN0cmluZ1tdLCBldmVudD86IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSBhY2NvcmRpb24gYmVmb3JlIG5hdmlnYXRpbmdcbiAgICBpZiAodGhpcy5wcm9wcy5jbG9zZUFjY29yZGlvbk9uQ2xpY2sgIT09IGZhbHNlICYmIHRoaXMuYWNjb3JkaW9uR3JvdXApIHtcbiAgICAgIHRoaXMuYWNjb3JkaW9uR3JvdXAudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgbWVudSBpZiBlbmFibGVkXG4gICAgaWYgKHRoaXMucHJvcHMuY2xvc2VNZW51T25DbGljayAhPT0gZmFsc2UpIHtcbiAgICAgIGF3YWl0IHRoaXMubWVudUN0cmwuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvLyBFbWl0IGV2ZW50XG4gICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHJvdXRlKTtcblxuICAgIC8vIE5hdmlnYXRlXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGUpO1xuICB9XG59XG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGlua3MtYWNjb3JkaW9uL2xpbmtzLWFjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFrQixNQUFNLDJCQUEyQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFHckQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUE4Q0gsTUFBTSxPQUFPLHVCQUF1QjtJQW9CbEMsWUFDVSxNQUFjLEVBQ2QsUUFBd0I7UUFEeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBckIxQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sVUFBSyxHQUEyQjtZQUN2QyxRQUFRLEVBQUUsRUFBRTtZQUNaLGVBQWUsRUFBRSw2QkFBNkI7WUFDOUMsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixxQkFBcUIsRUFBRSxJQUFJO1NBQzVCLENBQUM7UUFFRjs7V0FFRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBTy9DLENBQUM7SUFFSjs7T0FFRztJQUNILGVBQWUsQ0FBQyxPQUE4QixFQUFFLEtBQWE7UUFDM0QsT0FBTyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksV0FBVyxLQUFLLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsT0FBOEI7UUFDNUMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLElBQXdCO1FBQ2xDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBZSxFQUFFLEtBQWE7UUFDOUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBRUQsb0NBQW9DO1FBQ3BDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsd0JBQXdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUVELGFBQWE7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixXQUFXO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0EzRVUsdUJBQXVCO21HQUF2Qix1QkFBdUIsZ1FBekN4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1QsZ1RBdkNTLFlBQVkscVZBQUUsaUJBQWlCLHFKQUFFLFlBQVksNklBQUUsT0FBTywwTkFBRSxRQUFRLDZGQUFFLE9BQU87OzRGQTBDeEUsdUJBQXVCO2tCQTdDbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxZQUMxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7d0dBU1EsS0FBSztzQkFBYixLQUFLO2dCQVVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBRXNCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkFjY29yZGlvbiwgSW9uQWNjb3JkaW9uR3JvdXAsIElvbkl0ZW0sIElvbkxhYmVsLCBJb25MaXN0LCBNZW51Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IExpbmtzQWNjb3JkaW9uTGluaywgTGlua3NBY2NvcmRpb25NZXRhZGF0YSwgTGlua3NBY2NvcmRpb25TZWN0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogdmFsLWxpbmtzLWFjY29yZGlvblxuICpcbiAqIEEgaGllcmFyY2hpY2FsIG5hdmlnYXRpb24gY29tcG9uZW50IHVzaW5nIElvbmljIGFjY29yZGlvbnMuXG4gKiBTdXBwb3J0cyBzZWN0aW9ucyB3aXRoIG9wdGlvbmFsIHN1Yi1saW5rcyBhbmQgYXV0b21hdGljIG1lbnUgY2xvc2luZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1saW5rcy1hY2NvcmRpb25cbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBzZWN0aW9uczogW1xuICogICAgICAgeyB0aXRsZTogJ0hvbWUnLCByb3V0ZTogWycvJ10gfSxcbiAqICAgICAgIHsgdGl0bGU6ICdQcm9kdWN0cycsIGxpbmtzOiBbXG4gKiAgICAgICAgIHsgdGV4dDogJ0NhdGFsb2cnLCByb3V0ZTogWycvcHJvZHVjdHMnXSB9LFxuICogICAgICAgICB7IHRleHQ6ICdOZXcgQXJyaXZhbHMnLCByb3V0ZTogWycvcHJvZHVjdHMnLCAnbmV3J10gfVxuICogICAgICAgXX1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogICAobmF2aWdhdGUpPVwib25OYXZpZ2F0ZSgkZXZlbnQpXCJcbiAqID48L3ZhbC1saW5rcy1hY2NvcmRpb24+XG4gKlxuICogQGlucHV0IHByb3BzIC0gQWNjb3JkaW9uIGNvbmZpZ3VyYXRpb25cbiAqIEBvdXRwdXQgbmF2aWdhdGUgLSBFbWl0cyByb3V0ZSB3aGVuIGEgbGluayBpcyBjbGlja2VkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1saW5rcy1hY2NvcmRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25BY2NvcmRpb25Hcm91cCwgSW9uQWNjb3JkaW9uLCBJb25JdGVtLCBJb25MYWJlbCwgSW9uTGlzdF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImxpbmtzLWFjY29yZGlvblwiPlxuICAgICAgPGlvbi1hY2NvcmRpb24tZ3JvdXAgI2FjY29yZGlvbkdyb3VwPlxuICAgICAgICA8aW9uLWFjY29yZGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHByb3BzLnNlY3Rpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICBbdmFsdWVdPVwiZ2V0U2VjdGlvblZhbHVlKHNlY3Rpb24sIGkpXCJcbiAgICAgICAgICBbdG9nZ2xlSWNvbl09XCJzZWN0aW9uLmxpbmtzPy5sZW5ndGggPyAnY2hldnJvbi1kb3duLW91dGxpbmUnIDogJydcIlxuICAgICAgICAgIFtyZWFkb25seV09XCIhc2VjdGlvbi5saW5rcz8ubGVuZ3RoXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgc2xvdD1cImhlYWRlclwiXG4gICAgICAgICAgICBjb2xvcj1cImxpZ2h0XCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZDogcHJvcHMuYmFja2dyb3VuZENvbG9yIHx8ICd2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvciknIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlY3Rpb24ucm91dGUgPyBvbkxpbmtDbGljayhzZWN0aW9uLnJvdXRlLCAkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICBbYnV0dG9uXT1cIiEhc2VjdGlvbi5yb3V0ZVwiXG4gICAgICAgICAgICBsaW5lcz1cIm5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJhY2NvcmRpb24tbGFiZWxcIj57eyBnZXRTZWN0aW9uVGl0bGUoc2VjdGlvbikgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHNsb3Q9XCJjb250ZW50XCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZDogcHJvcHMuYmFja2dyb3VuZENvbG9yIHx8ICd2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvciknIH1cIlxuICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uLmxpbmtzPy5sZW5ndGhcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24tbGlzdCBsaW5lcz1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxpbmsgb2Ygc2VjdGlvbi5saW5rc1wiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3IgfHwgJ3ZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKScgfVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGxpbmsucm91dGUsICRldmVudClcIlxuICAgICAgICAgICAgICAgIGJ1dHRvblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWxhYmVsXCI+e3sgZ2V0TGlua1RleHQobGluaykgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvaW9uLWFjY29yZGlvbj5cbiAgICAgIDwvaW9uLWFjY29yZGlvbi1ncm91cD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbGlua3MtYWNjb3JkaW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpbmtzQWNjb3JkaW9uQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICAvKipcbiAgICogQWNjb3JkaW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogTGlua3NBY2NvcmRpb25NZXRhZGF0YSA9IHtcbiAgICBzZWN0aW9uczogW10sXG4gICAgYmFja2dyb3VuZENvbG9yOiAndmFyKC0taW9uLWJhY2tncm91bmQtY29sb3IpJyxcbiAgICBjbG9zZU1lbnVPbkNsaWNrOiB0cnVlLFxuICAgIGNsb3NlQWNjb3JkaW9uT25DbGljazogdHJ1ZSxcbiAgfTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHJvdXRlIHdoZW4gYSBsaW5rIGlzIGNsaWNrZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgbmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2FjY29yZGlvbkdyb3VwJykgYWNjb3JkaW9uR3JvdXAhOiBJb25BY2NvcmRpb25Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgbWVudUN0cmw6IE1lbnVDb250cm9sbGVyXG4gICkge31cblxuICAvKipcbiAgICogR2V0cyBhIHVuaXF1ZSB2YWx1ZSBmb3IgdGhlIGFjY29yZGlvbiBzZWN0aW9uLlxuICAgKi9cbiAgZ2V0U2VjdGlvblZhbHVlKHNlY3Rpb246IExpbmtzQWNjb3JkaW9uU2VjdGlvbiwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlY3Rpb24udGl0bGVLZXkgfHwgc2VjdGlvbi50aXRsZSB8fCBgc2VjdGlvbi0ke2luZGV4fWA7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VjdGlvbiB0aXRsZSwgc3VwcG9ydGluZyBpMThuIHZpYSB0aXRsZUtleS5cbiAgICovXG4gIGdldFNlY3Rpb25UaXRsZShzZWN0aW9uOiBMaW5rc0FjY29yZGlvblNlY3Rpb24pOiBzdHJpbmcge1xuICAgIGlmIChzZWN0aW9uLnRpdGxlS2V5ICYmIHRoaXMucHJvcHMuaTE4bk5hbWVzcGFjZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KHNlY3Rpb24udGl0bGVLZXksIHRoaXMucHJvcHMuaTE4bk5hbWVzcGFjZSk7XG4gICAgfVxuICAgIHJldHVybiBzZWN0aW9uLnRpdGxlIHx8ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxpbmsgdGV4dCwgc3VwcG9ydGluZyBpMThuIHZpYSB0ZXh0S2V5LlxuICAgKi9cbiAgZ2V0TGlua1RleHQobGluazogTGlua3NBY2NvcmRpb25MaW5rKTogc3RyaW5nIHtcbiAgICBpZiAobGluay50ZXh0S2V5ICYmIHRoaXMucHJvcHMuaTE4bk5hbWVzcGFjZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KGxpbmsudGV4dEtleSwgdGhpcy5wcm9wcy5pMThuTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmsudGV4dCB8fCAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGxpbmsgY2xpY2sgLSBjbG9zZXMgYWNjb3JkaW9uL21lbnUgYW5kIG5hdmlnYXRlcy5cbiAgICovXG4gIGFzeW5jIG9uTGlua0NsaWNrKHJvdXRlOiBzdHJpbmdbXSwgZXZlbnQ/OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgYWNjb3JkaW9uIGJlZm9yZSBuYXZpZ2F0aW5nXG4gICAgaWYgKHRoaXMucHJvcHMuY2xvc2VBY2NvcmRpb25PbkNsaWNrICE9PSBmYWxzZSAmJiB0aGlzLmFjY29yZGlvbkdyb3VwKSB7XG4gICAgICB0aGlzLmFjY29yZGlvbkdyb3VwLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIENsb3NlIG1lbnUgaWYgZW5hYmxlZFxuICAgIGlmICh0aGlzLnByb3BzLmNsb3NlTWVudU9uQ2xpY2sgIT09IGZhbHNlKSB7XG4gICAgICBhd2FpdCB0aGlzLm1lbnVDdHJsLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLy8gRW1pdCBldmVudFxuICAgIHRoaXMubmF2aWdhdGUuZW1pdChyb3V0ZSk7XG5cbiAgICAvLyBOYXZpZ2F0ZVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHJvdXRlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,180 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, signal, computed } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ /**
6
+ * val-rotating-text
7
+ *
8
+ * A component that rotates through an array of text messages with smooth animations.
9
+ * Features entrance/exit animations with fade, blur, and scale effects.
10
+ *
11
+ * @example
12
+ * <val-rotating-text
13
+ * [props]="{
14
+ * messages: [
15
+ * { aboveTitle: 'Welcome', title: 'Hello World' },
16
+ * { aboveTitle: 'Tip:', title: 'Stay curious' }
17
+ * ],
18
+ * interval: 4000,
19
+ * showDots: true
20
+ * }"
21
+ * ></val-rotating-text>
22
+ *
23
+ * @input props - Configuration for the rotating text component
24
+ */
25
+ export class RotatingTextComponent {
26
+ constructor() {
27
+ this.intervalId = null;
28
+ /**
29
+ * Component configuration.
30
+ */
31
+ this.props = {
32
+ messages: [],
33
+ interval: 4000,
34
+ showDots: true,
35
+ aboveTitleColor: 'medium',
36
+ titleColor: 'dark',
37
+ };
38
+ // Animation state
39
+ this.currentIndex = signal(0);
40
+ this.isEntering = signal(true);
41
+ this.isExiting = signal(false);
42
+ // Current message computed from index
43
+ this.currentMessage = computed(() => this.props.messages[this.currentIndex()]);
44
+ }
45
+ // Color values
46
+ get aboveTitleColorValue() {
47
+ const color = this.props.aboveTitleColor || 'medium';
48
+ return color.startsWith('--') || color.startsWith('#') || color.startsWith('rgb')
49
+ ? color
50
+ : `var(--ion-color-${color})`;
51
+ }
52
+ get titleColorValue() {
53
+ const color = this.props.titleColor || 'dark';
54
+ return color.startsWith('--') || color.startsWith('#') || color.startsWith('rgb')
55
+ ? color
56
+ : `var(--ion-color-${color})`;
57
+ }
58
+ ngOnInit() {
59
+ if (this.props.messages.length > 1) {
60
+ this.startRotation();
61
+ }
62
+ }
63
+ ngOnDestroy() {
64
+ this.stopRotation();
65
+ }
66
+ startRotation() {
67
+ const interval = this.props.interval ?? 4000;
68
+ this.intervalId = setInterval(() => {
69
+ this.rotateToNext();
70
+ }, interval);
71
+ }
72
+ stopRotation() {
73
+ if (this.intervalId) {
74
+ clearInterval(this.intervalId);
75
+ this.intervalId = null;
76
+ }
77
+ }
78
+ rotateToNext() {
79
+ // Start exit animation
80
+ this.isEntering.set(false);
81
+ this.isExiting.set(true);
82
+ // After exit animation, change text and start enter animation
83
+ setTimeout(() => {
84
+ this.currentIndex.update((i) => (i + 1) % this.props.messages.length);
85
+ this.isExiting.set(false);
86
+ this.isEntering.set(true);
87
+ }, 400); // Match exit animation duration
88
+ }
89
+ /**
90
+ * Navigate to a specific message by index.
91
+ */
92
+ goToMessage(index) {
93
+ if (index === this.currentIndex())
94
+ return;
95
+ this.stopRotation();
96
+ this.isEntering.set(false);
97
+ this.isExiting.set(true);
98
+ setTimeout(() => {
99
+ this.currentIndex.set(index);
100
+ this.isExiting.set(false);
101
+ this.isEntering.set(true);
102
+ if (this.props.messages.length > 1) {
103
+ this.startRotation();
104
+ }
105
+ }, 400);
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RotatingTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RotatingTextComponent, isStandalone: true, selector: "val-rotating-text", inputs: { props: "props" }, ngImport: i0, template: `
109
+ <div
110
+ class="rotating-banner"
111
+ [ngStyle]="{ background: props.backgroundColor || 'transparent' }"
112
+ >
113
+ <div
114
+ class="rotating-text"
115
+ [class.text-enter]="isEntering()"
116
+ [class.text-exit]="isExiting()"
117
+ >
118
+ <div
119
+ class="above-title"
120
+ [ngStyle]="{ color: aboveTitleColorValue }"
121
+ >
122
+ {{ currentMessage()?.aboveTitle }}
123
+ </div>
124
+ <div
125
+ class="title"
126
+ [ngStyle]="{ color: titleColorValue }"
127
+ >
128
+ {{ currentMessage()?.title }}
129
+ </div>
130
+ </div>
131
+ <div class="progress-dots" *ngIf="props.showDots !== false">
132
+ <div
133
+ *ngFor="let message of props.messages; let i = index"
134
+ class="progress-dot"
135
+ [class.active]="i === currentIndex()"
136
+ (click)="goToMessage(i)"
137
+ ></div>
138
+ </div>
139
+ </div>
140
+ `, isInline: true, styles: [".rotating-banner{text-align:center;padding:2rem 1rem;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.rotating-text{position:relative;overflow:hidden}.rotating-text .above-title{font-size:1.125rem;margin-bottom:.75rem;font-family:monospace}.rotating-text .title{font-size:2rem;font-weight:900}.text-enter{animation:textEnter .6s ease-out forwards}.text-exit{animation:textExit .4s ease-in forwards}@keyframes textEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes textExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}}.progress-dots{display:flex;gap:8px;margin-top:1.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-medium-tint);transition:all .3s ease;cursor:pointer}.progress-dot.active{background:var(--ion-color-dark);transform:scale(1.3)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
141
+ }
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RotatingTextComponent, decorators: [{
143
+ type: Component,
144
+ args: [{ selector: 'val-rotating-text', standalone: true, imports: [CommonModule], template: `
145
+ <div
146
+ class="rotating-banner"
147
+ [ngStyle]="{ background: props.backgroundColor || 'transparent' }"
148
+ >
149
+ <div
150
+ class="rotating-text"
151
+ [class.text-enter]="isEntering()"
152
+ [class.text-exit]="isExiting()"
153
+ >
154
+ <div
155
+ class="above-title"
156
+ [ngStyle]="{ color: aboveTitleColorValue }"
157
+ >
158
+ {{ currentMessage()?.aboveTitle }}
159
+ </div>
160
+ <div
161
+ class="title"
162
+ [ngStyle]="{ color: titleColorValue }"
163
+ >
164
+ {{ currentMessage()?.title }}
165
+ </div>
166
+ </div>
167
+ <div class="progress-dots" *ngIf="props.showDots !== false">
168
+ <div
169
+ *ngFor="let message of props.messages; let i = index"
170
+ class="progress-dot"
171
+ [class.active]="i === currentIndex()"
172
+ (click)="goToMessage(i)"
173
+ ></div>
174
+ </div>
175
+ </div>
176
+ `, styles: [".rotating-banner{text-align:center;padding:2rem 1rem;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.rotating-text{position:relative;overflow:hidden}.rotating-text .above-title{font-size:1.125rem;margin-bottom:.75rem;font-family:monospace}.rotating-text .title{font-size:2rem;font-weight:900}.text-enter{animation:textEnter .6s ease-out forwards}.text-exit{animation:textExit .4s ease-in forwards}@keyframes textEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes textExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}}.progress-dots{display:flex;gap:8px;margin-top:1.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-medium-tint);transition:all .3s ease;cursor:pointer}.progress-dot.active{background:var(--ion-color-dark);transform:scale(1.3)}\n"] }]
177
+ }], propDecorators: { props: [{
178
+ type: Input
179
+ }] } });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpbmctdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3JvdGF0aW5nLXRleHQvcm90YXRpbmctdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHdEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUEwSEgsTUFBTSxPQUFPLHFCQUFxQjtJQXpIbEM7UUEwSFUsZUFBVSxHQUEwQyxJQUFJLENBQUM7UUFFakU7O1dBRUc7UUFDTSxVQUFLLEdBQXlCO1lBQ3JDLFFBQVEsRUFBRSxFQUFFO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLGVBQWUsRUFBRSxRQUFRO1lBQ3pCLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFFRixrQkFBa0I7UUFDbEIsaUJBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLHNDQUFzQztRQUN0QyxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBeUUzRTtJQXZFQyxlQUFlO0lBQ2YsSUFBSSxvQkFBb0I7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksUUFBUSxDQUFDO1FBQ3JELE9BQU8s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Q0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOytHQTVGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix5R0FsQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVCwwakNBcEhTLFlBQVk7OzRGQXNIWCxxQkFBcUI7a0JBekhqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFvRmI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUOzhCQVFRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm90YXRpbmdUZXh0TWV0YWRhdGEsIFJvdGF0aW5nVGV4dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtcm90YXRpbmctdGV4dFxuICpcbiAqIEEgY29tcG9uZW50IHRoYXQgcm90YXRlcyB0aHJvdWdoIGFuIGFycmF5IG9mIHRleHQgbWVzc2FnZXMgd2l0aCBzbW9vdGggYW5pbWF0aW9ucy5cbiAqIEZlYXR1cmVzIGVudHJhbmNlL2V4aXQgYW5pbWF0aW9ucyB3aXRoIGZhZGUsIGJsdXIsIGFuZCBzY2FsZSBlZmZlY3RzLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXJvdGF0aW5nLXRleHRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBtZXNzYWdlczogW1xuICogICAgICAgeyBhYm92ZVRpdGxlOiAnV2VsY29tZScsIHRpdGxlOiAnSGVsbG8gV29ybGQnIH0sXG4gKiAgICAgICB7IGFib3ZlVGl0bGU6ICdUaXA6JywgdGl0bGU6ICdTdGF5IGN1cmlvdXMnIH1cbiAqICAgICBdLFxuICogICAgIGludGVydmFsOiA0MDAwLFxuICogICAgIHNob3dEb3RzOiB0cnVlXG4gKiAgIH1cIlxuICogPjwvdmFsLXJvdGF0aW5nLXRleHQ+XG4gKlxuICogQGlucHV0IHByb3BzIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHJvdGF0aW5nIHRleHQgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1yb3RhdGluZy10ZXh0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5yb3RhdGluZy1iYW5uZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAucm90YXRpbmctdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLXRleHQgLmFib3ZlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLXRleHQgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1lbnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogdGV4dEVudGVyIDAuNnMgZWFzZS1vdXQgZm9yd2FyZHM7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWV4aXQge1xuICAgICAgICBhbmltYXRpb246IHRleHRFeGl0IDAuNHMgZWFzZS1pbiBmb3J3YXJkcztcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyB0ZXh0RW50ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgdGV4dEV4aXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBzY2FsZSgwLjk1KTtcbiAgICAgICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvZ3Jlc3MtZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmVzcy1kb3Qge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLXRpbnQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmVzcy1kb3QuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJvdGF0aW5nLWJhbm5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IHByb3BzLmJhY2tncm91bmRDb2xvciB8fCAndHJhbnNwYXJlbnQnIH1cIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJyb3RhdGluZy10ZXh0XCJcbiAgICAgICAgW2NsYXNzLnRleHQtZW50ZXJdPVwiaXNFbnRlcmluZygpXCJcbiAgICAgICAgW2NsYXNzLnRleHQtZXhpdF09XCJpc0V4aXRpbmcoKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFib3ZlLXRpdGxlXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBhYm92ZVRpdGxlQ29sb3JWYWx1ZSB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGN1cnJlbnRNZXNzYWdlKCk/LmFib3ZlVGl0bGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInRpdGxlXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiB0aXRsZUNvbG9yVmFsdWUgfVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjdXJyZW50TWVzc2FnZSgpPy50aXRsZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWRvdHNcIiAqbmdJZj1cInByb3BzLnNob3dEb3RzICE9PSBmYWxzZVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgcHJvcHMubWVzc2FnZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtZG90XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGN1cnJlbnRJbmRleCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub01lc3NhZ2UoaSlcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUm90YXRpbmdUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGludGVydmFsSWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBSb3RhdGluZ1RleHRNZXRhZGF0YSA9IHtcbiAgICBtZXNzYWdlczogW10sXG4gICAgaW50ZXJ2YWw6IDQwMDAsXG4gICAgc2hvd0RvdHM6IHRydWUsXG4gICAgYWJvdmVUaXRsZUNvbG9yOiAnbWVkaXVtJyxcbiAgICB0aXRsZUNvbG9yOiAnZGFyaycsXG4gIH07XG5cbiAgLy8gQW5pbWF0aW9uIHN0YXRlXG4gIGN1cnJlbnRJbmRleCA9IHNpZ25hbCgwKTtcbiAgaXNFbnRlcmluZyA9IHNpZ25hbCh0cnVlKTtcbiAgaXNFeGl0aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAvLyBDdXJyZW50IG1lc3NhZ2UgY29tcHV0ZWQgZnJvbSBpbmRleFxuICBjdXJyZW50TWVzc2FnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucHJvcHMubWVzc2FnZXNbdGhpcy5jdXJyZW50SW5kZXgoKV0pO1xuXG4gIC8vIENvbG9yIHZhbHVlc1xuICBnZXQgYWJvdmVUaXRsZUNvbG9yVmFsdWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMucHJvcHMuYWJvdmVUaXRsZUNvbG9yIHx8ICdtZWRpdW0nO1xuICAgIHJldHVybiBjb2xvci5zdGFydHNXaXRoKCctLScpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSB8fCBjb2xvci5zdGFydHNXaXRoKCdyZ2InKVxuICAgICAgPyBjb2xvclxuICAgICAgOiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gIH1cblxuICBnZXQgdGl0bGVDb2xvclZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRpdGxlQ29sb3IgfHwgJ2RhcmsnO1xuICAgIHJldHVybiBjb2xvci5zdGFydHNXaXRoKCctLScpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSB8fCBjb2xvci5zdGFydHNXaXRoKCdyZ2InKVxuICAgICAgPyBjb2xvclxuICAgICAgOiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5tZXNzYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLnN0YXJ0Um90YXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3BSb3RhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJvdGF0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5wcm9wcy5pbnRlcnZhbCA/PyA0MDAwO1xuICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMucm90YXRlVG9OZXh0KCk7XG4gICAgfSwgaW50ZXJ2YWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUm90YXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICAgICAgdGhpcy5pbnRlcnZhbElkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZVRvTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBTdGFydCBleGl0IGFuaW1hdGlvblxuICAgIHRoaXMuaXNFbnRlcmluZy5zZXQoZmFsc2UpO1xuICAgIHRoaXMuaXNFeGl0aW5nLnNldCh0cnVlKTtcblxuICAgIC8vIEFmdGVyIGV4aXQgYW5pbWF0aW9uLCBjaGFuZ2UgdGV4dCBhbmQgc3RhcnQgZW50ZXIgYW5pbWF0aW9uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleC51cGRhdGUoKGkpID0+IChpICsgMSkgJSB0aGlzLnByb3BzLm1lc3NhZ2VzLmxlbmd0aCk7XG4gICAgICB0aGlzLmlzRXhpdGluZy5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5pc0VudGVyaW5nLnNldCh0cnVlKTtcbiAgICB9LCA0MDApOyAvLyBNYXRjaCBleGl0IGFuaW1hdGlvbiBkdXJhdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlIHRvIGEgc3BlY2lmaWMgbWVzc2FnZSBieSBpbmRleC5cbiAgICovXG4gIGdvVG9NZXNzYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoaW5kZXggPT09IHRoaXMuY3VycmVudEluZGV4KCkpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcFJvdGF0aW9uKCk7XG4gICAgdGhpcy5pc0VudGVyaW5nLnNldChmYWxzZSk7XG4gICAgdGhpcy5pc0V4aXRpbmcuc2V0KHRydWUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleC5zZXQoaW5kZXgpO1xuICAgICAgdGhpcy5pc0V4aXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuaXNFbnRlcmluZy5zZXQodHJ1ZSk7XG4gICAgICBpZiAodGhpcy5wcm9wcy5tZXNzYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMuc3RhcnRSb3RhdGlvbigpO1xuICAgICAgfVxuICAgIH0sIDQwMCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3JvdGF0aW5nLXRleHQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBzaW5nbGUgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSByb3RhdGluZyB0ZXh0IGNvbXBvbmVudC5cbiAqXG4gKiBAcHJvcGVydHkgYWJvdmVUaXRsZSAtIFNtYWxsIHRleHQgZGlzcGxheWVkIGFib3ZlIHRoZSBtYWluIHRpdGxlLlxuICogQHByb3BlcnR5IHRpdGxlIC0gVGhlIG1haW4gdGl0bGUgdGV4dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3RhdGluZ1RleHRNZXNzYWdlIHtcbiAgYWJvdmVUaXRsZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BzIGZvciB2YWwtcm90YXRpbmctdGV4dCBjb21wb25lbnQuXG4gKlxuICogQHByb3BlcnR5IG1lc3NhZ2VzIC0gQXJyYXkgb2YgbWVzc2FnZXMgdG8gcm90YXRlIHRocm91Z2guXG4gKiBAcHJvcGVydHkgaW50ZXJ2YWwgLSBUaW1lIGluIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHJvdGF0aW9ucyAoZGVmYXVsdDogNDAwMCkuXG4gKiBAcHJvcGVydHkgc2hvd0RvdHMgLSBXaGV0aGVyIHRvIHNob3cgbmF2aWdhdGlvbiBkb3RzIChkZWZhdWx0OiB0cnVlKS5cbiAqIEBwcm9wZXJ0eSBhYm92ZVRpdGxlQ29sb3IgLSBDb2xvciBmb3IgYWJvdmUgdGl0bGUgdGV4dCAoZGVmYXVsdDogJ21lZGl1bScpLlxuICogQHByb3BlcnR5IHRpdGxlQ29sb3IgLSBDb2xvciBmb3IgbWFpbiB0aXRsZSB0ZXh0IChkZWZhdWx0OiAnZGFyaycpLlxuICogQHByb3BlcnR5IGJhY2tncm91bmRDb2xvciAtIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzZWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdGF0aW5nVGV4dE1ldGFkYXRhIHtcbiAgbWVzc2FnZXM6IFJvdGF0aW5nVGV4dE1lc3NhZ2VbXTtcbiAgaW50ZXJ2YWw/OiBudW1iZXI7XG4gIHNob3dEb3RzPzogYm9vbGVhbjtcbiAgYWJvdmVUaXRsZUNvbG9yPzogc3RyaW5nO1xuICB0aXRsZUNvbG9yPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG4iXX0=