@snabcentr/client-ui 4.11.8 → 4.15.0

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 (70) hide show
  1. package/auth/sc-auth.module.d.ts +2 -1
  2. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +19 -8
  3. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +6 -7
  4. package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +9 -2
  5. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +14 -9
  6. package/catalog/catalog-filters/index.d.ts +3 -0
  7. package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +99 -0
  8. package/catalog/catalog-filters/tokens/sc-catalog-products-filters.d.ts +7 -0
  9. package/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.d.ts +5 -0
  10. package/catalog/index.d.ts +1 -0
  11. package/catalog/input-quantity/sc-input-quantity.component.d.ts +2 -2
  12. package/configurators/index.d.ts +2 -0
  13. package/configurators/models/index.d.ts +2 -0
  14. package/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.d.ts +22 -0
  15. package/configurators/models/sandwich/sc-i-sandwich-settings.d.ts +18 -0
  16. package/configurators/sandwich/index.d.ts +3 -0
  17. package/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.d.ts +8 -0
  18. package/configurators/sandwich/sc-i-new-cart-item-sandwich.d.ts +14 -0
  19. package/configurators/sandwich/sc-sandwich.component.d.ts +146 -0
  20. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +21 -24
  21. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +12 -18
  22. package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +1 -1
  23. package/esm2022/auth/sc-auth.module.mjs +11 -5
  24. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +37 -18
  25. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +20 -18
  26. package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +20 -5
  27. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +37 -36
  28. package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +4 -4
  29. package/esm2022/cart/cart-item/sc-cart-item.component.mjs +3 -3
  30. package/esm2022/catalog/catalog-filters/index.mjs +4 -0
  31. package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +202 -0
  32. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-products-filters.mjs +10 -0
  33. package/esm2022/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.mjs +6 -0
  34. package/esm2022/catalog/category-card/sc-category-card.component.mjs +3 -3
  35. package/esm2022/catalog/index.mjs +2 -1
  36. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +19 -7
  37. package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +3 -3
  38. package/esm2022/configurators/index.mjs +3 -0
  39. package/esm2022/configurators/models/index.mjs +3 -0
  40. package/esm2022/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.mjs +2 -0
  41. package/esm2022/configurators/models/sandwich/sc-i-sandwich-settings.mjs +2 -0
  42. package/esm2022/configurators/sandwich/index.mjs +4 -0
  43. package/esm2022/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.mjs +14 -0
  44. package/esm2022/configurators/sandwich/sc-i-new-cart-item-sandwich.mjs +2 -0
  45. package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +322 -0
  46. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +38 -50
  47. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +28 -46
  48. package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +3 -3
  49. package/esm2022/methods/index.mjs +2 -0
  50. package/esm2022/methods/sc-get-current-route.mjs +14 -0
  51. package/esm2022/noindex-wrapper/sc-noindex-wrapper.component.mjs +5 -3
  52. package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +3 -2
  53. package/esm2022/providers/index.mjs +3 -1
  54. package/esm2022/providers/sc-category.providers.mjs +43 -0
  55. package/esm2022/providers/sc-debounce-time-default.mjs +9 -0
  56. package/esm2022/public-api.mjs +3 -1
  57. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +3 -3
  58. package/esm2022/user/user-managers/sc-user-managers.component.mjs +22 -24
  59. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +14 -14
  60. package/fesm2022/snabcentr-client-ui.mjs +976 -386
  61. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  62. package/methods/index.d.ts +1 -0
  63. package/methods/sc-get-current-route.d.ts +8 -0
  64. package/package.json +19 -19
  65. package/providers/index.d.ts +2 -0
  66. package/providers/sc-category.providers.d.ts +11 -0
  67. package/providers/sc-debounce-time-default.d.ts +5 -0
  68. package/public-api.d.ts +2 -0
  69. package/styles/tailwind/tailwind.scss +76 -4
  70. package/user/user-managers/sc-user-managers.component.d.ts +7 -10
@@ -1,4 +1,5 @@
1
1
  export * from './sc-verification-code-timeout';
2
+ export * from './sc-category.providers';
2
3
  export * from './sc-allow-select-terminated';
3
4
  export * from './sc-help-notification-limit';
4
5
  export * from './sc-help-notification-close';
@@ -10,4 +11,5 @@ export * from './sc-date-formatter';
10
11
  export * from './sc-date-value-transformer';
11
12
  export * from './sc-notify-when-in-stock-required-fields';
12
13
  export * from './sc-banner-duration';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy12ZXJpZmljYXRpb24tY29kZS10aW1lb3V0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtYWxsb3ctc2VsZWN0LXRlcm1pbmF0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1oZWxwLW5vdGlmaWNhdGlvbi1saW1pdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWhlbHAtbm90aWZpY2F0aW9uLWNsb3NlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtbWF4LWZpbGVzLWluLWZvcm0taW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1wYWdlLXNpemUtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNvdW50cnktaWRzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtdXNlci1wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1kYXRlLWZvcm1hdHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWRhdGUtdmFsdWUtdHJhbnNmb3JtZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1ub3RpZnktd2hlbi1pbi1zdG9jay1yZXF1aXJlZC1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1iYW5uZXItZHVyYXRpb24nO1xuIl19
