oasys-lib 1.9.2 → 1.9.3

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.
@@ -57,7 +57,7 @@
57
57
  if (!spaceInput || spaceInput === undefined) {
58
58
  return null;
59
59
  }
60
- // Used for responsive spacing, check if the input is either an object or JSON
60
+ // Used for responsive spacing, check if the input is either an object or JSON
61
61
  if (typeof spaceInput === 'object' || this.stringContainsJson(spaceInput)) {
62
62
  // If JSON then convert this to an object
63
63
  var spaceInputObject_1 = typeof spaceInput === 'object' ? spaceInput : JSON.parse(spaceInput);
@@ -455,9 +455,8 @@
455
455
  }] });
456
456
 
457
457
  var LayoutContainerComponent = /** @class */ (function () {
458
- function LayoutContainerComponent(changes, tokenService) {
458
+ function LayoutContainerComponent(changes) {
459
459
  this.changes = changes;
460
- this.tokenService = tokenService;
461
460
  this.container_fluid = false;
462
461
  this.container_gutter = true;
463
462
  this.prefix = 'ui-layout-container';
@@ -467,44 +466,28 @@
467
466
  this.changes.markForCheck();
468
467
  };
469
468
  LayoutContainerComponent.prototype.ngOnInit = function () {
470
- if (this.container_gutter) {
471
- this.containerGutterNameSmall = this.tokenService.getTokenValue('--semantic-spacing-container-gutter-box-name-small');
472
- this.containerGutterNameLarge = this.tokenService.getTokenValue('--semantic-spacing-container-gutter-box-name-large');
473
- this.containerHorizontalSizes = {
474
- desktop: this.containerGutterNameLarge,
475
- tablet: this.containerGutterNameLarge,
476
- mobile: this.containerGutterNameSmall
477
- };
478
- }
479
- else {
480
- this.containerHorizontalSizes = {
481
- desktop: 'none',
482
- tablet: 'none',
483
- mobile: 'none'
484
- };
485
- }
486
469
  this.containerLayoutClasses = [
487
470
  this.prefix,
488
- this.prefix + "-" + (this.container_fluid ? 'fluid' : '')
489
- ];
471
+ this.container_fluid ? this.prefix + "-fluid" : '',
472
+ this.container_gutter ? '' : this.prefix + "-no-gutter"
473
+ ].flat(10).filter(Boolean);
490
474
  };
491
475
  return LayoutContainerComponent;
492
476
  }());
