valtech-components 4.0.150 → 4.0.151

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.
@@ -172,18 +172,18 @@ export class PageContentComponent {
172
172
  '--background': getBackground(),
173
173
  }"
174
174
  >
175
- <!-- Pull-to-refresh: visible solo si la página activa registró un handler
176
- vía PageRefreshService (connectPageRefresh). ion-refresher slot="fixed"
177
- DEBE ser hijo directo de ion-content. Mismo patrón que val-page-wrapper,
178
- para que las vistas públicas (seller, buy, live) también lo tengan. -->
179
- @if (pageRefresh.hasHandler()) {
180
- <ion-refresher slot="fixed" (ionRefresh)="onPageRefresh($event)">
181
- <ion-refresher-content
182
- pullingIcon="chevron-down-circle-outline"
183
- refreshingSpinner="circular"
184
- ></ion-refresher-content>
185
- </ion-refresher>
186
- }
175
+ <!-- Pull-to-refresh para las vistas públicas (seller, buy, live) que usan
176
+ val-page-content y llaman connectPageRefresh. El ion-refresher SIEMPRE
177
+ está en el DOM (hijo directo de ion-content) para que Ionic lo enganche
178
+ en la init del scroll; se HABILITA solo cuando hay handler registrado.
179
+ Con @if el refresher aparecía tarde (contenido proyectado vía ng-content,
180
+ no router-outlet) y Ionic no lo reconocía → el gesto no disparaba. -->
181
+ <ion-refresher slot="fixed" [disabled]="!pageRefresh.hasHandler()" (ionRefresh)="onPageRefresh($event)">
182
+ <ion-refresher-content
183
+ pullingIcon="chevron-down-circle-outline"
184
+ refreshingSpinner="circular"
185
+ ></ion-refresher-content>
186
+ </ion-refresher>
187
187
  @if (showUpdateBanner) {
188
188
  <val-update-banner />
189
189
  }
@@ -209,18 +209,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
209
209
  '--background': getBackground(),
210
210
  }"
211
211
  >
212
- <!-- Pull-to-refresh: visible solo si la página activa registró un handler
213
- vía PageRefreshService (connectPageRefresh). ion-refresher slot="fixed"
214
- DEBE ser hijo directo de ion-content. Mismo patrón que val-page-wrapper,
215
- para que las vistas públicas (seller, buy, live) también lo tengan. -->
216
- @if (pageRefresh.hasHandler()) {
217
- <ion-refresher slot="fixed" (ionRefresh)="onPageRefresh($event)">
218
- <ion-refresher-content
219
- pullingIcon="chevron-down-circle-outline"
220
- refreshingSpinner="circular"
221
- ></ion-refresher-content>
222
- </ion-refresher>
223
- }
212
+ <!-- Pull-to-refresh para las vistas públicas (seller, buy, live) que usan
213
+ val-page-content y llaman connectPageRefresh. El ion-refresher SIEMPRE
214
+ está en el DOM (hijo directo de ion-content) para que Ionic lo enganche
215
+ en la init del scroll; se HABILITA solo cuando hay handler registrado.
216
+ Con @if el refresher aparecía tarde (contenido proyectado vía ng-content,
217
+ no router-outlet) y Ionic no lo reconocía → el gesto no disparaba. -->
218
+ <ion-refresher slot="fixed" [disabled]="!pageRefresh.hasHandler()" (ionRefresh)="onPageRefresh($event)">
219
+ <ion-refresher-content
220
+ pullingIcon="chevron-down-circle-outline"
221
+ refreshingSpinner="circular"
222
+ ></ion-refresher-content>
223
+ </ion-refresher>
224
224
  @if (showUpdateBanner) {
225
225
  <val-update-banner />
226
226
  }
