oasys-lib 2.4.1 → 2.6.0-rc.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 (146) hide show
  1. package/fesm2022/oasys-lib.mjs +347 -267
  2. package/fesm2022/oasys-lib.mjs.map +1 -1
  3. package/lib/components/form/errors-summary/errors-summary-item/form-errors-summary-item.component.d.ts +12 -0
  4. package/lib/components/form/errors-summary/errors-summary-item/form-errors-summary-item.component.d.ts.map +1 -0
  5. package/lib/components/form/errors-summary/errors-summary-title/form-errors-summary-title.component.d.ts +6 -0
  6. package/lib/components/form/errors-summary/errors-summary-title/form-errors-summary-title.component.d.ts.map +1 -0
  7. package/lib/components/form/errors-summary/form-errors-summary.component.d.ts +13 -0
  8. package/lib/components/form/errors-summary/form-errors-summary.component.d.ts.map +1 -0
  9. package/lib/components/form/errors-summary/index.d.ts +4 -0
  10. package/lib/components/form/errors-summary/index.d.ts.map +1 -0
  11. package/lib/components/form/form-group/index.d.ts +1 -1
  12. package/lib/components/form/form-group/index.d.ts.map +1 -1
  13. package/package.json +3 -5
  14. package/public-api.d.ts +1 -0
  15. package/public-api.d.ts.map +1 -1
  16. package/src/assets/bloomandwild/variables.css +1 -1
  17. package/src/assets/bloomon/variables.css +1 -1
  18. package/src/assets/global/scss-breakpoints.scss +1 -1
  19. package/esm2022/lib/components/alert/alert-cancel.directive.mjs +0 -22
  20. package/esm2022/lib/components/alert/alert-confirm.directive.mjs +0 -22
  21. package/esm2022/lib/components/alert/alert-content.directive.mjs +0 -14
  22. package/esm2022/lib/components/alert/alert-title.directive.mjs +0 -14
  23. package/esm2022/lib/components/alert/alert.component.mjs +0 -78
  24. package/esm2022/lib/components/alert/alert.module.mjs +0 -40
  25. package/esm2022/lib/components/alert/index.mjs +0 -7
  26. package/esm2022/lib/components/banner/banner.component.mjs +0 -62
  27. package/esm2022/lib/components/banner/banner.module.mjs +0 -16
  28. package/esm2022/lib/components/banner/index.mjs +0 -3
  29. package/esm2022/lib/components/button/button.component.mjs +0 -120
  30. package/esm2022/lib/components/button/button.mjs +0 -2
  31. package/esm2022/lib/components/button/button.module.mjs +0 -16
  32. package/esm2022/lib/components/button/index.mjs +0 -4
  33. package/esm2022/lib/components/button-group/button-group.component.mjs +0 -55
  34. package/esm2022/lib/components/button-group/button-group.module.mjs +0 -16
  35. package/esm2022/lib/components/button-group/index.mjs +0 -3
  36. package/esm2022/lib/components/card/card.component.mjs +0 -87
  37. package/esm2022/lib/components/card/card.mjs +0 -2
  38. package/esm2022/lib/components/card/card.module.mjs +0 -16
  39. package/esm2022/lib/components/card/index.mjs +0 -3
  40. package/esm2022/lib/components/carousel/carousel.component.mjs +0 -289
  41. package/esm2022/lib/components/carousel/carousel.module.mjs +0 -16
  42. package/esm2022/lib/components/carousel/index.mjs +0 -3
  43. package/esm2022/lib/components/divider/divider.component.mjs +0 -22
  44. package/esm2022/lib/components/divider/divider.mjs +0 -2
  45. package/esm2022/lib/components/divider/divider.module.mjs +0 -16
  46. package/esm2022/lib/components/divider/index.mjs +0 -3
  47. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +0 -81
  48. package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +0 -16
  49. package/esm2022/lib/components/form/checkbox/index.mjs +0 -3
  50. package/esm2022/lib/components/form/chip/chip.component.mjs +0 -88
  51. package/esm2022/lib/components/form/chip/chip.module.mjs +0 -16
  52. package/esm2022/lib/components/form/chip/index.mjs +0 -3
  53. package/esm2022/lib/components/form/combobox/combobox.component.mjs +0 -478
  54. package/esm2022/lib/components/form/combobox/combobox.mjs +0 -2
  55. package/esm2022/lib/components/form/combobox/combobox.module.mjs +0 -82
  56. package/esm2022/lib/components/form/combobox/index.mjs +0 -3
  57. package/esm2022/lib/components/form/errors/form-errors.component.mjs +0 -26
  58. package/esm2022/lib/components/form/errors/form-errors.module.mjs +0 -16
  59. package/esm2022/lib/components/form/errors/index.mjs +0 -3
  60. package/esm2022/lib/components/form/form-group/form-group.component.mjs +0 -32
  61. package/esm2022/lib/components/form/form-group/form-group.module.mjs +0 -16
  62. package/esm2022/lib/components/form/form-group/index.mjs +0 -3
  63. package/esm2022/lib/components/form/forms.mjs +0 -2
  64. package/esm2022/lib/components/form/radio/index.mjs +0 -3
  65. package/esm2022/lib/components/form/radio/radio.component.mjs +0 -80
  66. package/esm2022/lib/components/form/radio/radio.module.mjs +0 -16
  67. package/esm2022/lib/components/form/text-input/index.mjs +0 -3
  68. package/esm2022/lib/components/form/text-input/text-input.component.mjs +0 -185
  69. package/esm2022/lib/components/form/text-input/text-input.mjs +0 -2
  70. package/esm2022/lib/components/form/text-input/text-input.module.mjs +0 -16
  71. package/esm2022/lib/components/heading/heading.component.mjs +0 -107
  72. package/esm2022/lib/components/heading/heading.mjs +0 -2
  73. package/esm2022/lib/components/heading/heading.module.mjs +0 -16
  74. package/esm2022/lib/components/heading/index.mjs +0 -3
  75. package/esm2022/lib/components/hero/hero.component.mjs +0 -109
  76. package/esm2022/lib/components/hero/hero.module.mjs +0 -16
  77. package/esm2022/lib/components/hero/index.mjs +0 -3
  78. package/esm2022/lib/components/icon/icon.component.mjs +0 -61
  79. package/esm2022/lib/components/icon/icon.mjs +0 -2
  80. package/esm2022/lib/components/icon/icon.module.mjs +0 -16
  81. package/esm2022/lib/components/icon/index.mjs +0 -4
  82. package/esm2022/lib/components/image/image.component.mjs +0 -154
  83. package/esm2022/lib/components/image/image.mjs +0 -2
  84. package/esm2022/lib/components/image/image.module.mjs +0 -16
  85. package/esm2022/lib/components/image/index.mjs +0 -3
  86. package/esm2022/lib/components/label/index.mjs +0 -3
  87. package/esm2022/lib/components/label/label.component.mjs +0 -69
  88. package/esm2022/lib/components/label/label.module.mjs +0 -16
  89. package/esm2022/lib/components/layout/Layout.mjs +0 -2
  90. package/esm2022/lib/components/layout/box/box.component.mjs +0 -183
  91. package/esm2022/lib/components/layout/box/box.mjs +0 -3
  92. package/esm2022/lib/components/layout/container/container.component.mjs +0 -44
  93. package/esm2022/lib/components/layout/grid/grid-column.component.mjs +0 -55
  94. package/esm2022/lib/components/layout/grid/grid.component.mjs +0 -53
  95. package/esm2022/lib/components/layout/index.mjs +0 -8
  96. package/esm2022/lib/components/layout/layout.module.mjs +0 -40
  97. package/esm2022/lib/components/layout/stack/stack.component.mjs +0 -64
  98. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.component.mjs +0 -37
  99. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +0 -16
  100. package/esm2022/lib/components/navigation/breadcrumbs/index.mjs +0 -3
  101. package/esm2022/lib/components/navigation/tabs/tab/tab.component.mjs +0 -33
  102. package/esm2022/lib/components/navigation/tabs/tab-active/tab-active.component.mjs +0 -19
  103. package/esm2022/lib/components/navigation/tabs/tab-group/index.mjs +0 -4
  104. package/esm2022/lib/components/navigation/tabs/tab-group/tab-group.component.mjs +0 -38
  105. package/esm2022/lib/components/navigation/tabs/tab-group/tab-group.module.mjs +0 -27
  106. package/esm2022/lib/components/navigation/tabs/tab-header/tab-header.component.mjs +0 -70
  107. package/esm2022/lib/components/pill/index.mjs +0 -3
  108. package/esm2022/lib/components/pill/pill.component.mjs +0 -21
  109. package/esm2022/lib/components/pill/pill.mjs +0 -2
  110. package/esm2022/lib/components/pill/pill.module.mjs +0 -16
  111. package/esm2022/lib/components/pill-group/index.mjs +0 -3
  112. package/esm2022/lib/components/pill-group/pill-group.component.mjs +0 -41
  113. package/esm2022/lib/components/pill-group/pill-group.module.mjs +0 -16
  114. package/esm2022/lib/components/price/index.mjs +0 -3
  115. package/esm2022/lib/components/price/price.component.mjs +0 -32
  116. package/esm2022/lib/components/price/price.module.mjs +0 -16
  117. package/esm2022/lib/components/progress-bar/index.mjs +0 -2
  118. package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +0 -23
  119. package/esm2022/lib/components/promo-card/index.mjs +0 -3
  120. package/esm2022/lib/components/promo-card/promo-card.component.mjs +0 -87
  121. package/esm2022/lib/components/promo-card/promo-card.module.mjs +0 -16
  122. package/esm2022/lib/components/section/index.mjs +0 -3
  123. package/esm2022/lib/components/section/section.component.mjs +0 -119
  124. package/esm2022/lib/components/section/section.module.mjs +0 -16
  125. package/esm2022/lib/components/select-card/index.mjs +0 -3
  126. package/esm2022/lib/components/select-card/select-card.component.mjs +0 -94
  127. package/esm2022/lib/components/select-card/select-card.module.mjs +0 -16
  128. package/esm2022/lib/components/seo-block/index.mjs +0 -3
  129. package/esm2022/lib/components/seo-block/seo-block.component.mjs +0 -84
  130. package/esm2022/lib/components/seo-block/seo-block.module.mjs +0 -16
  131. package/esm2022/lib/components/text/index.mjs +0 -3
  132. package/esm2022/lib/components/text/text.component.mjs +0 -29
  133. package/esm2022/lib/components/text/text.mjs +0 -2
  134. package/esm2022/lib/components/text/text.module.mjs +0 -16
  135. package/esm2022/lib/directives/autofocus/autofocus.directive.mjs +0 -31
  136. package/esm2022/lib/directives/emphasis/emphasis.directive.mjs +0 -38
  137. package/esm2022/lib/directives/href/href.directive.mjs +0 -26
  138. package/esm2022/lib/services/breakpoint.service.mjs +0 -49
  139. package/esm2022/lib/services/image.service.mjs +0 -68
  140. package/esm2022/lib/services/index.mjs +0 -4
  141. package/esm2022/lib/services/media-base-url.provider.mjs +0 -3
  142. package/esm2022/lib/services/routing-handler.provider.mjs +0 -3
  143. package/esm2022/lib/services/swiper.provider.mjs +0 -13
  144. package/esm2022/lib/services/token.service.mjs +0 -71
  145. package/esm2022/oasys-lib.mjs +0 -5
  146. package/esm2022/public-api.mjs +0 -37
