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,32 +0,0 @@
1
- import { NgClass, NgIf } from '@angular/common';
2
- import { Component, HostBinding, Input } from '@angular/core';
3
- import { LayoutStackComponent } from '../layout/stack/stack.component';
4
- import * as i0 from "@angular/core";
5
- export class OasysPriceComponent {
6
- get class() {
7
- return `
8
- ${this.price_type === 'hero' ? 'text-body--hero' : ''}
9
- ${this.price_type === 'primary' ? 'text-body--default' : ''}
10
- ${this.price_type === 'supporting' ? 'text-body--supporting' : ''}
11
- `;
12
- }
13
- price;
14
- price_before_discount;
15
- price_type = 'primary';
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysPriceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OasysPriceComponent, isStandalone: true, selector: "ui-price", inputs: { price: "price", price_before_discount: "price_before_discount", price_type: "price_type" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"ui-price\" [ngClass]=\"price_type\">\n <ui-stack\n stack_direction=\"x\"\n stack_gap=\"near\"\n stack_align=\"center\"\n [ngClass]=\"{ 'oasys-price-has-discount': price_before_discount }\"\n >\n <div [attr.aria-hidden]=\"true\" *ngIf=\"price_before_discount\" class=\"text-body--line-through\">\n {{ price_before_discount }}\n </div>\n <div itemprop=\"price\" class=\"price-to-pay\">{{ price }}</div>\n </ui-stack>\n</div>\n", styles: [".ui-price.hero{font-weight:var(--oasys-component-price-weight-hero)}.ui-price.primary{font-weight:var(--oasys-component-price-weight-primary)}.ui-price.supporting{font-weight:var(--oasys-component-price-weight-supporting)}.ui-price .oasys-price-has-discount .price-to-pay{color:var(--oasys-component-price-color-price-after-discount)}\n"], dependencies: [{ 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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysPriceComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'ui-price', standalone: true, imports: [NgClass, LayoutStackComponent, NgIf], template: "<div class=\"ui-price\" [ngClass]=\"price_type\">\n <ui-stack\n stack_direction=\"x\"\n stack_gap=\"near\"\n stack_align=\"center\"\n [ngClass]=\"{ 'oasys-price-has-discount': price_before_discount }\"\n >\n <div [attr.aria-hidden]=\"true\" *ngIf=\"price_before_discount\" class=\"text-body--line-through\">\n {{ price_before_discount }}\n </div>\n <div itemprop=\"price\" class=\"price-to-pay\">{{ price }}</div>\n </ui-stack>\n</div>\n", styles: [".ui-price.hero{font-weight:var(--oasys-component-price-weight-hero)}.ui-price.primary{font-weight:var(--oasys-component-price-weight-primary)}.ui-price.supporting{font-weight:var(--oasys-component-price-weight-supporting)}.ui-price .oasys-price-has-discount .price-to-pay{color:var(--oasys-component-price-color-price-after-discount)}\n"] }]
22
- }], propDecorators: { class: [{
23
- type: HostBinding,
24
- args: ['class']
25
- }], price: [{
26
- type: Input
27
- }], price_before_discount: [{
28
- type: Input
29
- }], price_type: [{
30
- type: Input
31
- }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcmljZS9wcmljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3ByaWNlL3ByaWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQVN2RSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLElBQTBCLEtBQUs7UUFDN0IsT0FBTztRQUNILElBQUksQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNuRCxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDekQsSUFBSSxDQUFDLFVBQVUsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQ2xFLENBQUM7SUFDSixDQUFDO0lBRVEsS0FBSyxDQUFTO0lBQ2QscUJBQXFCLENBQVU7SUFFL0IsVUFBVSxHQUFzQyxTQUFTLENBQUM7d0dBWnhELG1CQUFtQjs0RkFBbkIsbUJBQW1CLDJOQ1hoQyxvZEFhQSwwWURKWSxPQUFPLG9GQUFFLG9CQUFvQix3S0FBRSxJQUFJOzs0RkFFbEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLFVBQVUsY0FHUixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDOzhCQUdwQixLQUFLO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBUVgsS0FBSztzQkFBYixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF5b3V0U3RhY2tDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQvc3RhY2svc3RhY2suY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktcHJpY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJpY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcmljZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzcywgTGF5b3V0U3RhY2tDb21wb25lbnQsIE5nSWZdLFxufSlcbmV4cG9ydCBjbGFzcyBPYXN5c1ByaWNlQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBjbGFzcygpIHtcbiAgICByZXR1cm4gYFxuICAgICAgJHt0aGlzLnByaWNlX3R5cGUgPT09ICdoZXJvJyA/ICd0ZXh0LWJvZHktLWhlcm8nIDogJyd9XG4gICAgICAke3RoaXMucHJpY2VfdHlwZSA9PT0gJ3ByaW1hcnknID8gJ3RleHQtYm9keS0tZGVmYXVsdCcgOiAnJ31cbiAgICAgICR7dGhpcy5wcmljZV90eXBlID09PSAnc3VwcG9ydGluZycgPyAndGV4dC1ib2R5LS1zdXBwb3J0aW5nJyA6ICcnfVxuICAgIGA7XG4gIH1cblxuICBASW5wdXQoKSBwcmljZTogc3RyaW5nO1xuICBASW5wdXQoKSBwcmljZV9iZWZvcmVfZGlzY291bnQ/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHJpY2VfdHlwZTogJ2hlcm8nIHwgJ3ByaW1hcnknIHwgJ3N1cHBvcnRpbmcnID0gJ3ByaW1hcnknO1xufVxuIiwiPGRpdiBjbGFzcz1cInVpLXByaWNlXCIgW25nQ2xhc3NdPVwicHJpY2VfdHlwZVwiPlxuICA8dWktc3RhY2tcbiAgICBzdGFja19kaXJlY3Rpb249XCJ4XCJcbiAgICBzdGFja19nYXA9XCJuZWFyXCJcbiAgICBzdGFja19hbGlnbj1cImNlbnRlclwiXG4gICAgW25nQ2xhc3NdPVwieyAnb2FzeXMtcHJpY2UtaGFzLWRpc2NvdW50JzogcHJpY2VfYmVmb3JlX2Rpc2NvdW50IH1cIlxuICA+XG4gICAgPGRpdiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCIgKm5nSWY9XCJwcmljZV9iZWZvcmVfZGlzY291bnRcIiBjbGFzcz1cInRleHQtYm9keS0tbGluZS10aHJvdWdoXCI+XG4gICAgICB7eyBwcmljZV9iZWZvcmVfZGlzY291bnQgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGl0ZW1wcm9wPVwicHJpY2VcIiBjbGFzcz1cInByaWNlLXRvLXBheVwiPnt7IHByaWNlIH19PC9kaXY+XG4gIDwvdWktc3RhY2s+XG48L2Rpdj5cbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { OasysPriceComponent } from './price.component';
3
- import * as i0 from "@angular/core";
4
- export class OasysPriceModule {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysPriceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OasysPriceModule, imports: [OasysPriceComponent], exports: [OasysPriceComponent] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysPriceModule });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysPriceModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [OasysPriceComponent],
13
- exports: [OasysPriceComponent],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcmljZS9wcmljZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFNeEQsTUFBTSxPQUFPLGdCQUFnQjt3R0FBaEIsZ0JBQWdCO3lHQUFoQixnQkFBZ0IsWUFIakIsbUJBQW1CLGFBQ25CLG1CQUFtQjt5R0FFbEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2FzeXNQcmljZUNvbXBvbmVudCB9IGZyb20gJy4vcHJpY2UuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW09hc3lzUHJpY2VDb21wb25lbnRdLFxuICBleHBvcnRzOiBbT2FzeXNQcmljZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE9hc3lzUHJpY2VNb2R1bGUge31cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './progress-bar.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { LayoutBoxComponent } from '../layout/box/box.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- export class ProgressBarComponent {
7
- percentage = 50;
8
- style = 'circular';
9
- text = '0 / 3';
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProgressBarComponent, isStandalone: true, selector: "ui-progress-bar", inputs: { percentage: "percentage", style: "style", text: "text" }, ngImport: i0, template: "<!-- Circular Progress Bar -->\n<ui-box\n *ngIf=\"style === 'circular'\"\n box_space=\"none\"\n class=\"bw-cicle-progress-bar\"\n [style.--bw-cicle-progress-bar-progress-size]=\"percentage\"\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [attr.aria-valuenow]=\"percentage\"\n [attr.aria-label]=\"text\"\n>\n <svg>\n <circle class=\"full-bar\" />\n <circle class=\"progress-bar\" />\n </svg>\n <div class=\"bw-cicle-progress-bar__content text-body--micro\">\n <span class=\"bw-cicle-progress-bar__content-text\">{{ text }}</span>\n </div>\n</ui-box>\n\n<!-- Line Progress Bar -->\n<ui-box\n *ngIf=\"style === 'line'\"\n box_space=\"none\"\n box_fit_mode=\"fit\"\n class=\"bw-line-progress-bar\"\n [style.--bw-line-progress-bar-progress-size]=\"percentage\"\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [attr.aria-valuenow]=\"percentage\"\n [attr.aria-label]=\"text\"\n>\n <svg>\n <rect class=\"full-bar\" />\n <rect class=\"progress-bar\" />\n </svg>\n</ui-box>\n", styles: [".bw-cicle-progress-bar{--bw-cicle-progress-bar-progress-size: 0;--bw-cicle-progress-bar-size: 48px;display:block;position:relative;width:var(--bw-cicle-progress-bar-size);height:var(--bw-cicle-progress-bar-size)}.bw-cicle-progress-bar__content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bw-cicle-progress-bar svg{--size: 48px;--half-size: calc(var(--size) / 2);--stroke-width: 4px;--radius: calc((var(--size) - var(--stroke-width)) / 2);--circumference: calc(var(--radius) * pi * 2);--dash: calc((var(--bw-cicle-progress-bar-progress-size) * var(--circumference)) / 100);width:var(--bw-cicle-progress-bar-size);height:var(--bw-cicle-progress-bar-size)}.bw-cicle-progress-bar circle{cx:var(--half-size);cy:var(--half-size);r:var(--radius);stroke-width:var(--stroke-width);fill:none;stroke-linecap:round}.bw-cicle-progress-bar circle.full-bar{stroke:var(--oasys-color-interaction-background-disabled)}.bw-cicle-progress-bar circle.progress-bar{transform:rotate(-90deg);transform-origin:var(--half-size) var(--half-size);stroke-dasharray:var(--dash) calc(var(--circumference) - var(--dash));stroke:var(--oasys-color-brand-background-tertiary)}.bw-line-progress-bar{--bw-line-progress-bar-progress-size: 0;--bw-line-progress-bar-svg-height: 4px;--bw-line-progress-bar-width: 160px;display:block;width:var(--bw-line-progress-bar-width);height:auto}.bw-line-progress-bar svg{width:100%;height:var(--bw-line-progress-bar-svg-height)}.bw-line-progress-bar rect{height:100%;rx:calc(var(--bw-line-progress-bar-svg-height) / 2);ry:calc(var(--bw-line-progress-bar-svg-height) / 2)}.bw-line-progress-bar rect.full-bar{width:100%;fill:var(--oasys-color-interaction-background-disabled)}.bw-line-progress-bar rect.progress-bar{width:calc(var(--bw-line-progress-bar-progress-size) * 1%);fill:var(--oasys-color-brand-foreground-primary);transition:width .3s ease}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressBarComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'ui-progress-bar', standalone: true, imports: [CommonModule, LayoutBoxComponent], template: "<!-- Circular Progress Bar -->\n<ui-box\n *ngIf=\"style === 'circular'\"\n box_space=\"none\"\n class=\"bw-cicle-progress-bar\"\n [style.--bw-cicle-progress-bar-progress-size]=\"percentage\"\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [attr.aria-valuenow]=\"percentage\"\n [attr.aria-label]=\"text\"\n>\n <svg>\n <circle class=\"full-bar\" />\n <circle class=\"progress-bar\" />\n </svg>\n <div class=\"bw-cicle-progress-bar__content text-body--micro\">\n <span class=\"bw-cicle-progress-bar__content-text\">{{ text }}</span>\n </div>\n</ui-box>\n\n<!-- Line Progress Bar -->\n<ui-box\n *ngIf=\"style === 'line'\"\n box_space=\"none\"\n box_fit_mode=\"fit\"\n class=\"bw-line-progress-bar\"\n [style.--bw-line-progress-bar-progress-size]=\"percentage\"\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [attr.aria-valuenow]=\"percentage\"\n [attr.aria-label]=\"text\"\n>\n <svg>\n <rect class=\"full-bar\" />\n <rect class=\"progress-bar\" />\n </svg>\n</ui-box>\n", styles: [".bw-cicle-progress-bar{--bw-cicle-progress-bar-progress-size: 0;--bw-cicle-progress-bar-size: 48px;display:block;position:relative;width:var(--bw-cicle-progress-bar-size);height:var(--bw-cicle-progress-bar-size)}.bw-cicle-progress-bar__content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bw-cicle-progress-bar svg{--size: 48px;--half-size: calc(var(--size) / 2);--stroke-width: 4px;--radius: calc((var(--size) - var(--stroke-width)) / 2);--circumference: calc(var(--radius) * pi * 2);--dash: calc((var(--bw-cicle-progress-bar-progress-size) * var(--circumference)) / 100);width:var(--bw-cicle-progress-bar-size);height:var(--bw-cicle-progress-bar-size)}.bw-cicle-progress-bar circle{cx:var(--half-size);cy:var(--half-size);r:var(--radius);stroke-width:var(--stroke-width);fill:none;stroke-linecap:round}.bw-cicle-progress-bar circle.full-bar{stroke:var(--oasys-color-interaction-background-disabled)}.bw-cicle-progress-bar circle.progress-bar{transform:rotate(-90deg);transform-origin:var(--half-size) var(--half-size);stroke-dasharray:var(--dash) calc(var(--circumference) - var(--dash));stroke:var(--oasys-color-brand-background-tertiary)}.bw-line-progress-bar{--bw-line-progress-bar-progress-size: 0;--bw-line-progress-bar-svg-height: 4px;--bw-line-progress-bar-width: 160px;display:block;width:var(--bw-line-progress-bar-width);height:auto}.bw-line-progress-bar svg{width:100%;height:var(--bw-line-progress-bar-svg-height)}.bw-line-progress-bar rect{height:100%;rx:calc(var(--bw-line-progress-bar-svg-height) / 2);ry:calc(var(--bw-line-progress-bar-svg-height) / 2)}.bw-line-progress-bar rect.full-bar{width:100%;fill:var(--oasys-color-interaction-background-disabled)}.bw-line-progress-bar rect.progress-bar{width:calc(var(--bw-line-progress-bar-progress-size) * 1%);fill:var(--oasys-color-brand-foreground-primary);transition:width .3s ease}\n"] }]
16
- }], propDecorators: { percentage: [{
17
- type: Input
18
- }], style: [{
19
- type: Input
20
- }], text: [{
21
- type: Input
22
- }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFTakUsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLEtBQUssR0FBd0IsVUFBVSxDQUFDO0lBQ3hDLElBQUksR0FBVyxPQUFPLENBQUM7d0dBSHJCLG9CQUFvQjs0RkFBcEIsb0JBQW9CLCtJQ1hqQyw4aENBdUNBLHk0REQ5QlksWUFBWSxtSUFBRSxrQkFBa0I7OzRGQUUvQixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDOzhCQUdsQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTGF5b3V0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L2JveC9ib3guY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMYXlvdXRCb3hDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0JhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHBlcmNlbnRhZ2UgPSA1MDtcbiAgQElucHV0KCkgc3R5bGU6ICdjaXJjdWxhcicgfCAnbGluZScgPSAnY2lyY3VsYXInO1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnMCAvIDMnO1xufVxuIiwiPCEtLSBDaXJjdWxhciBQcm9ncmVzcyBCYXIgLS0+XG48dWktYm94XG4gICpuZ0lmPVwic3R5bGUgPT09ICdjaXJjdWxhcidcIlxuICBib3hfc3BhY2U9XCJub25lXCJcbiAgY2xhc3M9XCJidy1jaWNsZS1wcm9ncmVzcy1iYXJcIlxuICBbc3R5bGUuLS1idy1jaWNsZS1wcm9ncmVzcy1iYXItcHJvZ3Jlc3Mtc2l6ZV09XCJwZXJjZW50YWdlXCJcbiAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICBhcmlhLXZhbHVlbWF4PVwiMTAwXCJcbiAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJwZXJjZW50YWdlXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0XCJcbj5cbiAgPHN2Zz5cbiAgICA8Y2lyY2xlIGNsYXNzPVwiZnVsbC1iYXJcIiAvPlxuICAgIDxjaXJjbGUgY2xhc3M9XCJwcm9ncmVzcy1iYXJcIiAvPlxuICA8L3N2Zz5cbiAgPGRpdiBjbGFzcz1cImJ3LWNpY2xlLXByb2dyZXNzLWJhcl9fY29udGVudCB0ZXh0LWJvZHktLW1pY3JvXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJidy1jaWNsZS1wcm9ncmVzcy1iYXJfX2NvbnRlbnQtdGV4dFwiPnt7IHRleHQgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC91aS1ib3g+XG5cbjwhLS0gTGluZSBQcm9ncmVzcyBCYXIgLS0+XG48dWktYm94XG4gICpuZ0lmPVwic3R5bGUgPT09ICdsaW5lJ1wiXG4gIGJveF9zcGFjZT1cIm5vbmVcIlxuICBib3hfZml0X21vZGU9XCJmaXRcIlxuICBjbGFzcz1cImJ3LWxpbmUtcHJvZ3Jlc3MtYmFyXCJcbiAgW3N0eWxlLi0tYnctbGluZS1wcm9ncmVzcy1iYXItcHJvZ3Jlc3Mtc2l6ZV09XCJwZXJjZW50YWdlXCJcbiAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICBhcmlhLXZhbHVlbWF4PVwiMTAwXCJcbiAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJwZXJjZW50YWdlXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0XCJcbj5cbiAgPHN2Zz5cbiAgICA8cmVjdCBjbGFzcz1cImZ1bGwtYmFyXCIgLz5cbiAgICA8cmVjdCBjbGFzcz1cInByb2dyZXNzLWJhclwiIC8+XG4gIDwvc3ZnPlxuPC91aS1ib3g+XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './promo-card.component';
2
- export * from './promo-card.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Byb21vLWNhcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm9tby1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb21vLWNhcmQubW9kdWxlJztcbiJdfQ==
@@ -1,87 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { TokenService } from '../../services/token.service';
3
- import { LayoutBoxComponent } from '../layout/box/box.component';
4
- import { NgStyle, NgClass } from '@angular/common';
5
- import { LayoutStackComponent } from '../layout/stack/stack.component';
6
- import { ImageComponent } from '../image/image.component';
7
- import { OasysHrefDirective } from '../../directives/href/href.directive';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../services/token.service";
10
- const PROMO_CARD_LAYOUTS = {
11
- default: {
12
- headingType: 'secondary',
13
- bodyType: 'body-default',
14
- spacing: 'default',
15
- },
16
- compact: {
17
- headingType: 'body-expressive',
18
- bodyType: 'body-supporting',
19
- spacing: 'near',
20
- },
21
- };
22
- export class PromoCardComponent {
23
- tokenService;
24
- // Image
25
- image;
26
- alt_text;
27
- // Content
28
- title;
29
- subtitle;
30
- // CTAs
31
- primary_cta_text;
32
- href_primary_cta = '';
33
- // Style
34
- background_colour;
35
- font_colour;
36
- // Layout
37
- layout = 'default';
38
- cta_clicked = new EventEmitter();
39
- aspectRatio;
40
- alignment;
41
- layoutConfig = PROMO_CARD_LAYOUTS['default'];
42
- constructor(tokenService) {
43
- this.tokenService = tokenService;
44
- }
45
- ngOnInit() {
46
- this.layoutConfig = PROMO_CARD_LAYOUTS[this.layout] ?? PROMO_CARD_LAYOUTS['default'];
47
- this.aspectRatio = this.tokenService.getTokenValue('--oasys-component-promo-card-image-aspect-ratio');
48
- this.alignment = this.tokenService.getTokenValue('--oasys-component-promo-card-heading-alignment');
49
- }
50
- ctaClicked() {
51
- this.cta_clicked.emit();
52
- }
53
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromoCardComponent, deps: [{ token: i1.TokenService }], target: i0.ɵɵFactoryTarget.Component });
54
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PromoCardComponent, isStandalone: true, selector: "ui-promo-card", inputs: { image: "image", alt_text: "alt_text", title: "title", subtitle: "subtitle", primary_cta_text: "primary_cta_text", href_primary_cta: "href_primary_cta", background_colour: "background_colour", font_colour: "font_colour", layout: "layout" }, outputs: { cta_clicked: "cta_clicked" }, providers: [TokenService], ngImport: i0, template: "<ui-box box_space=\"none\" [ngStyle]=\"{ 'background-color': background_colour, color: font_colour }\">\n <ui-stack [stack_gap]=\"layoutConfig.spacing\" stack_align=\"center\">\n <ui-box box_space=\"none\">\n <ui-image\n [image_fill]=\"true\"\n [image_src]=\"image\"\n [image_alt_text]=\"alt_text\"\n [preload_aspect_ratio]=\"aspectRatio\"\n ></ui-image>\n </ui-box>\n <ui-box\n [box_align_y]=\"alignment\"\n box_space_top=\"none\"\n [box_space]=\"layoutConfig.spacing\"\n [ngStyle]=\"{ 'background-color': background_colour }\"\n >\n <ui-stack stack_gap=\"near\" stack_distribute=\"center\" [stack_align]=\"alignment\">\n <h3\n [ngClass]=\"{\n 'text-heading--body--expressive': layoutConfig.headingType === 'body-expressive',\n 'text-heading--secondary': layoutConfig.headingType === 'secondary',\n }\"\n role=\"heading\"\n class=\"seo-h2\"\n >\n <span class=\"heading-title text-heading\">{{ title }}</span>\n </h3>\n <p\n [ngClass]=\"{\n 'text-body--default': layoutConfig.bodyType === 'body-default',\n 'text-body--supporting': layoutConfig.bodyType === 'body-supporting',\n }\"\n >\n {{ subtitle }}\n </p>\n <a\n class=\"text-link text-link--standalone\"\n bwtrackas=\"component.modular-content-card.cta\"\n href=\"{{ href_primary_cta }}\"\n (click)=\"ctaClicked()\"\n >{{ primary_cta_text }}</a\n >\n </ui-stack>\n </ui-box>\n </ui-stack>\n</ui-box>\n", styles: ["ui-image img{object-fit:cover}p,h3{text-align:var(--oasys-component-promo-card-heading-alignment)}\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: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: LayoutStackComponent, selector: "ui-stack", inputs: ["stack_gap", "stack_align", "stack_direction", "stack_distribute", "stack_wrap", "stack_collapse_below"] }, { kind: "component", type: ImageComponent, selector: "ui-image", inputs: ["image_src", "image_alt_text", "image_aria_describedby", "image_fill", "fetchpriority", "loading", "preload_aspect_ratio", "image_width"], outputs: ["image_loaded"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: OasysHrefDirective, selector: "a, uiHref, [uiHref]" }] });
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromoCardComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'ui-promo-card', standalone: true, imports: [
59
- LayoutBoxComponent,
60
- NgStyle,
61
- LayoutStackComponent,
62
- ImageComponent,
63
- NgClass,
64
- OasysHrefDirective,
65
- ], providers: [TokenService], template: "<ui-box box_space=\"none\" [ngStyle]=\"{ 'background-color': background_colour, color: font_colour }\">\n <ui-stack [stack_gap]=\"layoutConfig.spacing\" stack_align=\"center\">\n <ui-box box_space=\"none\">\n <ui-image\n [image_fill]=\"true\"\n [image_src]=\"image\"\n [image_alt_text]=\"alt_text\"\n [preload_aspect_ratio]=\"aspectRatio\"\n ></ui-image>\n </ui-box>\n <ui-box\n [box_align_y]=\"alignment\"\n box_space_top=\"none\"\n [box_space]=\"layoutConfig.spacing\"\n [ngStyle]=\"{ 'background-color': background_colour }\"\n >\n <ui-stack stack_gap=\"near\" stack_distribute=\"center\" [stack_align]=\"alignment\">\n <h3\n [ngClass]=\"{\n 'text-heading--body--expressive': layoutConfig.headingType === 'body-expressive',\n 'text-heading--secondary': layoutConfig.headingType === 'secondary',\n }\"\n role=\"heading\"\n class=\"seo-h2\"\n >\n <span class=\"heading-title text-heading\">{{ title }}</span>\n </h3>\n <p\n [ngClass]=\"{\n 'text-body--default': layoutConfig.bodyType === 'body-default',\n 'text-body--supporting': layoutConfig.bodyType === 'body-supporting',\n }\"\n >\n {{ subtitle }}\n </p>\n <a\n class=\"text-link text-link--standalone\"\n bwtrackas=\"component.modular-content-card.cta\"\n href=\"{{ href_primary_cta }}\"\n (click)=\"ctaClicked()\"\n >{{ primary_cta_text }}</a\n >\n </ui-stack>\n </ui-box>\n </ui-stack>\n</ui-box>\n", styles: ["ui-image img{object-fit:cover}p,h3{text-align:var(--oasys-component-promo-card-heading-alignment)}\n"] }]
66
- }], ctorParameters: () => [{ type: i1.TokenService }], propDecorators: { image: [{
67
- type: Input
68
- }], alt_text: [{
69
- type: Input
70
- }], title: [{
71
- type: Input
72
- }], subtitle: [{
73
- type: Input
74
- }], primary_cta_text: [{
75
- type: Input
76
- }], href_primary_cta: [{
77
- type: Input
78
- }], background_colour: [{
79
- type: Input
80
- }], font_colour: [{
81
- type: Input
82
- }], layout: [{
83
- type: Input
84
- }], cta_clicked: [{
85
- type: Output
86
- }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW8tY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Byb21vLWNhcmQvcHJvbW8tY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Byb21vLWNhcmQvcHJvbW8tY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBSTFFLE1BQU0sa0JBQWtCLEdBT3BCO0lBQ0YsT0FBTyxFQUFFO1FBQ1AsV0FBVyxFQUFFLFdBQVc7UUFDeEIsUUFBUSxFQUFFLGNBQWM7UUFDeEIsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxPQUFPLEVBQUU7UUFDUCxXQUFXLEVBQUUsaUJBQWlCO1FBQzlCLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsT0FBTyxFQUFFLE1BQU07S0FDaEI7Q0FDRixDQUFDO0FBaUJGLE1BQU0sT0FBTyxrQkFBa0I7SUEwQlQ7SUF6QnBCLFFBQVE7SUFDQyxLQUFLLENBQVM7SUFDZCxRQUFRLENBQVM7SUFFMUIsVUFBVTtJQUNELEtBQUssQ0FBUztJQUNkLFFBQVEsQ0FBUztJQUUxQixPQUFPO0lBQ0UsZ0JBQWdCLENBQVM7SUFDekIsZ0JBQWdCLEdBQVcsRUFBRSxDQUFDO0lBRXZDLFFBQVE7SUFDQyxpQkFBaUIsQ0FBUztJQUMxQixXQUFXLENBQVM7SUFFN0IsU0FBUztJQUNBLE1BQU0sR0FBb0IsU0FBUyxDQUFDO0lBRW5DLFdBQVcsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUvRCxXQUFXLENBQW1CO0lBQzlCLFNBQVMsQ0FBa0I7SUFDM0IsWUFBWSxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTdDLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUVsRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FDaEQsaURBQWlELENBQzlCLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FDOUMsZ0RBQWdELENBQzlCLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBeENVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLCtWQUZsQixDQUFDLFlBQVksQ0FBQywwQkM3QzNCLDZuREE4Q0EsOEpEUkksa0JBQWtCLGdVQUNsQixPQUFPLDJFQUNQLG9CQUFvQix3S0FDcEIsY0FBYyxvT0FDZCxPQUFPLG9GQUNQLGtCQUFrQjs7NEZBSVQsa0JBQWtCO2tCQWY5QixTQUFTOytCQUNFLGVBQWUsY0FHYixJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixPQUFPO3dCQUNQLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxPQUFPO3dCQUNQLGtCQUFrQjtxQkFDbkIsYUFDVSxDQUFDLFlBQVksQ0FBQztpRkFJaEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF5b3V0QWxpZ25tZW50LCBMYXlvdXRHYXBTaXplcyB9IGZyb20gJy4uL2xheW91dCc7XG5pbXBvcnQgeyBJbWFnZUFzcGVjdFJhdGlvIH0gZnJvbSAnLi4vaW1hZ2UvaW1hZ2UnO1xuaW1wb3J0IHsgTGF5b3V0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L2JveC9ib3guY29tcG9uZW50JztcbmltcG9ydCB7IE5nU3R5bGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTGF5b3V0U3RhY2tDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQvc3RhY2svc3RhY2suY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IE9hc3lzSHJlZkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvaHJlZi9ocmVmLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIFByb21vQ2FyZExheW91dCA9ICdkZWZhdWx0JyB8ICdjb21wYWN0JztcblxuY29uc3QgUFJPTU9fQ0FSRF9MQVlPVVRTOiBSZWNvcmQ8XG4gIFByb21vQ2FyZExheW91dCxcbiAge1xuICAgIGhlYWRpbmdUeXBlOiBzdHJpbmc7XG4gICAgYm9keVR5cGU6IHN0cmluZztcbiAgICBzcGFjaW5nOiBMYXlvdXRHYXBTaXplcztcbiAgfVxuPiA9IHtcbiAgZGVmYXVsdDoge1xuICAgIGhlYWRpbmdUeXBlOiAnc2Vjb25kYXJ5JyxcbiAgICBib2R5VHlwZTogJ2JvZHktZGVmYXVsdCcsXG4gICAgc3BhY2luZzogJ2RlZmF1bHQnLFxuICB9LFxuICBjb21wYWN0OiB7XG4gICAgaGVhZGluZ1R5cGU6ICdib2R5LWV4cHJlc3NpdmUnLFxuICAgIGJvZHlUeXBlOiAnYm9keS1zdXBwb3J0aW5nJyxcbiAgICBzcGFjaW5nOiAnbmVhcicsXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1wcm9tby1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb21vLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9tby1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBMYXlvdXRCb3hDb21wb25lbnQsXG4gICAgTmdTdHlsZSxcbiAgICBMYXlvdXRTdGFja0NvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBOZ0NsYXNzLFxuICAgIE9hc3lzSHJlZkRpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbVG9rZW5TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvbW9DYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gSW1hZ2VcbiAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcbiAgQElucHV0KCkgYWx0X3RleHQ6IHN0cmluZztcblxuICAvLyBDb250ZW50XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XG5cbiAgLy8gQ1RBc1xuICBASW5wdXQoKSBwcmltYXJ5X2N0YV90ZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhyZWZfcHJpbWFyeV9jdGE6IHN0cmluZyA9ICcnO1xuXG4gIC8vIFN0eWxlXG4gIEBJbnB1dCgpIGJhY2tncm91bmRfY29sb3VyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZvbnRfY29sb3VyOiBzdHJpbmc7XG5cbiAgLy8gTGF5b3V0XG4gIEBJbnB1dCgpIGxheW91dDogUHJvbW9DYXJkTGF5b3V0ID0gJ2RlZmF1bHQnO1xuXG4gIEBPdXRwdXQoKSBjdGFfY2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGFzcGVjdFJhdGlvOiBJbWFnZUFzcGVjdFJhdGlvO1xuICBhbGlnbm1lbnQ6IExheW91dEFsaWdubWVudDtcbiAgbGF5b3V0Q29uZmlnID0gUFJPTU9fQ0FSRF9MQVlPVVRTWydkZWZhdWx0J107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxheW91dENvbmZpZyA9IFBST01PX0NBUkRfTEFZT1VUU1t0aGlzLmxheW91dF0gPz8gUFJPTU9fQ0FSRF9MQVlPVVRTWydkZWZhdWx0J107XG4gICAgdGhpcy5hc3BlY3RSYXRpbyA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldFRva2VuVmFsdWUoXG4gICAgICAnLS1vYXN5cy1jb21wb25lbnQtcHJvbW8tY2FyZC1pbWFnZS1hc3BlY3QtcmF0aW8nLFxuICAgICkgYXMgSW1hZ2VBc3BlY3RSYXRpbztcbiAgICB0aGlzLmFsaWdubWVudCA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldFRva2VuVmFsdWUoXG4gICAgICAnLS1vYXN5cy1jb21wb25lbnQtcHJvbW8tY2FyZC1oZWFkaW5nLWFsaWdubWVudCcsXG4gICAgKSBhcyBMYXlvdXRBbGlnbm1lbnQ7XG4gIH1cblxuICBjdGFDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY3RhX2NsaWNrZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8dWktYm94IGJveF9zcGFjZT1cIm5vbmVcIiBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogYmFja2dyb3VuZF9jb2xvdXIsIGNvbG9yOiBmb250X2NvbG91ciB9XCI+XG4gIDx1aS1zdGFjayBbc3RhY2tfZ2FwXT1cImxheW91dENvbmZpZy5zcGFjaW5nXCIgc3RhY2tfYWxpZ249XCJjZW50ZXJcIj5cbiAgICA8dWktYm94IGJveF9zcGFjZT1cIm5vbmVcIj5cbiAgICAgIDx1aS1pbWFnZVxuICAgICAgICBbaW1hZ2VfZmlsbF09XCJ0cnVlXCJcbiAgICAgICAgW2ltYWdlX3NyY109XCJpbWFnZVwiXG4gICAgICAgIFtpbWFnZV9hbHRfdGV4dF09XCJhbHRfdGV4dFwiXG4gICAgICAgIFtwcmVsb2FkX2FzcGVjdF9yYXRpb109XCJhc3BlY3RSYXRpb1wiXG4gICAgICA+PC91aS1pbWFnZT5cbiAgICA8L3VpLWJveD5cbiAgICA8dWktYm94XG4gICAgICBbYm94X2FsaWduX3ldPVwiYWxpZ25tZW50XCJcbiAgICAgIGJveF9zcGFjZV90b3A9XCJub25lXCJcbiAgICAgIFtib3hfc3BhY2VdPVwibGF5b3V0Q29uZmlnLnNwYWNpbmdcIlxuICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IGJhY2tncm91bmRfY29sb3VyIH1cIlxuICAgID5cbiAgICAgIDx1aS1zdGFjayBzdGFja19nYXA9XCJuZWFyXCIgc3RhY2tfZGlzdHJpYnV0ZT1cImNlbnRlclwiIFtzdGFja19hbGlnbl09XCJhbGlnbm1lbnRcIj5cbiAgICAgICAgPGgzXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3RleHQtaGVhZGluZy0tYm9keS0tZXhwcmVzc2l2ZSc6IGxheW91dENvbmZpZy5oZWFkaW5nVHlwZSA9PT0gJ2JvZHktZXhwcmVzc2l2ZScsXG4gICAgICAgICAgICAndGV4dC1oZWFkaW5nLS1zZWNvbmRhcnknOiBsYXlvdXRDb25maWcuaGVhZGluZ1R5cGUgPT09ICdzZWNvbmRhcnknLFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgICAgICBjbGFzcz1cInNlby1oMlwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmctdGl0bGUgdGV4dC1oZWFkaW5nXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxwXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3RleHQtYm9keS0tZGVmYXVsdCc6IGxheW91dENvbmZpZy5ib2R5VHlwZSA9PT0gJ2JvZHktZGVmYXVsdCcsXG4gICAgICAgICAgICAndGV4dC1ib2R5LS1zdXBwb3J0aW5nJzogbGF5b3V0Q29uZmlnLmJvZHlUeXBlID09PSAnYm9keS1zdXBwb3J0aW5nJyxcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHN1YnRpdGxlIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cInRleHQtbGluayB0ZXh0LWxpbmstLXN0YW5kYWxvbmVcIlxuICAgICAgICAgIGJ3dHJhY2thcz1cImNvbXBvbmVudC5tb2R1bGFyLWNvbnRlbnQtY2FyZC5jdGFcIlxuICAgICAgICAgIGhyZWY9XCJ7eyBocmVmX3ByaW1hcnlfY3RhIH19XCJcbiAgICAgICAgICAoY2xpY2spPVwiY3RhQ2xpY2tlZCgpXCJcbiAgICAgICAgICA+e3sgcHJpbWFyeV9jdGFfdGV4dCB9fTwvYVxuICAgICAgICA+XG4gICAgICA8L3VpLXN0YWNrPlxuICAgIDwvdWktYm94PlxuICA8L3VpLXN0YWNrPlxuPC91aS1ib3g+XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { PromoCardComponent } from './promo-card.component';
3
- import * as i0 from "@angular/core";
4
- export class OasysPromoCardModule {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysPromoCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OasysPromoCardModule, imports: [PromoCardComponent], exports: [PromoCardComponent] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysPromoCardModule });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OasysPromoCardModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [PromoCardComponent],
13
- exports: [PromoCardComponent],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW8tY2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Byb21vLWNhcmQvcHJvbW8tY2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLG9CQUFvQjt3R0FBcEIsb0JBQW9CO3lHQUFwQixvQkFBb0IsWUFIckIsa0JBQWtCLGFBQ2xCLGtCQUFrQjt5R0FFakIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvbW9DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9tby1jYXJkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtQcm9tb0NhcmRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbUHJvbW9DYXJkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgT2FzeXNQcm9tb0NhcmRNb2R1bGUge31cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './section.component';
2
- export * from './section.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlY3Rpb24ubW9kdWxlJztcbiJdfQ==
@@ -1,119 +0,0 @@
1
- import { Component, Input } 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 { LayoutGridColumnComponent } from '../layout/grid/grid-column.component';
6
- import { NgClass, NgIf } from '@angular/common';
7
- import { ImageComponent } from '../image/image.component';
8
- import { LayoutStackComponent } from '../layout/stack/stack.component';
9
- import { OasysHeadingComponent } from '../heading/heading.component';
10
- import { OasysHrefDirective } from '../../directives/href/href.directive';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../../services/token.service";
13
- export class SectionComponent {
14
- tokenService;
15
- // Style input variables
16
- brand_background_colour;
17
- non_brand_background_colour;
18
- text_on_dark_override = false; // This is for custom/non-brand BG colours
19
- image_on_left = false;
20
- section_type = 'inform';
21
- // Content input variables
22
- heading_title;
23
- heading_subtitle;
24
- primary_cta_text;
25
- secondary_cta_text;
26
- image;
27
- alt_text;
28
- // Event input variables
29
- href_primary_cta = '';
30
- href_secondary_cta = '';
31
- backgroundIsDark;
32
- isSpotLight;
33
- uiBoxId; // To randomise the box id
34
- outterContainer = {};
35
- innerContainer = {};
36
- containerInsetSpaceSmall;
37
- containerInsetSpaceLarge;
38
- contentInsetSpaceSmall;
39
- contentInsetSpaceLarge;
40
- imageAspectRatio;
41
- constructor(tokenService) {
42
- this.tokenService = tokenService;
43
- }
44
- ngAfterViewInit() {
45
- if (this.non_brand_background_colour) {
46
- this.setNonBrandBackgroundColour();
47
- }
48
- // This doesn't appear to be used anywhere
49
- this.backgroundIsDark = this.tokenService.getTokenValue(`--oasys-component-box-on-dark-${this.brand_background_colour}`);
50
- }
51
- ngOnInit() {
52
- this.containerInsetSpaceSmall = this.tokenService.getTokenValue(`--oasys-component-section-inset-spacing-container-small`);
53
- this.containerInsetSpaceLarge = this.tokenService.getTokenValue(`--oasys-component-section-inset-spacing-container-large`);
54
- this.contentInsetSpaceSmall = this.tokenService.getTokenValue(`--oasys-component-section-inset-spacing-content-small-${this.section_type}`);
55
- this.contentInsetSpaceLarge = this.tokenService.getTokenValue(`--oasys-component-section-inset-spacing-content-large-${this.section_type}`);
56
- this.imageAspectRatio = this.tokenService.getTokenValue(`--oasys-component-section-image-aspect-ratio-${this.section_type}`);
57
- // Setting a unique ID, this is important & needed to apply
58
- // styles to ui-box
59
- this.uiBoxId = Date.now() + '-' + Math.random();
60
- }
61
- /**
62
- * Users are able to set custom non brand background colours
63
- * If a non brand background colour is provided we ignore branded colours
64
- * even if they are provided.
65
- */
66
- setNonBrandBackgroundColour() {
67
- const box = document.getElementById(`ui-box-${this.uiBoxId}`);
68
- if (box) {
69
- this.brand_background_colour = undefined;
70
- box.style.background = this.non_brand_background_colour;
71
- if (this.text_on_dark_override) {
72
- box.classList.add('text-color--on-dark');
73
- }
74
- }
75
- }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionComponent, deps: [{ token: i1.TokenService }], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SectionComponent, isStandalone: true, selector: "ui-section", inputs: { brand_background_colour: "brand_background_colour", non_brand_background_colour: "non_brand_background_colour", text_on_dark_override: "text_on_dark_override", image_on_left: "image_on_left", section_type: "section_type", heading_title: "heading_title", heading_subtitle: "heading_subtitle", primary_cta_text: "primary_cta_text", secondary_cta_text: "secondary_cta_text", image: "image", alt_text: "alt_text", href_primary_cta: "href_primary_cta", href_secondary_cta: "href_secondary_cta" }, providers: [TokenService], ngImport: i0, template: "<ui-box\n id=\"ui-box-{{ uiBoxId }}\"\n [box_background]=\"brand_background_colour\"\n [box_space_left]=\"section_type === 'spotlight' && !image_on_left ? 'none' : undefined\"\n [box_space_right]=\"section_type === 'spotlight' && image_on_left ? 'none' : undefined\"\n [box_space]=\"\n section_type === 'spotlight'\n ? 'none'\n : {\n mobile: containerInsetSpaceSmall,\n tablet: containerInsetSpaceLarge,\n laptop: containerInsetSpaceLarge,\n desktop: containerInsetSpaceLarge,\n }\n \"\n>\n <ui-grid [grid_gap]=\"section_type === 'spotlight' ? 'none' : 'default'\">\n <ui-column\n [columns]=\"6\"\n [ngClass]=\"{ 'image-left': image_on_left, 'image-top-mobile': image_on_left }\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\" box_align_y=\"center\">\n <ui-image\n [image_src]=\"image\"\n [image_alt_text]=\"alt_text\"\n [preload_aspect_ratio]=\"imageAspectRatio\"\n ></ui-image>\n </ui-box>\n </ui-column>\n\n <ui-column [columns]=\"6\">\n <ui-box\n [box_background]=\"brand_background_colour\"\n box_align_y=\"center\"\n [box_space]=\"\n section_type === 'spotlight'\n ? {\n mobile: contentInsetSpaceSmall,\n tablet: contentInsetSpaceLarge,\n laptop: contentInsetSpaceLarge,\n desktop: contentInsetSpaceLarge,\n }\n : {\n mobile: contentInsetSpaceSmall,\n tablet: contentInsetSpaceSmall,\n laptop: contentInsetSpaceLarge,\n desktop: contentInsetSpaceLarge,\n }\n \"\n >\n <ui-stack\n stack_direction=\"y\"\n stack_align=\"center\"\n stack_distribute=\"center\"\n [stack_wrap]=\"true\"\n >\n <ui-heading\n [heading_type]=\"section_type === 'spotlight' ? 'primary' : 'functional-primary'\"\n [heading_title]=\"heading_title\"\n [heading_subtitle]=\"heading_subtitle\"\n >\n </ui-heading>\n\n <ui-stack\n stack_direction=\"x\"\n stack_align=\"start\"\n [stack_distribute]=\"section_type === 'spotlight' ? 'center' : 'start'\"\n [stack_wrap]=\"true\"\n stack_gap=\"near\"\n >\n <a\n class=\"text-link text-link--standalone\"\n [href]=\"href_primary_cta\"\n bwtrackas=\"oasys.story-block.primary-cta\"\n >{{ primary_cta_text }}</a\n >\n <a\n *ngIf=\"section_type !== 'spotlight'\"\n class=\"text-link text-link--standalone\"\n [href]=\"href_secondary_cta\"\n bwtrackas=\"oasys.story-block.secondary-cta\"\n >{{ secondary_cta_text }}</a\n >\n </ui-stack>\n </ui-stack>\n </ui-box>\n </ui-column>\n </ui-grid>\n</ui-box>\n", styles: ["ui-grid ui-column img{width:100%;display:block}ui-grid .image-left{order:1}@media only screen and (max-width: 767px){ui-grid .image-top-mobile{order:0}}\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: "component", type: LayoutGridColumnComponent, selector: "ui-column", inputs: ["columns", "column_inset"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ImageComponent, selector: "ui-image", inputs: ["image_src", "image_alt_text", "image_aria_describedby", "image_fill", "fetchpriority", "loading", "preload_aspect_ratio", "image_width"], outputs: ["image_loaded"] }, { 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: OasysHrefDirective, selector: "a, uiHref, [uiHref]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
78
- }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionComponent, decorators: [{
80
- type: Component,
81
- args: [{ selector: 'ui-section', standalone: true, imports: [
82
- LayoutBoxComponent,
83
- LayoutGridComponent,
84
- LayoutGridColumnComponent,
85
- NgClass,
86
- ImageComponent,
87
- LayoutStackComponent,
88
- OasysHeadingComponent,
89
- OasysHrefDirective,
90
- NgIf,
91
- ], providers: [TokenService], template: "<ui-box\n id=\"ui-box-{{ uiBoxId }}\"\n [box_background]=\"brand_background_colour\"\n [box_space_left]=\"section_type === 'spotlight' && !image_on_left ? 'none' : undefined\"\n [box_space_right]=\"section_type === 'spotlight' && image_on_left ? 'none' : undefined\"\n [box_space]=\"\n section_type === 'spotlight'\n ? 'none'\n : {\n mobile: containerInsetSpaceSmall,\n tablet: containerInsetSpaceLarge,\n laptop: containerInsetSpaceLarge,\n desktop: containerInsetSpaceLarge,\n }\n \"\n>\n <ui-grid [grid_gap]=\"section_type === 'spotlight' ? 'none' : 'default'\">\n <ui-column\n [columns]=\"6\"\n [ngClass]=\"{ 'image-left': image_on_left, 'image-top-mobile': image_on_left }\"\n >\n <ui-box box_space=\"none\" box_background=\"transparent\" box_align_y=\"center\">\n <ui-image\n [image_src]=\"image\"\n [image_alt_text]=\"alt_text\"\n [preload_aspect_ratio]=\"imageAspectRatio\"\n ></ui-image>\n </ui-box>\n </ui-column>\n\n <ui-column [columns]=\"6\">\n <ui-box\n [box_background]=\"brand_background_colour\"\n box_align_y=\"center\"\n [box_space]=\"\n section_type === 'spotlight'\n ? {\n mobile: contentInsetSpaceSmall,\n tablet: contentInsetSpaceLarge,\n laptop: contentInsetSpaceLarge,\n desktop: contentInsetSpaceLarge,\n }\n : {\n mobile: contentInsetSpaceSmall,\n tablet: contentInsetSpaceSmall,\n laptop: contentInsetSpaceLarge,\n desktop: contentInsetSpaceLarge,\n }\n \"\n >\n <ui-stack\n stack_direction=\"y\"\n stack_align=\"center\"\n stack_distribute=\"center\"\n [stack_wrap]=\"true\"\n >\n <ui-heading\n [heading_type]=\"section_type === 'spotlight' ? 'primary' : 'functional-primary'\"\n [heading_title]=\"heading_title\"\n [heading_subtitle]=\"heading_subtitle\"\n >\n </ui-heading>\n\n <ui-stack\n stack_direction=\"x\"\n stack_align=\"start\"\n [stack_distribute]=\"section_type === 'spotlight' ? 'center' : 'start'\"\n [stack_wrap]=\"true\"\n stack_gap=\"near\"\n >\n <a\n class=\"text-link text-link--standalone\"\n [href]=\"href_primary_cta\"\n bwtrackas=\"oasys.story-block.primary-cta\"\n >{{ primary_cta_text }}</a\n >\n <a\n *ngIf=\"section_type !== 'spotlight'\"\n class=\"text-link text-link--standalone\"\n [href]=\"href_secondary_cta\"\n bwtrackas=\"oasys.story-block.secondary-cta\"\n >{{ secondary_cta_text }}</a\n >\n </ui-stack>\n </ui-stack>\n </ui-box>\n </ui-column>\n </ui-grid>\n</ui-box>\n", styles: ["ui-grid ui-column img{width:100%;display:block}ui-grid .image-left{order:1}@media only screen and (max-width: 767px){ui-grid .image-top-mobile{order:0}}\n"] }]
92
- }], ctorParameters: () => [{ type: i1.TokenService }], propDecorators: { brand_background_colour: [{
93
- type: Input
94
- }], non_brand_background_colour: [{
95
- type: Input
96
- }], text_on_dark_override: [{
97
- type: Input
98
- }], image_on_left: [{
99
- type: Input
100
- }], section_type: [{
101
- type: Input
102
- }], heading_title: [{
103
- type: Input
104
- }], heading_subtitle: [{
105
- type: Input
106
- }], primary_cta_text: [{
107
- type: Input
108
- }], secondary_cta_text: [{
109
- type: Input
110
- }], image: [{
111
- type: Input
112
- }], alt_text: [{
113
- type: Input
114
- }], href_primary_cta: [{
115
- type: Input
116
- }], href_secondary_cta: [{
117
- type: Input
118
- }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24vc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24vc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFvQjFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFrQ1A7SUFqQ3BCLHdCQUF3QjtJQUNmLHVCQUF1QixDQUFvQjtJQUMzQywyQkFBMkIsQ0FBUztJQUNwQyxxQkFBcUIsR0FBWSxLQUFLLENBQUMsQ0FBQywwQ0FBMEM7SUFDbEYsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUMvQixZQUFZLEdBQTJCLFFBQVEsQ0FBQztJQUV6RCwwQkFBMEI7SUFDakIsYUFBYSxDQUFTO0lBQ3RCLGdCQUFnQixDQUFTO0lBQ3pCLGdCQUFnQixDQUFTO0lBQ3pCLGtCQUFrQixDQUFTO0lBQzNCLEtBQUssQ0FBUztJQUNkLFFBQVEsQ0FBUztJQUUxQix3QkFBd0I7SUFDZixnQkFBZ0IsR0FBVyxFQUFFLENBQUM7SUFDOUIsa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBRXpDLGdCQUFnQixDQUFTO0lBQ3pCLFdBQVcsQ0FBUztJQUNwQixPQUFPLENBQVMsQ0FBQywwQkFBMEI7SUFDM0MsZUFBZSxHQUFRLEVBQUUsQ0FBQztJQUMxQixjQUFjLEdBQVEsRUFBRSxDQUFDO0lBRXpCLHdCQUF3QixDQUFTO0lBQ2pDLHdCQUF3QixDQUFTO0lBRWpDLHNCQUFzQixDQUFTO0lBQy9CLHNCQUFzQixDQUFTO0lBRS9CLGdCQUFnQixDQUFtQjtJQUVuQyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbEQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDckMsQ0FBQztRQUVELDBDQUEwQztRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQ3JELGlDQUFpQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FDaEUsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUM3RCx5REFBeUQsQ0FDMUQsQ0FBQztRQUNGLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FDN0QseURBQXlELENBQzFELENBQUM7UUFFRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQzNELHlEQUF5RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQzdFLENBQUM7UUFDRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQzNELHlEQUF5RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQzdFLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQ3JELGdEQUFnRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQ2hELENBQUM7UUFFdEIsMkRBQTJEO1FBQzNELG1CQUFtQjtRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsMkJBQTJCO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUU5RCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQztZQUN6QyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUM7WUFFeEQsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDL0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7d0dBdkZVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLCtpQkFGaEIsQ0FBQyxZQUFZLENBQUMsMEJDN0IzQixnL0ZBeUZBLG9ORHRFSSxrQkFBa0IsZ1VBQ2xCLG1CQUFtQiwySEFDbkIseUJBQXlCLDJGQUN6QixPQUFPLG9GQUNQLGNBQWMsb09BQ2Qsb0JBQW9CLHdLQUNwQixxQkFBcUIsd1BBQ3JCLGtCQUFrQixnRUFDbEIsSUFBSTs7NEZBSUssZ0JBQWdCO2tCQWxCNUIsU0FBUzsrQkFDRSxZQUFZLGNBR1YsSUFBSSxXQUNQO3dCQUNQLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixJQUFJO3FCQUNMLGFBQ1UsQ0FBQyxZQUFZLENBQUM7aUZBSWhCLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF5b3V0QmFja2dyb3VuZHMgfSBmcm9tICcuLi9sYXlvdXQvTGF5b3V0JztcbmltcG9ydCB7IEltYWdlQXNwZWN0UmF0aW8gfSBmcm9tICcuLi9pbWFnZS9pbWFnZSc7XG5pbXBvcnQgeyBMYXlvdXRCb3hDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQvYm94L2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0R3JpZENvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dEdyaWRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQvZ3JpZC9ncmlkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRTdGFja0NvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9zdGFjay9zdGFjay5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2FzeXNIZWFkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vaGVhZGluZy9oZWFkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYXN5c0hyZWZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2hyZWYvaHJlZi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBMYXlvdXRCb3hDb21wb25lbnQsXG4gICAgTGF5b3V0R3JpZENvbXBvbmVudCxcbiAgICBMYXlvdXRHcmlkQ29sdW1uQ29tcG9uZW50LFxuICAgIE5nQ2xhc3MsXG4gICAgSW1hZ2VDb21wb25lbnQsXG4gICAgTGF5b3V0U3RhY2tDb21wb25lbnQsXG4gICAgT2FzeXNIZWFkaW5nQ29tcG9uZW50LFxuICAgIE9hc3lzSHJlZkRpcmVjdGl2ZSxcbiAgICBOZ0lmLFxuICBdLFxuICBwcm92aWRlcnM6IFtUb2tlblNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgLy8gU3R5bGUgaW5wdXQgdmFyaWFibGVzXG4gIEBJbnB1dCgpIGJyYW5kX2JhY2tncm91bmRfY29sb3VyOiBMYXlvdXRCYWNrZ3JvdW5kcztcbiAgQElucHV0KCkgbm9uX2JyYW5kX2JhY2tncm91bmRfY29sb3VyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRfb25fZGFya19vdmVycmlkZTogYm9vbGVhbiA9IGZhbHNlOyAvLyBUaGlzIGlzIGZvciBjdXN0b20vbm9uLWJyYW5kIEJHIGNvbG91cnNcbiAgQElucHV0KCkgaW1hZ2Vfb25fbGVmdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWN0aW9uX3R5cGU6ICdzcG90bGlnaHQnIHwgJ2luZm9ybScgPSAnaW5mb3JtJztcblxuICAvLyBDb250ZW50IGlucHV0IHZhcmlhYmxlc1xuICBASW5wdXQoKSBoZWFkaW5nX3RpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlYWRpbmdfc3VidGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHJpbWFyeV9jdGFfdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBzZWNvbmRhcnlfY3RhX3RleHQ6IHN0cmluZztcbiAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcbiAgQElucHV0KCkgYWx0X3RleHQ6IHN0cmluZztcblxuICAvLyBFdmVudCBpbnB1dCB2YXJpYWJsZXNcbiAgQElucHV0KCkgaHJlZl9wcmltYXJ5X2N0YTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGhyZWZfc2Vjb25kYXJ5X2N0YTogc3RyaW5nID0gJyc7XG5cbiAgYmFja2dyb3VuZElzRGFyazogc3RyaW5nO1xuICBpc1Nwb3RMaWdodDogc3RyaW5nO1xuICB1aUJveElkOiBzdHJpbmc7IC8vIFRvIHJhbmRvbWlzZSB0aGUgYm94IGlkXG4gIG91dHRlckNvbnRhaW5lcjogYW55ID0ge307XG4gIGlubmVyQ29udGFpbmVyOiBhbnkgPSB7fTtcblxuICBjb250YWluZXJJbnNldFNwYWNlU21hbGw6IHN0cmluZztcbiAgY29udGFpbmVySW5zZXRTcGFjZUxhcmdlOiBzdHJpbmc7XG5cbiAgY29udGVudEluc2V0U3BhY2VTbWFsbDogc3RyaW5nO1xuICBjb250ZW50SW5zZXRTcGFjZUxhcmdlOiBzdHJpbmc7XG5cbiAgaW1hZ2VBc3BlY3RSYXRpbzogSW1hZ2VBc3BlY3RSYXRpbztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRva2VuU2VydmljZTogVG9rZW5TZXJ2aWNlKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ub25fYnJhbmRfYmFja2dyb3VuZF9jb2xvdXIpIHtcbiAgICAgIHRoaXMuc2V0Tm9uQnJhbmRCYWNrZ3JvdW5kQ29sb3VyKCk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBkb2Vzbid0IGFwcGVhciB0byBiZSB1c2VkIGFueXdoZXJlXG4gICAgdGhpcy5iYWNrZ3JvdW5kSXNEYXJrID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0VG9rZW5WYWx1ZShcbiAgICAgIGAtLW9hc3lzLWNvbXBvbmVudC1ib3gtb24tZGFyay0ke3RoaXMuYnJhbmRfYmFja2dyb3VuZF9jb2xvdXJ9YCxcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXJJbnNldFNwYWNlU21hbGwgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKFxuICAgICAgYC0tb2FzeXMtY29tcG9uZW50LXNlY3Rpb24taW5zZXQtc3BhY2luZy1jb250YWluZXItc21hbGxgLFxuICAgICk7XG4gICAgdGhpcy5jb250YWluZXJJbnNldFNwYWNlTGFyZ2UgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKFxuICAgICAgYC0tb2FzeXMtY29tcG9uZW50LXNlY3Rpb24taW5zZXQtc3BhY2luZy1jb250YWluZXItbGFyZ2VgLFxuICAgICk7XG5cbiAgICB0aGlzLmNvbnRlbnRJbnNldFNwYWNlU21hbGwgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKFxuICAgICAgYC0tb2FzeXMtY29tcG9uZW50LXNlY3Rpb24taW5zZXQtc3BhY2luZy1jb250ZW50LXNtYWxsLSR7dGhpcy5zZWN0aW9uX3R5cGV9YCxcbiAgICApO1xuICAgIHRoaXMuY29udGVudEluc2V0U3BhY2VMYXJnZSA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldFRva2VuVmFsdWUoXG4gICAgICBgLS1vYXN5cy1jb21wb25lbnQtc2VjdGlvbi1pbnNldC1zcGFjaW5nLWNvbnRlbnQtbGFyZ2UtJHt0aGlzLnNlY3Rpb25fdHlwZX1gLFxuICAgICk7XG5cbiAgICB0aGlzLmltYWdlQXNwZWN0UmF0aW8gPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKFxuICAgICAgYC0tb2FzeXMtY29tcG9uZW50LXNlY3Rpb24taW1hZ2UtYXNwZWN0LXJhdGlvLSR7dGhpcy5zZWN0aW9uX3R5cGV9YCxcbiAgICApIGFzIEltYWdlQXNwZWN0UmF0aW87XG5cbiAgICAvLyBTZXR0aW5nIGEgdW5pcXVlIElELCB0aGlzIGlzIGltcG9ydGFudCAmIG5lZWRlZCB0byBhcHBseVxuICAgIC8vIHN0eWxlcyB0byB1aS1ib3hcbiAgICB0aGlzLnVpQm94SWQgPSBEYXRlLm5vdygpICsgJy0nICsgTWF0aC5yYW5kb20oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VycyBhcmUgYWJsZSB0byBzZXQgY3VzdG9tIG5vbiBicmFuZCBiYWNrZ3JvdW5kIGNvbG91cnNcbiAgICogSWYgYSBub24gYnJhbmQgYmFja2dyb3VuZCBjb2xvdXIgaXMgcHJvdmlkZWQgd2UgaWdub3JlIGJyYW5kZWQgY29sb3Vyc1xuICAgKiBldmVuIGlmIHRoZXkgYXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgc2V0Tm9uQnJhbmRCYWNrZ3JvdW5kQ29sb3VyKCk6IHZvaWQge1xuICAgIGNvbnN0IGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGB1aS1ib3gtJHt0aGlzLnVpQm94SWR9YCk7XG5cbiAgICBpZiAoYm94KSB7XG4gICAgICB0aGlzLmJyYW5kX2JhY2tncm91bmRfY29sb3VyID0gdW5kZWZpbmVkO1xuICAgICAgYm94LnN0eWxlLmJhY2tncm91bmQgPSB0aGlzLm5vbl9icmFuZF9iYWNrZ3JvdW5kX2NvbG91cjtcblxuICAgICAgaWYgKHRoaXMudGV4dF9vbl9kYXJrX292ZXJyaWRlKSB7XG4gICAgICAgIGJveC5jbGFzc0xpc3QuYWRkKCd0ZXh0LWNvbG9yLS1vbi1kYXJrJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8dWktYm94XG4gIGlkPVwidWktYm94LXt7IHVpQm94SWQgfX1cIlxuICBbYm94X2JhY2tncm91bmRdPVwiYnJhbmRfYmFja2dyb3VuZF9jb2xvdXJcIlxuICBbYm94X3NwYWNlX2xlZnRdPVwic2VjdGlvbl90eXBlID09PSAnc3BvdGxpZ2h0JyAmJiAhaW1hZ2Vfb25fbGVmdCA/ICdub25lJyA6IHVuZGVmaW5lZFwiXG4gIFtib3hfc3BhY2VfcmlnaHRdPVwic2VjdGlvbl90eXBlID09PSAnc3BvdGxpZ2h0JyAmJiBpbWFnZV9vbl9sZWZ0ID8gJ25vbmUnIDogdW5kZWZpbmVkXCJcbiAgW2JveF9zcGFjZV09XCJcbiAgICBzZWN0aW9uX3R5cGUgPT09ICdzcG90bGlnaHQnXG4gICAgICA/ICdub25lJ1xuICAgICAgOiB7XG4gICAgICAgICAgbW9iaWxlOiBjb250YWluZXJJbnNldFNwYWNlU21hbGwsXG4gICAgICAgICAgdGFibGV0OiBjb250YWluZXJJbnNldFNwYWNlTGFyZ2UsXG4gICAgICAgICAgbGFwdG9wOiBjb250YWluZXJJbnNldFNwYWNlTGFyZ2UsXG4gICAgICAgICAgZGVza3RvcDogY29udGFpbmVySW5zZXRTcGFjZUxhcmdlLFxuICAgICAgICB9XG4gIFwiXG4+XG4gIDx1aS1ncmlkIFtncmlkX2dhcF09XCJzZWN0aW9uX3R5cGUgPT09ICdzcG90bGlnaHQnID8gJ25vbmUnIDogJ2RlZmF1bHQnXCI+XG4gICAgPHVpLWNvbHVtblxuICAgICAgW2NvbHVtbnNdPVwiNlwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdpbWFnZS1sZWZ0JzogaW1hZ2Vfb25fbGVmdCwgJ2ltYWdlLXRvcC1tb2JpbGUnOiBpbWFnZV9vbl9sZWZ0IH1cIlxuICAgID5cbiAgICAgIDx1aS1ib3ggYm94X3NwYWNlPVwibm9uZVwiIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIiBib3hfYWxpZ25feT1cImNlbnRlclwiPlxuICAgICAgICA8dWktaW1hZ2VcbiAgICAgICAgICBbaW1hZ2Vfc3JjXT1cImltYWdlXCJcbiAgICAgICAgICBbaW1hZ2VfYWx0X3RleHRdPVwiYWx0X3RleHRcIlxuICAgICAgICAgIFtwcmVsb2FkX2FzcGVjdF9yYXRpb109XCJpbWFnZUFzcGVjdFJhdGlvXCJcbiAgICAgICAgPjwvdWktaW1hZ2U+XG4gICAgICA8L3VpLWJveD5cbiAgICA8L3VpLWNvbHVtbj5cblxuICAgIDx1aS1jb2x1bW4gW2NvbHVtbnNdPVwiNlwiPlxuICAgICAgPHVpLWJveFxuICAgICAgICBbYm94X2JhY2tncm91bmRdPVwiYnJhbmRfYmFja2dyb3VuZF9jb2xvdXJcIlxuICAgICAgICBib3hfYWxpZ25feT1cImNlbnRlclwiXG4gICAgICAgIFtib3hfc3BhY2VdPVwiXG4gICAgICAgICAgc2VjdGlvbl90eXBlID09PSAnc3BvdGxpZ2h0J1xuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgbW9iaWxlOiBjb250ZW50SW5zZXRTcGFjZVNtYWxsLFxuICAgICAgICAgICAgICAgIHRhYmxldDogY29udGVudEluc2V0U3BhY2VMYXJnZSxcbiAgICAgICAgICAgICAgICBsYXB0b3A6IGNvbnRlbnRJbnNldFNwYWNlTGFyZ2UsXG4gICAgICAgICAgICAgICAgZGVza3RvcDogY29udGVudEluc2V0U3BhY2VMYXJnZSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgbW9iaWxlOiBjb250ZW50SW5zZXRTcGFjZVNtYWxsLFxuICAgICAgICAgICAgICAgIHRhYmxldDogY29udGVudEluc2V0U3BhY2VTbWFsbCxcbiAgICAgICAgICAgICAgICBsYXB0b3A6IGNvbnRlbnRJbnNldFNwYWNlTGFyZ2UsXG4gICAgICAgICAgICAgICAgZGVza3RvcDogY29udGVudEluc2V0U3BhY2VMYXJnZSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8dWktc3RhY2tcbiAgICAgICAgICBzdGFja19kaXJlY3Rpb249XCJ5XCJcbiAgICAgICAgICBzdGFja19hbGlnbj1cImNlbnRlclwiXG4gICAgICAgICAgc3RhY2tfZGlzdHJpYnV0ZT1cImNlbnRlclwiXG4gICAgICAgICAgW3N0YWNrX3dyYXBdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWktaGVhZGluZ1xuICAgICAgICAgICAgW2hlYWRpbmdfdHlwZV09XCJzZWN0aW9uX3R5cGUgPT09ICdzcG90bGlnaHQnID8gJ3ByaW1hcnknIDogJ2Z1bmN0aW9uYWwtcHJpbWFyeSdcIlxuICAgICAgICAgICAgW2hlYWRpbmdfdGl0bGVdPVwiaGVhZGluZ190aXRsZVwiXG4gICAgICAgICAgICBbaGVhZGluZ19zdWJ0aXRsZV09XCJoZWFkaW5nX3N1YnRpdGxlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC91aS1oZWFkaW5nPlxuXG4gICAgICAgICAgPHVpLXN0YWNrXG4gICAgICAgICAgICBzdGFja19kaXJlY3Rpb249XCJ4XCJcbiAgICAgICAgICAgIHN0YWNrX2FsaWduPVwic3RhcnRcIlxuICAgICAgICAgICAgW3N0YWNrX2Rpc3RyaWJ1dGVdPVwic2VjdGlvbl90eXBlID09PSAnc3BvdGxpZ2h0JyA/ICdjZW50ZXInIDogJ3N0YXJ0J1wiXG4gICAgICAgICAgICBbc3RhY2tfd3JhcF09XCJ0cnVlXCJcbiAgICAgICAgICAgIHN0YWNrX2dhcD1cIm5lYXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1saW5rIHRleHQtbGluay0tc3RhbmRhbG9uZVwiXG4gICAgICAgICAgICAgIFtocmVmXT1cImhyZWZfcHJpbWFyeV9jdGFcIlxuICAgICAgICAgICAgICBid3RyYWNrYXM9XCJvYXN5cy5zdG9yeS1ibG9jay5wcmltYXJ5LWN0YVwiXG4gICAgICAgICAgICAgID57eyBwcmltYXJ5X2N0YV90ZXh0IH19PC9hXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAqbmdJZj1cInNlY3Rpb25fdHlwZSAhPT0gJ3Nwb3RsaWdodCdcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRleHQtbGluayB0ZXh0LWxpbmstLXN0YW5kYWxvbmVcIlxuICAgICAgICAgICAgICBbaHJlZl09XCJocmVmX3NlY29uZGFyeV9jdGFcIlxuICAgICAgICAgICAgICBid3RyYWNrYXM9XCJvYXN5cy5zdG9yeS1ibG9jay5zZWNvbmRhcnktY3RhXCJcbiAgICAgICAgICAgICAgPnt7IHNlY29uZGFyeV9jdGFfdGV4dCB9fTwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvdWktc3RhY2s+XG4gICAgICAgIDwvdWktc3RhY2s+XG4gICAgICA8L3VpLWJveD5cbiAgICA8L3VpLWNvbHVtbj5cbiAgPC91aS1ncmlkPlxuPC91aS1ib3g+XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { SectionComponent } from './section.component';
3
- import * as i0 from "@angular/core";
4
- export class SectionModule {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SectionModule, imports: [SectionComponent], exports: [SectionComponent] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionModule });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [SectionComponent],
13
- exports: [SectionComponent],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24vc2VjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLGFBQWE7d0dBQWIsYUFBYTt5R0FBYixhQUFhLFlBSGQsZ0JBQWdCLGFBQ2hCLGdCQUFnQjt5R0FFZixhQUFhOzs0RkFBYixhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2VjdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbU2VjdGlvbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTZWN0aW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2VjdGlvbk1vZHVsZSB7fVxuIl19
@@ -1,3 +0,0 @@
1
- export * from './select-card.component';
2
- export * from './select-card.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1jYXJkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWNhcmQubW9kdWxlJztcbiJdfQ==
@@ -1,94 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
- import { TokenService } from '../../services/token.service';
3
- import { NgClass, NgStyle, NgIf, NgTemplateOutlet } from '@angular/common';
4
- import { LayoutBoxComponent } from '../layout/box/box.component';
5
- import { LayoutStackComponent } from '../layout/stack/stack.component';
6
- import { ImageComponent } from '../image/image.component';
7
- import { OasysPriceComponent } from '../price/price.component';
8
- import { IconComponent } from '../icon/icon.component';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../services/token.service";
11
- export class SelectCardComponent {
12
- tokenService;
13
- // Image
14
- image;
15
- alt_text;
16
- image_format;
17
- // Content
18
- title;
19
- primary_copy;
20
- secondary_copy;
21
- price;
22
- price_before_discount;
23
- selected = false;
24
- select_card_type = 'gift-card';
25
- clicked = new EventEmitter();
26
- aspectRatio;
27
- alignment;
28
- constructor(tokenService) {
29
- this.tokenService = tokenService;
30
- }
31
- ngOnInit() {
32
- if (!this.image) {
33
- return;
34
- }
35
- this.aspectRatio = this.setImageAspectRatio(this.image_format);
36
- }
37
- onClick() {
38
- this.clicked.emit();
39
- }
40
- /**
41
- *
42
- * @param format
43
- * @returns
44
- */
45
- setImageAspectRatio(format) {
46
- switch (format) {
47
- case 'square':
48
- return this.tokenService.getTokenValue('--oasys-component-card-aspect-ratio-square');
49
- case 'portrait':
50
- return this.tokenService.getTokenValue('--oasys-component-card-aspect-ratio-portrait');
51
- default:
52
- return this.tokenService.getTokenValue('--oasys-component-card-aspect-ratio-portrait');
53
- }
54
- }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectCardComponent, deps: [{ token: i1.TokenService }], target: i0.ɵɵFactoryTarget.Component });
56
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SelectCardComponent, isStandalone: true, selector: "ui-select-card", inputs: { image: "image", alt_text: "alt_text", image_format: "image_format", title: "title", primary_copy: "primary_copy", secondary_copy: "secondary_copy", price: "price", price_before_discount: "price_before_discount", selected: "selected", select_card_type: "select_card_type" }, outputs: { clicked: "clicked" }, providers: [TokenService], ngImport: i0, template: "<button\n role=\"button\"\n class=\"ui-select-card--{{ select_card_type }}\"\n tabindex=\"0\"\n [ngClass]=\"{ selected: selected }\"\n [attr.aria-pressed]=\"selected ? 'true' : 'false'\"\n (click)=\"onClick()\"\n>\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <ui-stack stack_gap=\"none\" stack_align=\"center\">\n <ui-box\n class=\"ui-select-card__image\"\n [ngStyle]=\"{ 'aspect-ratio': aspectRatio }\"\n box_background=\"transparent\"\n box_align_x=\"center\"\n box_space=\"none\"\n >\n <ui-image\n *ngIf=\"image\"\n [image_src]=\"image\"\n [image_alt_text]=\"alt_text\"\n [image_fill]=\"true\"\n ></ui-image>\n <ng-content></ng-content>\n </ui-box>\n <ng-template\n *ngIf=\"select_card_type === 'gift-card'\"\n [ngTemplateOutlet]=\"giftcard\"\n ></ng-template>\n <ng-template\n *ngIf=\"select_card_type === 'product-card'\"\n [ngTemplateOutlet]=\"productcard\"\n ></ng-template>\n </ui-stack>\n </ui-box>\n</button>\n\n<!--- GIFT CARD TEMPLATE -->\n<ng-template #giftcard>\n <ui-box box_space=\"tight\" box_background=\"transparent\">\n <ui-stack class=\"ui-select-card__text-stack\" stack_direction=\"y\" stack_gap=\"tight\">\n <span class=\"ui-select-card__text-body text-label--primary\">{{ title }}</span>\n\n <ui-price\n [price]=\"price\"\n [price_before_discount]=\"price_before_discount\"\n price_type=\"primary\"\n ></ui-price>\n </ui-stack>\n </ui-box>\n</ng-template>\n\n<!--- PRODUCT CARD TEMPLATE -->\n<ng-template #productcard>\n <ui-box box_fill_mode=\"fit\" box_space=\"near\" box_background=\"transparent\">\n <ui-stack stack_direction=\"y\" stack_gap=\"near\">\n <ui-stack class=\"ui-select-card__text-stack\" stack_direction=\"y\" stack_gap=\"none\">\n <h5>{{ title }}</h5>\n <ui-stack stack_direction=\"x\" stack_gap=\"near\" stack_align=\"center\">\n <ui-price\n [price]=\"price\"\n [price_before_discount]=\"price_before_discount\"\n price_type=\"hero\"\n ></ui-price>\n <ui-icon\n *ngIf=\"price_before_discount\"\n class=\"ui-select-card--product-card__discount-icon\"\n icon_name=\"tag\"\n icon_size_override=\"1.5\"\n ></ui-icon>\n </ui-stack>\n </ui-stack>\n <ui-stack stack_gap=\"near\">\n <p class=\"text-body--supporting\">{{ secondary_copy }}</p>\n <p class=\"text-body--default\">{{ primary_copy }}</p>\n </ui-stack>\n </ui-stack>\n </ui-box>\n</ng-template>\n", styles: [".ui-select-card--gift-card,.ui-select-card--product-card{background-color:transparent;border:1px solid transparent;width:100%;display:block;padding:0;appearance:none;cursor:pointer;overflow:hidden}.ui-select-card--gift-card .ui-select-card__image .ui-box-content,.ui-select-card--product-card .ui-select-card__image .ui-box-content{height:100%}.ui-select-card--gift-card__text-stack,.ui-select-card--product-card__text-stack{width:100%}.ui-select-card--gift-card{border-radius:var(--oasys-radius-soften)}.ui-select-card--gift-card .ui-select-card__text-body{text-align:left;min-height:calc(var(--oasys-typography-heading-label-primary-line-height) * 2)}.ui-select-card--product-card{border-radius:var(--oasys-radius-layout);border:1px solid var(--oasys-color-brand-border-secondary)}.ui-select-card--product-card .text-body--default{text-align:left}.ui-select-card--product-card__discount-icon{border-radius:var(--oasys-radius-round);border:1px solid transparent;padding:var(--oasys-spacing-tiny);background-color:var(--oasys-color-brand-foreground-highlight)}.ui-select-card--gift-card.selected,.ui-select-card--product-card.selected{--_select-border-width: var(--oasys-border-width-primary);--_select-border-color: var(--oasys-color-interaction-border-selected);--_select-background-color: var(--oasys-color-interaction-background-selected);background-color:var(--_select-background-color);border:var(--_select-border-width) solid var(--_select-border-color)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ImageComponent, selector: "ui-image", inputs: ["image_src", "image_alt_text", "image_aria_describedby", "image_fill", "fetchpriority", "loading", "preload_aspect_ratio", "image_width"], outputs: ["image_loaded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: OasysPriceComponent, selector: "ui-price", inputs: ["price", "price_before_discount", "price_type"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["icon_size", "icon_size_override", "icon_name", "icon_context", "alt_text", "icon_class"] }], encapsulation: i0.ViewEncapsulation.None });
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectCardComponent, decorators: [{
59
- type: Component,
60
- args: [{ selector: 'ui-select-card', encapsulation: ViewEncapsulation.None, standalone: true, imports: [
61
- NgClass,
62
- LayoutBoxComponent,
63
- LayoutStackComponent,
64
- NgStyle,
65
- NgIf,
66
- ImageComponent,
67
- NgTemplateOutlet,
68
- OasysPriceComponent,
69
- IconComponent,
70
- ], providers: [TokenService], template: "<button\n role=\"button\"\n class=\"ui-select-card--{{ select_card_type }}\"\n tabindex=\"0\"\n [ngClass]=\"{ selected: selected }\"\n [attr.aria-pressed]=\"selected ? 'true' : 'false'\"\n (click)=\"onClick()\"\n>\n <ui-box box_space=\"none\" box_background=\"transparent\">\n <ui-stack stack_gap=\"none\" stack_align=\"center\">\n <ui-box\n class=\"ui-select-card__image\"\n [ngStyle]=\"{ 'aspect-ratio': aspectRatio }\"\n box_background=\"transparent\"\n box_align_x=\"center\"\n box_space=\"none\"\n >\n <ui-image\n *ngIf=\"image\"\n [image_src]=\"image\"\n [image_alt_text]=\"alt_text\"\n [image_fill]=\"true\"\n ></ui-image>\n <ng-content></ng-content>\n </ui-box>\n <ng-template\n *ngIf=\"select_card_type === 'gift-card'\"\n [ngTemplateOutlet]=\"giftcard\"\n ></ng-template>\n <ng-template\n *ngIf=\"select_card_type === 'product-card'\"\n [ngTemplateOutlet]=\"productcard\"\n ></ng-template>\n </ui-stack>\n </ui-box>\n</button>\n\n<!--- GIFT CARD TEMPLATE -->\n<ng-template #giftcard>\n <ui-box box_space=\"tight\" box_background=\"transparent\">\n <ui-stack class=\"ui-select-card__text-stack\" stack_direction=\"y\" stack_gap=\"tight\">\n <span class=\"ui-select-card__text-body text-label--primary\">{{ title }}</span>\n\n <ui-price\n [price]=\"price\"\n [price_before_discount]=\"price_before_discount\"\n price_type=\"primary\"\n ></ui-price>\n </ui-stack>\n </ui-box>\n</ng-template>\n\n<!--- PRODUCT CARD TEMPLATE -->\n<ng-template #productcard>\n <ui-box box_fill_mode=\"fit\" box_space=\"near\" box_background=\"transparent\">\n <ui-stack stack_direction=\"y\" stack_gap=\"near\">\n <ui-stack class=\"ui-select-card__text-stack\" stack_direction=\"y\" stack_gap=\"none\">\n <h5>{{ title }}</h5>\n <ui-stack stack_direction=\"x\" stack_gap=\"near\" stack_align=\"center\">\n <ui-price\n [price]=\"price\"\n [price_before_discount]=\"price_before_discount\"\n price_type=\"hero\"\n ></ui-price>\n <ui-icon\n *ngIf=\"price_before_discount\"\n class=\"ui-select-card--product-card__discount-icon\"\n icon_name=\"tag\"\n icon_size_override=\"1.5\"\n ></ui-icon>\n </ui-stack>\n </ui-stack>\n <ui-stack stack_gap=\"near\">\n <p class=\"text-body--supporting\">{{ secondary_copy }}</p>\n <p class=\"text-body--default\">{{ primary_copy }}</p>\n </ui-stack>\n </ui-stack>\n </ui-box>\n</ng-template>\n", styles: [".ui-select-card--gift-card,.ui-select-card--product-card{background-color:transparent;border:1px solid transparent;width:100%;display:block;padding:0;appearance:none;cursor:pointer;overflow:hidden}.ui-select-card--gift-card .ui-select-card__image .ui-box-content,.ui-select-card--product-card .ui-select-card__image .ui-box-content{height:100%}.ui-select-card--gift-card__text-stack,.ui-select-card--product-card__text-stack{width:100%}.ui-select-card--gift-card{border-radius:var(--oasys-radius-soften)}.ui-select-card--gift-card .ui-select-card__text-body{text-align:left;min-height:calc(var(--oasys-typography-heading-label-primary-line-height) * 2)}.ui-select-card--product-card{border-radius:var(--oasys-radius-layout);border:1px solid var(--oasys-color-brand-border-secondary)}.ui-select-card--product-card .text-body--default{text-align:left}.ui-select-card--product-card__discount-icon{border-radius:var(--oasys-radius-round);border:1px solid transparent;padding:var(--oasys-spacing-tiny);background-color:var(--oasys-color-brand-foreground-highlight)}.ui-select-card--gift-card.selected,.ui-select-card--product-card.selected{--_select-border-width: var(--oasys-border-width-primary);--_select-border-color: var(--oasys-color-interaction-border-selected);--_select-background-color: var(--oasys-color-interaction-background-selected);background-color:var(--_select-background-color);border:var(--_select-border-width) solid var(--_select-border-color)}\n"] }]
71
- }], ctorParameters: () => [{ type: i1.TokenService }], propDecorators: { image: [{
72
- type: Input
73
- }], alt_text: [{
74
- type: Input
75
- }], image_format: [{
76
- type: Input
77
- }], title: [{
78
- type: Input
79
- }], primary_copy: [{
80
- type: Input
81
- }], secondary_copy: [{
82
- type: Input
83
- }], price: [{
84
- type: Input
85
- }], price_before_discount: [{
86
- type: Input
87
- }], selected: [{
88
- type: Input
89
- }], select_card_type: [{
90
- type: Input
91
- }], clicked: [{
92
- type: Output
93
- }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtY2FyZC9zZWxlY3QtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1jYXJkL3NlbGVjdC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQXVCdkQsTUFBTSxPQUFPLG1CQUFtQjtJQW9CVjtJQW5CcEIsUUFBUTtJQUNDLEtBQUssQ0FBVTtJQUNmLFFBQVEsQ0FBUztJQUNqQixZQUFZLENBQVM7SUFFOUIsVUFBVTtJQUNELEtBQUssQ0FBUztJQUNkLFlBQVksQ0FBUztJQUNyQixjQUFjLENBQVM7SUFDdkIsS0FBSyxDQUFTO0lBQ2QscUJBQXFCLENBQVM7SUFDOUIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixnQkFBZ0IsR0FBb0IsV0FBVyxDQUFDO0lBRS9DLE9BQU8sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUzRCxXQUFXLENBQVM7SUFDcEIsU0FBUyxDQUFTO0lBRWxCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUVsRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxNQUFjO1FBQ2hDLFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDZixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQ3ZGLEtBQUssVUFBVTtnQkFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7WUFDekY7Z0JBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQzNGLENBQUM7SUFDSCxDQUFDO3dHQWhEVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwwWEFGbkIsQ0FBQyxZQUFZLENBQUMsMEJDNUIzQiw4b0ZBK0VBLGkvQ0Q3REksT0FBTyxvRkFDUCxrQkFBa0IsZ1VBQ2xCLG9CQUFvQix3S0FDcEIsT0FBTywyRUFDUCxJQUFJLDZGQUNKLGNBQWMsb09BQ2QsZ0JBQWdCLG9KQUNoQixtQkFBbUIsK0dBQ25CLGFBQWE7OzRGQUlKLG1CQUFtQjtrQkFuQi9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1Asa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNkLGFBQ1UsQ0FBQyxZQUFZLENBQUM7aUZBSWhCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdG9rZW4uc2VydmljZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExheW91dEJveENvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9ib3gvYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRTdGFja0NvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9zdGFjay9zdGFjay5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2FzeXNQcmljZUNvbXBvbmVudCB9IGZyb20gJy4uL3ByaWNlL3ByaWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIElTZWxlY3RDYXJkVHlwZSA9ICdwcm9kdWN0LWNhcmQnIHwgJ2dpZnQtY2FyZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXNlbGVjdC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTGF5b3V0Qm94Q29tcG9uZW50LFxuICAgIExheW91dFN0YWNrQ29tcG9uZW50LFxuICAgIE5nU3R5bGUsXG4gICAgTmdJZixcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE9hc3lzUHJpY2VDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbVG9rZW5TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIEltYWdlXG4gIEBJbnB1dCgpIGltYWdlPzogc3RyaW5nO1xuICBASW5wdXQoKSBhbHRfdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBpbWFnZV9mb3JtYXQ6IHN0cmluZztcblxuICAvLyBDb250ZW50XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByaW1hcnlfY29weTogc3RyaW5nO1xuICBASW5wdXQoKSBzZWNvbmRhcnlfY29weTogc3RyaW5nO1xuICBASW5wdXQoKSBwcmljZTogc3RyaW5nO1xuICBASW5wdXQoKSBwcmljZV9iZWZvcmVfZGlzY291bnQ6IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0X2NhcmRfdHlwZTogSVNlbGVjdENhcmRUeXBlID0gJ2dpZnQtY2FyZCc7XG5cbiAgQE91dHB1dCgpIGNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBhc3BlY3RSYXRpbzogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRva2VuU2VydmljZTogVG9rZW5TZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pbWFnZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXNwZWN0UmF0aW8gPSB0aGlzLnNldEltYWdlQXNwZWN0UmF0aW8odGhpcy5pbWFnZV9mb3JtYXQpO1xuICB9XG5cbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBmb3JtYXRcbiAgICogQHJldHVybnNcbiAgICovXG4gIHNldEltYWdlQXNwZWN0UmF0aW8oZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgICBjYXNlICdzcXVhcmUnOlxuICAgICAgICByZXR1cm4gdGhpcy50b2tlblNlcnZpY2UuZ2V0VG9rZW5WYWx1ZSgnLS1vYXN5cy1jb21wb25lbnQtY2FyZC1hc3BlY3QtcmF0aW8tc3F1YXJlJyk7XG4gICAgICBjYXNlICdwb3J0cmFpdCc6XG4gICAgICAgIHJldHVybiB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKCctLW9hc3lzLWNvbXBvbmVudC1jYXJkLWFzcGVjdC1yYXRpby1wb3J0cmFpdCcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5TZXJ2aWNlLmdldFRva2VuVmFsdWUoJy0tb2FzeXMtY29tcG9uZW50LWNhcmQtYXNwZWN0LXJhdGlvLXBvcnRyYWl0Jyk7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIHJvbGU9XCJidXR0b25cIlxuICBjbGFzcz1cInVpLXNlbGVjdC1jYXJkLS17eyBzZWxlY3RfY2FyZF90eXBlIH19XCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW25nQ2xhc3NdPVwieyBzZWxlY3RlZDogc2VsZWN0ZWQgfVwiXG4gIFthdHRyLmFyaWEtcHJlc3NlZF09XCJzZWxlY3RlZCA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAoY2xpY2spPVwib25DbGljaygpXCJcbj5cbiAgPHVpLWJveCBib3hfc3BhY2U9XCJub25lXCIgYm94X2JhY2tncm91bmQ9XCJ0cmFuc3BhcmVudFwiPlxuICAgIDx1aS1zdGFjayBzdGFja19nYXA9XCJub25lXCIgc3RhY2tfYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgIDx1aS1ib3hcbiAgICAgICAgY2xhc3M9XCJ1aS1zZWxlY3QtY2FyZF9faW1hZ2VcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7ICdhc3BlY3QtcmF0aW8nOiBhc3BlY3RSYXRpbyB9XCJcbiAgICAgICAgYm94X2JhY2tncm91bmQ9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIGJveF9hbGlnbl94PVwiY2VudGVyXCJcbiAgICAgICAgYm94X3NwYWNlPVwibm9uZVwiXG4gICAgICA+XG4gICAgICAgIDx1aS1pbWFnZVxuICAgICAgICAgICpuZ0lmPVwiaW1hZ2VcIlxuICAgICAgICAgIFtpbWFnZV9zcmNdPVwiaW1hZ2VcIlxuICAgICAgICAgIFtpbWFnZV9hbHRfdGV4dF09XCJhbHRfdGV4dFwiXG4gICAgICAgICAgW2ltYWdlX2ZpbGxdPVwidHJ1ZVwiXG4gICAgICAgID48L3VpLWltYWdlPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L3VpLWJveD5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAqbmdJZj1cInNlbGVjdF9jYXJkX3R5cGUgPT09ICdnaWZ0LWNhcmQnXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2lmdGNhcmRcIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgKm5nSWY9XCJzZWxlY3RfY2FyZF90eXBlID09PSAncHJvZHVjdC1jYXJkJ1wiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInByb2R1Y3RjYXJkXCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvdWktc3RhY2s+XG4gIDwvdWktYm94PlxuPC9idXR0b24+XG5cbjwhLS0tIEdJRlQgQ0FSRCBURU1QTEFURSAtLT5cbjxuZy10ZW1wbGF0ZSAjZ2lmdGNhcmQ+XG4gIDx1aS1ib3ggYm94X3NwYWNlPVwidGlnaHRcIiBib3hfYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCI+XG4gICAgPHVpLXN0YWNrIGNsYXNzPVwidWktc2VsZWN0LWNhcmRfX3RleHQtc3RhY2tcIiBzdGFja19kaXJlY3Rpb249XCJ5XCIgc3RhY2tfZ2FwPVwidGlnaHRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidWktc2VsZWN0LWNhcmRfX3RleHQtYm9keSB0ZXh0LWxhYmVsLS1wcmltYXJ5XCI+e3sgdGl0bGUgfX08L3NwYW4+XG5cbiAgICAgIDx1aS1wcmljZVxuICAgICAgICBbcHJpY2VdPVwicHJpY2VcIlxuICAgICAgICBbcHJpY2VfYmVmb3JlX2Rpc2NvdW50XT1cInByaWNlX2JlZm9yZV9kaXNjb3VudFwiXG4gICAgICAgIHByaWNlX3R5cGU9XCJwcmltYXJ5XCJcbiAgICAgID48L3VpLXByaWNlPlxuICAgIDwvdWktc3RhY2s+XG4gIDwvdWktYm94PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLS0gUFJPRFVDVCBDQVJEIFRFTVBMQVRFIC0tPlxuPG5nLXRlbXBsYXRlICNwcm9kdWN0Y2FyZD5cbiAgPHVpLWJveCBib3hfZmlsbF9tb2RlPVwiZml0XCIgYm94X3NwYWNlPVwibmVhclwiIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIj5cbiAgICA8dWktc3RhY2sgc3RhY2tfZGlyZWN0aW9uPVwieVwiIHN0YWNrX2dhcD1cIm5lYXJcIj5cbiAgICAgIDx1aS1zdGFjayBjbGFzcz1cInVpLXNlbGVjdC1jYXJkX190ZXh0LXN0YWNrXCIgc3RhY2tfZGlyZWN0aW9uPVwieVwiIHN0YWNrX2dhcD1cIm5vbmVcIj5cbiAgICAgICAgPGg1Pnt7IHRpdGxlIH19PC9oNT5cbiAgICAgICAgPHVpLXN0YWNrIHN0YWNrX2RpcmVjdGlvbj1cInhcIiBzdGFja19nYXA9XCJuZWFyXCIgc3RhY2tfYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgICAgICA8dWktcHJpY2VcbiAgICAgICAgICAgIFtwcmljZV09XCJwcmljZVwiXG4gICAgICAgICAgICBbcHJpY2VfYmVmb3JlX2Rpc2NvdW50XT1cInByaWNlX2JlZm9yZV9kaXNjb3VudFwiXG4gICAgICAgICAgICBwcmljZV90eXBlPVwiaGVyb1wiXG4gICAgICAgICAgPjwvdWktcHJpY2U+XG4gICAgICAgICAgPHVpLWljb25cbiAgICAgICAgICAgICpuZ0lmPVwicHJpY2VfYmVmb3JlX2Rpc2NvdW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidWktc2VsZWN0LWNhcmQtLXByb2R1Y3QtY2FyZF9fZGlzY291bnQtaWNvblwiXG4gICAgICAgICAgICBpY29uX25hbWU9XCJ0YWdcIlxuICAgICAgICAgICAgaWNvbl9zaXplX292ZXJyaWRlPVwiMS41XCJcbiAgICAgICAgICA+PC91aS1pY29uPlxuICAgICAgICA8L3VpLXN0YWNrPlxuICAgICAgPC91aS1zdGFjaz5cbiAgICAgIDx1aS1zdGFjayBzdGFja19nYXA9XCJuZWFyXCI+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1ib2R5LS1zdXBwb3J0aW5nXCI+e3sgc2Vjb25kYXJ5X2NvcHkgfX08L3A+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1ib2R5LS1kZWZhdWx0XCI+e3sgcHJpbWFyeV9jb3B5IH19PC9wPlxuICAgICAgPC91aS1zdGFjaz5cbiAgICA8L3VpLXN0YWNrPlxuICA8L3VpLWJveD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=