14
+ export * from './sc-debounce-time-default';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtdmVyaWZpY2F0aW9uLWNvZGUtdGltZW91dCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNhdGVnb3J5LnByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWFsbG93LXNlbGVjdC10ZXJtaW5hdGVkJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaGVscC1ub3RpZmljYXRpb24tbGltaXQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1oZWxwLW5vdGlmaWNhdGlvbi1jbG9zZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLW1heC1maWxlcy1pbi1mb3JtLWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtcGFnZS1zaXplLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1jb3VudHJ5LWlkcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXVzZXItcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtZGF0ZS1mb3JtYXR0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1kYXRlLXZhbHVlLXRyYW5zZm9ybWVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtbm90aWZ5LXdoZW4taW4tc3RvY2stcmVxdWlyZWQtZmllbGRzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtYmFubmVyLWR1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtZGVib3VuY2UtdGltZS1kZWZhdWx0JztcbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { HttpErrorResponse } from '@angular/common/http';
2
+ import { InjectionToken } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
5
+ import { ScCatalogService } from '@snabcentr/client-core';
6
+ import { tuiIsPresent } from '@taiga-ui/cdk';
7
+ import { catchError, EMPTY, filter, map, shareReplay, startWith, switchMap } from 'rxjs';
8
+ import { ScErrorHandlerComponent } from '../error-handler/sc-error-handler.component';
9
+ import { scGetCurrentRoute } from '../methods/sc-get-current-route';
10
+ /**
11
+ * Токен потока данных о категории.
12
+ */
13
+ export const SC_CATEGORY_INFO = new InjectionToken('A stream with current category information');
14
+ /**
15
+ * Фабрика создания потока данных о категории.
16
+ *
17
+ * @param router Сервис маршрутизации.
18
+ * @param route Маршрут.
19
+ * @param catalogService Сервис для работы с каталогом.
20
+ * @param catalogService.paramMap Параметры.
21
+ * @param errorHandlerComponent Компонент для управления кодом ошибки отображаемой на странице.
22
+ */
23
+ function categoryFactory(router, route, catalogService, errorHandlerComponent) {
24
+ return router.events
25
+ .pipe(filter((event) => event instanceof NavigationEnd), map(() => scGetCurrentRoute(route).snapshot.paramMap), startWith(scGetCurrentRoute(route).snapshot.paramMap))
26
+ .pipe(map((parameters) => parameters.get('categoryIdOrSlug')), filter(tuiIsPresent), switchMap((categoryId) => catalogService.getCategoryCached$(categoryId).pipe(catchError((error) => {
27
+ if (error instanceof HttpErrorResponse) {
28
+ errorHandlerComponent.setErrorCode(error.status);
29
+ }
30
+ return EMPTY;
31
+ }), shareReplay())), takeUntilDestroyed());
32
+ }
33
+ /**
34
+ * Провайдеры потока данных о категории.
35
+ */
36
+ export const SC_CATEGORY_PROVIDERS = [
37
+ {
38
+ provide: SC_CATEGORY_INFO,
39
+ deps: [Router, ActivatedRoute, ScCatalogService, ScErrorHandlerComponent],
40
+ useFactory: categoryFactory,
41
+ },
42
+ ];
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0ZWdvcnkucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb3ZpZGVycy9zYy1jYXRlZ29yeS5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBWSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBZ0MsNENBQTRDLENBQUMsQ0FBQztBQUVoSTs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZUFBZSxDQUFDLE1BQWMsRUFBRSxLQUFxQixFQUFFLGNBQWdDLEVBQUUscUJBQThDO0lBQzVJLE9BQU8sTUFBTSxDQUFDLE1BQU07U0FDZixJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLEVBQ2pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQ3JELFNBQVMsQ0FBVyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQ2xFO1NBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQ3ZELE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFDcEIsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDckIsY0FBYyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDOUMsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQ3BDLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDckMscUJBQXFCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxFQUFFLENBQ2hCLENBQ0osRUFDRCxrQkFBa0IsRUFBRSxDQUN2QixDQUFDO0FBQ1YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWU7SUFDN0M7UUFDSSxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLENBQUM7UUFDekUsVUFBVSxFQUFFLGVBQWU7S0FDOUI7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBQYXJhbU1hcCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UsIFNjQ2F0ZWdvcnkgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzUHJlc2VudCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgRU1QVFksIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NFcnJvckhhbmRsZXJDb21wb25lbnQgfSBmcm9tICcuLi9lcnJvci1oYW5kbGVyL3NjLWVycm9yLWhhbmRsZXIuY29tcG9uZW50JztcbmltcG9ydCB7IHNjR2V0Q3VycmVudFJvdXRlIH0gZnJvbSAnLi4vbWV0aG9kcy9zYy1nZXQtY3VycmVudC1yb3V0ZSc7XG5cbi8qKlxuICog0KLQvtC60LXQvSDQv9C+0YLQvtC60LAg0LTQsNC90L3Ri9GFINC+INC60LDRgtC10LPQvtGA0LjQuC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0NBVEVHT1JZX0lORk8gPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxTY0NhdGVnb3J5IHwgbnVsbD4+KCdBIHN0cmVhbSB3aXRoIGN1cnJlbnQgY2F0ZWdvcnkgaW5mb3JtYXRpb24nKTtcblxuLyoqXG4gKiDQpNCw0LHRgNC40LrQsCDRgdC+0LfQtNCw0L3QuNGPINC/0L7RgtC+0LrQsCDQtNCw0L3QvdGL0YUg0L4g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICpcbiAqIEBwYXJhbSByb3V0ZXIg0KHQtdGA0LLQuNGBINC80LDRgNGI0YDRg9GC0LjQt9Cw0YbQuNC4LlxuICogQHBhcmFtIHJvdXRlINCc0LDRgNGI0YDRg9GCLlxuICogQHBhcmFtIGNhdGFsb2dTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60LDRgtCw0LvQvtCz0L7QvC5cbiAqIEBwYXJhbSBjYXRhbG9nU2VydmljZS5wYXJhbU1hcCDQn9Cw0YDQsNC80LXRgtGA0YsuXG4gKiBAcGFyYW0gZXJyb3JIYW5kbGVyQ29tcG9uZW50INCa0L7QvNC/0L7QvdC10L3RgiDQtNC70Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0LrQvtC00L7QvCDQvtGI0LjQsdC60Lgg0L7RgtC+0LHRgNCw0LbQsNC10LzQvtC5INC90LAg0YHRgtGA0LDQvdC40YbQtS5cbiAqL1xuZnVuY3Rpb24gY2F0ZWdvcnlGYWN0b3J5KHJvdXRlcjogUm91dGVyLCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIGNhdGFsb2dTZXJ2aWNlOiBTY0NhdGFsb2dTZXJ2aWNlLCBlcnJvckhhbmRsZXJDb21wb25lbnQ6IFNjRXJyb3JIYW5kbGVyQ29tcG9uZW50KTogT2JzZXJ2YWJsZTxTY0NhdGVnb3J5IHwgbnVsbD4ge1xuICAgIHJldHVybiByb3V0ZXIuZXZlbnRzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBzY0dldEN1cnJlbnRSb3V0ZShyb3V0ZSkuc25hcHNob3QucGFyYW1NYXApLFxuICAgICAgICAgICAgc3RhcnRXaXRoPFBhcmFtTWFwPihzY0dldEN1cnJlbnRSb3V0ZShyb3V0ZSkuc25hcHNob3QucGFyYW1NYXApXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHBhcmFtZXRlcnMpID0+IHBhcmFtZXRlcnMuZ2V0KCdjYXRlZ29yeUlkT3JTbHVnJykpLFxuICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGNhdGVnb3J5SWQpID0+XG4gICAgICAgICAgICAgICAgY2F0YWxvZ1NlcnZpY2UuZ2V0Q2F0ZWdvcnlDYWNoZWQkKGNhdGVnb3J5SWQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvckhhbmRsZXJDb21wb25lbnQuc2V0RXJyb3JDb2RlKGVycm9yLnN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlUmVwbGF5KClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICAgICAgKTtcbn1cblxuLyoqXG4gKiDQn9GA0L7QstCw0LnQtNC10YDRiyDQv9C+0YLQvtC60LAg0LTQsNC90L3Ri9GFINC+INC60LDRgtC10LPQvtGA0LjQuC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0NBVEVHT1JZX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFNDX0NBVEVHT1JZX0lORk8sXG4gICAgICAgIGRlcHM6IFtSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlLCBTY0NhdGFsb2dTZXJ2aWNlLCBTY0Vycm9ySGFuZGxlckNvbXBvbmVudF0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IGNhdGVnb3J5RmFjdG9yeSxcbiAgICB9LFxuXTtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Длительность {@link debounceTime} в миллисекундах по умолчанию.
4
+ */
5
+ export const SC_DEBOUNCE_TIME_DEFAULT = new InjectionToken('scDebounceTimeDefault', {
6
+ providedIn: 'root',
7
+ factory: () => 300,
8
+ });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZGVib3VuY2UtdGltZS1kZWZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb3ZpZGVycy9zYy1kZWJvdW5jZS10aW1lLWRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUEyQixJQUFJLGNBQWMsQ0FBUyx1QkFBdUIsRUFBRTtJQUNoSCxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRztDQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqINCU0LvQuNGC0LXQu9GM0L3QvtGB0YLRjCB7QGxpbmsgZGVib3VuY2VUaW1lfSDQsiDQvNC40LvQu9C40YHQtdC60YPQvdC00LDRhSDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0RFQk9VTkNFX1RJTUVfREVGQVVMVDogSW5qZWN0aW9uVG9rZW48bnVtYmVyPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KCdzY0RlYm91bmNlVGltZURlZmF1bHQnLCB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IDMwMCxcbn0pO1xuIl19
@@ -8,6 +8,7 @@ export * from './accordion';
8
8
  export * from './banner';