@@ -239,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
239
239
  }], onHeaderClick: [{
240
240
  type: Output
241
241
  }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvcGFnZS1jb250ZW50L3BhZ2UtY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7Ozs7QUFFekY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFtREgsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQixZQUNVLEtBQW1CLEVBQ25CLEdBQXNCO1FBRHRCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFaaEM7O1dBRUc7UUFDTSxVQUFLLEdBQXdCLEVBQUUsQ0FBQztRQUVqQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUxRSwyRUFBMkU7UUFDakUsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JB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SyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7K0dBL0lVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHFKQTlDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVCx3SkFsQ1MsWUFBWSxvSEFBRSxlQUFlLGdHQUFFLFVBQVUsd0tBQUUsWUFBWSxpS0FBRSxtQkFBbUIsaUpBQUUscUJBQXFCOzs0RkErQ2xHLG9CQUFvQjtrQkFsRGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxZQUNwRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNUO2lIQWlCUSxLQUFLO3NCQUFiLEtBQUs7Z0JBbUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQ29udGVudCwgSW9uUmVmcmVzaGVyLCBJb25SZWZyZXNoZXJDb250ZW50IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBkYXRlQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3VwZGF0ZS1iYW5uZXIvdXBkYXRlLWJhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdGhlbWUuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgVkFMVEVDSF9BUFBfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBwLWNvbmZpZy9jb25maWcnO1xuaW1wb3J0IHsgUGFnZUNvbnRlbnRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgcmVzb2x2ZUNvbG9yIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0eWxlcyc7XG5pbXBvcnQgeyBQYWdlUmVmcmVzaFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wYWdlLXJlZnJlc2gvcGFnZS1yZWZyZXNoLnNlcnZpY2UnO1xuXG4vKipcbiAqIHZhbC1wYWdlLWNvbnRlbnRcbiAqXG4gKiBBIHBhZ2UgY29udGVudCB0ZW1wbGF0ZSB3aXRoIGNvcnBvcmF0ZSBoZWFkZXIsIG1haW4gY29udGVudCBhcmVhLFxuICogYW5kIGZvb3RlciBzbG90cy4gU3VwcG9ydHMgZGFyayBtb2RlIGFuZCBjdXN0b21pemFibGUgYmFja2dyb3VuZHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtcGFnZS1jb250ZW50XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaGVhZGVyOiB7IC4uLiB9LFxuICogICAgIGJhY2tncm91bmQ6ICctLW1haW4tYmFja2dyb3VuZCcsXG4gKiAgICAgaG9tZVJvdXRlOiAnLydcbiAqICAgfVwiXG4gKiAgIChvbkhlYWRlckNsaWNrKT1cImhhbmRsZUhlYWRlckFjdGlvbigkZXZlbnQpXCJcbiAqID5cbiAqICAgPGRpdiBjb250ZW50PlxuICogICAgIDwhLS0gTWFpbiBwYWdlIGNvbnRlbnQgLS0+XG4gKiAgIDwvZGl2PlxuICogICA8ZGl2IGZvb3Rlcj5cbiAqICAgICA8dmFsLWNvbXBhbnktZm9vdGVyIFtwcm9wc109XCJmb290ZXJQcm9wc1wiPjwvdmFsLWNvbXBhbnktZm9vdGVyPlxuICogICA8L2Rpdj5cbiAqIDwvdmFsLXBhZ2UtY29udGVudD5cbiAqXG4gKiBAaW5wdXQgcHJvcHMgLSBQYWdlIGNvbnRlbnQgY29uZmlndXJhdGlvblxuICogQG91dHB1dCBvbkhlYWRlckNsaWNrIC0gRW1pdHMgd2hlbiBhIGhlYWRlciBhY3Rpb24gaXMgY2xpY2tlZFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGFnZS1jb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSGVhZGVyQ29tcG9uZW50LCBJb25Db250ZW50LCBJb25SZWZyZXNoZXIsIElvblJlZnJlc2hlckNvbnRlbnQsIFVwZGF0ZUJhbm5lckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImlvbi1wYWdlXCI+XG4gICAgICA8dmFsLWhlYWRlciBbcHJvcHNdPVwiaGVhZGVyUHJvcHNcIiAob25DbGljayk9XCJvbkhlYWRlckNsaWNrSGFuZGxlcigkZXZlbnQpXCIgLz5cbiAgICAgIDxpb24tY29udGVudFxuICAgICAgICBbZnVsbHNjcmVlbl09XCJ0cnVlXCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICctLWJhY2tncm91bmQnOiBnZXRCYWNrZ3JvdW5kKCksXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8IS0tIFB1bGwtdG8tcmVmcmVzaDogdmlzaWJsZSBzb2xvIHNpIGxhIHDDoWdpbmEgYWN0aXZhIHJlZ2lzdHLDsyB1biBoYW5kbGVyXG4gICAgICAgICAgICAgdsOtYSBQYWdlUmVmcmVzaFNlcnZpY2UgKGNvbm5lY3RQYWdlUmVmcmVzaCkuIGlvbi1yZWZyZXNoZXIgc2xvdD1cImZpeGVkXCJcbiAgICAgICAgICAgICBERUJFIHNlciBoaWpvIGRpcmVjdG8gZGUgaW9uLWNvbnRlbnQuIE1pc21vIHBhdHLDs24gcXVlIHZhbC1wYWdlLXdyYXBwZXIsXG4gICAgICAgICAgICAgcGFyYSBxdWUgbGFzIHZpc3RhcyBww7pibGljYXMgKHNlbGxlciwgYnV5LCBsaXZlKSB0YW1iacOpbiBsbyB0ZW5nYW4uIC0tPlxuICAgICAgICBAaWYgKHBhZ2VSZWZyZXNoLmhhc0hhbmRsZXIoKSkge1xuICAgICAgICAgIDxpb24tcmVmcmVzaGVyIHNsb3Q9XCJmaXhlZFwiIChpb25SZWZyZXNoKT1cIm9uUGFnZVJlZnJlc2goJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGlvbi1yZWZyZXNoZXItY29udGVudFxuICAgICAgICAgICAgICBwdWxsaW5nSWNvbj1cImNoZXZyb24tZG93bi1jaXJjbGUtb3V0bGluZVwiXG4gICAgICAgICAgICAgIHJlZnJlc2hpbmdTcGlubmVyPVwiY2lyY3VsYXJcIlxuICAgICAgICAgICAgPjwvaW9uLXJlZnJlc2hlci1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLXJlZnJlc2hlcj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHNob3dVcGRhdGVCYW5uZXIpIHtcbiAgICAgICAgICA8dmFsLXVwZGF0ZS1iYW5uZXIgLz5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS13cmFwcGVyXCI+XG4gICAgICAgICAgPG1haW4+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9tYWluPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaW9uLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZXh0cmEtZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBgXG4gICAgLnBhZ2Utd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgbWFpbiB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZUNvbnRlbnRDb21wb25lbnQge1xuICAvKipcbiAgICogUGFnZSBjb250ZW50IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFnZUNvbnRlbnRNZXRhZGF0YSA9IHt9O1xuXG4gIHByaXZhdGUgYXBwQ29uZmlnRW5hYmxlZCA9IGluamVjdChWQUxURUNIX0FQUF9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqIEJ1cyBkZWwgcHVsbC10by1yZWZyZXNoIOKAlCBsYSBww6FnaW5hIGFjdGl2YSByZWdpc3RyYSBzdSBoYW5kbGVyIGFxdcOtLiAqL1xuICBwcm90ZWN0ZWQgcGFnZVJlZnJlc2ggPSBpbmplY3QoUGFnZVJlZnJlc2hTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRoZW1lOiBUaGVtZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuYXY6IE5hdmlnYXRpb25TZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogSGFuZGxlciBkZWwgZ2VzdG8gcHVsbC10by1yZWZyZXNoIChgaW9uLXJlZnJlc2hlcmAgaW9uUmVmcmVzaCkuIERlbGVnYSBlblxuICAgKiBlbCBoYW5kbGVyIHF1ZSByZWdpc3Ryw7MgbGEgcMOhZ2luYSBhY3RpdmEgeSBjaWVycmEgZWwgc3Bpbm5lciBhbCB0ZXJtaW5hci5cbiAgICovXG4gIGFzeW5jIG9uUGFnZVJlZnJlc2goZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucGFnZVJlZnJlc2gucnVuKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTElvblJlZnJlc2hlckVsZW1lbnQgfCBudWxsKT8uY29tcGxldGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IHRoZSB1cGRhdGUgYmFubmVyLlxuICAgKiBPbmx5IHNob3dzIGlmIEFwcENvbmZpZ1NlcnZpY2UgaXMgY29uZmlndXJlZCBhbmQgbm90IGRpc2FibGVkIHZpYSBwcm9wcy5cbiAgICovXG4gIGdldCBzaG93VXBkYXRlQmFubmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFwcENvbmZpZ0VuYWJsZWQgIT09IG51bGwgJiYgdGhpcy5wcm9wcy5zaG93VXBkYXRlQmFubmVyICE9PSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIGEgaGVhZGVyIGFjdGlvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIG9uSGVhZGVyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIF9ocElucHV0czogeyBoZWFkZXI6IGFueTsgbHM6IGFueTsgZnNzOiBhbnk7IHNiZjogYW55IH0gPSB7IGhlYWRlcjogbnVsbCwgbHM6IG51bGwsIGZzczogbnVsbCwgc2JmOiBudWxsIH07XG4gIHByaXZhdGUgX2hwQ2FjaGU6IGFueSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgaGVhZGVyIGNvbmZpZ3VyYXRpb24gKGNhY2hlZCB0byBhdm9pZCBpbmZpbml0ZSBjaGFuZ2UgZGV0ZWN0aW9uKS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEhlYWRlciA9IHtcbiAgICBib3JkZXJlZDogdHJ1ZSxcbiAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICB0b29sYmFyOiB7XG4gICAgICB3aXRoQmFjazogZmFsc2UsXG4gICAgICB3aXRoQWN0aW9uczogdHJ1ZSxcbiAgICAgIHRleHRDb2xvcjogJ2RhcmsnIGFzIGNvbnN0LFxuICAgICAgd2l0aE1lbnU6IHRydWUsXG4gICAgICB0aXRsZTogJycsXG4gICAgICBsYW5ndWFnZVNlbGVjdG9yOiB1bmRlZmluZWQgYXMgdW5kZWZpbmVkLFxuICAgICAgZm9udFNpemVTZWxlY3RvcjogdW5kZWZpbmVkIGFzIHVuZGVmaW5lZCxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRva2VuOiAnaGVhZGVyLWxvZ28nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgICAgICBwb3NpdGlvbjogJ2xlZnQnIGFzIGNvbnN0LFxuICAgICAgICAgIHR5cGU6ICdJTUFHRScgYXMgY29uc3QsXG4gICAgICAgICAgaW1hZ2U6IHtcbiAgICAgICAgICAgIHdpZHRoOiA4LFxuICAgICAgICAgICAgc3JjOiAnLS1tYWluLWxvZ28nLFxuICAgICAgICAgICAgYWx0OiAnaGVhZGVyIGxvZ28nLFxuICAgICAgICAgICAgbW9kZTogJ2JveCcgYXMgY29uc3QsXG4gICAgICAgICAgICBzaGFkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyBhcyBjb25zdCxcbiAgICAgICAgICAgIGxpbWl0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZmxleDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9O1xuXG4gIC8qKlxuICAgKiBHZXRzIGhlYWRlciBwcm9wcywgdXNpbmcgY2FjaGVkIGRlZmF1bHQgaWYgbm90IHByb3ZpZGVkLlxuICAgKiBNZW1vaXplZCB0byByZXR1cm4gYSBzdGFibGUgb2JqZWN0IHJlZmVyZW5jZSB3aGVuIGlucHV0cyBoYXZlbid0IGNoYW5nZWQsXG4gICAqIHByZXZlbnRpbmcgY2FzY2FkaW5nIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGVzIGluIGNoaWxkIGNvbXBvbmVudHMuXG4gICAqL1xuICBnZXQgaGVhZGVyUHJvcHMoKSB7XG4gICAgY29uc3QgaGVhZGVyID0gdGhpcy5wcm9wcy5oZWFkZXIgfHwgdGhpcy5kZWZhdWx0SGVhZGVyO1xuICAgIGNvbnN0IGxzID0gdGhpcy5wcm9wcy5sYW5ndWFnZVNlbGVjdG9yO1xuICAgIGNvbnN0IGZzcyA9IHRoaXMucHJvcHMuZm9udFNpemVTZWxlY3RvcjtcbiAgICBjb25zdCBzYmYgPSB0aGlzLnByb3BzLnNob3dCYWNrQnV0dG9uO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5faHBDYWNoZSAhPT0gbnVsbCAmJlxuICAgICAgdGhpcy5faHBJbnB1dHMuaGVhZGVyID09PSBoZWFkZXIgJiZcbiAgICAgIHRoaXMuX2hwSW5wdXRzLmxzID09PSBscyAmJlxuICAgICAgdGhpcy5faHBJbnB1dHMuZnNzID09PSBmc3MgJiZcbiAgICAgIHRoaXMuX2hwSW5wdXRzLnNiZiA9PT0gc2JmXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5faHBDYWNoZTtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0ID0gaGVhZGVyO1xuICAgIGlmIChscyAmJiAhaGVhZGVyLnRvb2xiYXIubGFuZ3VhZ2VTZWxlY3Rvcikge1xuICAgICAgcmVzdWx0ID0geyAuLi5yZXN1bHQsIHRvb2xiYXI6IHsgLi4ucmVzdWx0LnRvb2xiYXIsIGxhbmd1YWdlU2VsZWN0b3I6IGxzIH0gfTtcbiAgICB9XG4gICAgaWYgKGZzcyAmJiAhaGVhZGVyLnRvb2xiYXIuZm9udFNpemVTZWxlY3Rvcikge1xuICAgICAgcmVzdWx0ID0geyAuLi5yZXN1bHQsIHRvb2xiYXI6IHsgLi4ucmVzdWx0LnRvb2xiYXIsIGZvbnRTaXplU2VsZWN0b3I6IGZzcyB9IH07XG4gICAgfVxuICAgIGlmIChzYmYpIHtcbiAgICAgIHJlc3VsdCA9IHsgLi4ucmVzdWx0LCB0b29sYmFyOiB7IC4uLnJlc3VsdC50b29sYmFyLCB3aXRoQmFjazogdHJ1ZSB9IH07XG4gICAgfVxuXG4gICAgdGhpcy5faHBJbnB1dHMgPSB7IGhlYWRlciwgbHMsIGZzcywgc2JmIH07XG4gICAgdGhpcy5faHBDYWNoZSA9IHJlc3VsdDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJhY2tncm91bmQgY29sb3IgYmFzZWQgb24gdGhlbWUuXG4gICAqL1xuICBnZXRCYWNrZ3JvdW5kKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMudGhlbWUuSXNEYXJrKSB7XG4gICAgICByZXR1cm4gJ3ZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKSc7XG4gICAgfVxuXG4gICAgY29uc3QgYmcgPSB0aGlzLnByb3BzLmJhY2tncm91bmQ7XG4gICAgaWYgKCFiZykge1xuICAgICAgcmV0dXJuICd2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvciknO1xuICAgIH1cblxuICAgIHJldHVybiByZXNvbHZlQ29sb3IoYmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgaGVhZGVyIGFjdGlvbiBjbGlja3MuXG4gICAqL1xuICBvbkhlYWRlckNsaWNrSGFuZGxlcih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vbkhlYWRlckNsaWNrLmVtaXQodG9rZW4pO1xuXG4gICAgLy8gTmF2aWdhdGUgdG8gaG9tZSByb3V0ZSBpZiBjb25maWd1cmVkIGFuZCBsb2dvIHdhcyBjbGlja2VkXG4gICAgaWYgKHRva2VuID09PSAnaGVhZGVyLWxvZ28nICYmIHRoaXMucHJvcHMuaG9tZVJvdXRlKSB7XG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZUJ5VXJsKHRoaXMucHJvcHMuaG9tZVJvdXRlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvcGFnZS1jb250ZW50L3BhZ2UtY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7Ozs7QUFFekY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFtREgsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQixZQUNVLEtBQW1CLEVBQ25CLEdBQXNCO1FBRHRCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFaaEM7O1dBRUc7UUFDTSxVQUFLLEdBQXdCLEVBQUUsQ0FBQztRQUVqQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUxRSwyRUFBMkU7UUFDakUsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JB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SyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7K0dBL0lVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHFKQTlDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVCx3SkFsQ1MsWUFBWSxvSEFBRSxlQUFlLGdHQUFFLFVBQVUsd0tBQUUsWUFBWSxpS0FBRSxtQkFBbUIsaUpBQUUscUJBQXFCOzs0RkErQ2xHLG9CQUFvQjtrQkFsRGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxZQUNwRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNUO2lIQWlCUSxLQUFLO3NCQUFiLEtBQUs7Z0JBbUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQ29udGVudCwgSW9uUmVmcmVzaGVyLCBJb25SZWZyZXNoZXJDb250ZW50IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBkYXRlQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3VwZGF0ZS1iYW5uZXIvdXBkYXRlLWJhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdGhlbWUuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgVkFMVEVDSF9BUFBfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBwLWNvbmZpZy9jb25maWcnO1xuaW1wb3J0IHsgUGFnZUNvbnRlbnRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgcmVzb2x2ZUNvbG9yIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0eWxlcyc7XG5pbXBvcnQgeyBQYWdlUmVmcmVzaFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wYWdlLXJlZnJlc2gvcGFnZS1yZWZyZXNoLnNlcnZpY2UnO1xuXG4vKipcbiAqIHZhbC1wYWdlLWNvbnRlbnRcbiAqXG4gKiBBIHBhZ2UgY29udGVudCB0ZW1wbGF0ZSB3aXRoIGNvcnBvcmF0ZSBoZWFkZXIsIG1haW4gY29udGVudCBhcmVhLFxuICogYW5kIGZvb3RlciBzbG90cy4gU3VwcG9ydHMgZGFyayBtb2RlIGFuZCBjdXN0b21pemFibGUgYmFja2dyb3VuZHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtcGFnZS1jb250ZW50XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaGVhZGVyOiB7IC4uLiB9LFxuICogICAgIGJhY2tncm91bmQ6ICctLW1haW4tYmFja2dyb3VuZCcsXG4gKiAgICAgaG9tZVJvdXRlOiAnLydcbiAqICAgfVwiXG4gKiAgIChvbkhlYWRlckNsaWNrKT1cImhhbmRsZUhlYWRlckFjdGlvbigkZXZlbnQpXCJcbiAqID5cbiAqICAgPGRpdiBjb250ZW50PlxuICogICAgIDwhLS0gTWFpbiBwYWdlIGNvbnRlbnQgLS0+XG4gKiAgIDwvZGl2PlxuICogICA8ZGl2IGZvb3Rlcj5cbiAqICAgICA8dmFsLWNvbXBhbnktZm9vdGVyIFtwcm9wc109XCJmb290ZXJQcm9wc1wiPjwvdmFsLWNvbXBhbnktZm9vdGVyPlxuICogICA8L2Rpdj5cbiAqIDwvdmFsLXBhZ2UtY29udGVudD5cbiAqXG4gKiBAaW5wdXQgcHJvcHMgLSBQYWdlIGNvbnRlbnQgY29uZmlndXJhdGlvblxuICogQG91dHB1dCBvbkhlYWRlckNsaWNrIC0gRW1pdHMgd2hlbiBhIGhlYWRlciBhY3Rpb24gaXMgY2xpY2tlZFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGFnZS1jb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSGVhZGVyQ29tcG9uZW50LCBJb25Db250ZW50LCBJb25SZWZyZXNoZXIsIElvblJlZnJlc2hlckNvbnRlbnQsIFVwZGF0ZUJhbm5lckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImlvbi1wYWdlXCI+XG4gICAgICA8dmFsLWhlYWRlciBbcHJvcHNdPVwiaGVhZGVyUHJvcHNcIiAob25DbGljayk9XCJvbkhlYWRlckNsaWNrSGFuZGxlcigkZXZlbnQpXCIgLz5cbiAgICAgIDxpb24tY29udGVudFxuICAgICAgICBbZnVsbHNjcmVlbl09XCJ0cnVlXCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICctLWJhY2tncm91bmQnOiBnZXRCYWNrZ3JvdW5kKCksXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8IS0tIFB1bGwtdG8tcmVmcmVzaCBwYXJhIGxhcyB2aXN0YXMgcMO6YmxpY2FzIChzZWxsZXIsIGJ1eSwgbGl2ZSkgcXVlIHVzYW5cbiAgICAgICAgICAgICB2YWwtcGFnZS1jb250ZW50IHkgbGxhbWFuIGNvbm5lY3RQYWdlUmVmcmVzaC4gRWwgaW9uLXJlZnJlc2hlciBTSUVNUFJFXG4gICAgICAgICAgICAgZXN0w6EgZW4gZWwgRE9NIChoaWpvIGRpcmVjdG8gZGUgaW9uLWNvbnRlbnQpIHBhcmEgcXVlIElvbmljIGxvIGVuZ2FuY2hlXG4gICAgICAgICAgICAgZW4gbGEgaW5pdCBkZWwgc2Nyb2xsOyBzZSBIQUJJTElUQSBzb2xvIGN1YW5kbyBoYXkgaGFuZGxlciByZWdpc3RyYWRvLlxuICAgICAgICAgICAgIENvbiBAaWYgZWwgcmVmcmVzaGVyIGFwYXJlY8OtYSB0YXJkZSAoY29udGVuaWRvIHByb3llY3RhZG8gdsOtYSBuZy1jb250ZW50LFxuICAgICAgICAgICAgIG5vIHJvdXRlci1vdXRsZXQpIHkgSW9uaWMgbm8gbG8gcmVjb25vY8OtYSDihpIgZWwgZ2VzdG8gbm8gZGlzcGFyYWJhLiAtLT5cbiAgICAgICAgPGlvbi1yZWZyZXNoZXIgc2xvdD1cImZpeGVkXCIgW2Rpc2FibGVkXT1cIiFwYWdlUmVmcmVzaC5oYXNIYW5kbGVyKClcIiAoaW9uUmVmcmVzaCk9XCJvblBhZ2VSZWZyZXNoKCRldmVudClcIj5cbiAgICAgICAgICA8aW9uLXJlZnJlc2hlci1jb250ZW50XG4gICAgICAgICAgICBwdWxsaW5nSWNvbj1cImNoZXZyb24tZG93bi1jaXJjbGUtb3V0bGluZVwiXG4gICAgICAgICAgICByZWZyZXNoaW5nU3Bpbm5lcj1cImNpcmN1bGFyXCJcbiAgICAgICAgICA+PC9pb24tcmVmcmVzaGVyLWNvbnRlbnQ+XG4gICAgICAgIDwvaW9uLXJlZnJlc2hlcj5cbiAgICAgICAgQGlmIChzaG93VXBkYXRlQmFubmVyKSB7XG4gICAgICAgICAgPHZhbC11cGRhdGUtYmFubmVyIC8+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2Utd3JhcHBlclwiPlxuICAgICAgICAgIDxtYWluPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgIDwvbWFpbj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2lvbi1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V4dHJhLWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogYFxuICAgIC5wYWdlLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIG1haW4ge1xuICAgICAgZmxleDogMTtcbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb250ZW50Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFBhZ2UgY29udGVudCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhZ2VDb250ZW50TWV0YWRhdGEgPSB7fTtcblxuICBwcml2YXRlIGFwcENvbmZpZ0VuYWJsZWQgPSBpbmplY3QoVkFMVEVDSF9BUFBfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKiBCdXMgZGVsIHB1bGwtdG8tcmVmcmVzaCDigJQgbGEgcMOhZ2luYSBhY3RpdmEgcmVnaXN0cmEgc3UgaGFuZGxlciBhcXXDrS4gKi9cbiAgcHJvdGVjdGVkIHBhZ2VSZWZyZXNoID0gaW5qZWN0KFBhZ2VSZWZyZXNoU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0aGVtZTogVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmF2OiBOYXZpZ2F0aW9uU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXIgZGVsIGdlc3RvIHB1bGwtdG8tcmVmcmVzaCAoYGlvbi1yZWZyZXNoZXJgIGlvblJlZnJlc2gpLiBEZWxlZ2EgZW5cbiAgICogZWwgaGFuZGxlciBxdWUgcmVnaXN0csOzIGxhIHDDoWdpbmEgYWN0aXZhIHkgY2llcnJhIGVsIHNwaW5uZXIgYWwgdGVybWluYXIuXG4gICAqL1xuICBhc3luYyBvblBhZ2VSZWZyZXNoKGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnBhZ2VSZWZyZXNoLnJ1bigpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJb25SZWZyZXNoZXJFbGVtZW50IHwgbnVsbCk/LmNvbXBsZXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2hvdyB0aGUgdXBkYXRlIGJhbm5lci5cbiAgICogT25seSBzaG93cyBpZiBBcHBDb25maWdTZXJ2aWNlIGlzIGNvbmZpZ3VyZWQgYW5kIG5vdCBkaXNhYmxlZCB2aWEgcHJvcHMuXG4gICAqL1xuICBnZXQgc2hvd1VwZGF0ZUJhbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWdFbmFibGVkICE9PSBudWxsICYmIHRoaXMucHJvcHMuc2hvd1VwZGF0ZUJhbm5lciAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgd2hlbiBhIGhlYWRlciBhY3Rpb24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkhlYWRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSBfaHBJbnB1dHM6IHsgaGVhZGVyOiBhbnk7IGxzOiBhbnk7IGZzczogYW55OyBzYmY6IGFueSB9ID0geyBoZWFkZXI6IG51bGwsIGxzOiBudWxsLCBmc3M6IG51bGwsIHNiZjogbnVsbCB9O1xuICBwcml2YXRlIF9ocENhY2hlOiBhbnkgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGhlYWRlciBjb25maWd1cmF0aW9uIChjYWNoZWQgdG8gYXZvaWQgaW5maW5pdGUgY2hhbmdlIGRldGVjdGlvbikuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRIZWFkZXIgPSB7XG4gICAgYm9yZGVyZWQ6IHRydWUsXG4gICAgdHJhbnNsdWNlbnQ6IHRydWUsXG4gICAgdG9vbGJhcjoge1xuICAgICAgd2l0aEJhY2s6IGZhbHNlLFxuICAgICAgd2l0aEFjdGlvbnM6IHRydWUsXG4gICAgICB0ZXh0Q29sb3I6ICdkYXJrJyBhcyBjb25zdCxcbiAgICAgIHdpdGhNZW51OiB0cnVlLFxuICAgICAgdGl0bGU6ICcnLFxuICAgICAgbGFuZ3VhZ2VTZWxlY3RvcjogdW5kZWZpbmVkIGFzIHVuZGVmaW5lZCxcbiAgICAgIGZvbnRTaXplU2VsZWN0b3I6IHVuZGVmaW5lZCBhcyB1bmRlZmluZWQsXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0b2tlbjogJ2hlYWRlci1sb2dvJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICAgICAgcG9zaXRpb246ICdsZWZ0JyBhcyBjb25zdCxcbiAgICAgICAgICB0eXBlOiAnSU1BR0UnIGFzIGNvbnN0LFxuICAgICAgICAgIGltYWdlOiB7XG4gICAgICAgICAgICB3aWR0aDogOCxcbiAgICAgICAgICAgIHNyYzogJy0tbWFpbi1sb2dvJyxcbiAgICAgICAgICAgIGFsdDogJ2hlYWRlciBsb2dvJyxcbiAgICAgICAgICAgIG1vZGU6ICdib3gnIGFzIGNvbnN0LFxuICAgICAgICAgICAgc2hhZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICAgICAgICAgIHNpemU6ICdzbWFsbCcgYXMgY29uc3QsXG4gICAgICAgICAgICBsaW1pdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIGZsZXg6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfTtcblxuICAvKipcbiAgICogR2V0cyBoZWFkZXIgcHJvcHMsIHVzaW5nIGNhY2hlZCBkZWZhdWx0IGlmIG5vdCBwcm92aWRlZC5cbiAgICogTWVtb2l6ZWQgdG8gcmV0dXJuIGEgc3RhYmxlIG9iamVjdCByZWZlcmVuY2Ugd2hlbiBpbnB1dHMgaGF2ZW4ndCBjaGFuZ2VkLFxuICAgKiBwcmV2ZW50aW5nIGNhc2NhZGluZyBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlcyBpbiBjaGlsZCBjb21wb25lbnRzLlxuICAgKi9cbiAgZ2V0IGhlYWRlclByb3BzKCkge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMucHJvcHMuaGVhZGVyIHx8IHRoaXMuZGVmYXVsdEhlYWRlcjtcbiAgICBjb25zdCBscyA9IHRoaXMucHJvcHMubGFuZ3VhZ2VTZWxlY3RvcjtcbiAgICBjb25zdCBmc3MgPSB0aGlzLnByb3BzLmZvbnRTaXplU2VsZWN0b3I7XG4gICAgY29uc3Qgc2JmID0gdGhpcy5wcm9wcy5zaG93QmFja0J1dHRvbjtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuX2hwQ2FjaGUgIT09IG51bGwgJiZcbiAgICAgIHRoaXMuX2hwSW5wdXRzLmhlYWRlciA9PT0gaGVhZGVyICYmXG4gICAgICB0aGlzLl9ocElucHV0cy5scyA9PT0gbHMgJiZcbiAgICAgIHRoaXMuX2hwSW5wdXRzLmZzcyA9PT0gZnNzICYmXG4gICAgICB0aGlzLl9ocElucHV0cy5zYmYgPT09IHNiZlxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMuX2hwQ2FjaGU7XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdCA9IGhlYWRlcjtcbiAgICBpZiAobHMgJiYgIWhlYWRlci50b29sYmFyLmxhbmd1YWdlU2VsZWN0b3IpIHtcbiAgICAgIHJlc3VsdCA9IHsgLi4ucmVzdWx0LCB0b29sYmFyOiB7IC4uLnJlc3VsdC50b29sYmFyLCBsYW5ndWFnZVNlbGVjdG9yOiBscyB9IH07XG4gICAgfVxuICAgIGlmIChmc3MgJiYgIWhlYWRlci50b29sYmFyLmZvbnRTaXplU2VsZWN0b3IpIHtcbiAgICAgIHJlc3VsdCA9IHsgLi4ucmVzdWx0LCB0b29sYmFyOiB7IC4uLnJlc3VsdC50b29sYmFyLCBmb250U2l6ZVNlbGVjdG9yOiBmc3MgfSB9O1xuICAgIH1cbiAgICBpZiAoc2JmKSB7XG4gICAgICByZXN1bHQgPSB7IC4uLnJlc3VsdCwgdG9vbGJhcjogeyAuLi5yZXN1bHQudG9vbGJhciwgd2l0aEJhY2s6IHRydWUgfSB9O1xuICAgIH1cblxuICAgIHRoaXMuX2hwSW5wdXRzID0geyBoZWFkZXIsIGxzLCBmc3MsIHNiZiB9O1xuICAgIHRoaXMuX2hwQ2FjaGUgPSByZXN1bHQ7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIHRoZW1lLlxuICAgKi9cbiAgZ2V0QmFja2dyb3VuZCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnRoZW1lLklzRGFyaykge1xuICAgICAgcmV0dXJuICd2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvciknO1xuICAgIH1cblxuICAgIGNvbnN0IGJnID0gdGhpcy5wcm9wcy5iYWNrZ3JvdW5kO1xuICAgIGlmICghYmcpIHtcbiAgICAgIHJldHVybiAndmFyKC0taW9uLWJhY2tncm91bmQtY29sb3IpJztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzb2x2ZUNvbG9yKGJnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGhlYWRlciBhY3Rpb24gY2xpY2tzLlxuICAgKi9cbiAgb25IZWFkZXJDbGlja0hhbmRsZXIodG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMub25IZWFkZXJDbGljay5lbWl0KHRva2VuKTtcblxuICAgIC8vIE5hdmlnYXRlIHRvIGhvbWUgcm91dGUgaWYgY29uZmlndXJlZCBhbmQgbG9nbyB3YXMgY2xpY2tlZFxuICAgIGlmICh0b2tlbiA9PT0gJ2hlYWRlci1sb2dvJyAmJiB0aGlzLnByb3BzLmhvbWVSb3V0ZSkge1xuICAgICAgdGhpcy5uYXYubmF2aWdhdGVCeVVybCh0aGlzLnByb3BzLmhvbWVSb3V0ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.150';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xNTAnO1xuIl19
5
+ export const VERSION = '4.0.151';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xNTEnO1xuIl19
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
56
56
  * Current version of valtech-components.
57
57
  * This is automatically updated during the publish process.
58
58
  */
59
- const VERSION = '4.0.150';
59
+ const VERSION = '4.0.151';
60
60
 
61
61
  // Control de estado de refresco (singleton a nivel de módulo)
62
62
  let isRefreshing = false;
@@ -60059,18 +60059,18 @@ class PageContentComponent {
60059
60059
  '--background': getBackground(),
60060
60060
  }"
60061
60061
  >
60062
- <!-- Pull-to-refresh: visible solo si la página activa registró un handler
60063
- vía PageRefreshService (connectPageRefresh). ion-refresher slot="fixed"
60064
- DEBE ser hijo directo de ion-content. Mismo patrón que val-page-wrapper,
60065
- para que las vistas públicas (seller, buy, live) también lo tengan. -->
60066
- @if (pageRefresh.hasHandler()) {
60067
- <ion-refresher slot="fixed" (ionRefresh)="onPageRefresh($event)">
60068
- <ion-refresher-content
60069
- pullingIcon="chevron-down-circle-outline"
60070
- refreshingSpinner="circular"
60071
- ></ion-refresher-content>
60072
- </ion-refresher>
60073
- }
60062
+ <!-- Pull-to-refresh para las vistas públicas (seller, buy, live) que usan
60063
+ val-page-content y llaman connectPageRefresh. El ion-refresher SIEMPRE
60064
+ está en el DOM (hijo directo de ion-content) para que Ionic lo enganche
60065
+ en la init del scroll; se HABILITA solo cuando hay handler registrado.
60066
+ Con @if el refresher aparecía tarde (contenido proyectado vía ng-content,
60067
+ no router-outlet) y Ionic no lo reconocía → el gesto no disparaba. -->
60068
+ <ion-refresher slot="fixed" [disabled]="!pageRefresh.hasHandler()" (ionRefresh)="onPageRefresh($event)">
60069
+ <ion-refresher-content
60070
+ pullingIcon="chevron-down-circle-outline"
60071
+ refreshingSpinner="circular"
60072
+ ></ion-refresher-content>
60073
+ </ion-refresher>
60074
60074
  @if (showUpdateBanner) {
60075
60075
  <val-update-banner />
60076
60076
  }
@@ -60096,18 +60096,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
60096
60096
  '--background': getBackground(),
60097
60097
  }"