@@ -1,109 +0,0 @@
1
- import { Component, Input, ElementRef, ViewChild } from '@angular/core';
2
- import { TokenService } from '../../services/token.service';
3
- import { LayoutBoxComponent } from '../layout/box/box.component';
4
- import { LayoutGridComponent } from '../layout/grid/grid.component';
5
- import { NgStyle, NgClass, NgIf } from '@angular/common';
6
- import { LayoutGridColumnComponent } from '../layout/grid/grid-column.component';
7
- import { LayoutStackComponent } from '../layout/stack/stack.component';
8
- import { OasysHeadingComponent } from '../heading/heading.component';
9
- import { OasysButtonComponent } from '../button/button.component';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../../services/token.service";
12
- export class HeroComponent {
13
- tokenService;
14
- herobox;
15
- // Style input variables
16
- min_container_height;
17
- image_left_desktop = false;
18
- image_top_mobile = true;
19
- background_colour;
20
- non_brand_background_colour;
21
- // Content input variables
22
- heading_title;
23
- heading_subtitle;
24
- heading_surtitle;
25
- primary_cta_text;
26
- secondary_cta_text;
27
- image;
28
- alt_text;
29
- media_type = 'image';
30
- text_on_dark_override;
31
- heading_level = 'h1';
32
- // Event input variables
33
- href_primary_cta = '';
34
- href_secondary_cta = '';
35
- // Design token variables
36
- heroCtaAlignment;
37
- heroInsetSpaceSmall;
38
- heroInsetSpaceLarge;
39
- constructor(tokenService) {
40
- this.tokenService = tokenService;
41
- }
42
- setNonBrandBackgroundColour() {
43
- this.herobox.nativeElement.style.background = this.non_brand_background_colour;
44
- }
45
- ngAfterViewInit() {
46
- if (this.non_brand_background_colour) {
47
- this.setNonBrandBackgroundColour();
48
- }
49
- }
50
- ngOnInit() {
51
- this.heroCtaAlignment = this.tokenService.getTokenValue('--oasys-component-hero-actions-alignment');
52
- this.heroInsetSpaceSmall = this.tokenService.getTokenValue('--oasys-component-hero-inset-spacing-small');
53
- this.heroInsetSpaceLarge = this.tokenService.getTokenValue('--oasys-component-hero-inset-spacing-large');
54
- }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeroComponent, deps: [{ token: i1.TokenService }], target: i0.ɵɵFactoryTarget.Component });
56
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeroComponent, isStandalone: true, selector: "ui-hero", inputs: { min_container_height: "min_container_height", image_left_desktop: "image_left_desktop", image_top_mobile: "image_top_mobile", background_colour: "background_colour", non_brand_background_colour: "non_brand_background_colour", heading_title: "heading_title", heading_subtitle: "heading_subtitle", heading_surtitle: "heading_surtitle", primary_cta_text: "primary_cta_text", secondary_cta_text: "secondary_cta_text", image: "image", alt_text: "alt_text", media_type: "media_type", text_on_dark_override: "text_on_dark_override", heading_level: "heading_level", href_primary_cta: "href_primary_cta", href_secondary_cta: "href_secondary_cta" }, providers: [TokenService], viewQueries: [{ propertyName: "herobox", first: true, predicate: ["herobox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ui-box [box_background]=\"background_colour\" box_space=\"none\" #herobox>\n <ui-grid\n [ngStyle]=\"{ 'min-height': min_container_height ? min_container_height + 'px' : 'auto' }\"\n grid_gap=\"none\"\n grid_collapse_below=\"tablet\"\n >\n <ui-column\n [columns]=\"5\"\n [ngClass]=\"{ 'image-left': image_left_desktop, 'image-top': image_top_mobile }\"\n >\n <ui-box\n box_fill_mode=\"fill\"\n box_align_y=\"center\"\n box_background=\"transparent\"\n [box_space]=\"{\n mobile: heroInsetSpaceSmall,\n tablet: heroInsetSpaceSmall,\n laptop: heroInsetSpaceLarge,\n desktop: heroInsetSpaceLarge,\n }\"\n >\n <ui-stack\n stack_direction=\"y\"\n stack_align=\"center\"\n stack_distribute=\"center\"\n stack_gap=\"default\"\n >\n <ui-heading\n heading_type=\"primary\"\n [heading_on_dark]=\"\n herobox.backgroundIsDark || text_on_dark_override === 'true' ? true : false\n \"\n [heading_title]=\"heading_title\"\n [heading_seo_priority]=\"true\"\n [heading_subtitle]=\"heading_subtitle\"\n [heading_surtitle]=\"heading_surtitle\"\n [heading_level]=\"heading_level\"\n >\n </ui-heading>\n <!-- TODO: replace with ui-button-group once built-->\n <ui-stack\n *ngIf=\"primary_cta_text\"\n class=\"cta-container\"\n stack_direction=\"x\"\n [stack_align]=\"heroCtaAlignment\"\n [stack_distribute]=\"heroCtaAlignment\"\n [stack_wrap]=\"true\"\n stack_gap=\"near\"\n >\n <ui-button\n bwtrackas=\"oasys.hero-block.primary-cta\"\n button_size=\"large\"\n [button_type]=\"\n herobox.backgroundIsDark || text_on_dark_override === 'true'\n ? 'primary-inverse'\n : 'primary'\n \"\n [href]=\"href_primary_cta\"\n >\n <span>{{ primary_cta_text }}</span>\n </ui-button>\n <ui-button\n *ngIf=\"secondary_cta_text\"\n bwtrackas=\"oasys.hero-block.secondary-cta\"\n button-size=\"large\"\n [button_type]=\"\n herobox.backgroundIsDark || text_on_dark_override === 'true'\n ? 'secondary-inverse'\n : 'secondary'\n \"\n [href]=\"href_secondary_cta\"\n >\n <span>{{ secondary_cta_text }}</span>\n </ui-button>\n </ui-stack>\n </ui-stack>\n </ui-box>\n </ui-column>\n <ui-column [columns]=\"7\">\n <picture *ngIf=\"media_type === 'image'\">\n <source\n [srcset]=\"\n image + '?w=880&h=880&fm=webp&q=75 1x,' + image + '?w=1760&h=1760&fm=webp&q=40 2x'\n \"\n media=\"(min-width: 1440px)\"\n type=\"image/webp\"\n />\n <source\n [srcset]=\"\n image + '?w=720&h=720&fm=webp&q=75 1x,' + image + '?w=1440&h=1440&fm=webp&q=40 2x'\n \"\n media=\"(min-width: 1200px)\"\n type=\"image/webp\"\n />\n <source\n [srcset]=\"\n image + '?w=580&h=580&fm=webp&q=75 1x,' + image + '?w=1160&h=1160&fm=webp&q=40 2x'\n \"\n media=\"(min-width: 992px)\"\n type=\"image/webp\"\n />\n <source\n [srcset]=\"\n image + '?w=430&h=430&fm=webp&q=75 1x,' + image + '?w=860&h=860&fm=webp&q=40 2x'\n \"\n media=\"(min-width: 768px)\"\n type=\"image/webp\"\n />\n <source\n [srcset]=\"image + '?w=720&h=720&fm=webp&q=40 2x'\"\n media=\"(min-width: 454px)\"\n type=\"image/webp\"\n />\n <img\n fetchpriority=\"high\"\n [src]=\"image + '?w=430&h=430&fm=webp&q=75'\"\n [attr.alt]=\"alt_text\"\n width=\"100%\"\n height=\"100%\"\n style=\"object-fit: cover\"\n />\n </picture>\n <ng-content *ngIf=\"media_type === 'video'\"></ng-content>\n </ui-column>\n </ui-grid>\n</ui-box>\n", styles: ["@media only screen and (max-width: 767px){ui-grid .image-top{order:1}}@media only screen and (min-width: 768px){ui-grid .image-top{order:0}ui-grid .image-left{order:1}}\n"], dependencies: [{ kind: "component", type: LayoutBoxComponent, selector: "ui-box", inputs: ["box_space", "box_space_top", "box_space_right", "box_space_bottom", "box_space_left", "box_align_x", "box_align_y", "box_fill_mode", "box_background", "box_content_fill_width", "box_border_color", "box_border_width", "box_border_style", "box_border_radius"] }, { kind: "component", type: LayoutGridComponent, selector: "ui-grid", inputs: ["grid_auto", "grid_collapse_below", "grid_gap", "grid_base"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: LayoutGridColumnComponent, selector: "ui-column", inputs: ["columns", "column_inset"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: LayoutStackComponent, selector: "ui-stack", inputs: ["stack_gap", "stack_align", "stack_direction", "stack_distribute", "stack_wrap", "stack_collapse_below"] }, { kind: "component", type: OasysHeadingComponent, selector: "ui-heading", inputs: ["heading_type", "heading_on_dark", "heading_title", "heading_seo_priority", "heading_priority", "heading_alignment_override", "heading_subtitle", "heading_surtitle", "heading_level"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OasysButtonComponent, selector: "ui-button", inputs: ["button_icon", "button_icon_placement", "button_size", "button_type", "button_full_width", "button_event_type", "button_disabled", "button_selected", "button_text_nowrap", "aria_label", "aria_role", "href"], outputs: ["clicked"] }] });
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeroComponent, decorators: [{
59
- type: Component,
60
- args: [{ selector: 'ui-hero', standalone: true, imports: [
61
- LayoutBoxComponent,
62
- LayoutGridComponent,
63
- NgStyle,
64
- LayoutGridColumnComponent,
65
- NgClass,
66
- LayoutStackComponent,
67
- OasysHeadingComponent,
68
- NgIf,
69
- OasysButtonComponent,
70
- ], providers: [TokenService], template: "<ui-box [box_background]=\"background_colour\" box_space=\"none\" #herobox>\n <ui-grid\n [ngStyle]=\"{ 'min-height': min_container_height ? min_container_height + 'px' : 'auto' }\"\n grid_gap=\"none\"\n grid_collapse_below=\"tablet\"\n >\n <ui-column\n [columns]=\"5\"\n [ngClass]=\"{ 'image-left': image_left_desktop, 'image-top': image_top_mobile }\"\n >\n <ui-box\n box_fill_mode=\"fill\"\n box_align_y=\"center\"\n box_background=\"transparent\"\n [box_space]=\"{\n mobile: heroInsetSpaceSmall,\n tablet: heroInsetSpaceSmall,\n laptop: heroInsetSpaceLarge,\n desktop: heroInsetSpaceLarge,\n }\"\n >\n <ui-stack\n stack_direction=\"y\"\n stack_align=\"center\"\n stack_distribute=\"center\"\n stack_gap=\"default\"\n >\n <ui-heading\n heading_type=\"primary\"\n [heading_on_dark]=\"\n herobox.backgroundIsDark || text_on_dark_override === 'true' ? true : false\n \"\n [heading_title]=\"heading_title\"\n [heading_seo_priority]=\"true\"\n [heading_subtitle]=\"heading_subtitle\"\n [heading_surtitle]=\"heading_surtitle\"\n [heading_level]=\"heading_level\"\n >\n </ui-heading>\n <!-- TODO: replace with ui-button-group once built-->\n <ui-stack\n *ngIf=\"primary_cta_text\"\n class=\"cta-container\"\n stack_direction=\"x\"\n [stack_align]=\"heroCtaAlignment\"\n [stack_distribute]=\"heroCtaAlignment\"\n [stack_wrap]=\"true\"\n stack_gap=\"near\"\n >\n <ui-button\n bwtrackas=\"oasys.hero-block.primary-cta\"\n button_size=\"large\"\n [button_type]=\"\n herobox.backgroundIsDark || text_on_dark_override === 'true'\n ? 'primary-inverse'\n : 'primary'\n \"\n [href]=\"href_primary_cta\"\n >\n <span>{{ primary_cta_text }}</span>\n </ui-button>\n <ui-button\n *ngIf=\"secondary_cta_text\"\n bwtrackas=\"oasys.hero-block.secondary-cta\"\n button-size=\"large\"\n [button_type]=\"\n herobox.backgroundIsDark || text_on_dark_override === 'true'\n ? 'secondary-inverse'\n : 'secondary'\n \"\n [href]=\"href_secondary_cta\"\n >\n <span>{{ secondary_cta_text }}</span>\n </ui-button>\n </ui-stack>\n </ui-stack>\n </ui-box>\n </ui-column>\n <ui-column [columns]=\"7\">\n <picture *ngIf=\"media_type === 'image'\">\n <source\n [srcset]=\"\n image + '?w=880&h=880&fm=webp&q=75 1x,' + image + '?w=1760&h=1760&fm=webp&q=40 2x'\n \"\n media=\"(min-width: 1440px)\"\n type=\"image/webp\"\n />\n <source\n [srcset]=\"\n image + '?w=720&h=720&fm=webp&q=75 1x,' + image + '?w=1440&h=1440&fm=webp&q=40 2x'\n \"\n media=\"(min-width: 1200px)\"\n type=\"image/webp\"\n />\n <source\n [srcset]=\"\n image + '?w=580&h=580&fm=webp&q=75 1x,' + image + '?w=1160&h=1160&fm=webp&q=40 2x'\n \"\n media=\"(min-width: 992px)\"\n type=\"image/webp\"\n />\n <source\n [srcset]=\"\n image + '?w=430&h=430&fm=webp&q=75 1x,' + image + '?w=860&h=860&fm=webp&q=40 2x'\n \"\n media=\"(min-width: 768px)\"\n type=\"image/webp\"\n />\n <source\n [srcset]=\"image + '?w=720&h=720&fm=webp&q=40 2x'\"\n media=\"(min-width: 454px)\"\n type=\"image/webp\"\n />\n <img\n fetchpriority=\"high\"\n [src]=\"image + '?w=430&h=430&fm=webp&q=75'\"\n [attr.alt]=\"alt_text\"\n width=\"100%\"\n height=\"100%\"\n style=\"object-fit: cover\"\n />\n </picture>\n <ng-content *ngIf=\"media_type === 'video'\"></ng-content>\n </ui-column>\n </ui-grid>\n</ui-box>\n", styles: ["@media only screen and (max-width: 767px){ui-grid .image-top{order:1}}@media only screen and (min-width: 768px){ui-grid .image-top{order:0}ui-grid .image-left{order:1}}\n"] }]
71
- }], ctorParameters: () => [{ type: i1.TokenService }], propDecorators: { herobox: [{
72
- type: ViewChild,
73
- args: ['herobox', { read: ElementRef }]
74
- }], min_container_height: [{
75
- type: Input
76
- }], image_left_desktop: [{
77
- type: Input
78
- }], image_top_mobile: [{
79
- type: Input
80
- }], background_colour: [{
81
- type: Input
82
- }], non_brand_background_colour: [{
83
- type: Input
84
- }], heading_title: [{
85
- type: Input
86
- }], heading_subtitle: [{
87
- type: Input
88
- }], heading_surtitle: [{
89
- type: Input
90
- }], primary_cta_text: [{
91
- type: Input
92
- }], secondary_cta_text: [{
93
- type: Input
94
- }], image: [{
95
- type: Input
96
- }], alt_text: [{
97
- type: Input
98
- }], media_type: [{
99
- type: Input
100
- }], text_on_dark_override: [{
101
- type: Input
102
- }], heading_level: [{
103
- type: Input
104
- }], href_primary_cta: [{
105
- type: Input
106
- }], href_secondary_cta: [{
107
- type: Input
108
- }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVyby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlcm8vaGVyby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlcm8vaGVyby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQW1CbEUsTUFBTSxPQUFPLGFBQWE7SUErQko7SUE5QndCLE9BQU8sQ0FBYTtJQUVoRSx3QkFBd0I7SUFDZixvQkFBb0IsQ0FBUztJQUM3QixrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDcEMsZ0JBQWdCLEdBQVksSUFBSSxDQUFDO0lBQ2pDLGlCQUFpQixDQUFvQjtJQUNyQywyQkFBMkIsQ0FBUztJQUU3QywwQkFBMEI7SUFDakIsYUFBYSxDQUFTO0lBQ3RCLGdCQUFnQixDQUFTO0lBQ3pCLGdCQUFnQixDQUFTO0lBQ3pCLGdCQUFnQixDQUFTO0lBQ3pCLGtCQUFrQixDQUFTO0lBQzNCLEtBQUssQ0FBUztJQUNkLFFBQVEsQ0FBUztJQUNqQixVQUFVLEdBQXNCLE9BQU8sQ0FBQztJQUN4QyxxQkFBcUIsQ0FBUztJQUM5QixhQUFhLEdBQWlCLElBQUksQ0FBQztJQUU1Qyx3QkFBd0I7SUFDZixnQkFBZ0IsR0FBVyxFQUFFLENBQUM7SUFDOUIsa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBRXpDLHlCQUF5QjtJQUN6QixnQkFBZ0IsQ0FBa0I7SUFDbEMsbUJBQW1CLENBQVM7SUFDNUIsbUJBQW1CLENBQVM7SUFFNUIsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBRyxDQUFDO0lBRWxELDJCQUEyQjtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUNqRixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUNyRCwwQ0FBMEMsQ0FDeEIsQ0FBQztRQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQ3hELDRDQUE0QyxDQUM3QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUN4RCw0Q0FBNEMsQ0FDN0MsQ0FBQztJQUNKLENBQUM7d0dBckRVLGFBQWE7NEZBQWIsYUFBYSxnc0JBRmIsQ0FBQyxZQUFZLENBQUMseUdBR0ssVUFBVSw2QkM5QjFDLDZ1SUE4SEEsb09EN0dJLGtCQUFrQixnVUFDbEIsbUJBQW1CLDJIQUNuQixPQUFPLDJFQUNQLHlCQUF5QiwyRkFDekIsT0FBTyxvRkFDUCxvQkFBb0Isd0tBQ3BCLHFCQUFxQix3UEFDckIsSUFBSSw2RkFDSixvQkFBb0I7OzRGQUlYLGFBQWE7a0JBbEJ6QixTQUFTOytCQUNFLFNBQVMsY0FHUCxJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1AseUJBQXlCO3dCQUN6QixPQUFPO3dCQUNQLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixJQUFJO3dCQUNKLG9CQUFvQjtxQkFDckIsYUFDVSxDQUFDLFlBQVksQ0FBQztpRkFHbUIsT0FBTztzQkFBbEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUdqQyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b2tlbi5zZXJ2aWNlJztcbmltcG9ydCB7IExheW91dEFsaWdubWVudCwgTGF5b3V0QmFja2dyb3VuZHMgfSBmcm9tICcuLi9sYXlvdXQvTGF5b3V0JztcbmltcG9ydCB7IEhlYWRpbmdMZXZlbCB9IGZyb20gJy4uL2hlYWRpbmcvaGVhZGluZyc7XG5pbXBvcnQgeyBMYXlvdXRCb3hDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQvYm94L2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0R3JpZENvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IE5nU3R5bGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTGF5b3V0R3JpZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9ncmlkL2dyaWQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRTdGFja0NvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9zdGFjay9zdGFjay5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2FzeXNIZWFkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vaGVhZGluZy9oZWFkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYXN5c0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWhlcm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVyby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlcm8uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIExheW91dEJveENvbXBvbmVudCxcbiAgICBMYXlvdXRHcmlkQ29tcG9uZW50LFxuICAgIE5nU3R5bGUsXG4gICAgTGF5b3V0R3JpZENvbHVtbkNvbXBvbmVudCxcbiAgICBOZ0NsYXNzLFxuICAgIExheW91dFN0YWNrQ29tcG9uZW50LFxuICAgIE9hc3lzSGVhZGluZ0NvbXBvbmVudCxcbiAgICBOZ0lmLFxuICAgIE9hc3lzQnV0dG9uQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtUb2tlblNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBIZXJvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnaGVyb2JveCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBoZXJvYm94OiBFbGVtZW50UmVmO1xuXG4gIC8vIFN0eWxlIGlucHV0IHZhcmlhYmxlc1xuICBASW5wdXQoKSBtaW5fY29udGFpbmVyX2hlaWdodDogbnVtYmVyO1xuICBASW5wdXQoKSBpbWFnZV9sZWZ0X2Rlc2t0b3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaW1hZ2VfdG9wX21vYmlsZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRfY29sb3VyOiBMYXlvdXRCYWNrZ3JvdW5kcztcbiAgQElucHV0KCkgbm9uX2JyYW5kX2JhY2tncm91bmRfY29sb3VyOiBzdHJpbmc7XG5cbiAgLy8gQ29udGVudCBpbnB1dCB2YXJpYWJsZXNcbiAgQElucHV0KCkgaGVhZGluZ190aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBoZWFkaW5nX3N1YnRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlYWRpbmdfc3VydGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHJpbWFyeV9jdGFfdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBzZWNvbmRhcnlfY3RhX3RleHQ6IHN0cmluZztcbiAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcbiAgQElucHV0KCkgYWx0X3RleHQ6IHN0cmluZztcbiAgQElucHV0KCkgbWVkaWFfdHlwZTogJ2ltYWdlJyB8ICd2aWRlbycgPSAnaW1hZ2UnO1xuICBASW5wdXQoKSB0ZXh0X29uX2Rhcmtfb3ZlcnJpZGU6IHN0cmluZztcbiAgQElucHV0KCkgaGVhZGluZ19sZXZlbDogSGVhZGluZ0xldmVsID0gJ2gxJztcblxuICAvLyBFdmVudCBpbnB1dCB2YXJpYWJsZXNcbiAgQElucHV0KCkgaHJlZl9wcmltYXJ5X2N0YTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGhyZWZfc2Vjb25kYXJ5X2N0YTogc3RyaW5nID0gJyc7XG5cbiAgLy8gRGVzaWduIHRva2VuIHZhcmlhYmxlc1xuICBoZXJvQ3RhQWxpZ25tZW50OiBMYXlvdXRBbGlnbm1lbnQ7XG4gIGhlcm9JbnNldFNwYWNlU21hbGw6IHN0cmluZztcbiAgaGVyb0luc2V0U3BhY2VMYXJnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBUb2tlblNlcnZpY2UpIHt9XG5cbiAgc2V0Tm9uQnJhbmRCYWNrZ3JvdW5kQ29sb3VyKCk6IHZvaWQge1xuICAgIHRoaXMuaGVyb2JveC5uYXRpdmVFbGVtZW50LnN0eWxlLmJhY2tncm91bmQgPSB0aGlzLm5vbl9icmFuZF9iYWNrZ3JvdW5kX2NvbG91cjtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ub25fYnJhbmRfYmFja2dyb3VuZF9jb2xvdXIpIHtcbiAgICAgIHRoaXMuc2V0Tm9uQnJhbmRCYWNrZ3JvdW5kQ29sb3VyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oZXJvQ3RhQWxpZ25tZW50ID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0VG9rZW5WYWx1ZShcbiAgICAgICctLW9hc3lzLWNvbXBvbmVudC1oZXJvLWFjdGlvbnMtYWxpZ25tZW50JyxcbiAgICApIGFzIExheW91dEFsaWdubWVudDtcbiAgICB0aGlzLmhlcm9JbnNldFNwYWNlU21hbGwgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKFxuICAgICAgJy0tb2FzeXMtY29tcG9uZW50LWhlcm8taW5zZXQtc3BhY2luZy1zbWFsbCcsXG4gICAgKTtcbiAgICB0aGlzLmhlcm9JbnNldFNwYWNlTGFyZ2UgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKFxuICAgICAgJy0tb2FzeXMtY29tcG9uZW50LWhlcm8taW5zZXQtc3BhY2luZy1sYXJnZScsXG4gICAgKTtcbiAgfVxufVxuIiwiPHVpLWJveCBbYm94X2JhY2tncm91bmRdPVwiYmFja2dyb3VuZF9jb2xvdXJcIiBib3hfc3BhY2U9XCJub25lXCIgI2hlcm9ib3g+XG4gIDx1aS1ncmlkXG4gICAgW25nU3R5bGVdPVwieyAnbWluLWhlaWdodCc6IG1pbl9jb250YWluZXJfaGVpZ2h0ID8gbWluX2NvbnRhaW5lcl9oZWlnaHQgKyAncHgnIDogJ2F1dG8nIH1cIlxuICAgIGdyaWRfZ2FwPVwibm9uZVwiXG4gICAgZ3JpZF9jb2xsYXBzZV9iZWxvdz1cInRhYmxldFwiXG4gID5cbiAgICA8dWktY29sdW1uXG4gICAgICBbY29sdW1uc109XCI1XCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2ltYWdlLWxlZnQnOiBpbWFnZV9sZWZ0X2Rlc2t0b3AsICdpbWFnZS10b3AnOiBpbWFnZV90b3BfbW9iaWxlIH1cIlxuICAgID5cbiAgICAgIDx1aS1ib3hcbiAgICAgICAgYm94X2ZpbGxfbW9kZT1cImZpbGxcIlxuICAgICAgICBib3hfYWxpZ25feT1cImNlbnRlclwiXG4gICAgICAgIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBbYm94X3NwYWNlXT1cIntcbiAgICAgICAgICBtb2JpbGU6IGhlcm9JbnNldFNwYWNlU21hbGwsXG4gICAgICAgICAgdGFibGV0OiBoZXJvSW5zZXRTcGFjZVNtYWxsLFxuICAgICAgICAgIGxhcHRvcDogaGVyb0luc2V0U3BhY2VMYXJnZSxcbiAgICAgICAgICBkZXNrdG9wOiBoZXJvSW5zZXRTcGFjZUxhcmdlLFxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgPHVpLXN0YWNrXG4gICAgICAgICAgc3RhY2tfZGlyZWN0aW9uPVwieVwiXG4gICAgICAgICAgc3RhY2tfYWxpZ249XCJjZW50ZXJcIlxuICAgICAgICAgIHN0YWNrX2Rpc3RyaWJ1dGU9XCJjZW50ZXJcIlxuICAgICAgICAgIHN0YWNrX2dhcD1cImRlZmF1bHRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWhlYWRpbmdcbiAgICAgICAgICAgIGhlYWRpbmdfdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgW2hlYWRpbmdfb25fZGFya109XCJcbiAgICAgICAgICAgICAgaGVyb2JveC5iYWNrZ3JvdW5kSXNEYXJrIHx8IHRleHRfb25fZGFya19vdmVycmlkZSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2hlYWRpbmdfdGl0bGVdPVwiaGVhZGluZ190aXRsZVwiXG4gICAgICAgICAgICBbaGVhZGluZ19zZW9fcHJpb3JpdHldPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaGVhZGluZ19zdWJ0aXRsZV09XCJoZWFkaW5nX3N1YnRpdGxlXCJcbiAgICAgICAgICAgIFtoZWFkaW5nX3N1cnRpdGxlXT1cImhlYWRpbmdfc3VydGl0bGVcIlxuICAgICAgICAgICAgW2hlYWRpbmdfbGV2ZWxdPVwiaGVhZGluZ19sZXZlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvdWktaGVhZGluZz5cbiAgICAgICAgICA8IS0tIFRPRE86IHJlcGxhY2Ugd2l0aCB1aS1idXR0b24tZ3JvdXAgb25jZSBidWlsdC0tPlxuICAgICAgICAgIDx1aS1zdGFja1xuICAgICAgICAgICAgKm5nSWY9XCJwcmltYXJ5X2N0YV90ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3RhLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBzdGFja19kaXJlY3Rpb249XCJ4XCJcbiAgICAgICAgICAgIFtzdGFja19hbGlnbl09XCJoZXJvQ3RhQWxpZ25tZW50XCJcbiAgICAgICAgICAgIFtzdGFja19kaXN0cmlidXRlXT1cImhlcm9DdGFBbGlnbm1lbnRcIlxuICAgICAgICAgICAgW3N0YWNrX3dyYXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICBzdGFja19nYXA9XCJuZWFyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgICAgIGJ3dHJhY2thcz1cIm9hc3lzLmhlcm8tYmxvY2sucHJpbWFyeS1jdGFcIlxuICAgICAgICAgICAgICBidXR0b25fc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgW2J1dHRvbl90eXBlXT1cIlxuICAgICAgICAgICAgICAgIGhlcm9ib3guYmFja2dyb3VuZElzRGFyayB8fCB0ZXh0X29uX2Rhcmtfb3ZlcnJpZGUgPT09ICd0cnVlJ1xuICAgICAgICAgICAgICAgICAgPyAncHJpbWFyeS1pbnZlcnNlJ1xuICAgICAgICAgICAgICAgICAgOiAncHJpbWFyeSdcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2hyZWZdPVwiaHJlZl9wcmltYXJ5X2N0YVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHByaW1hcnlfY3RhX3RleHQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3VpLWJ1dHRvbj5cbiAgICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWNvbmRhcnlfY3RhX3RleHRcIlxuICAgICAgICAgICAgICBid3RyYWNrYXM9XCJvYXN5cy5oZXJvLWJsb2NrLnNlY29uZGFyeS1jdGFcIlxuICAgICAgICAgICAgICBidXR0b24tc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgW2J1dHRvbl90eXBlXT1cIlxuICAgICAgICAgICAgICAgIGhlcm9ib3guYmFja2dyb3VuZElzRGFyayB8fCB0ZXh0X29uX2Rhcmtfb3ZlcnJpZGUgPT09ICd0cnVlJ1xuICAgICAgICAgICAgICAgICAgPyAnc2Vjb25kYXJ5LWludmVyc2UnXG4gICAgICAgICAgICAgICAgICA6ICdzZWNvbmRhcnknXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtocmVmXT1cImhyZWZfc2Vjb25kYXJ5X2N0YVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHNlY29uZGFyeV9jdGFfdGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvdWktYnV0dG9uPlxuICAgICAgICAgIDwvdWktc3RhY2s+XG4gICAgICAgIDwvdWktc3RhY2s+XG4gICAgICA8L3VpLWJveD5cbiAgICA8L3VpLWNvbHVtbj5cbiAgICA8dWktY29sdW1uIFtjb2x1bW5zXT1cIjdcIj5cbiAgICAgIDxwaWN0dXJlICpuZ0lmPVwibWVkaWFfdHlwZSA9PT0gJ2ltYWdlJ1wiPlxuICAgICAgICA8c291cmNlXG4gICAgICAgICAgW3NyY3NldF09XCJcbiAgICAgICAgICAgIGltYWdlICsgJz93PTg4MCZoPTg4MCZmbT13ZWJwJnE9NzUgMXgsJyArIGltYWdlICsgJz93PTE3NjAmaD0xNzYwJmZtPXdlYnAmcT00MCAyeCdcbiAgICAgICAgICBcIlxuICAgICAgICAgIG1lZGlhPVwiKG1pbi13aWR0aDogMTQ0MHB4KVwiXG4gICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAvPlxuICAgICAgICA8c291cmNlXG4gICAgICAgICAgW3NyY3NldF09XCJcbiAgICAgICAgICAgIGltYWdlICsgJz93PTcyMCZoPTcyMCZmbT13ZWJwJnE9NzUgMXgsJyArIGltYWdlICsgJz93PTE0NDAmaD0xNDQwJmZtPXdlYnAmcT00MCAyeCdcbiAgICAgICAgICBcIlxuICAgICAgICAgIG1lZGlhPVwiKG1pbi13aWR0aDogMTIwMHB4KVwiXG4gICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAvPlxuICAgICAgICA8c291cmNlXG4gICAgICAgICAgW3NyY3NldF09XCJcbiAgICAgICAgICAgIGltYWdlICsgJz93PTU4MCZoPTU4MCZmbT13ZWJwJnE9NzUgMXgsJyArIGltYWdlICsgJz93PTExNjAmaD0xMTYwJmZtPXdlYnAmcT00MCAyeCdcbiAgICAgICAgICBcIlxuICAgICAgICAgIG1lZGlhPVwiKG1pbi13aWR0aDogOTkycHgpXCJcbiAgICAgICAgICB0eXBlPVwiaW1hZ2Uvd2VicFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzb3VyY2VcbiAgICAgICAgICBbc3Jjc2V0XT1cIlxuICAgICAgICAgICAgaW1hZ2UgKyAnP3c9NDMwJmg9NDMwJmZtPXdlYnAmcT03NSAxeCwnICsgaW1hZ2UgKyAnP3c9ODYwJmg9ODYwJmZtPXdlYnAmcT00MCAyeCdcbiAgICAgICAgICBcIlxuICAgICAgICAgIG1lZGlhPVwiKG1pbi13aWR0aDogNzY4cHgpXCJcbiAgICAgICAgICB0eXBlPVwiaW1hZ2Uvd2VicFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzb3VyY2VcbiAgICAgICAgICBbc3Jjc2V0XT1cImltYWdlICsgJz93PTcyMCZoPTcyMCZmbT13ZWJwJnE9NDAgMngnXCJcbiAgICAgICAgICBtZWRpYT1cIihtaW4td2lkdGg6IDQ1NHB4KVwiXG4gICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAvPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgZmV0Y2hwcmlvcml0eT1cImhpZ2hcIlxuICAgICAgICAgIFtzcmNdPVwiaW1hZ2UgKyAnP3c9NDMwJmg9NDMwJmZtPXdlYnAmcT03NSdcIlxuICAgICAgICAgIFthdHRyLmFsdF09XCJhbHRfdGV4dFwiXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICAgICAgICBzdHlsZT1cIm9iamVjdC1maXQ6IGNvdmVyXCJcbiAgICAgICAgLz5cbiAgICAgIDwvcGljdHVyZT5cbiAgICAgIDxuZy1jb250ZW50ICpuZ0lmPVwibWVkaWFfdHlwZSA9PT0gJ3ZpZGVvJ1wiPjwvbmctY29udGVudD5cbiAgICA8L3VpLWNvbHVtbj5cbiAgPC91aS1ncmlkPlxuPC91aS1ib3g+XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { HeroComponent } from './hero.component';
3
- import * as i0 from "@angular/core";
4
- export class OasysHeroModule {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysHeroModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OasysHeroModule, imports: [HeroComponent], exports: [HeroComponent] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysHeroModule });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysHeroModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [HeroComponent],
13
- exports: [HeroComponent],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVyby5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlcm8vaGVyby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBTWpELE1BQU0sT0FBTyxlQUFlO3dHQUFmLGVBQWU7eUdBQWYsZUFBZSxZQUhoQixhQUFhLGFBQ2IsYUFBYTt5R0FFWixlQUFlOzs0RkFBZixlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIZXJvQ29tcG9uZW50IH0gZnJvbSAnLi9oZXJvLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtIZXJvQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0hlcm9Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBPYXN5c0hlcm9Nb2R1bGUge31cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './hero.component';
2
- export * from './hero.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlcm8vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVyby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9oZXJvLm1vZHVsZSc7XG4iXX0=
@@ -1,61 +0,0 @@
1
- import { DOCUMENT, NgIf, NgClass } from '@angular/common';
2
- import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';
3
- import { TokenService } from '../../services/token.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../services/token.service";
6
- export class IconComponent {
7
- document;
8
- tokenService;
9
- icon_size = 'large';
10
- icon_size_override;
11
- icon_name;
12
- icon_context = 'none';
13
- alt_text = '';
14
- icon_class;
15
- size;
16
- iconDisplayClasses;
17
- iconSizeInPixels;
18
- iconPath;
19
- constructor(document, tokenService) {
20
- this.document = document;
21
- this.tokenService = tokenService;
22
- }
23
- ngOnChanges() {
24
- this.ngOnInit();
25
- }
26
- ngOnInit() {
27
- this.tokenService.getBrandName().subscribe((brandName) => {
28
- this.iconPath = `./${brandName}/assets/icons/icons.svg#icon-${this.icon_name}`;
29
- this.size =
30
- this.icon_size_override || this.tokenService.getTokenValue('--oasys-size-unit-20');
31
- this.iconDisplayClasses = [
32
- `icon-context-${this.icon_context}`,
33
- `icon-size-${this.icon_size}`,
34
- ];
35
- const sizeInPixels = this.tokenService.convertRemToPixels(this.size);
36
- this.iconSizeInPixels = sizeInPixels;
37
- });
38
- }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconComponent, deps: [{ token: DOCUMENT }, { token: i1.TokenService }], target: i0.ɵɵFactoryTarget.Component });
40
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IconComponent, isStandalone: true, selector: "ui-icon", inputs: { icon_size: "icon_size", icon_size_override: "icon_size_override", icon_name: "icon_name", icon_context: "icon_context", alt_text: "alt_text", icon_class: "icon_class" }, providers: [TokenService], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"iconPath\" class=\"ui-icon\" [ngClass]=\"iconDisplayClasses\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"iconSizeInPixels\"\n [attr.height]=\"iconSizeInPixels\"\n [attr.class]=\"icon_class\"\n [attr.alt]=\"alt_text\"\n >\n <use [attr.xlink:href]=\"iconPath\"></use>\n </svg>\n</div>\n", styles: [".ui-icon{display:flex}.ui-icon svg{fill:currentColor}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'ui-icon', encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf, NgClass], providers: [TokenService], template: "<div *ngIf=\"iconPath\" class=\"ui-icon\" [ngClass]=\"iconDisplayClasses\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"iconSizeInPixels\"\n [attr.height]=\"iconSizeInPixels\"\n [attr.class]=\"icon_class\"\n [attr.alt]=\"alt_text\"\n >\n <use [attr.xlink:href]=\"iconPath\"></use>\n </svg>\n</div>\n", styles: [".ui-icon{display:flex}.ui-icon svg{fill:currentColor}\n"] }]
45
- }], ctorParameters: () => [{ type: Document, decorators: [{
46
- type: Inject,
47
- args: [DOCUMENT]
48
- }] }, { type: i1.TokenService }], propDecorators: { icon_size: [{
49
- type: Input
50
- }], icon_size_override: [{
51
- type: Input
52
- }], icon_name: [{
53
- type: Input
54
- }], icon_context: [{
55
- type: Input
56
- }], alt_text: [{
57
- type: Input
58
- }], icon_class: [{
59
- type: Input
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBWTVELE1BQU0sT0FBTyxhQUFhO0lBZUk7SUFDbEI7SUFmRCxTQUFTLEdBQXNCLE9BQU8sQ0FBQztJQUN2QyxrQkFBa0IsQ0FBVTtJQUM1QixTQUFTLENBQWE7SUFDdEIsWUFBWSxHQUFnQixNQUFNLENBQUM7SUFDbkMsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUV0QixVQUFVLENBQVU7SUFFN0IsSUFBSSxDQUFVO0lBQ2Qsa0JBQWtCLENBQVc7SUFDN0IsZ0JBQWdCLENBQVM7SUFDekIsUUFBUSxDQUFTO0lBRWpCLFlBQzRCLFFBQWtCLEVBQ3BDLFlBQTBCO1FBRFIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNqQyxDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFRLEVBQUU7WUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLFNBQVMsZ0NBQWdDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUUvRSxJQUFJLENBQUMsSUFBSTtnQkFDUCxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUVyRixJQUFJLENBQUMsa0JBQWtCLEdBQUc7Z0JBQ3hCLGdCQUFnQixJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNuQyxhQUFhLElBQUksQ0FBQyxTQUFTLEVBQUU7YUFDOUIsQ0FBQztZQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXRDVSxhQUFhLGtCQWVkLFFBQVE7NEZBZlAsYUFBYSwwT0FGYixDQUFDLFlBQVksQ0FBQywrQ0NaM0IscVZBV0EsaUhEQVksSUFBSSw2RkFBRSxPQUFPOzs0RkFHWixhQUFhO2tCQVR6QixTQUFTOytCQUNFLFNBQVMsaUJBR0osaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGFBQ2IsQ0FBQyxZQUFZLENBQUM7OzBCQWlCdEIsTUFBTTsyQkFBQyxRQUFRO29FQWRULFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgTmdJZiwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdG9rZW4uc2VydmljZSc7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvbk5hbWVzIH0gZnJvbSAnLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzc10sXG4gIHByb3ZpZGVyczogW1Rva2VuU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGljb25fc2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgPSAnbGFyZ2UnO1xuICBASW5wdXQoKSBpY29uX3NpemVfb3ZlcnJpZGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25fbmFtZSE6IEljb25OYW1lcztcbiAgQElucHV0KCkgaWNvbl9jb250ZXh0OiBJY29uQ29udGV4dCA9ICdub25lJztcbiAgQElucHV0KCkgYWx0X3RleHQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIGljb25fY2xhc3M/OiBzdHJpbmc7XG5cbiAgc2l6ZT86IHN0cmluZztcbiAgaWNvbkRpc3BsYXlDbGFzc2VzOiBzdHJpbmdbXTtcbiAgaWNvblNpemVJblBpeGVsczogbnVtYmVyO1xuICBpY29uUGF0aDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBUb2tlblNlcnZpY2UsXG4gICkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLm5nT25Jbml0KCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRva2VuU2VydmljZS5nZXRCcmFuZE5hbWUoKS5zdWJzY3JpYmUoKGJyYW5kTmFtZSk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5pY29uUGF0aCA9IGAuLyR7YnJhbmROYW1lfS9hc3NldHMvaWNvbnMvaWNvbnMuc3ZnI2ljb24tJHt0aGlzLmljb25fbmFtZX1gO1xuXG4gICAgICB0aGlzLnNpemUgPVxuICAgICAgICB0aGlzLmljb25fc2l6ZV9vdmVycmlkZSB8fCB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKCctLW9hc3lzLXNpemUtdW5pdC0yMCcpO1xuXG4gICAgICB0aGlzLmljb25EaXNwbGF5Q2xhc3NlcyA9IFtcbiAgICAgICAgYGljb24tY29udGV4dC0ke3RoaXMuaWNvbl9jb250ZXh0fWAsXG4gICAgICAgIGBpY29uLXNpemUtJHt0aGlzLmljb25fc2l6ZX1gLFxuICAgICAgXTtcblxuICAgICAgY29uc3Qgc2l6ZUluUGl4ZWxzID0gdGhpcy50b2tlblNlcnZpY2UuY29udmVydFJlbVRvUGl4ZWxzKHRoaXMuc2l6ZSk7XG4gICAgICB0aGlzLmljb25TaXplSW5QaXhlbHMgPSBzaXplSW5QaXhlbHM7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpY29uUGF0aFwiIGNsYXNzPVwidWktaWNvblwiIFtuZ0NsYXNzXT1cImljb25EaXNwbGF5Q2xhc3Nlc1wiPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgW2F0dHIud2lkdGhdPVwiaWNvblNpemVJblBpeGVsc1wiXG4gICAgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplSW5QaXhlbHNcIlxuICAgIFthdHRyLmNsYXNzXT1cImljb25fY2xhc3NcIlxuICAgIFthdHRyLmFsdF09XCJhbHRfdGV4dFwiXG4gID5cbiAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwiaWNvblBhdGhcIj48L3VzZT5cbiAgPC9zdmc+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBJY29uTmFtZXMgPVxuICB8ICdjbG9zZSdcbiAgfCAnbWVudSdcbiAgfCAndGljaydcbiAgfCAnaGVhcnQnXG4gIHwgJ2hlYXJ0LWZpbGwnXG4gIHwgJ2Jhc2tldCdcbiAgfCAnYmFza2V0LWZpbGwnXG4gIHwgJ3VzZXInXG4gIHwgJ3VzZXItZmlsbCdcbiAgfCAnY2hldnJvbi11cCdcbiAgfCAnY2hldnJvbi1kb3duJ1xuICB8ICdjaGV2cm9uLWxlZnQnXG4gIHwgJ2NoZXZyb24tcmlnaHQnXG4gIHwgJ2Fycm93LXVwJ1xuICB8ICdhcnJvdy1kb3duJ1xuICB8ICdhcnJvdy1sZWZ0J1xuICB8ICdhcnJvdy1yaWdodCdcbiAgfCAnc29ydCdcbiAgfCAnZmlsdGVyJ1xuICB8ICdwaW4nXG4gIHwgJ2luZm8nXG4gIHwgJ2Vycm9yJ1xuICB8ICdkZWxpdmVyeSdcbiAgfCAndGFnJ1xuICB8ICdiaW4nXG4gIHwgJ2Jpbi1maWxsJ1xuICB8ICdmZWF0dXJlZCdcbiAgfCAncGVuJ1xuICB8ICdkb3dubG9hZCdcbiAgfCAnY2FyZCdcbiAgfCAnZWRpdCdcbiAgfCAnY2FsZW5kYXInXG4gIHwgJ3BsYXknXG4gIHwgJ3N0b3AnXG4gIHwgJ3BsdXMnXG4gIHwgJ2dpZnQnXG4gIHwgJ2dyZWV0aW5nLWNhcmQnXG4gIHwgJ2xvZ29tYXJrJ1xuICB8ICdyZXdhcmRzJ1xuICB8ICdwcmVwYXltZW50J1xuICB8ICdwYXVzZSdcbiAgfCAnem9vbSdcbiAgfCAnbWludXMnXG4gIHwgJ21lbnVfc2V0dGluZ3MnXG4gIHwgJ21lbnVfZmF2b3VyaXRlcydcbiAgfCAnbWVudV9sb2dvdXQnXG4gIHwgJ21lbnVfb2NjYXNpb25zJ1xuICB8ICdtZW51X29yZGVycydcbiAgfCAnbWVudV9yZXdhcmRzJ1xuICB8ICdtZW51X3N1YnNjcmlwdGlvbnMnXG4gIHwgJ3N1Ym1lbnUnXG4gIHwgJ2F1ZGlvJ1xuICB8ICdjYW1lcmEnXG4gIHwgJ3ZpZGVvJ1xuICB8ICdsb2NrJ1xuICB8ICdsb2NrLWZpbGwnXG4gIHwgJ2JpcnRoZGF5X3RyZWF0J1xuICB8ICdlYXJuX3BvaW50cydcbiAgfCAnZXhjbHVzaXZlX3NuZWFrX3BlZWtzJ1xuICB8ICdmcmVlX3RvX2pvaW4nXG4gIHwgJ3NlY3JldF9zYWxlcydcbiAgfCAnc3BlY2lhbF9kaXNjb3VudHMnXG4gIHwgJ3Rha2VfbW9uZXlfb2ZmJztcblxuZXhwb3J0IHR5cGUgSWNvbkNvbnRleHQgPSAnbGVhZGluZycgfCAndHJhaWxpbmcnIHwgJ2ljb25Pbmx5JyB8ICdub25lJztcbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { IconComponent } from './icon.component';
3
- import * as i0 from "@angular/core";
4
- export class OasysIconModule {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OasysIconModule, imports: [IconComponent], exports: [IconComponent] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysIconModule });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysIconModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [IconComponent],
13
- exports: [IconComponent],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBTWpELE1BQU0sT0FBTyxlQUFlO3dHQUFmLGVBQWU7eUdBQWYsZUFBZSxZQUhoQixhQUFhLGFBQ2IsYUFBYTt5R0FFWixlQUFlOzs0RkFBZixlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0ljb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBPYXN5c0ljb25Nb2R1bGUge31cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './icon.component';
2
- export * from './icon.module';
3
- export * from './icon';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24nO1xuIl19
@@ -1,154 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, HostBinding, inject, Input, Output, signal, } from '@angular/core';
2
- import { ImageService } from '../../services/image.service';
3
- import { NgStyle } from '@angular/common';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * ImageComponent is a reusable component. Necessary accessibility attributes are set by default for a decorative image.
7
- * alt text and airia described by text can be set to make the image non-decorative.
8
- *
9
- * TODO - migrate inputs to InputSignals when Angular supports it within angular 19.
10
- * Issue - https://github.com/angular/angular/issues/53981
11
- */
12
- export class ImageComponent {
13
- image_src;
14
- image_alt_text = ''; // Default set here so images are set as decorative by default
15
- image_aria_describedby = null;
16
- image_fill = false;
17
- fetchpriority = 'auto';
18
- loading = 'lazy';
19
- preload_aspect_ratio = '1:1';
20
- image_width = null; // source when defining sizes either relates on viewport width or a specificed width in pixels
21
- image_loaded = new EventEmitter();
22
- imageService = inject(ImageService);
23
- el = inject((ElementRef));
24
- image = signal(null);
25
- imageSizes = this.imageService.getImageSizes();
26
- intersectionObserver = null;
27
- get class() {
28
- return `${this.image_fill ? 'imageFill' : ''}`;
29
- }
30
- /**
31
- * On init lifecycle hook to create the image.
32
- */
33
- ngOnInit() {
34
- this.createImage();
35
- void this.setupLazyLoading();
36
- }
37
- /**
38
- * On changes, handle any changes in input properties.
39
- */
40
- ngOnChanges(changes) {
41
- if (changes['image_src'] || changes['image_width'] || changes['preload_aspect_ratio']) {
42
- this.createImage();
43
- this.cleanupObserver();
44
- this.setupLazyLoading();
45
- }
46
- }
47
- /**
48
- * Clean up the observer when the component is destroyed.
49
- */
50
- ngOnDestroy() {
51
- this.cleanupObserver();
52
- }
53
- /**
54
- * Creates the image object with the provided properties.
55
- */
56
- createImage() {
57
- const ratios = this.preload_aspect_ratio.split(':');
58
- const imageUrlResponse = this.imageService.generateImageUrl(this.image_src);
59
- const newImage = {
60
- ...imageUrlResponse,
61
- ratioWidth: parseInt(ratios[0], 10),
62
- ratioHeight: parseInt(ratios[1], 10),
63
- loading: this.loading,
64
- fill: this.image_fill,
65
- fetchpriority: this.fetchpriority,
66
- preloadAspectRatio: this.preload_aspect_ratio,
67
- width: this.image_width ? `${this.image_width}px` : null,
68
- altText: this.image_alt_text,
69
- ariaDescribedby: this.image_aria_describedby ?? null,
70
- };
71
- this.image.set(newImage);
72
- }
73
- /**
74
- * Sets up lazy loading for the image using IntersectionObserver.
75
- * This method observes the image element and loads the image when it comes into view.
76
- * It sets the `src` attribute for the image and the `srcset` attribute for the source element.
77
- * The observer is configured to remove the image after it has been observed to save memory.
78
- */
79
- setupLazyLoading() {
80
- return Promise.resolve().then(() => {
81
- // Defer setup until after the view is initialized to ensure the <img> element exists.
82
- const imageElement = this.el.nativeElement.querySelector('img');
83
- if (!imageElement) {
84
- return;
85
- }
86
- this.intersectionObserver = new IntersectionObserver((entries) => {
87
- entries.forEach((entry) => {
88
- if (entry.isIntersecting) {
89
- const img = entry.target;
90
- const source = img.parentElement?.querySelector('source');
91
- // Move the URL from data-src to src
92
- const dataSrc = img.getAttribute('data-src');
93
- if (dataSrc) {
94
- img.setAttribute('src', dataSrc);
95
- }
96
- // Move the URLs from data-srcset to srcset
97
- if (source) {
98
- const dataSrcset = source.getAttribute('data-srcset');
99
- if (dataSrcset) {
100
- source.setAttribute('srcset', dataSrcset);
101
- }
102
- }
103
- // Stop observing this image once it's loaded.
104
- this.intersectionObserver?.unobserve(img);
105
- }
106
- });
107
- }, {
108
- root: null,
109
- rootMargin: '100px',
110
- threshold: 0.01,
111
- });
112
- this.intersectionObserver.observe(imageElement);
113
- });
114
- }
115
- /**
116
- * Cleans up the IntersectionObserver to prevent memory leaks.
117
- * This method disconnects the observer and sets it to null.
118
- */
119
- cleanupObserver() {
120
- if (this.intersectionObserver) {
121
- this.intersectionObserver.disconnect();
122
- this.intersectionObserver = null;
123
- }
124
- }
125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ImageComponent, isStandalone: true, selector: "ui-image", inputs: { image_src: "image_src", image_alt_text: "image_alt_text", image_aria_describedby: "image_aria_describedby", image_fill: "image_fill", fetchpriority: "fetchpriority", loading: "loading", preload_aspect_ratio: "preload_aspect_ratio", image_width: "image_width" }, outputs: { image_loaded: "image_loaded" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0, template: "@if (image()) {\n <picture>\n <source\n [attr.sizes]=\"image().width ?? imageSizes\"\n [attr.srcset]=\"null\"\n [attr.data-srcset]=\"image().srcSetUrls\"\n type=\"image/webp\"\n />\n\n <img\n [class.imageFill]=\"image().fill\"\n [attr.width]=\"image().ratioWidth\"\n [attr.height]=\"image().ratioHeight\"\n [attr.src]=\"null\"\n [attr.data-src]=\"image().fallbackUrl\"\n [attr.loading]=\"image().loading\"\n [attr.fetchpriority]=\"image().fetchpriority\"\n [attr.alt]=\"image().altText\"\n [attr.aria-describedby]=\"image().ariaDescribedby\"\n [ngStyle]=\"{ 'aspect-ratio': image().preloadAspectRatio }\"\n (load)=\"image_loaded.emit()\"\n />\n </picture>\n}\n", styles: [":host.imageFill,:host.imageFill picture,:host.imageFill img{display:block;height:100%}:host.imageFill img{object-fit:cover}img{display:block;width:100%;height:auto}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
127
- }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageComponent, decorators: [{
129
- type: Component,
130
- args: [{ standalone: true, imports: [NgStyle], selector: 'ui-image', template: "@if (image()) {\n <picture>\n <source\n [attr.sizes]=\"image().width ?? imageSizes\"\n [attr.srcset]=\"null\"\n [attr.data-srcset]=\"image().srcSetUrls\"\n type=\"image/webp\"\n />\n\n <img\n [class.imageFill]=\"image().fill\"\n [attr.width]=\"image().ratioWidth\"\n [attr.height]=\"image().ratioHeight\"\n [attr.src]=\"null\"\n [attr.data-src]=\"image().fallbackUrl\"\n [attr.loading]=\"image().loading\"\n [attr.fetchpriority]=\"image().fetchpriority\"\n [attr.alt]=\"image().altText\"\n [attr.aria-describedby]=\"image().ariaDescribedby\"\n [ngStyle]=\"{ 'aspect-ratio': image().preloadAspectRatio }\"\n (load)=\"image_loaded.emit()\"\n />\n </picture>\n}\n", styles: [":host.imageFill,:host.imageFill picture,:host.imageFill img{display:block;height:100%}:host.imageFill img{object-fit:cover}img{display:block;width:100%;height:auto}\n"] }]
131
- }], propDecorators: { image_src: [{
132
- type: Input,
133
- args: [{ required: true }]
134
- }], image_alt_text: [{
135
- type: Input
136
- }], image_aria_describedby: [{
137
- type: Input
138
- }], image_fill: [{
139
- type: Input
140
- }], fetchpriority: [{
141
- type: Input
142
- }], loading: [{
143
- type: Input
144
- }], preload_aspect_ratio: [{
145
- type: Input
146
- }], image_width: [{
147
- type: Input
148
- }], image_loaded: [{
149
- type: Output
150
- }], class: [{
151
- type: HostBinding,
152
- args: ['class']
153
- }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBQ04sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTFDOzs7Ozs7R0FNRztBQVFILE1BQU0sT0FBTyxjQUFjO0lBQ0UsU0FBUyxDQUFTO0lBQ3BDLGNBQWMsR0FBRyxFQUFFLENBQUMsQ0FBQyw4REFBOEQ7SUFDbkYsc0JBQXNCLEdBQWtCLElBQUksQ0FBQztJQUM3QyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGFBQWEsR0FBdUIsTUFBTSxDQUFDO0lBQzNDLE9BQU8sR0FBaUIsTUFBTSxDQUFDO0lBQy9CLG9CQUFvQixHQUFxQixLQUFLLENBQUM7SUFDL0MsV0FBVyxHQUFrQixJQUFJLENBQUMsQ0FBQyw4RkFBOEY7SUFFdkgsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFMUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxFQUFFLEdBQUcsTUFBTSxDQUEwQixDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0lBRXRFLEtBQUssR0FBRyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO0lBQ3JDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRWhELG9CQUFvQixHQUFnQyxJQUFJLENBQUM7SUFFakUsSUFBMEIsS0FBSztRQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLEtBQUssSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1lBQ3RGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1RSxNQUFNLFFBQVEsR0FBWTtZQUN4QixHQUFHLGdCQUFnQjtZQUNuQixVQUFVLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbkMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDN0MsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3hELE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYztZQUM1QixlQUFlLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUk7U0FDckQsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGdCQUFnQjtRQUN0QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBUyxFQUFFO1lBQ3ZDLHNGQUFzRjtZQUN0RixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNsQixPQUFPO1lBQ1QsQ0FBQztZQUVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLG9CQUFvQixDQUNsRCxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDeEIsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3pCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO3dCQUM3QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFFMUQsb0NBQW9DO3dCQUNwQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUM3QyxJQUFJLE9BQU8sRUFBRSxDQUFDOzRCQUNaLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO3dCQUNuQyxDQUFDO3dCQUVELDJDQUEyQzt3QkFDM0MsSUFBSSxNQUFNLEVBQUUsQ0FBQzs0QkFDWCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDOzRCQUN0RCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dDQUNmLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDOzRCQUM1QyxDQUFDO3dCQUNILENBQUM7d0JBRUQsOENBQThDO3dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM1QyxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUNEO2dCQUNFLElBQUksRUFBRSxJQUFJO2dCQUNWLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixTQUFTLEVBQUUsSUFBSTthQUNoQixDQUNGLENBQUM7WUFDRixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzt3R0FuSVUsY0FBYzs0RkFBZCxjQUFjLHFjQ2hDM0IsK3VCQXdCQSxnT0RHWSxPQUFPOzs0RkFLTixjQUFjO2tCQVAxQixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLE9BQU8sQ0FBQyxZQUNSLFVBQVU7OEJBS08sU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRWEsWUFBWTtzQkFBOUIsTUFBTTtnQkFVbUIsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEltYWdlQXNwZWN0UmF0aW8sIEltYWdlRmV0Y2hQcmlvcml0eSwgSW1hZ2VMb2FkaW5nLCBVSUltYWdlIH0gZnJvbSAnLi9pbWFnZSc7XG5pbXBvcnQgeyBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBJbWFnZUNvbXBvbmVudCBpcyBhIHJldXNhYmxlIGNvbXBvbmVudC4gTmVjZXNzYXJ5IGFjY2Vzc2liaWxpdHkgYXR0cmlidXRlcyBhcmUgc2V0IGJ5IGRlZmF1bHQgZm9yIGEgZGVjb3JhdGl2ZSBpbWFnZS5cbiAqIGFsdCB0ZXh0IGFuZCBhaXJpYSBkZXNjcmliZWQgYnkgdGV4dCBjYW4gYmUgc2V0IHRvIG1ha2UgdGhlIGltYWdlIG5vbi1kZWNvcmF0aXZlLlxuICpcbiAqIFRPRE8gLSBtaWdyYXRlIGlucHV0cyB0byBJbnB1dFNpZ25hbHMgd2hlbiBBbmd1bGFyIHN1cHBvcnRzIGl0IHdpdGhpbiBhbmd1bGFyIDE5LlxuICogSXNzdWUgLSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy81Mzk4MVxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nU3R5bGVdLFxuICBzZWxlY3RvcjogJ3VpLWltYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgaW1hZ2Vfc3JjOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGltYWdlX2FsdF90ZXh0ID0gJyc7IC8vIERlZmF1bHQgc2V0IGhlcmUgc28gaW1hZ2VzIGFyZSBzZXQgYXMgZGVjb3JhdGl2ZSBieSBkZWZhdWx0XG4gIEBJbnB1dCgpIGltYWdlX2FyaWFfZGVzY3JpYmVkYnk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbWFnZV9maWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZldGNocHJpb3JpdHk6IEltYWdlRmV0Y2hQcmlvcml0eSA9ICdhdXRvJztcbiAgQElucHV0KCkgbG9hZGluZzogSW1hZ2VMb2FkaW5nID0gJ2xhenknO1xuICBASW5wdXQoKSBwcmVsb2FkX2FzcGVjdF9yYXRpbzogSW1hZ2VBc3BlY3RSYXRpbyA9ICcxOjEnO1xuICBASW5wdXQoKSBpbWFnZV93aWR0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7IC8vIHNvdXJjZSB3aGVuIGRlZmluaW5nIHNpemVzIGVpdGhlciByZWxhdGVzIG9uIHZpZXdwb3J0IHdpZHRoIG9yIGEgc3BlY2lmaWNlZCB3aWR0aCBpbiBwaXhlbHNcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgaW1hZ2VfbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW1hZ2VTZXJ2aWNlID0gaW5qZWN0KEltYWdlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICByZWFkb25seSBpbWFnZSA9IHNpZ25hbDxVSUltYWdlIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGltYWdlU2l6ZXMgPSB0aGlzLmltYWdlU2VydmljZS5nZXRJbWFnZVNpemVzKCk7XG5cbiAgcHJpdmF0ZSBpbnRlcnNlY3Rpb25PYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmltYWdlX2ZpbGwgPyAnaW1hZ2VGaWxsJyA6ICcnfWA7XG4gIH1cblxuICAvKipcbiAgICogT24gaW5pdCBsaWZlY3ljbGUgaG9vayB0byBjcmVhdGUgdGhlIGltYWdlLlxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVJbWFnZSgpO1xuICAgIHZvaWQgdGhpcy5zZXR1cExhenlMb2FkaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogT24gY2hhbmdlcywgaGFuZGxlIGFueSBjaGFuZ2VzIGluIGlucHV0IHByb3BlcnRpZXMuXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2ltYWdlX3NyYyddIHx8IGNoYW5nZXNbJ2ltYWdlX3dpZHRoJ10gfHwgY2hhbmdlc1sncHJlbG9hZF9hc3BlY3RfcmF0aW8nXSkge1xuICAgICAgdGhpcy5jcmVhdGVJbWFnZSgpO1xuICAgICAgdGhpcy5jbGVhbnVwT2JzZXJ2ZXIoKTtcbiAgICAgIHRoaXMuc2V0dXBMYXp5TG9hZGluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiB1cCB0aGUgb2JzZXJ2ZXIgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZC5cbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYW51cE9ic2VydmVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgaW1hZ2Ugb2JqZWN0IHdpdGggdGhlIHByb3ZpZGVkIHByb3BlcnRpZXMuXG4gICAqL1xuICBjcmVhdGVJbWFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCByYXRpb3MgPSB0aGlzLnByZWxvYWRfYXNwZWN0X3JhdGlvLnNwbGl0KCc6Jyk7XG4gICAgY29uc3QgaW1hZ2VVcmxSZXNwb25zZSA9IHRoaXMuaW1hZ2VTZXJ2aWNlLmdlbmVyYXRlSW1hZ2VVcmwodGhpcy5pbWFnZV9zcmMpO1xuXG4gICAgY29uc3QgbmV3SW1hZ2U6IFVJSW1hZ2UgPSB7XG4gICAgICAuLi5pbWFnZVVybFJlc3BvbnNlLFxuICAgICAgcmF0aW9XaWR0aDogcGFyc2VJbnQocmF0aW9zWzBdLCAxMCksXG4gICAgICByYXRpb0hlaWdodDogcGFyc2VJbnQocmF0aW9zWzFdLCAxMCksXG4gICAgICBsb2FkaW5nOiB0aGlzLmxvYWRpbmcsXG4gICAgICBmaWxsOiB0aGlzLmltYWdlX2ZpbGwsXG4gICAgICBmZXRjaHByaW9yaXR5OiB0aGlzLmZldGNocHJpb3JpdHksXG4gICAgICBwcmVsb2FkQXNwZWN0UmF0aW86IHRoaXMucHJlbG9hZF9hc3BlY3RfcmF0aW8sXG4gICAgICB3aWR0aDogdGhpcy5pbWFnZV93aWR0aCA/IGAke3RoaXMuaW1hZ2Vfd2lkdGh9cHhgIDogbnVsbCxcbiAgICAgIGFsdFRleHQ6IHRoaXMuaW1hZ2VfYWx0X3RleHQsXG4gICAgICBhcmlhRGVzY3JpYmVkYnk6IHRoaXMuaW1hZ2VfYXJpYV9kZXNjcmliZWRieSA/PyBudWxsLFxuICAgIH07XG4gICAgdGhpcy5pbWFnZS5zZXQobmV3SW1hZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgbGF6eSBsb2FkaW5nIGZvciB0aGUgaW1hZ2UgdXNpbmcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuXG4gICAqIFRoaXMgbWV0aG9kIG9ic2VydmVzIHRoZSBpbWFnZSBlbGVtZW50IGFuZCBsb2FkcyB0aGUgaW1hZ2Ugd2hlbiBpdCBjb21lcyBpbnRvIHZpZXcuXG4gICAqIEl0IHNldHMgdGhlIGBzcmNgIGF0dHJpYnV0ZSBmb3IgdGhlIGltYWdlIGFuZCB0aGUgYHNyY3NldGAgYXR0cmlidXRlIGZvciB0aGUgc291cmNlIGVsZW1lbnQuXG4gICAqIFRoZSBvYnNlcnZlciBpcyBjb25maWd1cmVkIHRvIHJlbW92ZSB0aGUgaW1hZ2UgYWZ0ZXIgaXQgaGFzIGJlZW4gb2JzZXJ2ZWQgdG8gc2F2ZSBtZW1vcnkuXG4gICAqL1xuICBwcml2YXRlIHNldHVwTGF6eUxvYWRpbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk6IHZvaWQgPT4ge1xuICAgICAgLy8gRGVmZXIgc2V0dXAgdW50aWwgYWZ0ZXIgdGhlIHZpZXcgaXMgaW5pdGlhbGl6ZWQgdG8gZW5zdXJlIHRoZSA8aW1nPiBlbGVtZW50IGV4aXN0cy5cbiAgICAgIGNvbnN0IGltYWdlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbWcnKTtcbiAgICAgIGlmICghaW1hZ2VFbGVtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICAgICAgY29uc3QgaW1nID0gZW50cnkudGFyZ2V0IGFzIEhUTUxJbWFnZUVsZW1lbnQ7XG4gICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGltZy5wYXJlbnRFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCdzb3VyY2UnKTtcblxuICAgICAgICAgICAgICAvLyBNb3ZlIHRoZSBVUkwgZnJvbSBkYXRhLXNyYyB0byBzcmNcbiAgICAgICAgICAgICAgY29uc3QgZGF0YVNyYyA9IGltZy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJyk7XG4gICAgICAgICAgICAgIGlmIChkYXRhU3JjKSB7XG4gICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgnc3JjJywgZGF0YVNyYyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvLyBNb3ZlIHRoZSBVUkxzIGZyb20gZGF0YS1zcmNzZXQgdG8gc3Jjc2V0XG4gICAgICAgICAgICAgIGlmIChzb3VyY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhU3Jjc2V0ID0gc291cmNlLmdldEF0dHJpYnV0ZSgnZGF0YS1zcmNzZXQnKTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YVNyY3NldCkge1xuICAgICAgICAgICAgICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgnc3Jjc2V0JywgZGF0YVNyY3NldCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gU3RvcCBvYnNlcnZpbmcgdGhpcyBpbWFnZSBvbmNlIGl0J3MgbG9hZGVkLlxuICAgICAgICAgICAgICB0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPy51bm9ic2VydmUoaW1nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHJvb3Q6IG51bGwsXG4gICAgICAgICAgcm9vdE1hcmdpbjogJzEwMHB4JyxcbiAgICAgICAgICB0aHJlc2hvbGQ6IDAuMDEsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5vYnNlcnZlKGltYWdlRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW5zIHVwIHRoZSBJbnRlcnNlY3Rpb25PYnNlcnZlciB0byBwcmV2ZW50IG1lbW9yeSBsZWFrcy5cbiAgICogVGhpcyBtZXRob2QgZGlzY29ubmVjdHMgdGhlIG9ic2VydmVyIGFuZCBzZXRzIGl0IHRvIG51bGwuXG4gICAqL1xuICBwcml2YXRlIGNsZWFudXBPYnNlcnZlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcikge1xuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoaW1hZ2UoKSkge1xuICA8cGljdHVyZT5cbiAgICA8c291cmNlXG4gICAgICBbYXR0ci5zaXplc109XCJpbWFnZSgpLndpZHRoID8/IGltYWdlU2l6ZXNcIlxuICAgICAgW2F0dHIuc3Jjc2V0XT1cIm51bGxcIlxuICAgICAgW2F0dHIuZGF0YS1zcmNzZXRdPVwiaW1hZ2UoKS5zcmNTZXRVcmxzXCJcbiAgICAgIHR5cGU9XCJpbWFnZS93ZWJwXCJcbiAgICAvPlxuXG4gICAgPGltZ1xuICAgICAgW2NsYXNzLmltYWdlRmlsbF09XCJpbWFnZSgpLmZpbGxcIlxuICAgICAgW2F0dHIud2lkdGhdPVwiaW1hZ2UoKS5yYXRpb1dpZHRoXCJcbiAgICAgIFthdHRyLmhlaWdodF09XCJpbWFnZSgpLnJhdGlvSGVpZ2h0XCJcbiAgICAgIFthdHRyLnNyY109XCJudWxsXCJcbiAgICAgIFthdHRyLmRhdGEtc3JjXT1cImltYWdlKCkuZmFsbGJhY2tVcmxcIlxuICAgICAgW2F0dHIubG9hZGluZ109XCJpbWFnZSgpLmxvYWRpbmdcIlxuICAgICAgW2F0dHIuZmV0Y2hwcmlvcml0eV09XCJpbWFnZSgpLmZldGNocHJpb3JpdHlcIlxuICAgICAgW2F0dHIuYWx0XT1cImltYWdlKCkuYWx0VGV4dFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImltYWdlKCkuYXJpYURlc2NyaWJlZGJ5XCJcbiAgICAgIFtuZ1N0eWxlXT1cInsgJ2FzcGVjdC1yYXRpbyc6IGltYWdlKCkucHJlbG9hZEFzcGVjdFJhdGlvIH1cIlxuICAgICAgKGxvYWQpPVwiaW1hZ2VfbG9hZGVkLmVtaXQoKVwiXG4gICAgLz5cbiAgPC9waWN0dXJlPlxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbWFnZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1hZ2Uuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIEltYWdlTG9hZGluZyA9ICdsYXp5JyB8ICdlYWdlcicgfCAnYXV0byc7XG5cbmV4cG9ydCB0eXBlIEltYWdlQXNwZWN0UmF0aW8gPSAnMToxJyB8ICczOjQnIHwgJzM6NScgfCAnNDozJyB8ICc1OjMnIHwgJzU6NCcgfCAnMTM6MTUnO1xuXG5leHBvcnQgdHlwZSBJbWFnZUZldGNoUHJpb3JpdHkgPSAnbG93JyB8ICdoaWdoJyB8ICdhdXRvJztcblxuZXhwb3J0IGludGVyZmFjZSBVSUltYWdlIGV4dGVuZHMgSW1hZ2VSZXNwb25zZSB7XG4gIHJhdGlvV2lkdGg6IG51bWJlcjtcbiAgcmF0aW9IZWlnaHQ6IG51bWJlcjtcbiAgbG9hZGluZzogSW1hZ2VMb2FkaW5nO1xuICBmaWxsOiBib29sZWFuO1xuICBmZXRjaHByaW9yaXR5OiBJbWFnZUZldGNoUHJpb3JpdHk7XG4gIHByZWxvYWRBc3BlY3RSYXRpbzogSW1hZ2VBc3BlY3RSYXRpbztcbiAgd2lkdGg6IHN0cmluZyB8IG51bGw7XG4gIGFsdFRleHQ6IHN0cmluZztcbiAgYXJpYURlc2NyaWJlZGJ5Pzogc3RyaW5nIHwgbnVsbDtcbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ImageComponent } from './image.component';
3
- import * as i0 from "@angular/core";
4
- export class OasysImageModule {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OasysImageModule, imports: [ImageComponent], exports: [ImageComponent] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysImageModule });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysImageModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [ImageComponent],
13
- exports: [ImageComponent],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9pbWFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxnQkFBZ0I7d0dBQWhCLGdCQUFnQjt5R0FBaEIsZ0JBQWdCLFlBSGpCLGNBQWMsYUFDZCxjQUFjO3lHQUViLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtJbWFnZUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtJbWFnZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE9hc3lzSW1hZ2VNb2R1bGUge31cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './image.component';
2
- export * from './image.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UubW9kdWxlJztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './label.component';
2
- export * from './label.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2xhYmVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGFiZWwubW9kdWxlJztcbiJdfQ==
@@ -1,69 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { LayoutBoxComponent } from '../layout/box/box.component';
3
- import { LayoutStackComponent } from '../layout/stack/stack.component';
4
- import { NgIf } from '@angular/common';
5
- import { IconComponent } from '../icon/icon.component';
6
- import * as i0 from "@angular/core";
7
- export class LabelComponent {
8
- type = '';
9
- text = '';
10
- textStyle = '';
11
- showIcon = true;
12
- iconOverride;
13
- backgroundColorOverride;
14
- backgroundColour = 'tint-highlight';
15
- iconName;
16
- labelStyle;
17
- textStyleToFontSizeMap = {
18
- bodySupporting: 'text-body--supporting',
19
- bodyMicro: 'text-body--micro',
20
- '': 'text-body--supporting',
21
- };
22
- get fontSize() {
23
- return this.textStyleToFontSizeMap[this.textStyle] || 'text-body--supporting';
24
- }
25
- ngOnInit() {
26
- if (this.showIcon && this.iconOverride) {
27
- this.iconName = this.iconOverride;
28
- }
29
- switch (this.type) {
30
- case 'free-delivery':
31
- this.setLabelProperties('delivery');
32
- break;
33
- case 'featured':
34
- this.setLabelProperties('featured');
35
- break;
36
- case 'limited-edition':
37
- this.setLabelProperties('logomark');
38
- break;
39
- case 'rewards-bonus-points':
40
- this.setLabelProperties('rewards');
41
- break;
42
- default:
43
- this.backgroundColour = 'tint-highlight';
44
- }
45
- }
46
- setLabelProperties(defaultIconName) {
47
- this.labelStyle = this.backgroundColorOverride || this.type;
48
- this.iconName = this.iconName || defaultIconName;
49
- }
50
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LabelComponent, isStandalone: true, selector: "ui-label", inputs: { type: "type", text: "text", textStyle: "textStyle", showIcon: "showIcon", iconOverride: "iconOverride", backgroundColorOverride: "backgroundColorOverride" }, ngImport: i0, template: "<ui-box\n class=\"ui-label oasys-label-style-{{ labelStyle }}\"\n box_space=\"tiny\"\n box_space_left=\"tight\"\n box_space_right=\"tight\"\n box_fill_mode=\"fit\"\n [box_background]=\"backgroundColour\"\n>\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_gap=\"tiny\">\n <ui-icon *ngIf=\"showIcon\" [icon_name]=\"iconName\" icon_size=\"small\"></ui-icon>\n <span [class]=\"fontSize\">{{ text }}</span>\n </ui-stack>\n</ui-box>\n", styles: [".ui-label{border-radius:var(--oasys-component-button-border-radius)}.oasys-label-style-free-delivery{background-color:var(--oasys-component-label-type-free-delivery-background);color:var(--oasys-component-label-type-free-delivery-foreground)}.oasys-label-style-featured{background-color:var(--oasys-component-label-type-featured-background);color:var(--oasys-component-label-type-featured-foreground)}.oasys-label-style-limited-edition{background-color:var(--oasys-component-label-type-limited-edition-background);color:var(--oasys-component-label-type-limited-edition-foreground)}.oasys-label-style-rewards-bonus-points{background-color:var(--oasys-component-label-type-rewards-bonus-points-background);color:var(--oasys-component-label-type-rewards-bonus-points-foreground)}\n"], dependencies: [{ kind: "component", type: LayoutBoxComponent, selector: "ui-box", inputs: ["box_space", "box_space_top", "box_space_right", "box_space_bottom", "box_space_left", "box_align_x", "box_align_y", "box_fill_mode", "box_background", "box_content_fill_width", "box_border_color", "box_border_width", "box_border_style", "box_border_radius"] }, { kind: "component", type: LayoutStackComponent, selector: "ui-stack", inputs: ["stack_gap", "stack_align", "stack_direction", "stack_distribute", "stack_wrap", "stack_collapse_below"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["icon_size", "icon_size_override", "icon_name", "icon_context", "alt_text", "icon_class"] }] });
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelComponent, decorators: [{
54
- type: Component,
55
- args: [{ selector: 'ui-label', standalone: true, imports: [LayoutBoxComponent, LayoutStackComponent, NgIf, IconComponent], template: "<ui-box\n class=\"ui-label oasys-label-style-{{ labelStyle }}\"\n box_space=\"tiny\"\n box_space_left=\"tight\"\n box_space_right=\"tight\"\n box_fill_mode=\"fit\"\n [box_background]=\"backgroundColour\"\n>\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_gap=\"tiny\">\n <ui-icon *ngIf=\"showIcon\" [icon_name]=\"iconName\" icon_size=\"small\"></ui-icon>\n <span [class]=\"fontSize\">{{ text }}</span>\n </ui-stack>\n</ui-box>\n", styles: [".ui-label{border-radius:var(--oasys-component-button-border-radius)}.oasys-label-style-free-delivery{background-color:var(--oasys-component-label-type-free-delivery-background);color:var(--oasys-component-label-type-free-delivery-foreground)}.oasys-label-style-featured{background-color:var(--oasys-component-label-type-featured-background);color:var(--oasys-component-label-type-featured-foreground)}.oasys-label-style-limited-edition{background-color:var(--oasys-component-label-type-limited-edition-background);color:var(--oasys-component-label-type-limited-edition-foreground)}.oasys-label-style-rewards-bonus-points{background-color:var(--oasys-component-label-type-rewards-bonus-points-background);color:var(--oasys-component-label-type-rewards-bonus-points-foreground)}\n"] }]
56
- }], propDecorators: { type: [{
57
- type: Input
58
- }], text: [{
59
- type: Input
60
- }], textStyle: [{
61
- type: Input
62
- }], showIcon: [{
63
- type: Input
64
- }], iconOverride: [{
65
- type: Input
66
- }], backgroundColorOverride: [{
67
- type: Input
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbC9sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2xhYmVsL2xhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBZXZELE1BQU0sT0FBTyxjQUFjO0lBQ2hCLElBQUksR0FBc0IsRUFBRSxDQUFDO0lBQzdCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDbEIsU0FBUyxHQUFjLEVBQUUsQ0FBQztJQUMxQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLFlBQVksQ0FBWTtJQUN4Qix1QkFBdUIsQ0FBb0I7SUFFcEQsZ0JBQWdCLEdBQXNCLGdCQUFnQixDQUFDO0lBQ3ZELFFBQVEsQ0FBWTtJQUNwQixVQUFVLENBQW9CO0lBRWIsc0JBQXNCLEdBQThCO1FBQ25FLGNBQWMsRUFBRSx1QkFBdUI7UUFDdkMsU0FBUyxFQUFFLGtCQUFrQjtRQUM3QixFQUFFLEVBQUUsdUJBQXVCO0tBQzVCLENBQUM7SUFFRixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBc0IsQ0FBQyxJQUFJLHVCQUF1QixDQUFDO0lBQzdGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDcEMsQ0FBQztRQUVELFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLEtBQUssZUFBZTtnQkFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNO1lBQ1IsS0FBSyxVQUFVO2dCQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDcEMsTUFBTTtZQUNSLEtBQUssaUJBQWlCO2dCQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3BDLE1BQU07WUFDUixLQUFLLHNCQUFzQjtnQkFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNuQyxNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsZUFBdUI7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLElBQUssSUFBSSxDQUFDLElBQTBCLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFLLGVBQTZCLENBQUM7SUFDbEUsQ0FBQzt3R0FoRFUsY0FBYzs0RkFBZCxjQUFjLDRPQ3JCM0IsMmNBYUEsbzBCRE1ZLGtCQUFrQixnVUFBRSxvQkFBb0Isd0tBQUUsSUFBSSw2RkFBRSxhQUFhOzs0RkFFNUQsY0FBYztrQkFQMUIsU0FBUzsrQkFDRSxVQUFVLGNBR1IsSUFBSSxXQUNQLENBQUMsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQzs4QkFHL0QsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExheW91dEJhY2tncm91bmRzIH0gZnJvbSAnLi4vbGF5b3V0L0xheW91dCc7XG5pbXBvcnQgeyBJY29uTmFtZXMgfSBmcm9tICcuLi9pY29uL2ljb24nO1xuaW1wb3J0IHsgTGF5b3V0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L2JveC9ib3guY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dFN0YWNrQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L3N0YWNrL3N0YWNrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcblxuaW50ZXJmYWNlIExhYmVsVHlwZSB7XG4gIHR5cGU6ICdmcmVlLWRlbGl2ZXJ5JyB8ICdmZWF0dXJlZCcgfCAnbGltaXRlZC1lZGl0aW9uJyB8ICdyZXdhcmRzLWJvbnVzLXBvaW50cycgfCAnJztcbn1cblxudHlwZSBUZXh0U3R5bGUgPSAnYm9keVN1cHBvcnRpbmcnIHwgJ2JvZHlNaWNybycgfCAnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktbGFiZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYWJlbC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTGF5b3V0Qm94Q29tcG9uZW50LCBMYXlvdXRTdGFja0NvbXBvbmVudCwgTmdJZiwgSWNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIExhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdHlwZTogTGFiZWxUeXBlWyd0eXBlJ10gPSAnJztcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHRleHRTdHlsZTogVGV4dFN0eWxlID0gJyc7XG4gIEBJbnB1dCgpIHNob3dJY29uID0gdHJ1ZTtcbiAgQElucHV0KCkgaWNvbk92ZXJyaWRlOiBJY29uTmFtZXM7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvck92ZXJyaWRlOiBMYXlvdXRCYWNrZ3JvdW5kcztcblxuICBiYWNrZ3JvdW5kQ29sb3VyOiBMYXlvdXRCYWNrZ3JvdW5kcyA9ICd0aW50LWhpZ2hsaWdodCc7XG4gIGljb25OYW1lOiBJY29uTmFtZXM7XG4gIGxhYmVsU3R5bGU6IExheW91dEJhY2tncm91bmRzO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dFN0eWxlVG9Gb250U2l6ZU1hcDogUmVjb3JkPFRleHRTdHlsZSwgc3RyaW5nPiA9IHtcbiAgICBib2R5U3VwcG9ydGluZzogJ3RleHQtYm9keS0tc3VwcG9ydGluZycsXG4gICAgYm9keU1pY3JvOiAndGV4dC1ib2R5LS1taWNybycsXG4gICAgJyc6ICd0ZXh0LWJvZHktLXN1cHBvcnRpbmcnLFxuICB9O1xuXG4gIGdldCBmb250U2l6ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRTdHlsZVRvRm9udFNpemVNYXBbdGhpcy50ZXh0U3R5bGUgYXMgVGV4dFN0eWxlXSB8fCAndGV4dC1ib2R5LS1zdXBwb3J0aW5nJztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dJY29uICYmIHRoaXMuaWNvbk92ZXJyaWRlKSB7XG4gICAgICB0aGlzLmljb25OYW1lID0gdGhpcy5pY29uT3ZlcnJpZGU7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2ZyZWUtZGVsaXZlcnknOlxuICAgICAgICB0aGlzLnNldExhYmVsUHJvcGVydGllcygnZGVsaXZlcnknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmZWF0dXJlZCc6XG4gICAgICAgIHRoaXMuc2V0TGFiZWxQcm9wZXJ0aWVzKCdmZWF0dXJlZCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xpbWl0ZWQtZWRpdGlvbic6XG4gICAgICAgIHRoaXMuc2V0TGFiZWxQcm9wZXJ0aWVzKCdsb2dvbWFyaycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3Jld2FyZHMtYm9udXMtcG9pbnRzJzpcbiAgICAgICAgdGhpcy5zZXRMYWJlbFByb3BlcnRpZXMoJ3Jld2FyZHMnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvdXIgPSAndGludC1oaWdobGlnaHQnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0TGFiZWxQcm9wZXJ0aWVzKGRlZmF1bHRJY29uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbFN0eWxlID0gdGhpcy5iYWNrZ3JvdW5kQ29sb3JPdmVycmlkZSB8fCAodGhpcy50eXBlIGFzIExheW91dEJhY2tncm91bmRzKTtcbiAgICB0aGlzLmljb25OYW1lID0gdGhpcy5pY29uTmFtZSB8fCAoZGVmYXVsdEljb25OYW1lIGFzIEljb25OYW1lcyk7XG4gIH1cbn1cbiIsIjx1aS1ib3hcbiAgY2xhc3M9XCJ1aS1sYWJlbCBvYXN5cy1sYWJlbC1zdHlsZS17eyBsYWJlbFN0eWxlIH19XCJcbiAgYm94X3NwYWNlPVwidGlueVwiXG4gIGJveF9zcGFjZV9sZWZ0PVwidGlnaHRcIlxuICBib3hfc3BhY2VfcmlnaHQ9XCJ0aWdodFwiXG4gIGJveF9maWxsX21vZGU9XCJmaXRcIlxuICBbYm94X2JhY2tncm91bmRdPVwiYmFja2dyb3VuZENvbG91clwiXG4+XG4gIDx1aS1zdGFjayBzdGFja19kaXJlY3Rpb249XCJ4XCIgc3RhY2tfYWxpZ249XCJjZW50ZXJcIiBzdGFja19nYXA9XCJ0aW55XCI+XG4gICAgPHVpLWljb24gKm5nSWY9XCJzaG93SWNvblwiIFtpY29uX25hbWVdPVwiaWNvbk5hbWVcIiBpY29uX3NpemU9XCJzbWFsbFwiPjwvdWktaWNvbj5cbiAgICA8c3BhbiBbY2xhc3NdPVwiZm9udFNpemVcIj57eyB0ZXh0IH19PC9zcGFuPlxuICA8L3VpLXN0YWNrPlxuPC91aS1ib3g+XG4iXX0=