9
9
  export * from './cart';
10
10
  export * from './catalog';
11
+ export * from './configurators';
11
12
  export * from './contragents';
12
13
  export * from './contacts';
13
14
  export * from './delivery-address';
@@ -25,6 +26,7 @@ export * from './order';
25
26
  export * from './pages';
26
27
  export * from './pipes';
27
28
  export * from './samples';
29
+ export * from './methods';
28
30
  export * from './providers';
29
31
  export * from './feedback';
30
32
  export * from './qrcode';
@@ -34,4 +36,4 @@ export * from './validators';
34
36
  export * from './verification';
35
37
  export * from './profile';
36
38
  export * from './schemas';
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB1aVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjb3JkaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYmFubmVyJztcbmV4cG9ydCAqIGZyb20gJy4vY2FydCc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmFnZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsaXZlcnktYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3ItaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2JyYW5kcy1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbmV3cyc7XG5leHBvcnQgKiBmcm9tICcuL25vaW5kZXgtd3JhcHBlcic7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NhbXBsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWVkYmFjayc7XG5leHBvcnQgKiBmcm9tICcuL3FyY29kZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlLWJ1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXInO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vdmVyaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYXMnO1xuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVpXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5uZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmFnZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsaXZlcnktYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3ItaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2JyYW5kcy1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbmV3cyc7XG5leHBvcnQgKiBmcm9tICcuL25vaW5kZXgtd3JhcHBlcic7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NhbXBsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRob2RzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZmVlZGJhY2snO1xuZXhwb3J0ICogZnJvbSAnLi9xcmNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZS1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcmlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3Byb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWFzJztcbiJdfQ==
@@ -33,10 +33,10 @@ export class ScPreviewSampleComponent {
33
33
  this.isReverse = input(false);
34
34
  }