60098
60098
  >
60099
- <!-- Pull-to-refresh: visible solo si la página activa registró un handler
60100
- vía PageRefreshService (connectPageRefresh). ion-refresher slot="fixed"
60101
- DEBE ser hijo directo de ion-content. Mismo patrón que val-page-wrapper,
60102
- para que las vistas públicas (seller, buy, live) también lo tengan. -->
60103
- @if (pageRefresh.hasHandler()) {
60104
- <ion-refresher slot="fixed" (ionRefresh)="onPageRefresh($event)">
60105
- <ion-refresher-content
60106
- pullingIcon="chevron-down-circle-outline"
60107
- refreshingSpinner="circular"
60108
- ></ion-refresher-content>
60109
- </ion-refresher>
60110
- }
60099
+ <!-- Pull-to-refresh para las vistas públicas (seller, buy, live) que usan
60100
+ val-page-content y llaman connectPageRefresh. El ion-refresher SIEMPRE
60101
+ está en el DOM (hijo directo de ion-content) para que Ionic lo enganche
60102
+ en la init del scroll; se HABILITA solo cuando hay handler registrado.
60103
+ Con @if el refresher aparecía tarde (contenido proyectado vía ng-content,
60104
+ no router-outlet) y Ionic no lo reconocía → el gesto no disparaba. -->
60105
+ <ion-refresher slot="fixed" [disabled]="!pageRefresh.hasHandler()" (ionRefresh)="onPageRefresh($event)">
60106
+ <ion-refresher-content
60107
+ pullingIcon="chevron-down-circle-outline"
60108
+ refreshingSpinner="circular"
60109
+ ></ion-refresher-content>
60110
+ </ion-refresher>
60111
60111
  @if (showUpdateBanner) {
60112
60112
  <val-update-banner />
60113
60113
  }