493
- LayoutContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LayoutContainerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: TokenService }], target: i0__namespace.ɵɵFactoryTarget.Component });
494
- LayoutContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LayoutContainerComponent, selector: "ui-container", inputs: { container_fluid: "container_fluid", container_gutter: "container_gutter" }, host: { properties: { "class": "containerLayoutClasses" } }, usesOnChanges: true, ngImport: i0__namespace, template: "\n <ui-box\n [box_space_right]=\"containerHorizontalSizes\"\n [box_space_left]=\"containerHorizontalSizes\"\n box_space_top=\"none\"\n box_space_bottom=\"none\"\n box_background=\"none\">\n\n <ng-content></ng-content>\n\n </ui-box>\n ", isInline: true, styles: ["ui-container{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-small);display:block;width:100%;max-width:1440px;margin:0 auto}@media only screen and (max-width: 767px){ui-container{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-small)}}@media only screen and (min-width: 768px){ui-container{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-small)}}@media only screen and (min-width: 1080px){ui-container{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-large)}}@media only screen and (min-width: 1440px){ui-container{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-large)}}@media only screen and (max-width: 767px){ui-container{max-width:100%}}@media only screen and (min-width: 768px){ui-container{max-width:calc(767px - var(--container-component-gutter-size))}}@media only screen and (min-width: 1080px){ui-container{max-width:calc(1080px - var(--container-component-gutter-size))}}@media only screen and (min-width: 1440px){ui-container{max-width:calc(1440px - var(--container-component-gutter-size))}}ui-container.ui-layout-container-fluid{max-width:100%}\n"], components: [{ 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"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
477
+ LayoutContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LayoutContainerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
478
+ LayoutContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LayoutContainerComponent, selector: "ui-container", inputs: { container_fluid: "container_fluid", container_gutter: "container_gutter" }, host: { properties: { "class": "containerLayoutClasses" } }, usesOnChanges: true, ngImport: i0__namespace, template: "\n <ng-content></ng-content>\n ", isInline: true, styles: [":host{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-small);display:block;width:100%;max-width:1440px;margin:0 auto;padding:0 var(--container-component-gutter-size)}@media only screen and (max-width: 767px){:host{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-small)}}@media only screen and (min-width: 768px){:host{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-small)}}@media only screen and (min-width: 1080px){:host{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-large)}}@media only screen and (min-width: 1440px){:host{--container-component-gutter-size: var(--semantic-spacing-container-gutter-size-large)}}:host.ui-layout-container-no-gutter{padding:0}@media only screen and (max-width: 767px){:host{max-width:100%}}@media only screen and (min-width: 768px){:host{max-width:calc(767px)}}@media only screen and (min-width: 1080px){:host{max-width:calc(1080px)}}@media only screen and (min-width: 1440px){:host{max-width:calc(1440px)}}:host.ui-layout-container-fluid{max-width:100%}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
495
479
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LayoutContainerComponent, decorators: [{
496
480
  type: i0.Component,
497
481
  args: [{
498
482
  selector: 'ui-container',
499
- template: "\n <ui-box\n [box_space_right]=\"containerHorizontalSizes\"\n [box_space_left]=\"containerHorizontalSizes\"\n box_space_top=\"none\"\n box_space_bottom=\"none\"\n box_background=\"none\">\n\n <ng-content></ng-content>\n\n </ui-box>\n ",
483
+ template: "\n <ng-content></ng-content>\n ",
500
484
  host: {
501
485
  '[class]': 'containerLayoutClasses'
502
486
  },
503
487
  styleUrls: ['./container.component.scss'],
504
- encapsulation: i0.ViewEncapsulation.None,
505
488
  changeDetection: i0.ChangeDetectionStrategy.OnPush
506
489
  }]
507
- }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: TokenService }]; }, propDecorators: { container_fluid: [{
490
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { container_fluid: [{
508
491
  type: i0.Input
509
492
  }], container_gutter: [{
510
493
  type: i0.Input
@@ -1 +1 @@
1
- {"version":3,"file":"oasys-lib.umd.js","sources":["../../../projects/oasys-lib/src/lib/components/layout/box/box.component.ts","../../../projects/oasys-lib/src/lib/components/layout/stack/stack.component.ts","../../../projects/oasys-lib/src/lib/services/token.service.ts","../../../projects/oasys-lib/src/lib/components/icon/icon.component.ts","../../../projects/oasys-lib/src/lib/components/icon/icon.component.html","../../../projects/oasys-lib/src/lib/components/button/button.component.ts","../../../projects/oasys-lib/src/lib/components/button/button.component.html","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/oasys-lib/src/lib/components/icon/icon.module.ts","../../../projects/oasys-lib/src/lib/components/button/button.module.ts","../../../projects/oasys-lib/src/lib/components/layout/container/container.component.ts","../../../projects/oasys-lib/src/lib/components/layout/grid/grid-column.component.ts","../../../projects/oasys-lib/src/lib/components/layout/grid/grid.component.ts","../../../projects/oasys-lib/src/lib/components/layout/layout.module.ts","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.module.ts","../../../projects/oasys-lib/src/lib/components/card/card.component.ts","../../../projects/oasys-lib/src/lib/components/card/card.component.html","../../../projects/oasys-lib/src/lib/components/card/card.module.ts","../../../projects/oasys-lib/src/lib/components/divider/divider.component.ts","../../../projects/oasys-lib/src/lib/components/divider/divider.component.html","../../../projects/oasys-lib/src/lib/components/divider/divider.module.ts","../../../projects/oasys-lib/src/lib/components/heading/heading.component.ts","../../../projects/oasys-lib/src/lib/components/heading/heading.component.html","../../../projects/oasys-lib/src/lib/components/heading/heading.module.ts","../../../projects/oasys-lib/src/lib/components/hero/hero.component.ts","../../../projects/oasys-lib/src/lib/components/hero/hero.component.html","../../../projects/oasys-lib/src/lib/components/hero/hero.module.ts","../../../projects/oasys-lib/src/lib/components/text/text.component.ts","../../../projects/oasys-lib/src/lib/components/text/text.component.html","../../../projects/oasys-lib/src/lib/components/text/text.module.ts","../../../projects/oasys-lib/src/public-api.ts","../../../projects/oasys-lib/src/oasys-lib.ts"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { LayoutAlignment, LayoutBackgrounds, LayoutBoxSizes, LayoutFillModes } from '../Layout';\n\n@Component({\n selector:'ui-box',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'boxLayoutClasses'\n },\n styleUrls: ['./box.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutBoxComponent implements OnInit, OnChanges {\n didFirstInit: boolean = false;\n prefix = 'ui-layout-box';\n boxLayoutClasses?: string[];\n\n @Input() box_space?: LayoutBoxSizes = 'default';\n\n @Input() box_space_top?: LayoutBoxSizes;\n @Input() box_space_right?: LayoutBoxSizes;\n @Input() box_space_bottom?: LayoutBoxSizes;\n @Input() box_space_left?: LayoutBoxSizes;\n\n @Input() box_align_x?: LayoutAlignment = 'start';\n @Input() box_align_y?: LayoutAlignment = 'start';\n\n @Input() box_fill_mode?: LayoutFillModes = 'fill';\n\n @Input() box_background: LayoutBackgrounds = 'core-primary';\n\n constructor(private changes: ChangeDetectorRef) {}\n\n /**\n * Check the passed string to see if it contains JSON\n * \n * @param string \n * @returns - boolean\n */\n stringContainsJson(string: string):boolean {\n try { \n JSON.parse(string);\n } catch (e) {\n return false;\n }\n\n return true;\n }\n\n getSizeClasses(spaceInput?: LayoutBoxSizes, overrideName?: string): string[] {\n if(!spaceInput || spaceInput === undefined){\n return null;\n }\n\n // Used for responsive spacing, check if the input is either an object or JSON \n if(typeof spaceInput === 'object' || this.stringContainsJson(spaceInput)) {\n // If JSON then convert this to an object\n const spaceInputObject: LayoutBoxSizes = typeof spaceInput === 'object' ? spaceInput : JSON.parse(spaceInput)\n\n return Object.keys(spaceInputObject).map((key) => {\n return `${this.prefix}-${spaceInputObject[key]}-${key}${overrideName ? `-${overrideName}` : ``}`\n });\n\n }\n\n return [\n this.prefix,\n `${this.prefix}-${spaceInput}${overrideName ? `-${overrideName}` : ``}`\n ];\n\n }\n\n getOverrideClasses(spaceOverrides): string[] {\n const spaceTypes = ['top', 'right', 'bottom', 'left'];\n\n return spaceOverrides.map((item, index) => {\n return this.getSizeClasses(item, spaceTypes[index]);\n }).filter(Boolean);\n }\n\n getAlignmentClasses(alignmentOverride): string[] {\n const spaceTypes = ['align-x', 'distribute-y'];\n\n return alignmentOverride.map((item, index) => {\n return item ? `${this.prefix}-${spaceTypes[index]}-${item}` : undefined;\n }).filter(Boolean);\n }\n\n getBackgroundClass(): string {\n const value = this.box_background ? `${this.prefix}-background-${this.box_background}` : ``;\n return value;\n }\n\n ngOnChanges(): void {\n if(!this.didFirstInit){\n return;\n }\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n const spaceOverrides = [this.box_space_top, this.box_space_right, this.box_space_bottom, this.box_space_left];\n const alignmentOverride = [this.box_align_x, this.box_align_y];\n\n // Basic basic classes\n this.boxLayoutClasses = [\n this.getSizeClasses(this.box_space),\n this.getOverrideClasses(spaceOverrides),\n this.getAlignmentClasses(alignmentOverride),\n this.getBackgroundClass(),\n this.box_fill_mode === 'fit' ? `${this.prefix}-fit-content` : `${this.prefix}-fill-container`\n ].flat(10).filter(Boolean);\n\n this.didFirstInit = true;\n }\n\n}\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { LayoutDirections, LayoutAlignment, LayoutGapSizes, LayoutDistribute } from '../Layout';\n\n@Component({\n selector:'ui-stack',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'stackLayoutClasses'\n },\n styleUrls: ['./stack.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutStackComponent implements OnInit, OnChanges {\n didFirstInit: boolean = false;\n prefix = 'ui-layout-stack';\n stackLayoutClasses?: string[];\n\n @Input() stack_gap: LayoutGapSizes = 'default';\n @Input() stack_align: LayoutAlignment = 'start';\n @Input() stack_direction: LayoutDirections = 'y';\n @Input() stack_distribute?: LayoutDistribute = 'start';\n @Input() stack_wrap?: Boolean = false;\n\n constructor(private changes: ChangeDetectorRef) {}\n\n defaultDistribution(): LayoutDistribute {\n if(this.stack_distribute) {\n return this.stack_distribute;\n }\n\n return this.stack_direction === 'x' ? 'fit' : 'fill';\n }\n\n ngOnChanges(): void {\n if(!this.didFirstInit){\n return;\n }\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n this.stack_distribute = this.defaultDistribution();\n this.stackLayoutClasses = [\n this.prefix,\n `${this.prefix}-${this.stack_gap}`,\n `${this.prefix}-align-${this.stack_align}`,\n `${this.prefix}-distribute-${this.stack_distribute}`,\n `${this.prefix}-direction-${this.stack_direction}`,\n `${this.prefix}-${this.stack_wrap ? 'wrap' : 'no-wrap'}`,\n ]\n this.didFirstInit = true;\n }\n\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n@Injectable()\nexport class TokenService {\n\n brandCustomPropertyName: string = '--utility-brand-name';\n\n constructor(@Inject(DOCUMENT) private document: Document){}\n\n /*\n Get the brand name for the currently enable custom property set (ie. /bloomon/variables.css)\n Because variables are scoped via a selector (ie: ':root .bloomon {}')\n we cannot get brand-specific custom properties programatically\n\n Important: Ensure that the component requiring the brand name has locally scoped the custom property:\n | ui-icon {\n | --icon-component-brand: var(--utility-brand-name);\n | }\n */\n getBrandName(): string {\n return this.getTokenValue(this.brandCustomPropertyName);\n }\n\n getTokenValue(tokenName: string, element?: Element): string {\n const rootElement = element || this.document.querySelector('[class*=\"brand-tokens\"]');\n if(!rootElement) {\n return '';\n }\n return this.document.defaultView.getComputedStyle(rootElement)\n .getPropertyValue(tokenName)\n .trim() || '';\n }\n\n}","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { IconContext, IconNames } from './icon';\n\n@Component({\n selector:'ui-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IconComponent implements OnInit, OnChanges {\n @Input() icon_size: 'small'|'large' = 'large';\n @Input() icon_name!: IconNames;\n @Input() icon_context: IconContext = 'none';\n\n @Input() icon_width?: number;\n @Input() icon_height?: number;\n @Input() icon_class?: string;\n\n size?: string;\n iconBrandPath?: string;\n iconDisplayClasses: string[];\n\n constructor(@Inject(DOCUMENT) private document: Document, private tokenService: TokenService) { }\n\n convertRemToPixels(remString: string): number {\n const remNumber = parseFloat(remString.replace('rem', ''));\n return remNumber * parseFloat(getComputedStyle(this.document.documentElement).fontSize);\n }\n\n ngOnChanges(): void {\n this.ngOnInit();\n }\n\n ngOnInit(): void {\n this.iconBrandPath = `${this.tokenService.getBrandName()}`\n this.size = this.tokenService.getTokenValue(`--global-size-icon-${this.icon_size}`);\n\n this.iconDisplayClasses = [\n `icon-context-${this.icon_context}`,\n `icon-size-${this.icon_size}`\n ];\n\n const sizeInPixels = this.convertRemToPixels(this.size);\n this.icon_width = sizeInPixels;\n this.icon_height = sizeInPixels;\n }\n\n}\n","<div class=\"ui-icon\" [ngClass]=\"iconDisplayClasses\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"icon_width\" [attr.height]=\"icon_height\" [attr.class]=\"icon_class\">\n <use attr.xlink:href=\"./{{iconBrandPath}}/assets/icons/icons.svg#icon-{{icon_name}}\"></use>\n </svg>\n</div>\n","import { Component, Input, OnInit, Output, ViewEncapsulation, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, ContentChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { IconNames, IconContext } from '../icon/icon';\nimport { TextTransform } from '../text/text';\nimport {\n // ButtonTypeOptions,\n UIButton,\n UIButtonBoolean,\n UIButtonSize,\n UIButtonType\n} from './button';\n\n@Component({\n selector:'ui-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OasysButtonComponent implements OnInit, OnChanges, AfterViewInit {\n\n button: UIButton;\n\n // // Button Content\n @Input() button_icon?: IconNames;\n @Input() button_icon_placement: IconContext = 'leading';\n\n @ContentChild('buttontext') ngContent: ElementRef;\n\n // Button Stylings\n @Input() button_size: UIButtonSize = 'large';\n\n @Input() button_full_width: UIButtonBoolean = false;\n @Input() button_type: UIButtonType = 'primary';\n @Input() button_disabled: UIButtonBoolean = false;\n\n // Button Actions\n @Input() href: string = '';\n @Output() clicked: EventEmitter<void> = new EventEmitter();\n\n buttonDisplayClasses: string[];\n iconContext: IconContext = 'none';\n textTransform!: TextTransform;\n accessibleButtonContent: string;\n outlineButtonTypes = ['secondary', 'secondary-inverse']\n\n constructor(private changes: ChangeDetectorRef) {}\n\n onClick(): void {\n this.clicked.emit();\n }\n\n createButton(): UIButton {\n\n return <UIButton>{\n buttonIcon: this.button_icon,\n buttonIconPlacement: this.button_icon_placement,\n buttonType: this.button_type,\n buttonSize: this.button_size,\n buttonDisabled: this.button_disabled,\n href: this.href,\n target: '',\n buttonDisplayClasses: [\n `type-${this.button_type}`,\n `size-${this.button_size}`,\n `${this.button_icon ? 'button--has-icon': ''}`,\n `${this.button_full_width ? 'button--full-width': ''}`,\n `${this.button_icon ? 'button--icon--'+this.button_icon_placement : ''}`,\n `${this.outlineButtonTypes.indexOf(this.button_type) !== -1 ? 'button--outline' : ''}`\n ].filter((d) => !!d)\n };\n }\n\n ngAfterViewInit(): void {\n if(this.ngContent?.nativeElement?.innerText) {\n this.accessibleButtonContent = this.ngContent.nativeElement.innerText;\n } else {\n throw new Error(`\n No inner text found. All buttons should have text passed via ng-content to enable accessibility for screen readers, this includes icon-only buttons.\n\n Pass content using the template variable #buttontext eg:\n ui-button()\n span(#buttontext) Buy All The Things\n `)\n }\n }\n\n ngOnChanges(): void {\n this.button = this.createButton();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n this.button = this.createButton();\n }\n}\n","<button (click)=\"onClick()\"\n [routerLink]=\"button.href || null\"\n [ngClass]=\"button.buttonDisplayClasses\"\n [attr.disabled]=\"button.buttonDisabled === true || null\"\n [attr.aria-label]=\"accessibleButtonContent\"\n [attr.title]=\"accessibleButtonContent\"\n role=\"button\">\n <div class=\"button-content\">\n <ui-icon *ngIf=\"button.buttonIcon && button.buttonIconPlacement !== 'none'\" [icon_name]=\"button.buttonIcon\" [icon_size]=\"button.buttonSize\" [icon_class]=\"'buttonIcon'\" [icon_context]=\"button.buttonIconPlacement\"></ui-icon>\n <span class=\"ui-text\" [ngClass]=\"{'visuallyhidden': button.buttonIconPlacement === 'iconOnly'}\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"button-overlay\"></div>\n <div class=\"button-overlay-focus\"></div>\n</button>\n","import { OnInit, ViewEncapsulation } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { Component} from '@angular/core';\n\ninterface BreadcrumbsItem{\n href: string;\n name: string;\n}\n@Component({\n selector:'ui-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class BreadcrumbsComponent implements OnInit {\n\n @Input() breadcrumbs_values: string | BreadcrumbsItem[];\n values: BreadcrumbsItem[];\n constructor() { }\n\n ngOnInit(): void {\n if(typeof this.breadcrumbs_values === 'string'){\n this.values = JSON.parse(this.breadcrumbs_values)??[];\n }else{\n this.values = this.breadcrumbs_values;\n }\n\n }\n\n}\n\n","<ui-box box_fill_mode=\"fill\" box_space=\"near\" box_background=\"core-secondary\" *ngIf=\"values\">\n <nav aria-label=\"breadcrumbs\">\n <ui-stack stack_gap=\"none\" stack_direction=\"x\" stack_align=\"center\" stack_wrap=\"true\">\n <ng-container *ngFor=\"let item of values; let i = index\">\n <!-- Link followed by an icon -->\n <ui-box box_space=\"none\" box_background=\"none\" box_fill_mode=\"fit\">\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_wrap=\"false\" stack_gap=\"none\">\n <ui-button *ngIf=\"i<values.length-1\" button_size=\"small\" button_type=\"tertiary\" button_full_width=\"true\" href=\"{{item.href}}\"> \n <span #buttontext> {{item.name}} </span>\n </ui-button> \n <ui-icon *ngIf=\"i<values.length-1\" icon_name=\"chevron-right\" icon_size=\"small\" icon_class=\"buttonIcon\" aria-hidden=\"true\"></ui-icon>\n </ui-stack>\n </ui-box>\n <!-- Last link and current page -->\n <ui-button *ngIf=\"i===values.length-1\" button_size=\"small\" button_type=\"tertiary\" button_full_width=\"true\" href=\"{{item.href}}\" [attr.aria-current]=\"item.name\"> \n <span #buttontext> {{item.name}} </span>\n </ui-button> \n </ng-container>\n </ui-stack>\n </nav>\n</ui-box>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n declarations: [IconComponent],\n imports: [CommonModule],\n exports: [IconComponent],\n providers: [TokenService],\n})\nexport class OasysIconModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { OasysIconModule } from '../icon/icon.module';\nimport { OasysButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [OasysButtonComponent],\n imports: [CommonModule, RouterModule, OasysIconModule],\n exports: [OasysButtonComponent],\n})\nexport class OasysButtonModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { TokenService } from '../../../services/token.service';\nimport { LayoutContainerSizes } from '../Layout';\n@Component({\n selector:'ui-container',\n template: `\n <ui-box\n [box_space_right]=\"containerHorizontalSizes\"\n [box_space_left]=\"containerHorizontalSizes\"\n box_space_top=\"none\"\n box_space_bottom=\"none\"\n box_background=\"none\">\n\n <ng-content></ng-content>\n\n </ui-box>\n `,\n host: {\n '[class]' : 'containerLayoutClasses'\n },\n styleUrls: ['./container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutContainerComponent implements OnInit, OnChanges {\n @Input() container_fluid: boolean = false;\n @Input() container_gutter: boolean = true;\n prefix = 'ui-layout-container';\n containerLayoutClasses?: string[];\n\n containerGutterNameLarge: string;\n containerGutterNameSmall: string;\n containerHorizontalSizes: LayoutContainerSizes;\n\n constructor(private changes: ChangeDetectorRef, private tokenService: TokenService) {}\n\n ngOnChanges(): void {\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n\n if(this.container_gutter){\n\n\n this.containerGutterNameSmall = this.tokenService.getTokenValue('--semantic-spacing-container-gutter-box-name-small');\n this.containerGutterNameLarge = this.tokenService.getTokenValue('--semantic-spacing-container-gutter-box-name-large');\n\n this.containerHorizontalSizes = {\n desktop: this.containerGutterNameLarge,\n tablet: this.containerGutterNameLarge,\n mobile: this.containerGutterNameSmall\n }\n\n } else {\n this.containerHorizontalSizes = {\n desktop: 'none',\n tablet: 'none',\n mobile: 'none'\n }\n }\n\n this.containerLayoutClasses = [\n this.prefix,\n `${this.prefix}-${this.container_fluid ? 'fluid' : ''}`\n ]\n }\n\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveGridColumns } from '../Layout';\n\n@Component({\n selector:'ui-column',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'columnLayoutClasses'\n },\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutGridColumnComponent implements OnInit, OnChanges {\n didFirstInit: boolean = false;\n prefix = 'ui-layout-column';\n columnLayoutClasses?: string[];\n\n @Input() columns: ResponsiveGridColumns = 12;\n\n constructor(private changes: ChangeDetectorRef) {}\n\n getSizeClasses(columns?: ResponsiveGridColumns): string[] {\n\n if(!columns) {\n return [''];\n }\n\n if(typeof columns === 'object'){\n\n return Object.keys(columns).map((key) => {\n return `${this.prefix}-${key}-${columns[key]}`\n });\n\n }\n\n return [\n this.prefix,\n `${this.prefix}-col-${columns}`\n ];\n\n }\n\n ngOnChanges(): void {\n if(!this.didFirstInit){\n return;\n }\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n this.columnLayoutClasses = [\n this.prefix,\n this.getSizeClasses(this.columns)\n ].flat(10).filter(Boolean);\n this.didFirstInit = true;\n }\n\n}\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector:'ui-grid',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'gridLayoutClasses'\n },\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutGridComponent implements OnInit, OnChanges {\n didFirstInit: boolean = false;\n prefix = 'ui-layout-grid';\n gridLayoutClasses?: string[];\n\n @Input() grid_auto: boolean = false;\n @Input() grid_collapse_below: 'tablet' | 'laptop' | 'desktop' | 'none' = 'tablet';\n @Input() grid_gap: 'default' | 'none' = 'default';\n\n constructor(private changes: ChangeDetectorRef) {}\n\n ngOnChanges(): void {\n if(!this.didFirstInit){\n return;\n }\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n\n this.gridLayoutClasses = [\n this.prefix,\n `${this.prefix}-${this.grid_gap}`,\n `${this.prefix}-${this.grid_auto ? 'width-auto' : ''}`,\n `${this.prefix}-collapse-below-${this.grid_collapse_below}`,\n ]\n this.didFirstInit = true;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { LayoutBoxComponent } from './box/box.component';\nimport { LayoutContainerComponent } from './container/container.component';\nimport { LayoutGridColumnComponent } from './grid/grid-column.component';\nimport { LayoutGridComponent } from './grid/grid.component';\nimport { LayoutStackComponent } from './stack/stack.component';\n\n@NgModule({\n declarations: [\n LayoutBoxComponent,\n LayoutContainerComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutStackComponent,\n ],\n exports: [\n LayoutBoxComponent,\n LayoutContainerComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutStackComponent,\n ],\n providers: [TokenService],\n})\nexport class OasysLayoutModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OasysButtonModule } from '../button/button.module';\nimport { OasysIconModule } from '../icon/icon.module';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { BreadcrumbsComponent } from './breadcrumbs.component';\n\n@NgModule({\n declarations: [BreadcrumbsComponent],\n imports: [CommonModule, OasysButtonModule, OasysIconModule, OasysLayoutModule],\n exports: [BreadcrumbsComponent],\n})\nexport class OasysBreadcrumbModule {}\n","import { Component, ElementRef, HostListener, Input, OnInit, ViewChild } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { CardImageFormat } from './card';\n@Component({\n selector: 'ui-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss']\n})\nexport class CardComponent implements OnInit {\n // We need to know the label height so that we can adjust the parent stack placement\n @HostListener('window:resize', ['$event'])\n @ViewChild(\"imagelabel\", { static: false, read: ElementRef }) imageLabel: ElementRef;\n\n // Card top level variables\n @Input() card_link: string;\n\n // Card image variables\n @Input() label_text: string;\n @Input() image: string;\n @Input() alt_text: string;\n @Input() image_format: CardImageFormat;\n aspectRatio: string;\n\n // Card content variables\n @Input() small_title_left: string;\n @Input() small_sub_title_right: string;\n @Input() standard_content: string;\n @Input() bold_content: string;\n\n constructor(private tokenService: TokenService) { }\n\n ngOnInit(): void {\n this.aspectRatio = this.setImageAspectRatio(this.image_format);\n }\n\n /**\n * This function retrieves the appropriate design token value based on the passed imageFormat choice\n * \n * @param format - The format of the image e.g. square, portrait, landscape\n * @returns - string to be used as the aspect ratio\n */\n setImageAspectRatio(format: CardImageFormat): string {\n switch(format) {\n case 'square':\n return this.tokenService.getTokenValue('--component-card-aspect-ratio-square');\n case 'portrait':\n return this.tokenService.getTokenValue('--component-card-aspect-ratio-portrait');\n case 'landscape':\n return this.tokenService.getTokenValue('--component-card-aspect-ratio-landscape');\n default:\n return this.tokenService.getTokenValue('--component-card-aspect-ratio-portrait');\n }\n }\n}\n","<ng-template #content>\n <ui-box class=\"ui-card\" box_background=\"core-primary\" box_space=\"near\">\n <ui-stack stack_align=\"center\" stack_gap=\"none\"> \n <ui-box \n class=\"ui-card__image\"\n [ngStyle]=\"{'aspect-ratio': aspectRatio}\" \n box_background=\"transparent\" \n box_align_x=\"center\" \n box_space=\"none\">\n <img [src]=\"image\" [attr.alt]=\"alt_text\">\n </ui-box>\n <ui-stack stack_gap=\"tight\" [ngStyle]=\"{'margin-top': '-' + (imageLabel?.nativeElement?.offsetHeight/2) + 'px'}\">\n <ui-box\n #imagelabel \n *ngIf=\"label_text\"\n class=\"card__image-label center-content\" \n box_background=\"tint-highlight\" \n box_align_x=\"center\" \n box_align_y=\"center\"\n box_space_left=\"near\"\n box_space_right=\"near\"\n box_space_bottom=\"tight\"\n box_space_top=\"tight\">\n <h5>{{label_text}}</h5>\n </ui-box>\n <ui-box *ngIf=\"small_title_left || small_sub_title_right\" [box_space_top]=\"label_text ? 'none' : 'tight'\" box_space=\"none\" box_background=\"transparent\" > \n <ui-stack stack_direction=\"x\" stack_distribute=\"space-between\" stack_gap=\"tight\">\n <span class=\"text-body--supporting text-color--supporting\">{{small_title_left}}</span>\n <span class=\"text-body--supporting text-color--supporting\">{{small_sub_title_right}}</span>\n </ui-stack>\n </ui-box>\n <p *ngIf=\"standard_content\" class=\"text-label--default center-content\">{{standard_content}}</p>\n <p *ngIf=\"bold_content\" class=\"text-label--primary text-body--emphasis\">{{bold_content}}</p>\n </ui-stack> \n </ui-stack>\n </ui-box>\n</ng-template>\n\n<!-- Wrap the content in an <a> tag if the card is a link -->\n<a *ngIf=\"card_link\" [routerLink]=\"cardLink || null\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<!-- Display the content as normal if the card is not a link -->\n<ng-container *ngIf=\"!card_link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { CardComponent } from './card.component';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule, OasysLayoutModule],\n exports: [CardComponent],\n providers: [TokenService],\n})\nexport class OasysCardModule {}\n","import { Input, ViewEncapsulation } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { DividerType } from '../heading/heading';\n\n\n@Component({\n selector:'ui-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DividerComponent {\n @Input()\n divider_type: DividerType = 'secondary';\n\n getClass(): string{\n return this.divider_type==='secondary'? `ui-divider--type-${this.divider_type}`: `ui-divider--type-${this.divider_type}`;\n }\n}\n\n","<ui-box box_fill_mode=\"fill\" box_space=\"none\" box_background=\"core-secondary\" [ngClass]=\"getClass()\"></ui-box>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { DividerComponent } from './divider.component';\n\n@NgModule({\n declarations: [DividerComponent],\n imports: [CommonModule, OasysLayoutModule],\n exports: [DividerComponent],\n})\nexport class OasysDividerModule {}\n","import { Component, Input, OnInit, ViewEncapsulation, OnChanges, SimpleChanges, HostBinding } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { HeadingAlignment, HeadingGap, HeadingType } from './heading';\nimport { UIBoolean } from './heading';\n\n@Component({\n selector:'ui-heading',\n templateUrl: './heading.component.html',\n styleUrls: ['./heading.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OasysHeadingComponent implements OnInit {\n\n @Input()\n heading_type: HeadingType = 'primary';\n\n @Input()\n heading_on_dark: UIBoolean;\n\n @Input()\n heading_title: string;\n\n @Input()\n heading_seo_priority: boolean = false;\n\n @Input()\n heading_priority?: 1 | 2 | 3 | 4 | 5 | 6;\n\n @Input()\n heading_alignment_override?: HeadingAlignment;\n\n @Input()\n heading_subtitle?: string = '';\n\n @Input()\n heading_surtitle?: string = '';\n\n headingAlignment: HeadingAlignment;\n headingGap: HeadingGap;\n\n\n @HostBinding('class') get class() {\n return `\n ${this.heading_on_dark ? 'text-color--on-dark' : ''}\n ui-heading-alignment-${this.headingAlignment}\n `\n }\n\n constructor(private tokenService: TokenService) { }\n\n headingTypeIsFunctional(headingType: HeadingType): boolean {\n return (headingType||'').indexOf('functional') !== -1;\n }\n\n setupHeadingStackAlignment(headingType: HeadingType): void {\n if(this.heading_alignment_override) {\n this.headingAlignment = this.heading_alignment_override;\n return;\n }\n\n const alignment = this.tokenService.getTokenValue('--component-heading-alignment-default') as HeadingAlignment;\n const functionalAlignment = this.tokenService.getTokenValue('--component-heading-alignment-functional') as HeadingAlignment;\n\n this.headingAlignment = this.headingTypeIsFunctional(headingType) ? functionalAlignment : alignment;\n\n }\n\n setupHeadingStackGap(headingType: HeadingType): void {\n if(this.headingTypeIsFunctional(headingType)){\n this.headingGap = this.tokenService.getTokenValue('--component-heading-gap-functional') as HeadingGap;\n return;\n }\n\n if(this.heading_type === 'secondary') {\n this.headingGap = this.tokenService.getTokenValue('--component-heading-gap-secondary') as HeadingGap;\n return;\n }\n\n this.headingGap = this.tokenService.getTokenValue('--component-heading-gap-default') as HeadingGap;\n }\n\n ngOnInit(): void {\n this.setupHeadingStackAlignment(this.heading_type);\n this.setupHeadingStackGap(this.heading_type);\n this.heading_priority = this.heading_priority || this.heading_seo_priority ? 1 : 2;\n }\n\n}\n","<div>\n <ui-stack [stack_align]=\"headingAlignment\" [stack_gap]=\"headingGap\">\n\n <p *ngIf=\"heading_surtitle && heading_surtitle.length\" class=\"heading-surtitle text-body--supporting text-color--supporting\">\n {{heading_surtitle}}\n </p>\n\n <ng-template #content>\n <span\n class=\"heading-title\"\n [ngClass]=\"{\n 'text-heading': !headingTypeIsFunctional(heading_type),\n 'text-heading--functional': headingTypeIsFunctional(heading_type),\n\n 'text-heading--hero': heading_type === 'hero',\n 'text-heading--primary': heading_type === 'primary',\n 'text-heading--secondary': heading_type === 'secondary',\n 'text-heading--functional--primary': heading_type === 'functional-primary',\n 'text-heading--functional--secondary': heading_type === 'functional-secondary'\n }\"\n >{{heading_title}}</span>\n </ng-template>\n\n <h1 role=\"heading\" [attr.aria-level]=\"heading_priority\" class=\"seo-h1\" *ngIf=\"heading_seo_priority\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h1>\n <span role=\"heading\" [attr.aria-level]=\"heading_priority\" *ngIf=\"!heading_seo_priority\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n\n <p\n *ngIf=\"heading_subtitle && heading_subtitle.length\"\n class=\"heading-subtitle\"\n [ngClass]=\"{\n 'text-body--hero': heading_type === 'hero',\n 'text-body--default': heading_type !== 'hero'\n }\"\n >{{heading_subtitle}}</p>\n\n </ui-stack>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { OasysHeadingComponent } from './heading.component';\n\n@NgModule({\n declarations: [OasysHeadingComponent],\n imports: [CommonModule, OasysLayoutModule],\n exports: [OasysHeadingComponent],\n providers: [TokenService],\n})\nexport class OasysHeadingModule {}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { LayoutBackgrounds } from '../layout/Layout';\n\n@Component({\n selector: 'ui-hero',\n templateUrl: './hero.component.html',\n styleUrls: ['./hero.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeroComponent implements OnInit {\n\n // Style input variables\n @Input() min_container_height: number;\n @Input() image_left_desktop: boolean = false;\n @Input() image_top_mobile: boolean = true;\n @Input() background_colour: LayoutBackgrounds;\n\n // Content input variables\n @Input() heading_title: string;\n @Input() heading_subtitle: string;\n @Input() heading_surtitle: string;\n @Input() primary_cta_text: string;\n @Input() secondary_cta_text: string;\n @Input() image: string;\n @Input() alt_text: string;\n @Input() media_type: 'image' | 'video' = 'image';\n\n // Event input variables\n @Input() href_primary_cta: string = '';\n @Input() href_secondary_cta: string = '';\n\n // Design token variables\n heroCtaAlignment: string;\n backgroundIsDark: string;\n\n constructor(private tokenService: TokenService) { }\n\n ngOnInit(): void {\n this.heroCtaAlignment = this.tokenService.getTokenValue('--component-hero-actions-alignment');\n this.backgroundIsDark = this.tokenService.getTokenValue(`--component-hero-${this.background_colour}`);\n }\n\n}\n","<ui-box [box_background]=\"background_colour\" box_space=\"none\">\n <ui-grid [ngStyle]=\"{'min-height' : min_container_height ? min_container_height + 'px' : 'auto'}\" grid_gap=\"none\" grid_collapse_below=\"tablet\">\n <ui-column columns=\"5\" [ngClass]=\"{'image-left': image_left_desktop, 'image-top': image_top_mobile}\">\n <ui-box box_fill_mode=\"fill\" box_align_y=\"center\" box_background=\"transparent\" box_space=\"expanded\">\n <ui-stack stack_direction=\"y\" stack_align=\"center\" stack_distribute=\"center\" stack_gap=\"default\">\n <ui-heading\n heading_type=\"primary\"\n [heading_on_dark]=\"backgroundIsDark === 'on-dark' ? true : false\"\n [heading_title]=\"heading_title\"\n [heading_seo_priority]=\"true\"\n [heading_subtitle]=\"heading_subtitle\"\n [heading_surtitle]=\"heading_surtitle\">\n </ui-heading>\n <!-- TODO: replace with ui-button-group once built-->\n <ui-stack\n *ngIf=\"primary_cta_text\"\n class=\"cta-container\"\n stack_direction=\"x\"\n [stack_align]=\"heroCtaAlignment\"\n [stack_distribute]=\"heroCtaAlignment\"\n stack_wrap=\"true\"\n stack_gap=\"near\">\n <ui-button\n button_size=\"large\"\n [button_type]=\"backgroundIsDark === 'on-dark' ? 'primary-inverse' : 'primary'\"\n [href]=\"href_primary_cta\">\n <span #buttontext>{{primary_cta_text}}</span>\n </ui-button>\n <ui-button\n *ngIf=\"secondary_cta_text\"\n button-size=\"large\"\n [button_type]=\"backgroundIsDark === 'on-dark' ? 'secondary-inverse' : 'secondary'\"\n [href]=\"href_secondary_cta\">\n <span #buttontext>{{secondary_cta_text}}</span>\n </ui-button>\n </ui-stack>\n </ui-stack>\n </ui-box>\n </ui-column>\n <ui-column columns=\"7\">\n <picture *ngIf=\"media_type === 'image'\">\n <source [srcset]=\"image + '?w=880&h=880&fm=webp&q=75 1x,' + image + '?w=1760&h=1760&fm=webp&q=40 2x'\" media=\"(min-width: 1440px)\" type=\"image/webp\">\n <source [srcset]=\"image + '?w=720&h=720&fm=webp&q=75 1x,' + image + '?w=1440&h=1440&fm=webp&q=40 2x'\" media=\"(min-width: 1200px)\" type=\"image/webp\">\n <source [srcset]=\"image + '?w=580&h=580&fm=webp&q=75 1x,' + image + '?w=1160&h=1160&fm=webp&q=40 2x'\" media=\"(min-width: 992px)\" type=\"image/webp\">\n <source [srcset]=\"image + '?w=430&h=430&fm=webp&q=75 1x,' + image + '?w=860&h=860&fm=webp&q=40 2x'\" media=\"(min-width: 768px)\" type=\"image/webp\">\n <source [srcset]=\"image + '?w=720&h=720&fm=webp&q=40 2x'\" media=\"(min-width: 454px)\" type=\"image/webp\">\n <img [src]=\"image + '?w=430&h=430&fm=webp&q=75'\" [attr.alt]=\"alt_text\">\n </picture>\n <ng-content *ngIf=\"media_type === 'video'\"></ng-content>\n </ui-column>\n </ui-grid>\n</ui-box>\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { OasysButtonModule } from '../button/button.module';\nimport { OasysHeadingModule } from '../heading/heading.module';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { HeroComponent } from './hero.component';\n\n@NgModule({\n declarations: [HeroComponent],\n imports: [CommonModule, OasysButtonModule, OasysHeadingModule, OasysLayoutModule],\n exports: [HeroComponent],\n providers: [TokenService],\n})\nexport class OasysHeroModule {}\n","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TextTransform } from './text';\n\n@Component({\n selector:'ui-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextComponent implements OnInit {\n\n @Input() textAlign: 'left' | 'center' | 'right' = 'left';\n @Input() textWeight: 'normal' | 'medium' | 'bold' = 'normal';\n @Input() textTransform: TextTransform = 'none';\n\n uiTextClasses!: string;\n\n constructor() { }\n\n ngOnInit(): void {\n this.uiTextClasses = [\n `ui-text--align-${this.textAlign}`,\n `ui-text--weight-${this.textWeight}`,\n `ui-text--transform-${this.textTransform}`,\n ].join(' ');\n }\n\n}\n","<span class=\"ui-text\" [ngClass]=\"uiTextClasses\"><ng-content></ng-content></span>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TextComponent } from './text.component';\n\n@NgModule({\n declarations: [TextComponent],\n imports: [CommonModule],\n exports: [TextComponent],\n})\nexport class OasysTextModule {}\n","/*\n * Public API Surface of oasys-lib\n */\nexport * from './lib/components/breadcrumbs';\nexport * from './lib/components/button';\nexport * from './lib/components/card';\nexport * from './lib/components/divider';\nexport * from './lib/components/heading';\nexport * from './lib/components/hero';\nexport * from './lib/components/icon';\nexport * from './lib/components/layout';\nexport * from './lib/components/text';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Component","ViewEncapsulation","ChangeDetectionStrategy","Input","DOCUMENT","Injectable","Inject","i1.TokenService","i2","EventEmitter","i1.IconComponent","i3","ContentChild","Output","i1.LayoutBoxComponent","i2.LayoutStackComponent","i3.OasysButtonComponent","i4.IconComponent","i5","CommonModule","NgModule","RouterModule","i2.LayoutBoxComponent","ElementRef","i3.LayoutStackComponent","i4","HostListener","ViewChild","HostBinding","i3.LayoutGridComponent","i4.LayoutGridColumnComponent","i5.LayoutStackComponent","i6.OasysHeadingComponent","i7.OasysButtonComponent","i8","i1"],"mappings":"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"}
1
+ {"version":3,"file":"oasys-lib.umd.js","sources":["../../../projects/oasys-lib/src/lib/components/layout/box/box.component.ts","../../../projects/oasys-lib/src/lib/components/layout/stack/stack.component.ts","../../../projects/oasys-lib/src/lib/services/token.service.ts","../../../projects/oasys-lib/src/lib/components/icon/icon.component.ts","../../../projects/oasys-lib/src/lib/components/icon/icon.component.html","../../../projects/oasys-lib/src/lib/components/button/button.component.ts","../../../projects/oasys-lib/src/lib/components/button/button.component.html","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/oasys-lib/src/lib/components/icon/icon.module.ts","../../../projects/oasys-lib/src/lib/components/button/button.module.ts","../../../projects/oasys-lib/src/lib/components/layout/container/container.component.ts","../../../projects/oasys-lib/src/lib/components/layout/grid/grid-column.component.ts","../../../projects/oasys-lib/src/lib/components/layout/grid/grid.component.ts","../../../projects/oasys-lib/src/lib/components/layout/layout.module.ts","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.module.ts","../../../projects/oasys-lib/src/lib/components/card/card.component.ts","../../../projects/oasys-lib/src/lib/components/card/card.component.html","../../../projects/oasys-lib/src/lib/components/card/card.module.ts","../../../projects/oasys-lib/src/lib/components/divider/divider.component.ts","../../../projects/oasys-lib/src/lib/components/divider/divider.component.html","../../../projects/oasys-lib/src/lib/components/divider/divider.module.ts","../../../projects/oasys-lib/src/lib/components/heading/heading.component.ts","../../../projects/oasys-lib/src/lib/components/heading/heading.component.html","../../../projects/oasys-lib/src/lib/components/heading/heading.module.ts","../../../projects/oasys-lib/src/lib/components/hero/hero.component.ts","../../../projects/oasys-lib/src/lib/components/hero/hero.component.html","../../../projects/oasys-lib/src/lib/components/hero/hero.module.ts","../../../projects/oasys-lib/src/lib/components/text/text.component.ts","../../../projects/oasys-lib/src/lib/components/text/text.component.html","../../../projects/oasys-lib/src/lib/components/text/text.module.ts","../../../projects/oasys-lib/src/public-api.ts","../../../projects/oasys-lib/src/oasys-lib.ts"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { LayoutAlignment, LayoutBackgrounds, LayoutBoxSizes, LayoutFillModes } from '../Layout';\n\n@Component({\n selector:'ui-box',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'boxLayoutClasses'\n },\n styleUrls: ['./box.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutBoxComponent implements OnInit, OnChanges {\n didFirstInit: boolean = false;\n prefix = 'ui-layout-box';\n boxLayoutClasses?: string[];\n\n @Input() box_space?: LayoutBoxSizes = 'default';\n\n @Input() box_space_top?: LayoutBoxSizes;\n @Input() box_space_right?: LayoutBoxSizes;\n @Input() box_space_bottom?: LayoutBoxSizes;\n @Input() box_space_left?: LayoutBoxSizes;\n\n @Input() box_align_x?: LayoutAlignment = 'start';\n @Input() box_align_y?: LayoutAlignment = 'start';\n\n @Input() box_fill_mode?: LayoutFillModes = 'fill';\n\n @Input() box_background: LayoutBackgrounds = 'core-primary';\n\n constructor(private changes: ChangeDetectorRef) {}\n\n /**\n * Check the passed string to see if it contains JSON\n *\n * @param string\n * @returns - boolean\n */\n stringContainsJson(string: string):boolean {\n try {\n JSON.parse(string);\n } catch (e) {\n return false;\n }\n\n return true;\n }\n\n getSizeClasses(spaceInput?: LayoutBoxSizes, overrideName?: string): string[] {\n if(!spaceInput || spaceInput === undefined){\n return null;\n }\n\n // Used for responsive spacing, check if the input is either an object or JSON\n if(typeof spaceInput === 'object' || this.stringContainsJson(spaceInput)) {\n // If JSON then convert this to an object\n const spaceInputObject: LayoutBoxSizes = typeof spaceInput === 'object' ? spaceInput : JSON.parse(spaceInput)\n\n return Object.keys(spaceInputObject).map((key) => {\n return `${this.prefix}-${spaceInputObject[key]}-${key}${overrideName ? `-${overrideName}` : ``}`\n });\n\n }\n\n return [\n this.prefix,\n `${this.prefix}-${spaceInput}${overrideName ? `-${overrideName}` : ``}`\n ];\n\n }\n\n getOverrideClasses(spaceOverrides): string[] {\n const spaceTypes = ['top', 'right', 'bottom', 'left'];\n\n return spaceOverrides.map((item, index) => {\n return this.getSizeClasses(item, spaceTypes[index]);\n }).filter(Boolean);\n }\n\n getAlignmentClasses(alignmentOverride): string[] {\n const spaceTypes = ['align-x', 'distribute-y'];\n\n return alignmentOverride.map((item, index) => {\n return item ? `${this.prefix}-${spaceTypes[index]}-${item}` : undefined;\n }).filter(Boolean);\n }\n\n getBackgroundClass(): string {\n const value = this.box_background ? `${this.prefix}-background-${this.box_background}` : ``;\n return value;\n }\n\n ngOnChanges(): void {\n if(!this.didFirstInit){\n return;\n }\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n const spaceOverrides = [this.box_space_top, this.box_space_right, this.box_space_bottom, this.box_space_left];\n const alignmentOverride = [this.box_align_x, this.box_align_y];\n\n // Basic basic classes\n this.boxLayoutClasses = [\n this.getSizeClasses(this.box_space),\n this.getOverrideClasses(spaceOverrides),\n this.getAlignmentClasses(alignmentOverride),\n this.getBackgroundClass(),\n this.box_fill_mode === 'fit' ? `${this.prefix}-fit-content` : `${this.prefix}-fill-container`\n ].flat(10).filter(Boolean);\n\n this.didFirstInit = true;\n }\n\n}\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { LayoutDirections, LayoutAlignment, LayoutGapSizes, LayoutDistribute } from '../Layout';\n\n@Component({\n selector:'ui-stack',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'stackLayoutClasses'\n },\n styleUrls: ['./stack.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutStackComponent implements OnInit, OnChanges {\n didFirstInit: boolean = false;\n prefix = 'ui-layout-stack';\n stackLayoutClasses?: string[];\n\n @Input() stack_gap: LayoutGapSizes = 'default';\n @Input() stack_align: LayoutAlignment = 'start';\n @Input() stack_direction: LayoutDirections = 'y';\n @Input() stack_distribute?: LayoutDistribute = 'start';\n @Input() stack_wrap?: Boolean = false;\n\n constructor(private changes: ChangeDetectorRef) {}\n\n defaultDistribution(): LayoutDistribute {\n if(this.stack_distribute) {\n return this.stack_distribute;\n }\n\n return this.stack_direction === 'x' ? 'fit' : 'fill';\n }\n\n ngOnChanges(): void {\n if(!this.didFirstInit){\n return;\n }\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n this.stack_distribute = this.defaultDistribution();\n this.stackLayoutClasses = [\n this.prefix,\n `${this.prefix}-${this.stack_gap}`,\n `${this.prefix}-align-${this.stack_align}`,\n `${this.prefix}-distribute-${this.stack_distribute}`,\n `${this.prefix}-direction-${this.stack_direction}`,\n `${this.prefix}-${this.stack_wrap ? 'wrap' : 'no-wrap'}`,\n ]\n this.didFirstInit = true;\n }\n\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n@Injectable()\nexport class TokenService {\n\n brandCustomPropertyName: string = '--utility-brand-name';\n\n constructor(@Inject(DOCUMENT) private document: Document){}\n\n /*\n Get the brand name for the currently enable custom property set (ie. /bloomon/variables.css)\n Because variables are scoped via a selector (ie: ':root .bloomon {}')\n we cannot get brand-specific custom properties programatically\n\n Important: Ensure that the component requiring the brand name has locally scoped the custom property:\n | ui-icon {\n | --icon-component-brand: var(--utility-brand-name);\n | }\n */\n getBrandName(): string {\n return this.getTokenValue(this.brandCustomPropertyName);\n }\n\n getTokenValue(tokenName: string, element?: Element): string {\n const rootElement = element || this.document.querySelector('[class*=\"brand-tokens\"]');\n if(!rootElement) {\n return '';\n }\n return this.document.defaultView.getComputedStyle(rootElement)\n .getPropertyValue(tokenName)\n .trim() || '';\n }\n\n}","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { IconContext, IconNames } from './icon';\n\n@Component({\n selector:'ui-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IconComponent implements OnInit, OnChanges {\n @Input() icon_size: 'small'|'large' = 'large';\n @Input() icon_name!: IconNames;\n @Input() icon_context: IconContext = 'none';\n\n @Input() icon_width?: number;\n @Input() icon_height?: number;\n @Input() icon_class?: string;\n\n size?: string;\n iconBrandPath?: string;\n iconDisplayClasses: string[];\n\n constructor(@Inject(DOCUMENT) private document: Document, private tokenService: TokenService) { }\n\n convertRemToPixels(remString: string): number {\n const remNumber = parseFloat(remString.replace('rem', ''));\n return remNumber * parseFloat(getComputedStyle(this.document.documentElement).fontSize);\n }\n\n ngOnChanges(): void {\n this.ngOnInit();\n }\n\n ngOnInit(): void {\n this.iconBrandPath = `${this.tokenService.getBrandName()}`\n this.size = this.tokenService.getTokenValue(`--global-size-icon-${this.icon_size}`);\n\n this.iconDisplayClasses = [\n `icon-context-${this.icon_context}`,\n `icon-size-${this.icon_size}`\n ];\n\n const sizeInPixels = this.convertRemToPixels(this.size);\n this.icon_width = sizeInPixels;\n this.icon_height = sizeInPixels;\n }\n\n}\n","<div class=\"ui-icon\" [ngClass]=\"iconDisplayClasses\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"icon_width\" [attr.height]=\"icon_height\" [attr.class]=\"icon_class\">\n <use attr.xlink:href=\"./{{iconBrandPath}}/assets/icons/icons.svg#icon-{{icon_name}}\"></use>\n </svg>\n</div>\n","import { Component, Input, OnInit, Output, ViewEncapsulation, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, ContentChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { IconNames, IconContext } from '../icon/icon';\nimport { TextTransform } from '../text/text';\nimport {\n // ButtonTypeOptions,\n UIButton,\n UIButtonBoolean,\n UIButtonSize,\n UIButtonType\n} from './button';\n\n@Component({\n selector:'ui-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OasysButtonComponent implements OnInit, OnChanges, AfterViewInit {\n\n button: UIButton;\n\n // // Button Content\n @Input() button_icon?: IconNames;\n @Input() button_icon_placement: IconContext = 'leading';\n\n @ContentChild('buttontext') ngContent: ElementRef;\n\n // Button Stylings\n @Input() button_size: UIButtonSize = 'large';\n\n @Input() button_full_width: UIButtonBoolean = false;\n @Input() button_type: UIButtonType = 'primary';\n @Input() button_disabled: UIButtonBoolean = false;\n\n // Button Actions\n @Input() href: string = '';\n @Output() clicked: EventEmitter<void> = new EventEmitter();\n\n buttonDisplayClasses: string[];\n iconContext: IconContext = 'none';\n textTransform!: TextTransform;\n accessibleButtonContent: string;\n outlineButtonTypes = ['secondary', 'secondary-inverse']\n\n constructor(private changes: ChangeDetectorRef) {}\n\n onClick(): void {\n this.clicked.emit();\n }\n\n createButton(): UIButton {\n\n return <UIButton>{\n buttonIcon: this.button_icon,\n buttonIconPlacement: this.button_icon_placement,\n buttonType: this.button_type,\n buttonSize: this.button_size,\n buttonDisabled: this.button_disabled,\n href: this.href,\n target: '',\n buttonDisplayClasses: [\n `type-${this.button_type}`,\n `size-${this.button_size}`,\n `${this.button_icon ? 'button--has-icon': ''}`,\n `${this.button_full_width ? 'button--full-width': ''}`,\n `${this.button_icon ? 'button--icon--'+this.button_icon_placement : ''}`,\n `${this.outlineButtonTypes.indexOf(this.button_type) !== -1 ? 'button--outline' : ''}`\n ].filter((d) => !!d)\n };\n }\n\n ngAfterViewInit(): void {\n if(this.ngContent?.nativeElement?.innerText) {\n this.accessibleButtonContent = this.ngContent.nativeElement.innerText;\n } else {\n throw new Error(`\n No inner text found. All buttons should have text passed via ng-content to enable accessibility for screen readers, this includes icon-only buttons.\n\n Pass content using the template variable #buttontext eg:\n ui-button()\n span(#buttontext) Buy All The Things\n `)\n }\n }\n\n ngOnChanges(): void {\n this.button = this.createButton();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n this.button = this.createButton();\n }\n}\n","<button (click)=\"onClick()\"\n [routerLink]=\"button.href || null\"\n [ngClass]=\"button.buttonDisplayClasses\"\n [attr.disabled]=\"button.buttonDisabled === true || null\"\n [attr.aria-label]=\"accessibleButtonContent\"\n [attr.title]=\"accessibleButtonContent\"\n role=\"button\">\n <div class=\"button-content\">\n <ui-icon *ngIf=\"button.buttonIcon && button.buttonIconPlacement !== 'none'\" [icon_name]=\"button.buttonIcon\" [icon_size]=\"button.buttonSize\" [icon_class]=\"'buttonIcon'\" [icon_context]=\"button.buttonIconPlacement\"></ui-icon>\n <span class=\"ui-text\" [ngClass]=\"{'visuallyhidden': button.buttonIconPlacement === 'iconOnly'}\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"button-overlay\"></div>\n <div class=\"button-overlay-focus\"></div>\n</button>\n","import { OnInit, ViewEncapsulation } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { Component} from '@angular/core';\n\ninterface BreadcrumbsItem{\n href: string;\n name: string;\n}\n@Component({\n selector:'ui-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class BreadcrumbsComponent implements OnInit {\n\n @Input() breadcrumbs_values: string | BreadcrumbsItem[];\n values: BreadcrumbsItem[];\n constructor() { }\n\n ngOnInit(): void {\n if(typeof this.breadcrumbs_values === 'string'){\n this.values = JSON.parse(this.breadcrumbs_values)??[];\n }else{\n this.values = this.breadcrumbs_values;\n }\n\n }\n\n}\n\n","<ui-box box_fill_mode=\"fill\" box_space=\"near\" box_background=\"core-secondary\" *ngIf=\"values\">\n <nav aria-label=\"breadcrumbs\">\n <ui-stack stack_gap=\"none\" stack_direction=\"x\" stack_align=\"center\" stack_wrap=\"true\">\n <ng-container *ngFor=\"let item of values; let i = index\">\n <!-- Link followed by an icon -->\n <ui-box box_space=\"none\" box_background=\"none\" box_fill_mode=\"fit\">\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_wrap=\"false\" stack_gap=\"none\">\n <ui-button *ngIf=\"i<values.length-1\" button_size=\"small\" button_type=\"tertiary\" button_full_width=\"true\" href=\"{{item.href}}\"> \n <span #buttontext> {{item.name}} </span>\n </ui-button> \n <ui-icon *ngIf=\"i<values.length-1\" icon_name=\"chevron-right\" icon_size=\"small\" icon_class=\"buttonIcon\" aria-hidden=\"true\"></ui-icon>\n </ui-stack>\n </ui-box>\n <!-- Last link and current page -->\n <ui-button *ngIf=\"i===values.length-1\" button_size=\"small\" button_type=\"tertiary\" button_full_width=\"true\" href=\"{{item.href}}\" [attr.aria-current]=\"item.name\"> \n <span #buttontext> {{item.name}} </span>\n </ui-button> \n </ng-container>\n </ui-stack>\n </nav>\n</ui-box>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n declarations: [IconComponent],\n imports: [CommonModule],\n exports: [IconComponent],\n providers: [TokenService],\n})\nexport class OasysIconModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { OasysIconModule } from '../icon/icon.module';\nimport { OasysButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [OasysButtonComponent],\n imports: [CommonModule, RouterModule, OasysIconModule],\n exports: [OasysButtonComponent],\n})\nexport class OasysButtonModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { TokenService } from '../../../services/token.service';\nimport { LayoutContainerSizes } from '../Layout';\n@Component({\n selector:'ui-container',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n '[class]' : 'containerLayoutClasses'\n },\n styleUrls: ['./container.component.scss'],\n\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutContainerComponent implements OnInit, OnChanges {\n @Input() container_fluid: boolean = false;\n @Input() container_gutter: boolean = true;\n prefix = 'ui-layout-container';\n containerLayoutClasses?: string[];\n\n containerGutterNameLarge: string;\n containerGutterNameSmall: string;\n containerHorizontalSizes: LayoutContainerSizes;\n\n constructor(private changes: ChangeDetectorRef) { }\n\n ngOnChanges(): void {\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n this.containerLayoutClasses = [\n this.prefix,\n this.container_fluid ? `${this.prefix}-fluid` : '',\n this.container_gutter ? '' : `${this.prefix}-no-gutter`\n ].flat(10).filter(Boolean);\n }\n\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveGridColumns } from '../Layout';\n\n@Component({\n selector:'ui-column',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'columnLayoutClasses'\n },\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutGridColumnComponent implements OnInit, OnChanges {\n didFirstInit: boolean = false;\n prefix = 'ui-layout-column';\n columnLayoutClasses?: string[];\n\n @Input() columns: ResponsiveGridColumns = 12;\n\n constructor(private changes: ChangeDetectorRef) {}\n\n getSizeClasses(columns?: ResponsiveGridColumns): string[] {\n\n if(!columns) {\n return [''];\n }\n\n if(typeof columns === 'object'){\n\n return Object.keys(columns).map((key) => {\n return `${this.prefix}-${key}-${columns[key]}`\n });\n\n }\n\n return [\n this.prefix,\n `${this.prefix}-col-${columns}`\n ];\n\n }\n\n ngOnChanges(): void {\n if(!this.didFirstInit){\n return;\n }\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n this.columnLayoutClasses = [\n this.prefix,\n this.getSizeClasses(this.columns)\n ].flat(10).filter(Boolean);\n this.didFirstInit = true;\n }\n\n}\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector:'ui-grid',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'gridLayoutClasses'\n },\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutGridComponent implements OnInit, OnChanges {\n didFirstInit: boolean = false;\n prefix = 'ui-layout-grid';\n gridLayoutClasses?: string[];\n\n @Input() grid_auto: boolean = false;\n @Input() grid_collapse_below: 'tablet' | 'laptop' | 'desktop' | 'none' = 'tablet';\n @Input() grid_gap: 'default' | 'none' = 'default';\n\n constructor(private changes: ChangeDetectorRef) {}\n\n ngOnChanges(): void {\n if(!this.didFirstInit){\n return;\n }\n this.ngOnInit();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n\n this.gridLayoutClasses = [\n this.prefix,\n `${this.prefix}-${this.grid_gap}`,\n `${this.prefix}-${this.grid_auto ? 'width-auto' : ''}`,\n `${this.prefix}-collapse-below-${this.grid_collapse_below}`,\n ]\n this.didFirstInit = true;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { LayoutBoxComponent } from './box/box.component';\nimport { LayoutContainerComponent } from './container/container.component';\nimport { LayoutGridColumnComponent } from './grid/grid-column.component';\nimport { LayoutGridComponent } from './grid/grid.component';\nimport { LayoutStackComponent } from './stack/stack.component';\n\n@NgModule({\n declarations: [\n LayoutBoxComponent,\n LayoutContainerComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutStackComponent,\n ],\n exports: [\n LayoutBoxComponent,\n LayoutContainerComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutStackComponent,\n ],\n providers: [TokenService],\n})\nexport class OasysLayoutModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OasysButtonModule } from '../button/button.module';\nimport { OasysIconModule } from '../icon/icon.module';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { BreadcrumbsComponent } from './breadcrumbs.component';\n\n@NgModule({\n declarations: [BreadcrumbsComponent],\n imports: [CommonModule, OasysButtonModule, OasysIconModule, OasysLayoutModule],\n exports: [BreadcrumbsComponent],\n})\nexport class OasysBreadcrumbModule {}\n","import { Component, ElementRef, HostListener, Input, OnInit, ViewChild } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { CardImageFormat } from './card';\n@Component({\n selector: 'ui-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss']\n})\nexport class CardComponent implements OnInit {\n // We need to know the label height so that we can adjust the parent stack placement\n @HostListener('window:resize', ['$event'])\n @ViewChild(\"imagelabel\", { static: false, read: ElementRef }) imageLabel: ElementRef;\n\n // Card top level variables\n @Input() card_link: string;\n\n // Card image variables\n @Input() label_text: string;\n @Input() image: string;\n @Input() alt_text: string;\n @Input() image_format: CardImageFormat;\n aspectRatio: string;\n\n // Card content variables\n @Input() small_title_left: string;\n @Input() small_sub_title_right: string;\n @Input() standard_content: string;\n @Input() bold_content: string;\n\n constructor(private tokenService: TokenService) { }\n\n ngOnInit(): void {\n this.aspectRatio = this.setImageAspectRatio(this.image_format);\n }\n\n /**\n * This function retrieves the appropriate design token value based on the passed imageFormat choice\n * \n * @param format - The format of the image e.g. square, portrait, landscape\n * @returns - string to be used as the aspect ratio\n */\n setImageAspectRatio(format: CardImageFormat): string {\n switch(format) {\n case 'square':\n return this.tokenService.getTokenValue('--component-card-aspect-ratio-square');\n case 'portrait':\n return this.tokenService.getTokenValue('--component-card-aspect-ratio-portrait');\n case 'landscape':\n return this.tokenService.getTokenValue('--component-card-aspect-ratio-landscape');\n default:\n return this.tokenService.getTokenValue('--component-card-aspect-ratio-portrait');\n }\n }\n}\n","<ng-template #content>\n <ui-box class=\"ui-card\" box_background=\"core-primary\" box_space=\"near\">\n <ui-stack stack_align=\"center\" stack_gap=\"none\"> \n <ui-box \n class=\"ui-card__image\"\n [ngStyle]=\"{'aspect-ratio': aspectRatio}\" \n box_background=\"transparent\" \n box_align_x=\"center\" \n box_space=\"none\">\n <img [src]=\"image\" [attr.alt]=\"alt_text\">\n </ui-box>\n <ui-stack stack_gap=\"tight\" [ngStyle]=\"{'margin-top': '-' + (imageLabel?.nativeElement?.offsetHeight/2) + 'px'}\">\n <ui-box\n #imagelabel \n *ngIf=\"label_text\"\n class=\"card__image-label center-content\" \n box_background=\"tint-highlight\" \n box_align_x=\"center\" \n box_align_y=\"center\"\n box_space_left=\"near\"\n box_space_right=\"near\"\n box_space_bottom=\"tight\"\n box_space_top=\"tight\">\n <h5>{{label_text}}</h5>\n </ui-box>\n <ui-box *ngIf=\"small_title_left || small_sub_title_right\" [box_space_top]=\"label_text ? 'none' : 'tight'\" box_space=\"none\" box_background=\"transparent\" > \n <ui-stack stack_direction=\"x\" stack_distribute=\"space-between\" stack_gap=\"tight\">\n <span class=\"text-body--supporting text-color--supporting\">{{small_title_left}}</span>\n <span class=\"text-body--supporting text-color--supporting\">{{small_sub_title_right}}</span>\n </ui-stack>\n </ui-box>\n <p *ngIf=\"standard_content\" class=\"text-label--default center-content\">{{standard_content}}</p>\n <p *ngIf=\"bold_content\" class=\"text-label--primary text-body--emphasis\">{{bold_content}}</p>\n </ui-stack> \n </ui-stack>\n </ui-box>\n</ng-template>\n\n<!-- Wrap the content in an <a> tag if the card is a link -->\n<a *ngIf=\"card_link\" [routerLink]=\"cardLink || null\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<!-- Display the content as normal if the card is not a link -->\n<ng-container *ngIf=\"!card_link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { CardComponent } from './card.component';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule, OasysLayoutModule],\n exports: [CardComponent],\n providers: [TokenService],\n})\nexport class OasysCardModule {}\n","import { Input, ViewEncapsulation } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { DividerType } from '../heading/heading';\n\n\n@Component({\n selector:'ui-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DividerComponent {\n @Input()\n divider_type: DividerType = 'secondary';\n\n getClass(): string{\n return this.divider_type==='secondary'? `ui-divider--type-${this.divider_type}`: `ui-divider--type-${this.divider_type}`;\n }\n}\n\n","<ui-box box_fill_mode=\"fill\" box_space=\"none\" box_background=\"core-secondary\" [ngClass]=\"getClass()\"></ui-box>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { DividerComponent } from './divider.component';\n\n@NgModule({\n declarations: [DividerComponent],\n imports: [CommonModule, OasysLayoutModule],\n exports: [DividerComponent],\n})\nexport class OasysDividerModule {}\n","import { Component, Input, OnInit, ViewEncapsulation, OnChanges, SimpleChanges, HostBinding } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { HeadingAlignment, HeadingGap, HeadingType } from './heading';\nimport { UIBoolean } from './heading';\n\n@Component({\n selector:'ui-heading',\n templateUrl: './heading.component.html',\n styleUrls: ['./heading.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OasysHeadingComponent implements OnInit {\n\n @Input()\n heading_type: HeadingType = 'primary';\n\n @Input()\n heading_on_dark: UIBoolean;\n\n @Input()\n heading_title: string;\n\n @Input()\n heading_seo_priority: boolean = false;\n\n @Input()\n heading_priority?: 1 | 2 | 3 | 4 | 5 | 6;\n\n @Input()\n heading_alignment_override?: HeadingAlignment;\n\n @Input()\n heading_subtitle?: string = '';\n\n @Input()\n heading_surtitle?: string = '';\n\n headingAlignment: HeadingAlignment;\n headingGap: HeadingGap;\n\n\n @HostBinding('class') get class() {\n return `\n ${this.heading_on_dark ? 'text-color--on-dark' : ''}\n ui-heading-alignment-${this.headingAlignment}\n `\n }\n\n constructor(private tokenService: TokenService) { }\n\n headingTypeIsFunctional(headingType: HeadingType): boolean {\n return (headingType||'').indexOf('functional') !== -1;\n }\n\n setupHeadingStackAlignment(headingType: HeadingType): void {\n if(this.heading_alignment_override) {\n this.headingAlignment = this.heading_alignment_override;\n return;\n }\n\n const alignment = this.tokenService.getTokenValue('--component-heading-alignment-default') as HeadingAlignment;\n const functionalAlignment = this.tokenService.getTokenValue('--component-heading-alignment-functional') as HeadingAlignment;\n\n this.headingAlignment = this.headingTypeIsFunctional(headingType) ? functionalAlignment : alignment;\n\n }\n\n setupHeadingStackGap(headingType: HeadingType): void {\n if(this.headingTypeIsFunctional(headingType)){\n this.headingGap = this.tokenService.getTokenValue('--component-heading-gap-functional') as HeadingGap;\n return;\n }\n\n if(this.heading_type === 'secondary') {\n this.headingGap = this.tokenService.getTokenValue('--component-heading-gap-secondary') as HeadingGap;\n return;\n }\n\n this.headingGap = this.tokenService.getTokenValue('--component-heading-gap-default') as HeadingGap;\n }\n\n ngOnInit(): void {\n this.setupHeadingStackAlignment(this.heading_type);\n this.setupHeadingStackGap(this.heading_type);\n this.heading_priority = this.heading_priority || this.heading_seo_priority ? 1 : 2;\n }\n\n}\n","<div>\n <ui-stack [stack_align]=\"headingAlignment\" [stack_gap]=\"headingGap\">\n\n <p *ngIf=\"heading_surtitle && heading_surtitle.length\" class=\"heading-surtitle text-body--supporting text-color--supporting\">\n {{heading_surtitle}}\n </p>\n\n <ng-template #content>\n <span\n class=\"heading-title\"\n [ngClass]=\"{\n 'text-heading': !headingTypeIsFunctional(heading_type),\n 'text-heading--functional': headingTypeIsFunctional(heading_type),\n\n 'text-heading--hero': heading_type === 'hero',\n 'text-heading--primary': heading_type === 'primary',\n 'text-heading--secondary': heading_type === 'secondary',\n 'text-heading--functional--primary': heading_type === 'functional-primary',\n 'text-heading--functional--secondary': heading_type === 'functional-secondary'\n }\"\n >{{heading_title}}</span>\n </ng-template>\n\n <h1 role=\"heading\" [attr.aria-level]=\"heading_priority\" class=\"seo-h1\" *ngIf=\"heading_seo_priority\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h1>\n <span role=\"heading\" [attr.aria-level]=\"heading_priority\" *ngIf=\"!heading_seo_priority\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n\n <p\n *ngIf=\"heading_subtitle && heading_subtitle.length\"\n class=\"heading-subtitle\"\n [ngClass]=\"{\n 'text-body--hero': heading_type === 'hero',\n 'text-body--default': heading_type !== 'hero'\n }\"\n >{{heading_subtitle}}</p>\n\n </ui-stack>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { OasysHeadingComponent } from './heading.component';\n\n@NgModule({\n declarations: [OasysHeadingComponent],\n imports: [CommonModule, OasysLayoutModule],\n exports: [OasysHeadingComponent],\n providers: [TokenService],\n})\nexport class OasysHeadingModule {}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { LayoutBackgrounds } from '../layout/Layout';\n\n@Component({\n selector: 'ui-hero',\n templateUrl: './hero.component.html',\n styleUrls: ['./hero.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeroComponent implements OnInit {\n\n // Style input variables\n @Input() min_container_height: number;\n @Input() image_left_desktop: boolean = false;\n @Input() image_top_mobile: boolean = true;\n @Input() background_colour: LayoutBackgrounds;\n\n // Content input variables\n @Input() heading_title: string;\n @Input() heading_subtitle: string;\n @Input() heading_surtitle: string;\n @Input() primary_cta_text: string;\n @Input() secondary_cta_text: string;\n @Input() image: string;\n @Input() alt_text: string;\n @Input() media_type: 'image' | 'video' = 'image';\n\n // Event input variables\n @Input() href_primary_cta: string = '';\n @Input() href_secondary_cta: string = '';\n\n // Design token variables\n heroCtaAlignment: string;\n backgroundIsDark: string;\n\n constructor(private tokenService: TokenService) { }\n\n ngOnInit(): void {\n this.heroCtaAlignment = this.tokenService.getTokenValue('--component-hero-actions-alignment');\n this.backgroundIsDark = this.tokenService.getTokenValue(`--component-hero-${this.background_colour}`);\n }\n\n}\n","<ui-box [box_background]=\"background_colour\" box_space=\"none\">\n <ui-grid [ngStyle]=\"{'min-height' : min_container_height ? min_container_height + 'px' : 'auto'}\" grid_gap=\"none\" grid_collapse_below=\"tablet\">\n <ui-column columns=\"5\" [ngClass]=\"{'image-left': image_left_desktop, 'image-top': image_top_mobile}\">\n <ui-box box_fill_mode=\"fill\" box_align_y=\"center\" box_background=\"transparent\" box_space=\"expanded\">\n <ui-stack stack_direction=\"y\" stack_align=\"center\" stack_distribute=\"center\" stack_gap=\"default\">\n <ui-heading\n heading_type=\"primary\"\n [heading_on_dark]=\"backgroundIsDark === 'on-dark' ? true : false\"\n [heading_title]=\"heading_title\"\n [heading_seo_priority]=\"true\"\n [heading_subtitle]=\"heading_subtitle\"\n [heading_surtitle]=\"heading_surtitle\">\n </ui-heading>\n <!-- TODO: replace with ui-button-group once built-->\n <ui-stack\n *ngIf=\"primary_cta_text\"\n class=\"cta-container\"\n stack_direction=\"x\"\n [stack_align]=\"heroCtaAlignment\"\n [stack_distribute]=\"heroCtaAlignment\"\n stack_wrap=\"true\"\n stack_gap=\"near\">\n <ui-button\n button_size=\"large\"\n [button_type]=\"backgroundIsDark === 'on-dark' ? 'primary-inverse' : 'primary'\"\n [href]=\"href_primary_cta\">\n <span #buttontext>{{primary_cta_text}}</span>\n </ui-button>\n <ui-button\n *ngIf=\"secondary_cta_text\"\n button-size=\"large\"\n [button_type]=\"backgroundIsDark === 'on-dark' ? 'secondary-inverse' : 'secondary'\"\n [href]=\"href_secondary_cta\">\n <span #buttontext>{{secondary_cta_text}}</span>\n </ui-button>\n </ui-stack>\n </ui-stack>\n </ui-box>\n </ui-column>\n <ui-column columns=\"7\">\n <picture *ngIf=\"media_type === 'image'\">\n <source [srcset]=\"image + '?w=880&h=880&fm=webp&q=75 1x,' + image + '?w=1760&h=1760&fm=webp&q=40 2x'\" media=\"(min-width: 1440px)\" type=\"image/webp\">\n <source [srcset]=\"image + '?w=720&h=720&fm=webp&q=75 1x,' + image + '?w=1440&h=1440&fm=webp&q=40 2x'\" media=\"(min-width: 1200px)\" type=\"image/webp\">\n <source [srcset]=\"image + '?w=580&h=580&fm=webp&q=75 1x,' + image + '?w=1160&h=1160&fm=webp&q=40 2x'\" media=\"(min-width: 992px)\" type=\"image/webp\">\n <source [srcset]=\"image + '?w=430&h=430&fm=webp&q=75 1x,' + image + '?w=860&h=860&fm=webp&q=40 2x'\" media=\"(min-width: 768px)\" type=\"image/webp\">\n <source [srcset]=\"image + '?w=720&h=720&fm=webp&q=40 2x'\" media=\"(min-width: 454px)\" type=\"image/webp\">\n <img [src]=\"image + '?w=430&h=430&fm=webp&q=75'\" [attr.alt]=\"alt_text\">\n </picture>\n <ng-content *ngIf=\"media_type === 'video'\"></ng-content>\n </ui-column>\n </ui-grid>\n</ui-box>\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { OasysButtonModule } from '../button/button.module';\nimport { OasysHeadingModule } from '../heading/heading.module';\nimport { OasysLayoutModule } from '../layout/layout.module';\nimport { HeroComponent } from './hero.component';\n\n@NgModule({\n declarations: [HeroComponent],\n imports: [CommonModule, OasysButtonModule, OasysHeadingModule, OasysLayoutModule],\n exports: [HeroComponent],\n providers: [TokenService],\n})\nexport class OasysHeroModule {}\n","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TextTransform } from './text';\n\n@Component({\n selector:'ui-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextComponent implements OnInit {\n\n @Input() textAlign: 'left' | 'center' | 'right' = 'left';\n @Input() textWeight: 'normal' | 'medium' | 'bold' = 'normal';\n @Input() textTransform: TextTransform = 'none';\n\n uiTextClasses!: string;\n\n constructor() { }\n\n ngOnInit(): void {\n this.uiTextClasses = [\n `ui-text--align-${this.textAlign}`,\n `ui-text--weight-${this.textWeight}`,\n `ui-text--transform-${this.textTransform}`,\n ].join(' ');\n }\n\n}\n","<span class=\"ui-text\" [ngClass]=\"uiTextClasses\"><ng-content></ng-content></span>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TextComponent } from './text.component';\n\n@NgModule({\n declarations: [TextComponent],\n imports: [CommonModule],\n exports: [TextComponent],\n})\nexport class OasysTextModule {}\n","/*\n * Public API Surface of oasys-lib\n */\nexport * from './lib/components/breadcrumbs';\nexport * from './lib/components/button';\nexport * from './lib/components/card';\nexport * from './lib/components/divider';\nexport * from './lib/components/heading';\nexport * from './lib/components/hero';\nexport * from './lib/components/icon';\nexport * from './lib/components/layout';\nexport * from './lib/components/text';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Component","ViewEncapsulation","ChangeDetectionStrategy","Input","DOCUMENT","Injectable","Inject","i1.TokenService","i2","EventEmitter","i1.IconComponent","i3","ContentChild","Output","i1.LayoutBoxComponent","i2.LayoutStackComponent","i3.OasysButtonComponent","i4.IconComponent","i5","CommonModule","NgModule","RouterModule","ElementRef","i2.LayoutBoxComponent","i3.LayoutStackComponent","i4","HostListener","ViewChild","HostBinding","i3.LayoutGridComponent","i4.LayoutGridColumnComponent","i5.LayoutStackComponent","i6.OasysHeadingComponent","i7.OasysButtonComponent","i8","i1"],"mappings":"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"}
@@ -32,7 +32,7 @@ export class LayoutBoxComponent {
32
32
  if (!spaceInput || spaceInput === undefined) {
33
33
  return null;
34
34
  }
35
- // Used for responsive spacing, check if the input is either an object or JSON
35
+ // Used for responsive spacing, check if the input is either an object or JSON
36
36
  if (typeof spaceInput === 'object' || this.stringContainsJson(spaceInput)) {
37
37
  // If JSON then convert this to an object
38
38
  const spaceInputObject = typeof spaceInput === 'object' ? spaceInput : JSON.parse(spaceInput);
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
115
115
  }], box_background: [{
116
116
  type: Input
117
117
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2JveC9ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBd0MsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQWF6QyxNQUFNLE9BQU8sa0JBQWtCO0lBbUI3QixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQWxCOUMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUdoQixjQUFTLEdBQW9CLFNBQVMsQ0FBQztRQU92QyxnQkFBVyxHQUFxQixPQUFPLENBQUM7UUFDeEMsZ0JBQVcsR0FBcUIsT0FBTyxDQUFDO1FBRXhDLGtCQUFhLEdBQXFCLE1BQU0sQ0FBQztRQUV6QyxtQkFBYyxHQUFzQixjQUFjLENBQUM7SUFFWCxDQUFDO0lBRWxEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsTUFBYztRQUMvQixJQUFJO1lBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBMkIsRUFBRSxZQUFxQjtRQUMvRCxJQUFHLENBQUMsVUFBVSxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUM7WUFDekMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELCtFQUErRTtRQUMvRSxJQUFHLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDeEUseUNBQXlDO1lBQ3pDLE1BQU0sZ0JBQWdCLEdBQW1CLE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBRTdHLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMvQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQTtZQUNsRyxDQUFDLENBQUMsQ0FBQztTQUVKO1FBRUQsT0FBTztZQUNMLElBQUksQ0FBQyxNQUFNO1lBQ1gsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLFVBQVUsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtTQUN4RSxDQUFDO0lBRUosQ0FBQztJQUVELGtCQUFrQixDQUFDLGNBQWM7UUFDL0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RCxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDeEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELG1CQUFtQixDQUFDLGlCQUFpQjtRQUNuQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUUvQyxPQUFPLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMzQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sZUFBZSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1RixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUM7WUFDcEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlHLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvRCxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHO1lBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQztZQUMzQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLGlCQUFpQjtTQUM5RixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7Z0hBdkdVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLG9hQVJuQiwyQkFBMkI7NEZBUTFCLGtCQUFrQjtrQkFWOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUMsUUFBUTtvQkFDakIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRyxrQkFBa0I7cUJBQy9CO29CQUNELFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNuQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3dHQU1VLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXlvdXRBbGlnbm1lbnQsIExheW91dEJhY2tncm91bmRzLCBMYXlvdXRCb3hTaXplcywgTGF5b3V0RmlsbE1vZGVzIH0gZnJvbSAnLi4vTGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOid1aS1ib3gnLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nIDogJ2JveExheW91dENsYXNzZXMnXG4gIH0sXG4gIHN0eWxlVXJsczogWycuL2JveC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRCb3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGRpZEZpcnN0SW5pdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmVmaXggPSAndWktbGF5b3V0LWJveCc7XG4gIGJveExheW91dENsYXNzZXM/OiBzdHJpbmdbXTtcblxuICBASW5wdXQoKSBib3hfc3BhY2U/OiBMYXlvdXRCb3hTaXplcyA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKSBib3hfc3BhY2VfdG9wPzogTGF5b3V0Qm94U2l6ZXM7XG4gIEBJbnB1dCgpIGJveF9zcGFjZV9yaWdodD86IExheW91dEJveFNpemVzO1xuICBASW5wdXQoKSBib3hfc3BhY2VfYm90dG9tPzogTGF5b3V0Qm94U2l6ZXM7XG4gIEBJbnB1dCgpIGJveF9zcGFjZV9sZWZ0PzogTGF5b3V0Qm94U2l6ZXM7XG5cbiAgQElucHV0KCkgYm94X2FsaWduX3g/OiBMYXlvdXRBbGlnbm1lbnQgPSAnc3RhcnQnO1xuICBASW5wdXQoKSBib3hfYWxpZ25feT86IExheW91dEFsaWdubWVudCA9ICdzdGFydCc7XG5cbiAgQElucHV0KCkgYm94X2ZpbGxfbW9kZT86IExheW91dEZpbGxNb2RlcyA9ICdmaWxsJztcblxuICBASW5wdXQoKSBib3hfYmFja2dyb3VuZDogTGF5b3V0QmFja2dyb3VuZHMgPSAnY29yZS1wcmltYXJ5JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZXM6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgcGFzc2VkIHN0cmluZyB0byBzZWUgaWYgaXQgY29udGFpbnMgSlNPTlxuICAgKiBcbiAgICogQHBhcmFtIHN0cmluZyBcbiAgICogQHJldHVybnMgLSBib29sZWFuXG4gICAqL1xuICBzdHJpbmdDb250YWluc0pzb24oc3RyaW5nOiBzdHJpbmcpOmJvb2xlYW4ge1xuICAgIHRyeSB7IFxuICAgICAgSlNPTi5wYXJzZShzdHJpbmcpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0U2l6ZUNsYXNzZXMoc3BhY2VJbnB1dD86IExheW91dEJveFNpemVzLCBvdmVycmlkZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgaWYoIXNwYWNlSW5wdXQgfHwgc3BhY2VJbnB1dCA9PT0gdW5kZWZpbmVkKXtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFVzZWQgZm9yIHJlc3BvbnNpdmUgc3BhY2luZywgY2hlY2sgaWYgdGhlIGlucHV0IGlzIGVpdGhlciBhbiBvYmplY3Qgb3IgSlNPTiBcbiAgICBpZih0eXBlb2Ygc3BhY2VJbnB1dCA9PT0gJ29iamVjdCcgfHwgdGhpcy5zdHJpbmdDb250YWluc0pzb24oc3BhY2VJbnB1dCkpIHtcbiAgICAgIC8vIElmIEpTT04gdGhlbiBjb252ZXJ0IHRoaXMgdG8gYW4gb2JqZWN0XG4gICAgICBjb25zdCBzcGFjZUlucHV0T2JqZWN0OiBMYXlvdXRCb3hTaXplcyA9IHR5cGVvZiBzcGFjZUlucHV0ID09PSAnb2JqZWN0JyA/IHNwYWNlSW5wdXQgOiBKU09OLnBhcnNlKHNwYWNlSW5wdXQpXG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhzcGFjZUlucHV0T2JqZWN0KS5tYXAoKGtleSkgPT4ge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5wcmVmaXh9LSR7c3BhY2VJbnB1dE9iamVjdFtrZXldfS0ke2tleX0ke292ZXJyaWRlTmFtZSA/IGAtJHtvdmVycmlkZU5hbWV9YCA6IGBgfWBcbiAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMucHJlZml4LFxuICAgICAgYCR7dGhpcy5wcmVmaXh9LSR7c3BhY2VJbnB1dH0ke292ZXJyaWRlTmFtZSA/IGAtJHtvdmVycmlkZU5hbWV9YCA6IGBgfWBcbiAgICBdO1xuXG4gIH1cblxuICBnZXRPdmVycmlkZUNsYXNzZXMoc3BhY2VPdmVycmlkZXMpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc3BhY2VUeXBlcyA9IFsndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J107XG5cbiAgICByZXR1cm4gc3BhY2VPdmVycmlkZXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2l6ZUNsYXNzZXMoaXRlbSwgc3BhY2VUeXBlc1tpbmRleF0pO1xuICAgIH0pLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIGdldEFsaWdubWVudENsYXNzZXMoYWxpZ25tZW50T3ZlcnJpZGUpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc3BhY2VUeXBlcyA9IFsnYWxpZ24teCcsICdkaXN0cmlidXRlLXknXTtcblxuICAgIHJldHVybiBhbGlnbm1lbnRPdmVycmlkZS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gaXRlbSA/IGAke3RoaXMucHJlZml4fS0ke3NwYWNlVHlwZXNbaW5kZXhdfS0ke2l0ZW19YCA6IHVuZGVmaW5lZDtcbiAgICB9KS5maWx0ZXIoQm9vbGVhbik7XG4gIH1cblxuICBnZXRCYWNrZ3JvdW5kQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuYm94X2JhY2tncm91bmQgPyBgJHt0aGlzLnByZWZpeH0tYmFja2dyb3VuZC0ke3RoaXMuYm94X2JhY2tncm91bmR9YCA6IGBgO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLmRpZEZpcnN0SW5pdCl7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubmdPbkluaXQoKTtcbiAgICB0aGlzLmNoYW5nZXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzcGFjZU92ZXJyaWRlcyA9IFt0aGlzLmJveF9zcGFjZV90b3AsIHRoaXMuYm94X3NwYWNlX3JpZ2h0LCB0aGlzLmJveF9zcGFjZV9ib3R0b20sIHRoaXMuYm94X3NwYWNlX2xlZnRdO1xuICAgIGNvbnN0IGFsaWdubWVudE92ZXJyaWRlID0gW3RoaXMuYm94X2FsaWduX3gsIHRoaXMuYm94X2FsaWduX3ldO1xuXG4gICAgLy8gQmFzaWMgYmFzaWMgY2xhc3Nlc1xuICAgIHRoaXMuYm94TGF5b3V0Q2xhc3NlcyA9IFtcbiAgICAgIHRoaXMuZ2V0U2l6ZUNsYXNzZXModGhpcy5ib3hfc3BhY2UpLFxuICAgICAgdGhpcy5nZXRPdmVycmlkZUNsYXNzZXMoc3BhY2VPdmVycmlkZXMpLFxuICAgICAgdGhpcy5nZXRBbGlnbm1lbnRDbGFzc2VzKGFsaWdubWVudE92ZXJyaWRlKSxcbiAgICAgIHRoaXMuZ2V0QmFja2dyb3VuZENsYXNzKCksXG4gICAgICB0aGlzLmJveF9maWxsX21vZGUgPT09ICdmaXQnID8gYCR7dGhpcy5wcmVmaXh9LWZpdC1jb250ZW50YCA6IGAke3RoaXMucHJlZml4fS1maWxsLWNvbnRhaW5lcmBcbiAgICBdLmZsYXQoMTApLmZpbHRlcihCb29sZWFuKTtcblxuICAgIHRoaXMuZGlkRmlyc3RJbml0ID0gdHJ1ZTtcbiAgfVxuXG59XG5cbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2JveC9ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBd0MsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQWF6QyxNQUFNLE9BQU8sa0JBQWtCO0lBbUI3QixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQWxCOUMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUdoQixjQUFTLEdBQW9CLFNBQVMsQ0FBQztRQU92QyxnQkFBVyxHQUFxQixPQUFPLENBQUM7UUFDeEMsZ0JBQVcsR0FBcUIsT0FBTyxDQUFDO1FBRXhDLGtCQUFhLEdBQXFCLE1BQU0sQ0FBQztRQUV6QyxtQkFBYyxHQUFzQixjQUFjLENBQUM7SUFFWCxDQUFDO0lBRWxEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsTUFBYztRQUMvQixJQUFJO1lBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBMkIsRUFBRSxZQUFxQjtRQUMvRCxJQUFHLENBQUMsVUFBVSxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUM7WUFDekMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELDhFQUE4RTtRQUM5RSxJQUFHLE9BQU8sVUFBVSxLQUFL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Q0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQztZQUMzQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLGlCQUFpQjtTQUM5RixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7Z0hBdkdVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLG9hQVJuQiwyQkFBMkI7NEZBUTFCLGtCQUFrQjtrQkFWOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUMsUUFBUTtvQkFDakIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRyxrQkFBa0I7cUJBQy9CO29CQUNELFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNuQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3dHQU1VLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXlvdXRBbGlnbm1lbnQsIExheW91dEJhY2tncm91bmRzLCBMYXlvdXRCb3hTaXplcywgTGF5b3V0RmlsbE1vZGVzIH0gZnJvbSAnLi4vTGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOid1aS1ib3gnLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nIDogJ2JveExheW91dENsYXNzZXMnXG4gIH0sXG4gIHN0eWxlVXJsczogWycuL2JveC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRCb3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGRpZEZpcnN0SW5pdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmVmaXggPSAndWktbGF5b3V0LWJveCc7XG4gIGJveExheW91dENsYXNzZXM/OiBzdHJpbmdbXTtcblxuICBASW5wdXQoKSBib3hfc3BhY2U/OiBMYXlvdXRCb3hTaXplcyA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKSBib3hfc3BhY2VfdG9wPzogTGF5b3V0Qm94U2l6ZXM7XG4gIEBJbnB1dCgpIGJveF9zcGFjZV9yaWdodD86IExheW91dEJveFNpemVzO1xuICBASW5wdXQoKSBib3hfc3BhY2VfYm90dG9tPzogTGF5b3V0Qm94U2l6ZXM7XG4gIEBJbnB1dCgpIGJveF9zcGFjZV9sZWZ0PzogTGF5b3V0Qm94U2l6ZXM7XG5cbiAgQElucHV0KCkgYm94X2FsaWduX3g/OiBMYXlvdXRBbGlnbm1lbnQgPSAnc3RhcnQnO1xuICBASW5wdXQoKSBib3hfYWxpZ25feT86IExheW91dEFsaWdubWVudCA9ICdzdGFydCc7XG5cbiAgQElucHV0KCkgYm94X2ZpbGxfbW9kZT86IExheW91dEZpbGxNb2RlcyA9ICdmaWxsJztcblxuICBASW5wdXQoKSBib3hfYmFja2dyb3VuZDogTGF5b3V0QmFja2dyb3VuZHMgPSAnY29yZS1wcmltYXJ5JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZXM6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgcGFzc2VkIHN0cmluZyB0byBzZWUgaWYgaXQgY29udGFpbnMgSlNPTlxuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nXG4gICAqIEByZXR1cm5zIC0gYm9vbGVhblxuICAgKi9cbiAgc3RyaW5nQ29udGFpbnNKc29uKHN0cmluZzogc3RyaW5nKTpib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgSlNPTi5wYXJzZShzdHJpbmcpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0U2l6ZUNsYXNzZXMoc3BhY2VJbnB1dD86IExheW91dEJveFNpemVzLCBvdmVycmlkZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgaWYoIXNwYWNlSW5wdXQgfHwgc3BhY2VJbnB1dCA9PT0gdW5kZWZpbmVkKXtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFVzZWQgZm9yIHJlc3BvbnNpdmUgc3BhY2luZywgY2hlY2sgaWYgdGhlIGlucHV0IGlzIGVpdGhlciBhbiBvYmplY3Qgb3IgSlNPTlxuICAgIGlmKHR5cGVvZiBzcGFjZUlucHV0ID09PSAnb2JqZWN0JyB8fCB0aGlzLnN0cmluZ0NvbnRhaW5zSnNvbihzcGFjZUlucHV0KSkge1xuICAgICAgLy8gSWYgSlNPTiB0aGVuIGNvbnZlcnQgdGhpcyB0byBhbiBvYmplY3RcbiAgICAgIGNvbnN0IHNwYWNlSW5wdXRPYmplY3Q6IExheW91dEJveFNpemVzID0gdHlwZW9mIHNwYWNlSW5wdXQgPT09ICdvYmplY3QnID8gc3BhY2VJbnB1dCA6IEpTT04ucGFyc2Uoc3BhY2VJbnB1dClcblxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHNwYWNlSW5wdXRPYmplY3QpLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnByZWZpeH0tJHtzcGFjZUlucHV0T2JqZWN0W2tleV19LSR7a2V5fSR7b3ZlcnJpZGVOYW1lID8gYC0ke292ZXJyaWRlTmFtZX1gIDogYGB9YFxuICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5wcmVmaXgsXG4gICAgICBgJHt0aGlzLnByZWZpeH0tJHtzcGFjZUlucHV0fSR7b3ZlcnJpZGVOYW1lID8gYC0ke292ZXJyaWRlTmFtZX1gIDogYGB9YFxuICAgIF07XG5cbiAgfVxuXG4gIGdldE92ZXJyaWRlQ2xhc3NlcyhzcGFjZU92ZXJyaWRlcyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzcGFjZVR5cGVzID0gWyd0b3AnLCAncmlnaHQnLCAnYm90dG9tJywgJ2xlZnQnXTtcblxuICAgIHJldHVybiBzcGFjZU92ZXJyaWRlcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTaXplQ2xhc3NlcyhpdGVtLCBzcGFjZVR5cGVzW2luZGV4XSk7XG4gICAgfSkuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG5cbiAgZ2V0QWxpZ25tZW50Q2xhc3NlcyhhbGlnbm1lbnRPdmVycmlkZSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzcGFjZVR5cGVzID0gWydhbGlnbi14JywgJ2Rpc3RyaWJ1dGUteSddO1xuXG4gICAgcmV0dXJuIGFsaWdubWVudE92ZXJyaWRlLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBpdGVtID8gYCR7dGhpcy5wcmVmaXh9LSR7c3BhY2VUeXBlc1tpbmRleF19LSR7aXRlbX1gIDogdW5kZWZpbmVkO1xuICAgIH0pLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIGdldEJhY2tncm91bmRDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5ib3hfYmFja2dyb3VuZCA/IGAke3RoaXMucHJlZml4fS1iYWNrZ3JvdW5kLSR7dGhpcy5ib3hfYmFja2dyb3VuZH1gIDogYGA7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMuZGlkRmlyc3RJbml0KXtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5uZ09uSW5pdCgpO1xuICAgIHRoaXMuY2hhbmdlcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNwYWNlT3ZlcnJpZGVzID0gW3RoaXMuYm94X3NwYWNlX3RvcCwgdGhpcy5ib3hfc3BhY2VfcmlnaHQsIHRoaXMuYm94X3NwYWNlX2JvdHRvbSwgdGhpcy5ib3hfc3BhY2VfbGVmdF07XG4gICAgY29uc3QgYWxpZ25tZW50T3ZlcnJpZGUgPSBbdGhpcy5ib3hfYWxpZ25feCwgdGhpcy5ib3hfYWxpZ25feV07XG5cbiAgICAvLyBCYXNpYyBiYXNpYyBjbGFzc2VzXG4gICAgdGhpcy5ib3hMYXlvdXRDbGFzc2VzID0gW1xuICAgICAgdGhpcy5nZXRTaXplQ2xhc3Nlcyh0aGlzLmJveF9zcGFjZSksXG4gICAgICB0aGlzLmdldE92ZXJyaWRlQ2xhc3NlcyhzcGFjZU92ZXJyaWRlcyksXG4gICAgICB0aGlzLmdldEFsaWdubWVudENsYXNzZXMoYWxpZ25tZW50T3ZlcnJpZGUpLFxuICAgICAgdGhpcy5nZXRCYWNrZ3JvdW5kQ2xhc3MoKSxcbiAgICAgIHRoaXMuYm94X2ZpbGxfbW9kZSA9PT0gJ2ZpdCcgPyBgJHt0aGlzLnByZWZpeH0tZml0LWNvbnRlbnRgIDogYCR7dGhpcy5wcmVmaXh9LWZpbGwtY29udGFpbmVyYFxuICAgIF0uZmxhdCgxMCkuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgdGhpcy5kaWRGaXJzdEluaXQgPSB0cnVlO1xuICB9XG5cbn1cblxuIl19