oasys-lib 1.7.0 → 1.7.2
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.
- package/bundles/oasys-lib.umd.js +21 -3
- package/bundles/oasys-lib.umd.js.map +1 -1
- package/esm2015/lib/components/layout/box/box.component.js +22 -4
- package/fesm2015/oasys-lib.js +21 -3
- package/fesm2015/oasys-lib.js.map +1 -1
- package/lib/components/layout/box/box.component.d.ts +7 -0
- package/lib/components/layout/box/box.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/assets/bloomandwild/variables.css +1 -1
- package/src/assets/bloomon/variables.css +1 -1
- package/src/assets/global/scss-breakpoints.scss +1 -1
- package/src/assets/global/typography.scss +1 -4
- package/src/assets/global/variables.css +1 -1
package/bundles/oasys-lib.umd.js
CHANGED
|
@@ -238,14 +238,32 @@
|
|
|
238
238
|
this.box_fill_mode = 'fill';
|
|
239
239
|
this.box_background = 'core-primary';
|
|
240
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* Check the passed string to see if it contains JSON
|
|
243
|
+
*
|
|
244
|
+
* @param string
|
|
245
|
+
* @returns - boolean
|
|
246
|
+
*/
|
|
247
|
+
LayoutBoxComponent.prototype.stringContainsJson = function (string) {
|
|
248
|
+
try {
|
|
249
|
+
JSON.parse(string);
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
return true;
|
|
255
|
+
};
|
|
241
256
|
LayoutBoxComponent.prototype.getSizeClasses = function (spaceInput, overrideName) {
|
|
242
257
|
var _this = this;
|
|
243
258
|
if (!spaceInput || spaceInput === undefined) {
|
|
244
259
|
return null;
|
|
245
260
|
}
|
|
246
|
-
if
|
|
247
|
-
|
|
248
|
-
|
|
261
|
+
// Used for responsive spacing, check if the input is either an object or JSON
|
|
262
|
+
if (typeof spaceInput === 'object' || this.stringContainsJson(spaceInput)) {
|
|
263
|
+
// If JSON then convert this to an object
|
|
264
|
+
var spaceInputObject_1 = typeof spaceInput === 'object' ? spaceInput : JSON.parse(spaceInput);
|
|
265
|
+
return Object.keys(spaceInputObject_1).map(function (key) {
|
|
266
|
+
return _this.prefix + "-" + spaceInputObject_1[key] + "-" + key + (overrideName ? "-" + overrideName : "");
|
|
249
267
|
});
|
|
250
268
|
}
|
|
251
269
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oasys-lib.umd.js","sources":["../../../projects/oasys-lib/src/lib/services/window.service.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/layout/box/box.component.ts","../../../projects/oasys-lib/src/lib/components/layout/stack/stack.component.ts","../../../projects/oasys-lib/src/lib/components/layout/grid/grid.component.ts","../../../projects/oasys-lib/src/lib/components/layout/container/container.component.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/hero/hero.component.ts","../../../projects/oasys-lib/src/lib/components/hero/hero.component.html","../../../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/breadcrumbs/breadcrumbs.component.ts","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/oasys-lib/src/lib/oasys-lib.module.ts","../../../projects/oasys-lib/src/public-api.ts","../../../projects/oasys-lib/src/oasys-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nfunction _window(): any {\n return window;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowService {\n \n get nativeWindow(): any {\n return _window();\n }\n \n}","import { Injectable } from '@angular/core';\nimport { WindowService } from './window.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n\n brandCustomPropertyName: string = '--utility-brand-name';\n\n constructor(private windowRef: WindowService){}\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.windowRef.nativeWindow.document.querySelector('[class*=\"brand-tokens\"]');\n if(!rootElement) {\n return '';\n }\n return this.windowRef.nativeWindow.getComputedStyle(rootElement)\n .getPropertyValue(tokenName)\n .trim() || '';\n }\n\n}","import { Component, Input, OnInit, ViewEncapsulation, ChangeDetectionStrategy, OnChanges, ElementRef } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { WindowService } from '../../services/window.service';\nimport { IconNames, IconContext } 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(private tokenService: TokenService, private windowRef: WindowService, private elementRef: ElementRef) { }\n\n convertRemToPixels(remString: string): number {\n const remNumber = parseFloat(remString.replace('rem', ''));\n return remNumber * parseFloat(getComputedStyle(this.windowRef.nativeWindow.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}}px\" attr.height=\"{{icon_height}}px\" 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 { 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 getSizeClasses(spaceInput?: LayoutBoxSizes, overrideName?: string): string[] {\n if(!spaceInput || spaceInput === undefined){\n return null;\n }\n\n if(typeof spaceInput === 'object'){\n\n return Object.keys(spaceInput).map((key) => {\n return `${this.prefix}-${spaceInput[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 }\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 { ChangeDetectionStrategy, ChangeDetectorRef, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { LayoutGapSizes, ResponsiveGridColumns } from '../Layout';\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\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, 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 { 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","<hgroup>\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</hgroup>","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 { 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 { 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}}\" 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 { APP_BASE_HREF, CommonModule } from '@angular/common';\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { OasysButtonComponent } from './components/button/button.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { LayoutBoxComponent } from './components/layout/box/box.component';\nimport { WindowService } from './services/window.service';\nimport { TokenService } from './services/token.service';\nimport { LayoutStackComponent } from './components/layout/stack/stack.component';\nimport { LayoutGridComponent, LayoutGridColumnComponent } from './components/layout/grid/grid.component';\nimport { LayoutContainerComponent } from './components/layout/container/container.component';\nimport { OasysHeadingComponent } from './components/heading/heading.component';\nimport { HeroComponent } from './components/hero/hero.component';\nimport { CardComponent } from './components/card/card.component';\nimport { BreadcrumbsComponent } from './components/breadcrumbs/breadcrumbs.component';\n\n\n\n@NgModule({\n declarations: [\n OasysButtonComponent,\n IconComponent,\n LayoutBoxComponent,\n LayoutStackComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutContainerComponent,\n OasysHeadingComponent,\n BreadcrumbsComponent,\n HeroComponent,\n CardComponent\n ],\n imports: [\n CommonModule,\n RouterModule.forChild([])\n ],\n exports: [\n OasysButtonComponent,\n IconComponent,\n LayoutBoxComponent,\n LayoutStackComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutContainerComponent,\n OasysHeadingComponent,\n BreadcrumbsComponent,\n HeroComponent\n ],\n providers: [\n WindowService,\n TokenService\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class OasysLibModule { }\n","/*\n * Public API Surface of oasys-lib\n */\n\n\nexport * from './lib/oasys-lib.module';\n\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/icon/icon.component';\nexport * from './lib/components/layout/box/box.component';\nexport * from './lib/components/layout/stack/stack.component';\nexport * from './lib/components/layout/grid/grid.component';\nexport * from './lib/components/layout/container/container.component';\nexport * from './lib/components/heading/heading.component';\nexport * from './lib/components/hero/hero.component';\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Injectable","i1.WindowService","i1.TokenService","i2.WindowService","i3","Component","ViewEncapsulation","Input","EventEmitter","i1.IconComponent","i2","ChangeDetectionStrategy","ContentChild","Output","i2.LayoutBoxComponent","i2.LayoutStackComponent","HostBinding","i3.LayoutGridComponent","i3.LayoutGridColumnComponent","i4.LayoutStackComponent","i5.OasysHeadingComponent","i6.OasysButtonComponent","i7","ElementRef","i3.LayoutStackComponent","i4","i5","HostListener","ViewChild","i1.LayoutBoxComponent","i3.OasysButtonComponent","i4.IconComponent","CommonModule","i1","RouterModule","NgModule","NO_ERRORS_SCHEMA"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oasys-lib.umd.js","sources":["../../../projects/oasys-lib/src/lib/services/window.service.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/layout/box/box.component.ts","../../../projects/oasys-lib/src/lib/components/layout/stack/stack.component.ts","../../../projects/oasys-lib/src/lib/components/layout/grid/grid.component.ts","../../../projects/oasys-lib/src/lib/components/layout/container/container.component.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/hero/hero.component.ts","../../../projects/oasys-lib/src/lib/components/hero/hero.component.html","../../../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/breadcrumbs/breadcrumbs.component.ts","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/oasys-lib/src/lib/oasys-lib.module.ts","../../../projects/oasys-lib/src/public-api.ts","../../../projects/oasys-lib/src/oasys-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nfunction _window(): any {\n return window;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowService {\n \n get nativeWindow(): any {\n return _window();\n }\n \n}","import { Injectable } from '@angular/core';\nimport { WindowService } from './window.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n\n brandCustomPropertyName: string = '--utility-brand-name';\n\n constructor(private windowRef: WindowService){}\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.windowRef.nativeWindow.document.querySelector('[class*=\"brand-tokens\"]');\n if(!rootElement) {\n return '';\n }\n return this.windowRef.nativeWindow.getComputedStyle(rootElement)\n .getPropertyValue(tokenName)\n .trim() || '';\n }\n\n}","import { Component, Input, OnInit, ViewEncapsulation, ChangeDetectionStrategy, OnChanges, ElementRef } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { WindowService } from '../../services/window.service';\nimport { IconNames, IconContext } 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(private tokenService: TokenService, private windowRef: WindowService, private elementRef: ElementRef) { }\n\n convertRemToPixels(remString: string): number {\n const remNumber = parseFloat(remString.replace('rem', ''));\n return remNumber * parseFloat(getComputedStyle(this.windowRef.nativeWindow.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}}px\" attr.height=\"{{icon_height}}px\" 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 { 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 }\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 { ChangeDetectionStrategy, ChangeDetectorRef, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { LayoutGapSizes, ResponsiveGridColumns } from '../Layout';\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\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, 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 { 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","<hgroup>\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</hgroup>","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 { 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 { 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}}\" 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 { APP_BASE_HREF, CommonModule } from '@angular/common';\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { OasysButtonComponent } from './components/button/button.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { LayoutBoxComponent } from './components/layout/box/box.component';\nimport { WindowService } from './services/window.service';\nimport { TokenService } from './services/token.service';\nimport { LayoutStackComponent } from './components/layout/stack/stack.component';\nimport { LayoutGridComponent, LayoutGridColumnComponent } from './components/layout/grid/grid.component';\nimport { LayoutContainerComponent } from './components/layout/container/container.component';\nimport { OasysHeadingComponent } from './components/heading/heading.component';\nimport { HeroComponent } from './components/hero/hero.component';\nimport { CardComponent } from './components/card/card.component';\nimport { BreadcrumbsComponent } from './components/breadcrumbs/breadcrumbs.component';\n\n\n\n@NgModule({\n declarations: [\n OasysButtonComponent,\n IconComponent,\n LayoutBoxComponent,\n LayoutStackComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutContainerComponent,\n OasysHeadingComponent,\n BreadcrumbsComponent,\n HeroComponent,\n CardComponent\n ],\n imports: [\n CommonModule,\n RouterModule.forChild([])\n ],\n exports: [\n OasysButtonComponent,\n IconComponent,\n LayoutBoxComponent,\n LayoutStackComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutContainerComponent,\n OasysHeadingComponent,\n BreadcrumbsComponent,\n HeroComponent\n ],\n providers: [\n WindowService,\n TokenService\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class OasysLibModule { }\n","/*\n * Public API Surface of oasys-lib\n */\n\n\nexport * from './lib/oasys-lib.module';\n\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/icon/icon.component';\nexport * from './lib/components/layout/box/box.component';\nexport * from './lib/components/layout/stack/stack.component';\nexport * from './lib/components/layout/grid/grid.component';\nexport * from './lib/components/layout/container/container.component';\nexport * from './lib/components/heading/heading.component';\nexport * from './lib/components/hero/hero.component';\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Injectable","i1.WindowService","i1.TokenService","i2.WindowService","i3","Component","ViewEncapsulation","Input","EventEmitter","i1.IconComponent","i2","ChangeDetectionStrategy","ContentChild","Output","i2.LayoutBoxComponent","i2.LayoutStackComponent","HostBinding","i3.LayoutGridComponent","i3.LayoutGridColumnComponent","i4.LayoutStackComponent","i5.OasysHeadingComponent","i6.OasysButtonComponent","i7","ElementRef","i3.LayoutStackComponent","i4","i5","HostListener","ViewChild","i1.LayoutBoxComponent","i3.OasysButtonComponent","i4.IconComponent","CommonModule","i1","RouterModule","NgModule","NO_ERRORS_SCHEMA"],"mappings":"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"}
|
|
@@ -13,13 +13,31 @@ export class LayoutBoxComponent {
|
|
|
13
13
|
this.box_fill_mode = 'fill';
|
|
14
14
|
this.box_background = 'core-primary';
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Check the passed string to see if it contains JSON
|
|
18
|
+
*
|
|
19
|
+
* @param string
|
|
20
|
+
* @returns - boolean
|
|
21
|
+
*/
|
|
22
|
+
stringContainsJson(string) {
|
|
23
|
+
try {
|
|
24
|
+
JSON.parse(string);
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
16
31
|
getSizeClasses(spaceInput, overrideName) {
|
|
17
32
|
if (!spaceInput || spaceInput === undefined) {
|
|
18
33
|
return null;
|
|
19
34
|
}
|
|
20
|
-
if
|
|
21
|
-
|
|
22
|
-
|
|
35
|
+
// Used for responsive spacing, check if the input is either an object or JSON
|
|
36
|
+
if (typeof spaceInput === 'object' || this.stringContainsJson(spaceInput)) {
|
|
37
|
+
// If JSON then convert this to an object
|
|
38
|
+
const spaceInputObject = typeof spaceInput === 'object' ? spaceInput : JSON.parse(spaceInput);
|
|
39
|
+
return Object.keys(spaceInputObject).map((key) => {
|
|
40
|
+
return `${this.prefix}-${spaceInputObject[key]}-${key}${overrideName ? `-${overrideName}` : ``}`;
|
|
23
41
|
});
|
|
24
42
|
}
|
|
25
43
|
return [
|
|
@@ -97,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
97
115
|
}], box_background: [{
|
|
98
116
|
type: Input
|
|
99
117
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2JveC9ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQWF6QyxNQUFNLE9BQU8sa0JBQWtCO0lBbUI3QixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQWxCOUMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUdoQixjQUFTLEdBQW9CLFNBQVMsQ0FBQztRQU92QyxnQkFBVyxHQUFxQixPQUFPLENBQUM7UUFDeEMsZ0JBQVcsR0FBcUIsT0FBTyxDQUFDO1FBRXhDLGtCQUFhLEdBQXFCLE1BQU0sQ0FBQztRQUV6QyxtQkFBYyxHQUFzQixjQUFjLENBQUM7SUFFVixDQUFDO0lBRW5EOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsTUFBYztRQUMvQixJQUFJO1lBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBMkIsRUFBRSxZQUFxQjtRQUMvRCxJQUFHLENBQUMsVUFBVSxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUM7WUFDekMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELCtFQUErRTtRQUMvRSxJQUFHLE9B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O1lBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQztZQUMzQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLGlCQUFpQjtTQUM5RixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7Z0hBdkdVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLG9hQVJuQiwyQkFBMkI7NEZBUTFCLGtCQUFrQjtrQkFWOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUMsUUFBUTtvQkFDakIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRyxrQkFBa0I7cUJBQy9CO29CQUNELFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNuQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3dHQU1VLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXlvdXRBbGlnbm1lbnQsIExheW91dEJhY2tncm91bmRzLCBMYXlvdXRCb3hTaXplcywgTGF5b3V0RmlsbE1vZGVzIH0gZnJvbSAnLi4vTGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOid1aS1ib3gnLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nIDogJ2JveExheW91dENsYXNzZXMnXG4gIH0sXG4gIHN0eWxlVXJsczogWycuL2JveC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRCb3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGRpZEZpcnN0SW5pdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmVmaXggPSAndWktbGF5b3V0LWJveCc7XG4gIGJveExheW91dENsYXNzZXM/OiBzdHJpbmdbXTtcblxuICBASW5wdXQoKSBib3hfc3BhY2U/OiBMYXlvdXRCb3hTaXplcyA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKSBib3hfc3BhY2VfdG9wPzogTGF5b3V0Qm94U2l6ZXM7XG4gIEBJbnB1dCgpIGJveF9zcGFjZV9yaWdodD86IExheW91dEJveFNpemVzO1xuICBASW5wdXQoKSBib3hfc3BhY2VfYm90dG9tPzogTGF5b3V0Qm94U2l6ZXM7XG4gIEBJbnB1dCgpIGJveF9zcGFjZV9sZWZ0PzogTGF5b3V0Qm94U2l6ZXM7XG5cbiAgQElucHV0KCkgYm94X2FsaWduX3g/OiBMYXlvdXRBbGlnbm1lbnQgPSAnc3RhcnQnO1xuICBASW5wdXQoKSBib3hfYWxpZ25feT86IExheW91dEFsaWdubWVudCA9ICdzdGFydCc7XG5cbiAgQElucHV0KCkgYm94X2ZpbGxfbW9kZT86IExheW91dEZpbGxNb2RlcyA9ICdmaWxsJztcblxuICBASW5wdXQoKSBib3hfYmFja2dyb3VuZDogTGF5b3V0QmFja2dyb3VuZHMgPSAnY29yZS1wcmltYXJ5JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZXM6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIHBhc3NlZCBzdHJpbmcgdG8gc2VlIGlmIGl0IGNvbnRhaW5zIEpTT05cbiAgICogXG4gICAqIEBwYXJhbSBzdHJpbmcgXG4gICAqIEByZXR1cm5zIC0gYm9vbGVhblxuICAgKi9cbiAgc3RyaW5nQ29udGFpbnNKc29uKHN0cmluZzogc3RyaW5nKTpib29sZWFuIHtcbiAgICB0cnkgeyBcbiAgICAgIEpTT04ucGFyc2Uoc3RyaW5nKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldFNpemVDbGFzc2VzKHNwYWNlSW5wdXQ/OiBMYXlvdXRCb3hTaXplcywgb3ZlcnJpZGVOYW1lPzogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGlmKCFzcGFjZUlucHV0IHx8IHNwYWNlSW5wdXQgPT09IHVuZGVmaW5lZCl7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBVc2VkIGZvciByZXNwb25zaXZlIHNwYWNpbmcsIGNoZWNrIGlmIHRoZSBpbnB1dCBpcyBlaXRoZXIgYW4gb2JqZWN0IG9yIEpTT04gXG4gICAgaWYodHlwZW9mIHNwYWNlSW5wdXQgPT09ICdvYmplY3QnIHx8IHRoaXMuc3RyaW5nQ29udGFpbnNKc29uKHNwYWNlSW5wdXQpKSB7XG4gICAgICAvLyBJZiBKU09OIHRoZW4gY29udmVydCB0aGlzIHRvIGFuIG9iamVjdFxuICAgICAgY29uc3Qgc3BhY2VJbnB1dE9iamVjdDogTGF5b3V0Qm94U2l6ZXMgPSB0eXBlb2Ygc3BhY2VJbnB1dCA9PT0gJ29iamVjdCcgPyBzcGFjZUlucHV0IDogSlNPTi5wYXJzZShzcGFjZUlucHV0KVxuXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMoc3BhY2VJbnB1dE9iamVjdCkubWFwKChrZXkpID0+IHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMucHJlZml4fS0ke3NwYWNlSW5wdXRPYmplY3Rba2V5XX0tJHtrZXl9JHtvdmVycmlkZU5hbWUgPyBgLSR7b3ZlcnJpZGVOYW1lfWAgOiBgYH1gXG4gICAgICB9KTtcblxuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB0aGlzLnByZWZpeCxcbiAgICAgIGAke3RoaXMucHJlZml4fS0ke3NwYWNlSW5wdXR9JHtvdmVycmlkZU5hbWUgPyBgLSR7b3ZlcnJpZGVOYW1lfWAgOiBgYH1gXG4gICAgXTtcblxuICB9XG5cbiAgZ2V0T3ZlcnJpZGVDbGFzc2VzKHNwYWNlT3ZlcnJpZGVzKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNwYWNlVHlwZXMgPSBbJ3RvcCcsICdyaWdodCcsICdib3R0b20nLCAnbGVmdCddO1xuXG4gICAgcmV0dXJuIHNwYWNlT3ZlcnJpZGVzLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldFNpemVDbGFzc2VzKGl0ZW0sIHNwYWNlVHlwZXNbaW5kZXhdKTtcbiAgICB9KS5maWx0ZXIoQm9vbGVhbik7XG4gIH1cblxuICBnZXRBbGlnbm1lbnRDbGFzc2VzKGFsaWdubWVudE92ZXJyaWRlKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNwYWNlVHlwZXMgPSBbJ2FsaWduLXgnLCAnZGlzdHJpYnV0ZS15J107XG5cbiAgICByZXR1cm4gYWxpZ25tZW50T3ZlcnJpZGUubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIGl0ZW0gPyBgJHt0aGlzLnByZWZpeH0tJHtzcGFjZVR5cGVzW2luZGV4XX0tJHtpdGVtfWAgOiB1bmRlZmluZWQ7XG4gICAgfSkuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG5cbiAgZ2V0QmFja2dyb3VuZENsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmJveF9iYWNrZ3JvdW5kID8gYCR7dGhpcy5wcmVmaXh9LWJhY2tncm91bmQtJHt0aGlzLmJveF9iYWNrZ3JvdW5kfWAgOiBgYDtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZighdGhpcy5kaWRGaXJzdEluaXQpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm5nT25Jbml0KCk7XG4gICAgdGhpcy5jaGFuZ2VzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc3BhY2VPdmVycmlkZXMgPSBbdGhpcy5ib3hfc3BhY2VfdG9wLCB0aGlzLmJveF9zcGFjZV9yaWdodCwgdGhpcy5ib3hfc3BhY2VfYm90dG9tLCB0aGlzLmJveF9zcGFjZV9sZWZ0XTtcbiAgICBjb25zdCBhbGlnbm1lbnRPdmVycmlkZSA9IFt0aGlzLmJveF9hbGlnbl94LCB0aGlzLmJveF9hbGlnbl95XTtcblxuICAgIC8vIEJhc2ljIGJhc2ljIGNsYXNzZXNcbiAgICB0aGlzLmJveExheW91dENsYXNzZXMgPSBbXG4gICAgICB0aGlzLmdldFNpemVDbGFzc2VzKHRoaXMuYm94X3NwYWNlKSxcbiAgICAgIHRoaXMuZ2V0T3ZlcnJpZGVDbGFzc2VzKHNwYWNlT3ZlcnJpZGVzKSxcbiAgICAgIHRoaXMuZ2V0QWxpZ25tZW50Q2xhc3NlcyhhbGlnbm1lbnRPdmVycmlkZSksXG4gICAgICB0aGlzLmdldEJhY2tncm91bmRDbGFzcygpLFxuICAgICAgdGhpcy5ib3hfZmlsbF9tb2RlID09PSAnZml0JyA/IGAke3RoaXMucHJlZml4fS1maXQtY29udGVudGAgOiBgJHt0aGlzLnByZWZpeH0tZmlsbC1jb250YWluZXJgXG4gICAgXS5mbGF0KDEwKS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICB0aGlzLmRpZEZpcnN0SW5pdCA9IHRydWU7XG4gIH1cblxufVxuXG4iXX0=
|
package/fesm2015/oasys-lib.js
CHANGED
|
@@ -213,13 +213,31 @@ class LayoutBoxComponent {
|
|
|
213
213
|
this.box_fill_mode = 'fill';
|
|
214
214
|
this.box_background = 'core-primary';
|
|
215
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Check the passed string to see if it contains JSON
|
|
218
|
+
*
|
|
219
|
+
* @param string
|
|
220
|
+
* @returns - boolean
|
|
221
|
+
*/
|
|
222
|
+
stringContainsJson(string) {
|
|
223
|
+
try {
|
|
224
|
+
JSON.parse(string);
|
|
225
|
+
}
|
|
226
|
+
catch (e) {
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
216
231
|
getSizeClasses(spaceInput, overrideName) {
|
|
217
232
|
if (!spaceInput || spaceInput === undefined) {
|
|
218
233
|
return null;
|
|
219
234
|
}
|
|
220
|
-
if
|
|
221
|
-
|
|
222
|
-
|
|
235
|
+
// Used for responsive spacing, check if the input is either an object or JSON
|
|
236
|
+
if (typeof spaceInput === 'object' || this.stringContainsJson(spaceInput)) {
|
|
237
|
+
// If JSON then convert this to an object
|
|
238
|
+
const spaceInputObject = typeof spaceInput === 'object' ? spaceInput : JSON.parse(spaceInput);
|
|
239
|
+
return Object.keys(spaceInputObject).map((key) => {
|
|
240
|
+
return `${this.prefix}-${spaceInputObject[key]}-${key}${overrideName ? `-${overrideName}` : ``}`;
|
|
223
241
|
});
|
|
224
242
|
}
|
|
225
243
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oasys-lib.js","sources":["../../../projects/oasys-lib/src/lib/services/window.service.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/layout/box/box.component.ts","../../../projects/oasys-lib/src/lib/components/layout/stack/stack.component.ts","../../../projects/oasys-lib/src/lib/components/layout/grid/grid.component.ts","../../../projects/oasys-lib/src/lib/components/layout/container/container.component.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/hero/hero.component.ts","../../../projects/oasys-lib/src/lib/components/hero/hero.component.html","../../../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/breadcrumbs/breadcrumbs.component.ts","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/oasys-lib/src/lib/oasys-lib.module.ts","../../../projects/oasys-lib/src/public-api.ts","../../../projects/oasys-lib/src/oasys-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nfunction _window(): any {\n return window;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowService {\n \n get nativeWindow(): any {\n return _window();\n }\n \n}","import { Injectable } from '@angular/core';\nimport { WindowService } from './window.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n\n brandCustomPropertyName: string = '--utility-brand-name';\n\n constructor(private windowRef: WindowService){}\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.windowRef.nativeWindow.document.querySelector('[class*=\"brand-tokens\"]');\n if(!rootElement) {\n return '';\n }\n return this.windowRef.nativeWindow.getComputedStyle(rootElement)\n .getPropertyValue(tokenName)\n .trim() || '';\n }\n\n}","import { Component, Input, OnInit, ViewEncapsulation, ChangeDetectionStrategy, OnChanges, ElementRef } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { WindowService } from '../../services/window.service';\nimport { IconNames, IconContext } 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(private tokenService: TokenService, private windowRef: WindowService, private elementRef: ElementRef) { }\n\n convertRemToPixels(remString: string): number {\n const remNumber = parseFloat(remString.replace('rem', ''));\n return remNumber * parseFloat(getComputedStyle(this.windowRef.nativeWindow.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}}px\" attr.height=\"{{icon_height}}px\" 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 { 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 getSizeClasses(spaceInput?: LayoutBoxSizes, overrideName?: string): string[] {\n if(!spaceInput || spaceInput === undefined){\n return null;\n }\n\n if(typeof spaceInput === 'object'){\n\n return Object.keys(spaceInput).map((key) => {\n return `${this.prefix}-${spaceInput[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 }\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 { ChangeDetectionStrategy, ChangeDetectorRef, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { LayoutGapSizes, ResponsiveGridColumns } from '../Layout';\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\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, 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 { 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","<hgroup>\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</hgroup>","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 { 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 { 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}}\" 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 { APP_BASE_HREF, CommonModule } from '@angular/common';\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { OasysButtonComponent } from './components/button/button.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { LayoutBoxComponent } from './components/layout/box/box.component';\nimport { WindowService } from './services/window.service';\nimport { TokenService } from './services/token.service';\nimport { LayoutStackComponent } from './components/layout/stack/stack.component';\nimport { LayoutGridComponent, LayoutGridColumnComponent } from './components/layout/grid/grid.component';\nimport { LayoutContainerComponent } from './components/layout/container/container.component';\nimport { OasysHeadingComponent } from './components/heading/heading.component';\nimport { HeroComponent } from './components/hero/hero.component';\nimport { CardComponent } from './components/card/card.component';\nimport { BreadcrumbsComponent } from './components/breadcrumbs/breadcrumbs.component';\n\n\n\n@NgModule({\n declarations: [\n OasysButtonComponent,\n IconComponent,\n LayoutBoxComponent,\n LayoutStackComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutContainerComponent,\n OasysHeadingComponent,\n BreadcrumbsComponent,\n HeroComponent,\n CardComponent\n ],\n imports: [\n CommonModule,\n RouterModule.forChild([])\n ],\n exports: [\n OasysButtonComponent,\n IconComponent,\n LayoutBoxComponent,\n LayoutStackComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutContainerComponent,\n OasysHeadingComponent,\n BreadcrumbsComponent,\n HeroComponent\n ],\n providers: [\n WindowService,\n TokenService\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class OasysLibModule { }\n","/*\n * Public API Surface of oasys-lib\n */\n\n\nexport * from './lib/oasys-lib.module';\n\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/icon/icon.component';\nexport * from './lib/components/layout/box/box.component';\nexport * from './lib/components/layout/stack/stack.component';\nexport * from './lib/components/layout/grid/grid.component';\nexport * from './lib/components/layout/container/container.component';\nexport * from './lib/components/heading/heading.component';\nexport * from './lib/components/hero/hero.component';\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.WindowService","i1.TokenService","i2.WindowService","i1.IconComponent","i2.LayoutBoxComponent","i2.LayoutStackComponent","i3.LayoutGridComponent","i3.LayoutGridColumnComponent","i4.LayoutStackComponent","i5.OasysHeadingComponent","i6.OasysButtonComponent","i7","i3.LayoutStackComponent","i4","i5","i1.LayoutBoxComponent","i3.OasysButtonComponent","i4.IconComponent","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oasys-lib.js","sources":["../../../projects/oasys-lib/src/lib/services/window.service.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/layout/box/box.component.ts","../../../projects/oasys-lib/src/lib/components/layout/stack/stack.component.ts","../../../projects/oasys-lib/src/lib/components/layout/grid/grid.component.ts","../../../projects/oasys-lib/src/lib/components/layout/container/container.component.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/hero/hero.component.ts","../../../projects/oasys-lib/src/lib/components/hero/hero.component.html","../../../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/breadcrumbs/breadcrumbs.component.ts","../../../projects/oasys-lib/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/oasys-lib/src/lib/oasys-lib.module.ts","../../../projects/oasys-lib/src/public-api.ts","../../../projects/oasys-lib/src/oasys-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nfunction _window(): any {\n return window;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowService {\n \n get nativeWindow(): any {\n return _window();\n }\n \n}","import { Injectable } from '@angular/core';\nimport { WindowService } from './window.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n\n brandCustomPropertyName: string = '--utility-brand-name';\n\n constructor(private windowRef: WindowService){}\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.windowRef.nativeWindow.document.querySelector('[class*=\"brand-tokens\"]');\n if(!rootElement) {\n return '';\n }\n return this.windowRef.nativeWindow.getComputedStyle(rootElement)\n .getPropertyValue(tokenName)\n .trim() || '';\n }\n\n}","import { Component, Input, OnInit, ViewEncapsulation, ChangeDetectionStrategy, OnChanges, ElementRef } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { WindowService } from '../../services/window.service';\nimport { IconNames, IconContext } 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(private tokenService: TokenService, private windowRef: WindowService, private elementRef: ElementRef) { }\n\n convertRemToPixels(remString: string): number {\n const remNumber = parseFloat(remString.replace('rem', ''));\n return remNumber * parseFloat(getComputedStyle(this.windowRef.nativeWindow.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}}px\" attr.height=\"{{icon_height}}px\" 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 { 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 }\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 { ChangeDetectionStrategy, ChangeDetectorRef, Input, OnChanges, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Component} from '@angular/core';\nimport { LayoutGapSizes, ResponsiveGridColumns } from '../Layout';\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\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, 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 { 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","<hgroup>\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</hgroup>","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 { 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 { 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}}\" 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 { APP_BASE_HREF, CommonModule } from '@angular/common';\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { OasysButtonComponent } from './components/button/button.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { LayoutBoxComponent } from './components/layout/box/box.component';\nimport { WindowService } from './services/window.service';\nimport { TokenService } from './services/token.service';\nimport { LayoutStackComponent } from './components/layout/stack/stack.component';\nimport { LayoutGridComponent, LayoutGridColumnComponent } from './components/layout/grid/grid.component';\nimport { LayoutContainerComponent } from './components/layout/container/container.component';\nimport { OasysHeadingComponent } from './components/heading/heading.component';\nimport { HeroComponent } from './components/hero/hero.component';\nimport { CardComponent } from './components/card/card.component';\nimport { BreadcrumbsComponent } from './components/breadcrumbs/breadcrumbs.component';\n\n\n\n@NgModule({\n declarations: [\n OasysButtonComponent,\n IconComponent,\n LayoutBoxComponent,\n LayoutStackComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutContainerComponent,\n OasysHeadingComponent,\n BreadcrumbsComponent,\n HeroComponent,\n CardComponent\n ],\n imports: [\n CommonModule,\n RouterModule.forChild([])\n ],\n exports: [\n OasysButtonComponent,\n IconComponent,\n LayoutBoxComponent,\n LayoutStackComponent,\n LayoutGridComponent,\n LayoutGridColumnComponent,\n LayoutContainerComponent,\n OasysHeadingComponent,\n BreadcrumbsComponent,\n HeroComponent\n ],\n providers: [\n WindowService,\n TokenService\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class OasysLibModule { }\n","/*\n * Public API Surface of oasys-lib\n */\n\n\nexport * from './lib/oasys-lib.module';\n\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/icon/icon.component';\nexport * from './lib/components/layout/box/box.component';\nexport * from './lib/components/layout/stack/stack.component';\nexport * from './lib/components/layout/grid/grid.component';\nexport * from './lib/components/layout/container/container.component';\nexport * from './lib/components/heading/heading.component';\nexport * from './lib/components/hero/hero.component';\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.WindowService","i1.TokenService","i2.WindowService","i1.IconComponent","i2.LayoutBoxComponent","i2.LayoutStackComponent","i3.LayoutGridComponent","i3.LayoutGridColumnComponent","i4.LayoutStackComponent","i5.OasysHeadingComponent","i6.OasysButtonComponent","i7","i3.LayoutStackComponent","i4","i5","i1.LayoutBoxComponent","i3.OasysButtonComponent","i4.IconComponent","i1"],"mappings":"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"}
|
|
@@ -16,6 +16,13 @@ export declare class LayoutBoxComponent implements OnInit, OnChanges {
|
|
|
16
16
|
box_fill_mode?: LayoutFillModes;
|
|
17
17
|
box_background: LayoutBackgrounds;
|
|
18
18
|
constructor(changes: ChangeDetectorRef);
|
|
19
|
+
/**
|
|
20
|
+
* Check the passed string to see if it contains JSON
|
|
21
|
+
*
|
|
22
|
+
* @param string
|
|
23
|
+
* @returns - boolean
|
|
24
|
+
*/
|
|
25
|
+
stringContainsJson(string: string): boolean;
|
|
19
26
|
getSizeClasses(spaceInput?: LayoutBoxSizes, overrideName?: string): string[];
|
|
20
27
|
getOverrideClasses(spaceOverrides: any): string[];
|
|
21
28
|
getAlignmentClasses(alignmentOverride: any): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.component.d.ts","sourceRoot":"","sources":["../../../../../../projects/oasys-lib/src/lib/components/layout/box/box.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAqB,MAAM,eAAe,CAAC;AAGjH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;;AAEhG,qBAUa,kBAAmB,YAAW,MAAM,EAAE,SAAS;IAmB9C,OAAO,CAAC,OAAO;IAlB3B,YAAY,EAAE,OAAO,CAAS;IAC9B,MAAM,SAAmB;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,SAAS,CAAC,EAAE,cAAc,CAAa;IAEvC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,WAAW,CAAC,EAAE,eAAe,CAAW;IACxC,WAAW,CAAC,EAAE,eAAe,CAAW;IAExC,aAAa,CAAC,EAAE,eAAe,CAAU;IAEzC,cAAc,EAAE,iBAAiB,CAAkB;gBAExC,OAAO,EAAE,iBAAiB;IAE9C,cAAc,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"box.component.d.ts","sourceRoot":"","sources":["../../../../../../projects/oasys-lib/src/lib/components/layout/box/box.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAqB,MAAM,eAAe,CAAC;AAGjH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;;AAEhG,qBAUa,kBAAmB,YAAW,MAAM,EAAE,SAAS;IAmB9C,OAAO,CAAC,OAAO;IAlB3B,YAAY,EAAE,OAAO,CAAS;IAC9B,MAAM,SAAmB;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,SAAS,CAAC,EAAE,cAAc,CAAa;IAEvC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,WAAW,CAAC,EAAE,eAAe,CAAW;IACxC,WAAW,CAAC,EAAE,eAAe,CAAW;IAExC,aAAa,CAAC,EAAE,eAAe,CAAU;IAEzC,cAAc,EAAE,iBAAiB,CAAkB;gBAExC,OAAO,EAAE,iBAAiB;IAE9C;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAE,OAAO;IAU1C,cAAc,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAuB5E,kBAAkB,CAAC,cAAc,KAAA,GAAG,MAAM,EAAE;IAQ5C,mBAAmB,CAAC,iBAAiB,KAAA,GAAG,MAAM,EAAE;IAQhD,kBAAkB,IAAI,MAAM;IAK5B,WAAW,IAAI,IAAI;IAQnB,QAAQ,IAAI,IAAI;yCAzFL,kBAAkB;2CAAlB,kBAAkB;CAyG9B"}
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@ html {
|
|
|
16
16
|
|
|
17
17
|
font-size: var(--semantic-font-styles-body-default-size);
|
|
18
18
|
line-height: var(--semantic-font-styles-body-default-line-height);
|
|
19
|
-
color: var(--semantic-color-text-
|
|
19
|
+
color: var(--semantic-color-text-primary);
|
|
20
20
|
|
|
21
21
|
b, bold, strong {
|
|
22
22
|
font-weight: var(--semantic-font-weight-bold);
|
|
@@ -189,9 +189,6 @@ label,
|
|
|
189
189
|
/* ---------------------
|
|
190
190
|
Type colours
|
|
191
191
|
--------------------- */
|
|
192
|
-
html, body {
|
|
193
|
-
color: var(--semantic-color-primary-body);
|
|
194
|
-
}
|
|
195
192
|
|
|
196
193
|
.text-color--on-dark {
|
|
197
194
|
color: var(--semantic-color-text-primary-on-dark);
|