35
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScPreviewSampleComponent, selector: "sc-preview-sample", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, sample: { classPropertyName: "sample", publicName: "sample", isSignal: true, isRequired: true, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null }, isReverse: { classPropertyName: "isReverse", publicName: "isReverse", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, host: { attributes: { "ngSkipHydration": "true" } }, ngImport: i0, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n >\n <picture>\n <source\n type=\"image/webp\"\n [srcset]=\"item.buttonImageUrl.webp\"\n />\n <img\n [src]=\"item.buttonImageUrl.defaultFormat\"\n [alt]=\"item.buttonImageUrl.alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + item.color\"\n />\n </picture>\n </tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 \u0432 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0438 \u043E\u0431\u0440\u0430\u0437\u0446\u0430 {{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items; let itemIndex = index\">\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.carouselItemImage.webp\"\n />\n <img\n [src]=\"item.carouselItemImage.defaultFormat\"\n [alt]=\"item.carouselItemImage.alt ?? '\u041E\u0431\u0440\u0430\u0437\u0435\u0446 \u0442\u043E\u0432\u0430\u0440\u0430 ' + sample.title + ' \u0432 \u0446\u0432\u0435\u0442\u0435 ' + item.color + itemIndex\"\n class=\"h-[19em] w-full object-cover object-right md:h-96 lg:h-[28rem]\"\n />\n </picture>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"], dependencies: [{ 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: i2.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i3.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "component", type: i3.TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: i5.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScPreviewSampleComponent, selector: "sc-preview-sample", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, sample: { classPropertyName: "sample", publicName: "sample", isSignal: true, isRequired: true, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null }, isReverse: { classPropertyName: "isReverse", publicName: "isReverse", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, host: { attributes: { "ngSkipHydration": "true" } }, ngImport: i0, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n >\n <picture>\n <source\n type=\"image/webp\"\n [srcset]=\"item.buttonImageUrl.webp\"\n />\n <img\n [src]=\"item.buttonImageUrl.defaultFormat\"\n [alt]=\"item.buttonImageUrl.alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + item.color\"\n />\n </picture>\n </tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"{{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items; let itemIndex = index\">\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.carouselItemImage.webp\"\n />\n <img\n [src]=\"item.carouselItemImage.defaultFormat\"\n [alt]=\"item.carouselItemImage.alt ?? sample.title + ' \u0432 \u0446\u0432\u0435\u0442\u0435 ' + item.color + itemIndex\"\n class=\"h-[19em] w-full object-cover object-right md:h-96 lg:h-[28rem]\"\n />\n </picture>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"], dependencies: [{ 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: i2.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i3.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "component", type: i3.TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: i5.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'sc-preview-sample', host: { ngSkipHydration: 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n >\n <picture>\n <source\n type=\"image/webp\"\n [srcset]=\"item.buttonImageUrl.webp\"\n />\n <img\n [src]=\"item.buttonImageUrl.defaultFormat\"\n [alt]=\"item.buttonImageUrl.alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + item.color\"\n />\n </picture>\n </tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 \u0432 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0438 \u043E\u0431\u0440\u0430\u0437\u0446\u0430 {{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items; let itemIndex = index\">\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.carouselItemImage.webp\"\n />\n <img\n [src]=\"item.carouselItemImage.defaultFormat\"\n [alt]=\"item.carouselItemImage.alt ?? '\u041E\u0431\u0440\u0430\u0437\u0435\u0446 \u0442\u043E\u0432\u0430\u0440\u0430 ' + sample.title + ' \u0432 \u0446\u0432\u0435\u0442\u0435 ' + item.color + itemIndex\"\n class=\"h-[19em] w-full object-cover object-right md:h-96 lg:h-[28rem]\"\n />\n </picture>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"] }]
40
+ args: [{ selector: 'sc-preview-sample', host: { ngSkipHydration: 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n >\n <picture>\n <source\n type=\"image/webp\"\n [srcset]=\"item.buttonImageUrl.webp\"\n />\n <img\n [src]=\"item.buttonImageUrl.defaultFormat\"\n [alt]=\"item.buttonImageUrl.alt ?? '\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044F \u0446\u0432\u0435\u0442\u0430 ' + item.color\"\n />\n </picture>\n </tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"{{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items; let itemIndex = index\">\n <picture *tuiItem>\n <source\n type=\"image/webp\"\n [srcset]=\"item.carouselItemImage.webp\"\n />\n <img\n [src]=\"item.carouselItemImage.defaultFormat\"\n [alt]=\"item.carouselItemImage.alt ?? sample.title + ' \u0432 \u0446\u0432\u0435\u0442\u0435 ' + item.color + itemIndex\"\n class=\"h-[19em] w-full object-cover object-right md:h-96 lg:h-[28rem]\"\n />\n </picture>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"] }]
41
41
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBSTlDOztHQUVHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFJOztXQUVHO1FBQ2EsVUFBSyxHQUF3QixLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDSSxhQUFRLEdBQXdCLEtBQUssQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUUzRDs7V0FFRztRQUNJLFdBQU0sR0FBa0MsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztRQUVsRjs7V0FFRztRQUNJLDJCQUFzQixHQUF5QixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUVwRjs7V0FFRztRQUNJLGNBQVMsR0FBeUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3pEOytHQXpCWSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrekJDZnJDLCtqSkF1R0E7OzRGRHhGYSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0ksbUJBQW1CLFFBR3ZCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxtQkFDaEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIElucHV0U2lnbmFsLCBtb2RlbCwgTW9kZWxTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHsgU2NJUHJldmlld1NhbXBsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1wcmV2aWV3LXNhbXBsZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINC+0LHRgNCw0LfRhtC+0LIg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByZXZpZXctc2FtcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLXByZXZpZXctc2FtcGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByZXZpZXdTYW1wbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCY0L3QtNC10LrRgSDRjdC70LXQvNC10L3RgtCwINCyINCz0LDQu9C10YDQtdC1LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpbmRleDogTW9kZWxTaWduYWw8bnVtYmVyPiA9IG1vZGVsPG51bWJlcj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiDQlNC70LjRgtC10LvRjNC90L7RgdGC0Ywg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC60LDRgNGD0YHQtdC70LguXG4gICAgICovXG4gICAgcHVibGljIGR1cmF0aW9uOiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQ8bnVtYmVyPig1MDAwKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDQtNCw0L3QvdGL0YUg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzYW1wbGU6IElucHV0U2lnbmFsPFNjSVByZXZpZXdTYW1wbGU+ID0gaW5wdXQucmVxdWlyZWQ8U2NJUHJldmlld1NhbXBsZT4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Lgg0L3QsCDQutCw0YDRg9GB0LXQu9C4LlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KCFpbmplY3QoVFVJX0lTX01PQklMRSkpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9GA0Lgg0LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90L7QvCDQvtGC0L7QsdGA0LDQttC10L3QuNC4INC60L7QvNC/0L7QvdC10L3RgiDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YDQsNC30LLRkdGA0L3Rg9GCLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1JldmVyc2U6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwic2FtcGxlKCkgYXMgc2FtcGxlXCJcbiAgICBjbGFzcz1cIm1iLTQgZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC00IG1kOm1iLTAgbWQ6ZmxleC1yb3cgbWQ6Z2FwLThcIlxuICAgIFtjbGFzcy5tZDohZmxleC1yb3ctcmV2ZXJzZV09XCJpc1JldmVyc2UoKVwiXG4+XG4gICAgQGxldCBpc1Nob3duU3dpdGNoZXMgPSBzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zLmxlbmd0aCA+IDE7XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtYXgtdy05NiBmbGV4LTEgZmxleC1jb2wganVzdGlmeS1jZW50ZXIgc2VsZi1jZW50ZXIgbWQ6bWF4LXctbm9uZSBtZDpnYXAtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC1jb2wgZ2FwLTMgbWQ6Z2FwLTQgbWQ6cHgtOFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS1sLWJvbGRcIj57eyBzYW1wbGUudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2hvd25Td2l0Y2hlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC00XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICBbcm91bmRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzYW1wbGUuaXRlbXM7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cImluZGV4LnNldChpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbmRleCgpID09PSBpdGVtSW5kZXhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNzZXRdPVwiaXRlbS5idXR0b25JbWFnZVVybC53ZWJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmJ1dHRvbkltYWdlVXJsLmRlZmF1bHRGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5idXR0b25JbWFnZVVybC5hbHQgPz8gJ9Ca0L3QvtC/0LrQsCDQv9C10YDQtdC60LvRjtGH0LDRgtC10LvRjyDRhtCy0LXRgtCwICcgKyBpdGVtLmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgICAgICAgICA8L3R1aS1hdmF0YXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNhbXBsZS5pdGVtcyBhcyBpdGVtc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtc1tpbmRleCgpXS5jb2xvciB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2Pnt7IHNhbXBsZS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIGFsdD1cItCY0LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwINCyINC+0L/QuNGB0LDQvdC40Lgg0L7QsdGA0LDQt9GG0LAge3sgc2FtcGxlLnRpdGxlIH19XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZml0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zW2luZGV4KCldLmFjdGlvbnM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMyBtZDpnYXAtNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBzYW1wbGUuaXRlbXNbaW5kZXgoKV0uYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImFjdGlvbi5ocmVmXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5oYW5kbGVyID8gJGV2ZW50LnByZXZlbnREZWZhdWx0KCkgOiB7fTsgYWN0aW9uLmhhbmRsZXI/LigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TdGFydF09XCJhY3Rpb24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgYWN0aW9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIGgtWzE5ZW1dIGZsZXgtMSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC14bCBzaGFkb3ctdHVpLXNoYWRvdyBtZDpoLTk2IGxnOmgtWzI4cmVtXVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImlzU2hvd25Td2l0Y2hlcyAmJiBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzKClcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cImNhcm91c2VsLnByZXYoKVwiXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLmNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSBsZWZ0LTAgdG9wLTEvMiB6LTEwIG1sLTIgLXRyYW5zbGF0ZS15LTEvMlwiXG4gICAgICAgID48L2J1dHRvbj5cblxuICAgICAgICA8dHVpLWNhcm91c2VsXG4gICAgICAgICAgICAjY2Fyb3VzZWxcbiAgICAgICAgICAgIFsoaW5kZXgpXT1cImluZGV4XCJcbiAgICAgICAgICAgIFtkdXJhdGlvbl09XCJkdXJhdGlvbigpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC1bMTllbV0gdy1mdWxsIG1kOmgtOTYgbGc6aC1bMjhyZW1dXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzYW1wbGUuaXRlbXM7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxwaWN0dXJlICp0dWlJdGVtPlxuICAgICAgICAgICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiaW1hZ2Uvd2VicFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3Jjc2V0XT1cIml0ZW0uY2Fyb3VzZWxJdGVtSW1hZ2Uud2VicFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5jYXJvdXNlbEl0ZW1JbWFnZS5kZWZhdWx0Rm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5jYXJvdXNlbEl0ZW1JbWFnZS5hbHQgPz8gJ9Ce0LHRgNCw0LfQtdGGINGC0L7QstCw0YDQsCAnICsgc2FtcGxlLnRpdGxlICsgJyDQsiDRhtCy0LXRgtC1ICcgKyBpdGVtLmNvbG9yICsgaXRlbUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaC1bMTllbV0gdy1mdWxsIG9iamVjdC1jb3ZlciBvYmplY3QtcmlnaHQgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3R1aS1jYXJvdXNlbD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3duU3dpdGNoZXMgJiYgaXNTaG93Q2Fyb3VzZWxTd2l0Y2hlcygpXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjYXJvdXNlbC5uZXh0KClcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5jaGV2cm9uLXJpZ2h0XCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTAgdG9wLTEvMiB6LTEwIG1yLTIgLXRyYW5zbGF0ZS15LTEvMlwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBSTlDOztHQUVHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFJOztXQUVHO1FBQ2EsVUFBSyxHQUF3QixLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDSSxhQUFRLEdBQXdCLEtBQUssQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUUzRDs7V0FFRztRQUNJLFdBQU0sR0FBa0MsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztRQUVsRjs7V0FFRztRQUNJLDJCQUFzQixHQUF5QixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUVwRjs7V0FFRztRQUNJLGNBQVMsR0FBeUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3pEOytHQXpCWSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrekJDZnJDLCt4SUF1R0E7OzRGRHhGYSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0ksbUJBQW1CLFFBR3ZCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxtQkFDaEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIElucHV0U2lnbmFsLCBtb2RlbCwgTW9kZWxTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHsgU2NJUHJldmlld1NhbXBsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1wcmV2aWV3LXNhbXBsZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINC+0LHRgNCw0LfRhtC+0LIg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByZXZpZXctc2FtcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLXByZXZpZXctc2FtcGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByZXZpZXdTYW1wbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCY0L3QtNC10LrRgSDRjdC70LXQvNC10L3RgtCwINCyINCz0LDQu9C10YDQtdC1LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpbmRleDogTW9kZWxTaWduYWw8bnVtYmVyPiA9IG1vZGVsPG51bWJlcj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiDQlNC70LjRgtC10LvRjNC90L7RgdGC0Ywg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC60LDRgNGD0YHQtdC70LguXG4gICAgICovXG4gICAgcHVibGljIGR1cmF0aW9uOiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQ8bnVtYmVyPig1MDAwKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDQtNCw0L3QvdGL0YUg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzYW1wbGU6IElucHV0U2lnbmFsPFNjSVByZXZpZXdTYW1wbGU+ID0gaW5wdXQucmVxdWlyZWQ8U2NJUHJldmlld1NhbXBsZT4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Lgg0L3QsCDQutCw0YDRg9GB0LXQu9C4LlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KCFpbmplY3QoVFVJX0lTX01PQklMRSkpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9GA0Lgg0LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90L7QvCDQvtGC0L7QsdGA0LDQttC10L3QuNC4INC60L7QvNC/0L7QvdC10L3RgiDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YDQsNC30LLRkdGA0L3Rg9GCLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1JldmVyc2U6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwic2FtcGxlKCkgYXMgc2FtcGxlXCJcbiAgICBjbGFzcz1cIm1iLTQgZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC00IG1kOm1iLTAgbWQ6ZmxleC1yb3cgbWQ6Z2FwLThcIlxuICAgIFtjbGFzcy5tZDohZmxleC1yb3ctcmV2ZXJzZV09XCJpc1JldmVyc2UoKVwiXG4+XG4gICAgQGxldCBpc1Nob3duU3dpdGNoZXMgPSBzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zLmxlbmd0aCA+IDE7XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtYXgtdy05NiBmbGV4LTEgZmxleC1jb2wganVzdGlmeS1jZW50ZXIgc2VsZi1jZW50ZXIgbWQ6bWF4LXctbm9uZSBtZDpnYXAtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC1jb2wgZ2FwLTMgbWQ6Z2FwLTQgbWQ6cHgtOFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS1sLWJvbGRcIj57eyBzYW1wbGUudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2hvd25Td2l0Y2hlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC00XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICBbcm91bmRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzYW1wbGUuaXRlbXM7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cImluZGV4LnNldChpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbmRleCgpID09PSBpdGVtSW5kZXhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNzZXRdPVwiaXRlbS5idXR0b25JbWFnZVVybC53ZWJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmJ1dHRvbkltYWdlVXJsLmRlZmF1bHRGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5idXR0b25JbWFnZVVybC5hbHQgPz8gJ9Ca0L3QvtC/0LrQsCDQv9C10YDQtdC60LvRjtGH0LDRgtC10LvRjyDRhtCy0LXRgtCwICcgKyBpdGVtLmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgICAgICAgICA8L3R1aS1hdmF0YXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNhbXBsZS5pdGVtcyBhcyBpdGVtc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtc1tpbmRleCgpXS5jb2xvciB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2Pnt7IHNhbXBsZS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIGFsdD1cInt7IHNhbXBsZS50aXRsZSB9fVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZpdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2FtcGxlLml0ZW1zICYmIHNhbXBsZS5pdGVtc1tpbmRleCgpXS5hY3Rpb25zPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTMgbWQ6Z2FwLTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygc2FtcGxlLml0ZW1zW2luZGV4KCldLmFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJhY3Rpb24uaHJlZlwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uaGFuZGxlciA/ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpIDoge307IGFjdGlvbi5oYW5kbGVyPy4oKVwiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uU3RhcnRdPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBoLVsxOWVtXSBmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgc2hhZG93LXR1aS1zaGFkb3cgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3duU3dpdGNoZXMgJiYgaXNTaG93Q2Fyb3VzZWxTd2l0Y2hlcygpXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjYXJvdXNlbC5wcmV2KClcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5jaGV2cm9uLWxlZnRcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgY2xhc3M9XCIhYWJzb2x1dGUgbGVmdC0wIHRvcC0xLzIgei0xMCBtbC0yIC10cmFuc2xhdGUteS0xLzJcIlxuICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgPHR1aS1jYXJvdXNlbFxuICAgICAgICAgICAgI2Nhcm91c2VsXG4gICAgICAgICAgICBbKGluZGV4KV09XCJpbmRleFwiXG4gICAgICAgICAgICBbZHVyYXRpb25dPVwiZHVyYXRpb24oKVwiXG4gICAgICAgICAgICBjbGFzcz1cImgtWzE5ZW1dIHctZnVsbCBtZDpoLTk2IGxnOmgtWzI4cmVtXVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2FtcGxlLml0ZW1zOyBsZXQgaXRlbUluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8cGljdHVyZSAqdHVpSXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPHNvdXJjZVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY3NldF09XCJpdGVtLmNhcm91c2VsSXRlbUltYWdlLndlYnBcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uY2Fyb3VzZWxJdGVtSW1hZ2UuZGVmYXVsdEZvcm1hdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uY2Fyb3VzZWxJdGVtSW1hZ2UuYWx0ID8/IHNhbXBsZS50aXRsZSArICcg0LIg0YbQstC10YLQtSAnICsgaXRlbS5jb2xvciArIGl0ZW1JbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImgtWzE5ZW1dIHctZnVsbCBvYmplY3QtY292ZXIgb2JqZWN0LXJpZ2h0IG1kOmgtOTYgbGc6aC1bMjhyZW1dXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L3BpY3R1cmU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90dWktY2Fyb3VzZWw+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaXNTaG93blN3aXRjaGVzICYmIGlzU2hvd0Nhcm91c2VsU3dpdGNoZXMoKVwiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2Fyb3VzZWwubmV4dCgpXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSByaWdodC0wIHRvcC0xLzIgei0xMCBtci0yIC10cmFuc2xhdGUteS0xLzJcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,42 +1,40 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output } from '@angular/core';
2
+ import { ScUserService } from '@snabcentr/client-core';
2
3
  import { map } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "@snabcentr/client-core";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@taiga-ui/core";
7
- import * as i4 from "../../directives/terminal-link/sc-terminal-link.directive";
8
- import * as i5 from "../../directives/links/sc-tel-link.directive";
9
- import * as i6 from "../../directives/links/sc-email-link.directive";
10
- import * as i7 from "../../pipes/sc-phone-format";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@taiga-ui/core";
7
+ import * as i3 from "../../directives/terminal-link/sc-terminal-link.directive";
8
+ import * as i4 from "../../directives/links/sc-tel-link.directive";
9
+ import * as i5 from "../../directives/links/sc-email-link.directive";
10
+ import * as i6 from "../../pipes/sc-phone-format";
11
11
  /**
12
12
  * Компонент персональных менеджеров пользователя.
13
13
  */
14
14
  export class ScUserManagersComponent {
15
- /**
16
- * Инициализирует экземпляр класса {@link ScUserManagersComponent}.
17
- *
18
- * @param userService Сервис данных о пользователе.
19
- */
20
- constructor(userService) {
21
- this.userService = userService;
15
+ constructor() {
16
+ /**
17
+ * Событие нажатия на кнопку QR кода.
18
+ */
19
+ this.qrClickEvent = new EventEmitter();
20
+ /**
21
+ * Сервис данных о пользователе.
22
+ */
23
+ this.userService = inject(ScUserService);
22
24
  /**
23
25
  * Персональные менеджеры пользователя.
24
26
  */
25
27
  this.managers$ = this.userService
26
28
  .getUserChange$()
27
- .pipe(map((user) => user.managers?.filter((manager) => !manager.isRegionalDirector)));
28
- /**
29
- * Событие нажатия на кнопку QR кода.
30
- */
31
- this.qrClickEvent = new EventEmitter();
29
+ .pipe(map((user) => user.managers?.filter((manager) => !manager.isRegionalDirector || manager.isPrimary)));
32
30
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserManagersComponent, deps: [{ token: i1.ScUserService }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScUserManagersComponent, selector: "sc-user-managers", outputs: { qrClickEvent: "qrClickEvent" }, ngImport: i0, template: "<p class=\"mb-2 font-extrabold\">\u0412\u0430\u0448\u0438 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u044B:</p>\n<ng-container *ngFor=\"let manager of managers$ | async; let last = last\">\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col gap-1 !font-medium text-tui-text-02\">\n {{ manager.name }}\n <a\n tuiLink\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"user-managers\"\n href=\"mailto:{{ manager.contacts.email }}\"\n iconStart=\"@tui.mail\"\n >\n {{ manager.contacts.email }}\n </a>\n <a\n tuiLink\n [scTelLink]=\"manager.contacts.phone\"\n [pseudo]=\"true\"\n linkLocation=\"user-managers\"\n href=\"tel:{{ manager.contacts.phone | scPhoneFormat }}\"\n iconStart=\"@tui.phone\"\n >\n {{ manager.contacts.phone | scPhoneFormat }}\n </a>\n </div>\n <button\n tuiIconButton\n size=\"m\"\n appearance=\"secondary\"\n iconStart=\"@tui.scan-qr-code\"\n (click)=\"qrClickEvent.emit(manager)\"\n ></button>\n </div>\n <hr\n *ngIf=\"!last\"\n class=\"my-2 h-px border-0 bg-tui-base-04\"\n />\n</ng-container>\n", styles: ["a[tuiLink][data-mode=onLight]._pseudo{color:var(--tui-text-secondary)}a[tuiLink][data-mode=onLight]._pseudo:hover{color:var(--tui-text-tertiary)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i4.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i5.ScTelLinkDirective, selector: "a[scTelLink]", inputs: ["scTelLink", "linkLocation"] }, { kind: "directive", type: i6.ScEmailLinkDirective, selector: "a[scEmailLink]", inputs: ["linkLocation"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.ScPhoneFormatPipe, name: "scPhoneFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserManagersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScUserManagersComponent, selector: "sc-user-managers", outputs: { qrClickEvent: "qrClickEvent" }, ngImport: i0, template: "<p class=\"mb-2 font-extrabold\">\u0412\u0430\u0448\u0438 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u044B:</p>\n<ng-container *ngFor=\"let manager of managers$ | async; let last = last\">\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col gap-1 !font-medium text-tui-text-02\">\n {{ manager.name }}\n <a\n tuiLink\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"user-managers\"\n href=\"mailto:{{ manager.contacts.email }}\"\n iconStart=\"@tui.mail\"\n >\n {{ manager.contacts.email }}\n </a>\n <a\n tuiLink\n [scTelLink]=\"manager.contacts.phone\"\n [pseudo]=\"true\"\n linkLocation=\"user-managers\"\n href=\"tel:{{ manager.contacts.phone | scPhoneFormat }}\"\n iconStart=\"@tui.phone\"\n >\n {{ manager.contacts.phone | scPhoneFormat }}\n </a>\n </div>\n <button\n tuiIconButton\n size=\"m\"\n appearance=\"secondary\"\n iconStart=\"@tui.scan-qr-code\"\n (click)=\"qrClickEvent.emit(manager)\"\n ></button>\n </div>\n <hr\n *ngIf=\"!last\"\n class=\"my-2 h-px border-0 bg-tui-base-04\"\n />\n</ng-container>\n", styles: ["a[tuiLink][data-mode=onLight]._pseudo{color:var(--tui-text-secondary)}a[tuiLink][data-mode=onLight]._pseudo:hover{color:var(--tui-text-tertiary)}\n"], dependencies: [{ 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: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i2.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i3.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i4.ScTelLinkDirective, selector: "a[scTelLink]", inputs: ["scTelLink", "linkLocation"] }, { kind: "directive", type: i5.ScEmailLinkDirective, selector: "a[scEmailLink]", inputs: ["linkLocation"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.ScPhoneFormatPipe, name: "scPhoneFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
33
  }
36
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScUserManagersComponent, decorators: [{
37
35
  type: Component,
38
36
  args: [{ selector: 'sc-user-managers', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"mb-2 font-extrabold\">\u0412\u0430\u0448\u0438 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u044B:</p>\n<ng-container *ngFor=\"let manager of managers$ | async; let last = last\">\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col gap-1 !font-medium text-tui-text-02\">\n {{ manager.name }}\n <a\n tuiLink\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"user-managers\"\n href=\"mailto:{{ manager.contacts.email }}\"\n iconStart=\"@tui.mail\"\n >\n {{ manager.contacts.email }}\n </a>\n <a\n tuiLink\n [scTelLink]=\"manager.contacts.phone\"\n [pseudo]=\"true\"\n linkLocation=\"user-managers\"\n href=\"tel:{{ manager.contacts.phone | scPhoneFormat }}\"\n iconStart=\"@tui.phone\"\n >\n {{ manager.contacts.phone | scPhoneFormat }}\n </a>\n </div>\n <button\n tuiIconButton\n size=\"m\"\n appearance=\"secondary\"\n iconStart=\"@tui.scan-qr-code\"\n (click)=\"qrClickEvent.emit(manager)\"\n ></button>\n </div>\n <hr\n *ngIf=\"!last\"\n class=\"my-2 h-px border-0 bg-tui-base-04\"\n />\n</ng-container>\n", styles: ["a[tuiLink][data-mode=onLight]._pseudo{color:var(--tui-text-secondary)}a[tuiLink][data-mode=onLight]._pseudo:hover{color:var(--tui-text-tertiary)}\n"] }]
39
- }], ctorParameters: () => [{ type: i1.ScUserService }], propDecorators: { qrClickEvent: [{
37
+ }], propDecorators: { qrClickEvent: [{
40
38
  type: Output
41
39
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tYW5hZ2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLW1hbmFnZXJzL3NjLXVzZXItbWFuYWdlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1tYW5hZ2Vycy9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFFdkM7O0dBRUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBY2hDOzs7O09BSUc7SUFDSCxZQUFvQyxXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQWxCOUQ7O1dBRUc7UUFDYSxjQUFTLEdBQXlDLElBQUksQ0FBQyxXQUFXO2FBQzdFLGNBQWMsRUFBRTthQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUY7O1dBRUc7UUFFYSxpQkFBWSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO0lBT3ZCLENBQUM7K0dBbkJ6RCx1QkFBdUI7bUdBQXZCLHVCQUF1QixtR0NicEMscytDQXVDQTs7NEZEMUJhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTtrRkFjL0IsWUFBWTtzQkFEM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY0lNYW5hZ2VyLCBTY1VzZXJTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0L/QtdGA0YHQvtC90LDQu9GM0L3Ri9GFINC80LXQvdC10LTQttC10YDQvtCyINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy11c2VyLW1hbmFnZXJzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtdXNlci1tYW5hZ2Vycy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2MtdXNlci1tYW5hZ2Vycy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1VzZXJNYW5hZ2Vyc0NvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0J/QtdGA0YHQvtC90LDQu9GM0L3Ri9C1INC80LXQvdC10LTQttC10YDRiyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG1hbmFnZXJzJDogT2JzZXJ2YWJsZTxTY0lNYW5hZ2VyW10gfCB1bmRlZmluZWQ+ID0gdGhpcy51c2VyU2VydmljZVxuICAgICAgICAuZ2V0VXNlckNoYW5nZSQoKVxuICAgICAgICAucGlwZShtYXAoKHVzZXIpID0+IHVzZXIubWFuYWdlcnM/LmZpbHRlcigobWFuYWdlcikgPT4gIW1hbmFnZXIuaXNSZWdpb25hbERpcmVjdG9yKSkpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgUVIg0LrQvtC00LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHFyQ2xpY2tFdmVudDogRXZlbnRFbWl0dGVyPFNjSU1hbmFnZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lNYW5hZ2VyPigpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1VzZXJNYW5hZ2Vyc0NvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXNlclNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LDQvdC90YvRhSDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UpIHt9XG59XG4iLCI8cCBjbGFzcz1cIm1iLTIgZm9udC1leHRyYWJvbGRcIj7QktCw0YjQuCDQv9C10YDRgdC+0L3QsNC70YzQvdGL0LUg0LzQtdC90LXQtNC20LXRgNGLOjwvcD5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1hbmFnZXIgb2YgbWFuYWdlcnMkIHwgYXN5bmM7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMSAhZm9udC1tZWRpdW0gdGV4dC10dWktdGV4dC0wMlwiPlxuICAgICAgICAgICAge3sgbWFuYWdlci5uYW1lIH19XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHNjRW1haWxMaW5rXG4gICAgICAgICAgICAgICAgbGlua0xvY2F0aW9uPVwidXNlci1tYW5hZ2Vyc1wiXG4gICAgICAgICAgICAgICAgaHJlZj1cIm1haWx0bzp7eyBtYW5hZ2VyLmNvbnRhY3RzLmVtYWlsIH19XCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLm1haWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IG1hbmFnZXIuY29udGFjdHMuZW1haWwgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgIFtzY1RlbExpbmtdPVwibWFuYWdlci5jb250YWN0cy5waG9uZVwiXG4gICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBsaW5rTG9jYXRpb249XCJ1c2VyLW1hbmFnZXJzXCJcbiAgICAgICAgICAgICAgICBocmVmPVwidGVsOnt7IG1hbmFnZXIuY29udGFjdHMucGhvbmUgfCBzY1Bob25lRm9ybWF0IH19XCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnBob25lXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBtYW5hZ2VyLmNvbnRhY3RzLnBob25lIHwgc2NQaG9uZUZvcm1hdCB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNjYW4tcXItY29kZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwicXJDbGlja0V2ZW50LmVtaXQobWFuYWdlcilcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGhyXG4gICAgICAgICpuZ0lmPVwiIWxhc3RcIlxuICAgICAgICBjbGFzcz1cIm15LTIgaC1weCBib3JkZXItMCBiZy10dWktYmFzZS0wNFwiXG4gICAgLz5cbjwvbmctY29udGFpbmVyPlxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tYW5hZ2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdXNlci91c2VyLW1hbmFnZXJzL3NjLXVzZXItbWFuYWdlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3VzZXIvdXNlci1tYW5hZ2Vycy9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBRXZDOztHQUVHO0FBT0gsTUFBTSxPQUFPLHVCQUF1QjtJQU5wQztRQU9JOztXQUVHO1FBRWEsaUJBQVksR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV4Rjs7V0FFRztRQUNjLGdCQUFXLEdBQWtCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVwRTs7V0FFRztRQUNhLGNBQVMsR0FBeUMsSUFBSSxDQUFDLFdBQVc7YUFDN0UsY0FBYyxFQUFFO2FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2xIOytHQWxCWSx1QkFBdUI7bUdBQXZCLHVCQUF1QixtR0NicEMscytDQXVDQTs7NEZEMUJhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFPL0IsWUFBWTtzQkFEM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjSU1hbmFnZXIsIFNjVXNlclNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQv9C10YDRgdC+0L3QsNC70YzQvdGL0YUg0LzQtdC90LXQtNC20LXRgNC+0LIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXVzZXItbWFuYWdlcnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy11c2VyLW1hbmFnZXJzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjVXNlck1hbmFnZXJzQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBRUiDQutC+0LTQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgcXJDbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8U2NJTWFuYWdlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSU1hbmFnZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJTZXJ2aWNlOiBTY1VzZXJTZXJ2aWNlID0gaW5qZWN0KFNjVXNlclNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0YHQvtC90LDQu9GM0L3Ri9C1INC80LXQvdC10LTQttC10YDRiyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG1hbmFnZXJzJDogT2JzZXJ2YWJsZTxTY0lNYW5hZ2VyW10gfCB1bmRlZmluZWQ+ID0gdGhpcy51c2VyU2VydmljZVxuICAgICAgICAuZ2V0VXNlckNoYW5nZSQoKVxuICAgICAgICAucGlwZShtYXAoKHVzZXIpID0+IHVzZXIubWFuYWdlcnM/LmZpbHRlcigobWFuYWdlcikgPT4gIW1hbmFnZXIuaXNSZWdpb25hbERpcmVjdG9yIHx8IG1hbmFnZXIuaXNQcmltYXJ5KSkpO1xufVxuIiwiPHAgY2xhc3M9XCJtYi0yIGZvbnQtZXh0cmFib2xkXCI+0JLQsNGI0Lgg0L/QtdGA0YHQvtC90LDQu9GM0L3Ri9C1INC80LXQvdC10LTQttC10YDRizo8L3A+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYW5hZ2VyIG9mIG1hbmFnZXJzJCB8IGFzeW5jOyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTEgIWZvbnQtbWVkaXVtIHRleHQtdHVpLXRleHQtMDJcIj5cbiAgICAgICAgICAgIHt7IG1hbmFnZXIubmFtZSB9fVxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBzY0VtYWlsTGlua1xuICAgICAgICAgICAgICAgIGxpbmtMb2NhdGlvbj1cInVzZXItbWFuYWdlcnNcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJtYWlsdG86e3sgbWFuYWdlci5jb250YWN0cy5lbWFpbCB9fVwiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5tYWlsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBtYW5hZ2VyLmNvbnRhY3RzLmVtYWlsIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBbc2NUZWxMaW5rXT1cIm1hbmFnZXIuY29udGFjdHMucGhvbmVcIlxuICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgbGlua0xvY2F0aW9uPVwidXNlci1tYW5hZ2Vyc1wiXG4gICAgICAgICAgICAgICAgaHJlZj1cInRlbDp7eyBtYW5hZ2VyLmNvbnRhY3RzLnBob25lIHwgc2NQaG9uZUZvcm1hdCB9fVwiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5waG9uZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbWFuYWdlci5jb250YWN0cy5waG9uZSB8IHNjUGhvbmVGb3JtYXQgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zY2FuLXFyLWNvZGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInFyQ2xpY2tFdmVudC5lbWl0KG1hbmFnZXIpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxoclxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgY2xhc3M9XCJteS0yIGgtcHggYm9yZGVyLTAgYmctdHVpLWJhc2UtMDRcIlxuICAgIC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==