@bravura/ui 3.6.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-alert.mjs","sources":["../../../projects/ui/alert/alert-message.component.ts","../../../projects/ui/alert/alert-message.component.html","../../../projects/ui/alert/alert-container.component.ts","../../../projects/ui/alert/alert-container.component.html","../../../projects/ui/alert/alert.module.ts","../../../projects/ui/alert/bravura-ui-alert.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { generateID } from '@bravura/ui/common';\n\n/** @ignore */\nconst ICONS: any = {\n\tsuccess: 'check_circle',\n\tinfo: 'info',\n\twarn: 'report_problem',\n\terror: 'cancel'\n};\n\n/** @ignore */\nconst DEFAULT_POLITENESS = {\n\tsuccess: 'polite',\n\tinfo: 'polite',\n\twarn: 'assertive',\n\terror: 'assertive'\n};\n\n/**\n * An alert style message usually appears in a global notification area.\n *\n * The base color of the message is determined by the `type` of the message and a list of predefined\n * CSS custom properties.\n *\n * ```scss\n * --bui-color-success: #519602;\n * --bui-color-info: #0dcaf0;\n * --bui-color-warning: #ffc107;\n * --bui-color-error: #dc3545;\n * ```\n *\n *\n */\n@Component({\n\tselector: 'bui-alert',\n\ttemplateUrl: './alert-message.component.html',\n\tstyleUrls: ['./alert-message.component.scss'],\n\thost: {\n\t\t'[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,\n\t\t'[role]': `politeness === 'off' ? 'region' : 'alert'`,\n\t\t'[attr.aria-live]': `politeness === 'assertive' ? undefined : politeness`\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AlertMessageComponent implements OnInit {\n\t/** @ignore */\n\tstatic ngAcceptInputType_dismissible: boolean | string | null | undefined;\n\t/** @ignore */\n\tstatic ngAcceptInputType_blink: boolean | string | null | undefined;\n\n\t/** The type of the message, used to derive the icon and base color. */\n\t@Input()\n\ttype: 'success' | 'info' | 'warn' | 'error' = 'error';\n\n\t/** The message to be displayed, HTML supported. */\n\t@Input()\n\tmessage = '';\n\n\t/** Specifies the ARIA live region politeness. */\n\t@Input()\n\tpoliteness!: 'off' | 'polite' | 'assertive';\n\n\t/** Whether to display the button to fire the `dismissed` event. */\n\t@Input()\n\tget dismissible() {\n\t\treturn this._dismissible;\n\t}\n\tset dismissible(value: any) {\n\t\tthis._dismissible = coerceBooleanProperty(value);\n\t}\n\n\t/** To be emitted when the user choose to dismiss the message. The event object is the ID of the element. */\n\t@Output()\n\tdismissed = new EventEmitter<string>();\n\n\t/** To be emitted when the component finishes initialisation. The event object is the ID of the element. */\n\t@Output()\n\tinitialised = new EventEmitter<string>();\n\n\t@Input('id')\n\t@HostBinding('id')\n\t/** @ignore */\n\t_id = `bui-alert-${generateID()}`;\n\n\tprivate _dismissible = false;\n\tprivate _blink = false;\n\n\tconstructor() {}\n\n\tngOnInit(): void {\n\t\tthis.politeness = this.politeness || DEFAULT_POLITENESS[this.type];\n\t\tthis.initialised.emit(this._id);\n\t}\n\n\t/** @ignore */\n\tget iconName(): string {\n\t\treturn ICONS[this.type];\n\t}\n\n\t/** @ignore */\n\t_dismiss() {\n\t\tthis.dismissed.emit(this._id);\n\t}\n}\n","<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n","import { animate, state, style, transition, trigger, AnimationEvent } from '@angular/animations';\nimport { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tInput,\n\tNgZone,\n\tOnDestroy,\n\tOnInit,\n\tOutput\n} from '@angular/core';\nimport { generateID, isElementInViewport } from '@bravura/ui/common';\nimport { Subject, Subscription, timer } from 'rxjs';\nimport { delay, take, takeUntil, tap } from 'rxjs/operators';\n\n/**@internal */\nclass InternalAlertOject {\n\tid: string;\n\tdeleted = false;\n\tconstructor(public readonly type: 'success' | 'info' | 'warn' | 'error', public readonly message: string) {\n\t\tthis.id = `bui-alert-cont-alert-${generateID()}`;\n\t}\n}\n\n/**\n * Use this component in a designated area of a page for displaying notification messages\n *\n */\n@Component({\n\tselector: 'bui-alert-container',\n\ttemplateUrl: './alert-container.component.html',\n\tstyleUrls: ['./alert-container.component.scss'],\n\thost: {\n\t\t'[class]': `'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')`\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [\n\t\ttrigger('floatTransition', [\n\t\t\ttransition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),\n\t\t\ttransition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])\n\t\t]),\n\t\ttrigger('alertTransition', [\n\t\t\tstate('visible', style({})),\n\t\t\tstate(\n\t\t\t\t'hidden',\n\t\t\t\tstyle({\n\t\t\t\t\theight: 0,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\ttransform: 'scaleY(0)',\n\t\t\t\t\topacity: 0,\n\t\t\t\t\t'margin-top': '-1rem'\n\t\t\t\t})\n\t\t\t),\n\t\t\ttransition('void => visible', [\n\t\t\t\tstyle({ transform: 'translateY(100%)', height: 0, opacity: '0', overflow: 'hidden' }),\n\t\t\t\tanimate('250ms cubic-bezier(0.42, 0.0, 0.58, 1.0)')\n\t\t\t]),\n\t\t\ttransition('visible => hidden', [animate('250ms cubic-bezier(0.25, 0, 0.3, 1.0)')])\n\t\t])\n\t]\n})\nexport class AlertContainerComponent implements OnInit, OnDestroy {\n\t/** The maximum number of messages displayed in the container area. */\n\t@Input()\n\tmax = 5;\n\n\t/**\n\t * This property determines the behavior for displaying the notifications when the container is outside the viewport.\n\t *\n\t * `scroll`: The component will try to scroll to reveal the new notifications.\n\t * `float`: The component will float the alert panel to the center of the screen for a couple of seconds and move it back to the original position.\n\t */\n\t@Input()\n\toutsideViewportBehavior: 'scroll' | 'float' = 'float';\n\n\t/**\n\t * The number of milliseconds for which the alert container will be floated when new notification arrives.\n\t *\n\t * This will only take effect when `outsideViewportBehavior` is set to `float` and the container is outside the viewport.\n\t */\n\t@Input()\n\tfloatDuration = 2000;\n\n\t/**@internal */\n\t_alerts: InternalAlertOject[] = [];\n\t/**@internal */\n\t_floated = false;\n\t/**@internal */\n\t_floatPanelHidden = true;\n\n\t/** @ignore Emits whenever the animation is started. */\n\treadonly _animationStarted = new Subject<AnimationEvent>();\n\t/** @ignore Emits whenever the animation is done. */\n\treadonly _animationEnded = new Subject<AnimationEvent>();\n\n\tprivate _destroyed$ = new Subject<void>();\n\tprivate _endFloatingSub?: Subscription;\n\n\t/** Emits the component instance after initialisation. */\n\t@Output()\n\tprivate init = new EventEmitter<AlertContainerComponent>();\n\n\tconstructor(\n\t\tprivate zone: NgZone,\n\t\tprivate cdRef: ChangeDetectorRef,\n\t\tprivate _elementRef: ElementRef<HTMLElement>,\n\t\tprivate scroll: ScrollDispatcher\n\t) {}\n\n\tngOnInit(): void {\n\t\tconst checkScroll = () => {\n\t\t\tif (isElementInViewport(this._elementRef.nativeElement)) {\n\t\t\t\tthis._endFloating();\n\t\t\t}\n\t\t};\n\t\tthis.scroll\n\t\t\t.ancestorScrolled(this._elementRef.nativeElement)\n\t\t\t.pipe(takeUntil(this._destroyed$))\n\t\t\t.subscribe(checkScroll);\n\t\tcheckScroll();\n\t\tthis.init.emit(this);\n\t\tthis.init.complete();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed$.next();\n\t\tthis._destroyed$.complete();\n\t\tthis._endFloatingSub?.unsubscribe();\n\t}\n\n\t/**@internal */\n\tget _remaining() {\n\t\treturn this._alerts.filter(a => !a.deleted);\n\t}\n\n\t/**@internal */\n\tget _width() {\n\t\treturn this._elementRef.nativeElement.clientWidth;\n\t}\n\n\t/** Add a message to the notification area */\n\tasync notify(type: 'success' | 'info' | 'warn' | 'error', message: string) {\n\t\tthis._endFloatingSub?.unsubscribe();\n\t\tconst duplicate = this._remaining.find(_a => message === _a.message);\n\t\tif (duplicate) {\n\t\t\tthis._dismiss(duplicate);\n\t\t}\n\n\t\tconst remaining = this._remaining;\n\t\tif (remaining.length >= this.max) {\n\t\t\tthis._dismiss(remaining[0]);\n\t\t}\n\n\t\tconst a = new InternalAlertOject(type, message);\n\t\tawait this._checkViewport();\n\t\tthis.zone.run(() => {\n\t\t\tthis._alerts.push(a);\n\t\t\tthis.cdRef.markForCheck();\n\t\t});\n\t}\n\n\t/**@ignore */\n\tasync _checkViewport() {\n\t\tif (!isElementInViewport(this._elementRef.nativeElement)) {\n\t\t\tif (this.outsideViewportBehavior === 'float') {\n\t\t\t\tconst d = this._floated ? 0 : 100;\n\t\t\t\tthis._floated = true;\n\t\t\t\tthis._floatPanelHidden = false;\n\t\t\t\tthis._endFloating(this.floatDuration);\n\t\t\t\tthis.cdRef.markForCheck();\n\t\t\t\tawait timer(d).toPromise();\n\t\t\t} else {\n\t\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**@ignore */\n\tasync _dismiss(a: InternalAlertOject) {\n\t\tconst id = a.id;\n\t\ta.deleted = true;\n\t\tthis.cdRef.markForCheck();\n\t\tawait this._animationEnded.pipe(take(1)).toPromise();\n\t\tthis.zone.run(() => {\n\t\t\tthis._alerts = this._alerts.filter(_a => _a.id !== id);\n\t\t\tthis.cdRef.markForCheck();\n\t\t});\n\t}\n\n\t/** Remove all messages currently displayed. */\n\tasync clear() {\n\t\tawait Promise.all(this._remaining.map(a => this._dismiss(a)));\n\t\tthis._endFloating();\n\t}\n\n\tprivate _endFloating(_delay = 0) {\n\t\tif (!this._floated) {\n\t\t\treturn;\n\t\t}\n\t\tthis._endFloatingSub?.unsubscribe();\n\t\tthis._endFloatingSub = timer(_delay)\n\t\t\t.pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._floated = false;\n\t\t\t\t\tthis.zone.run(() => this.cdRef.markForCheck());\n\t\t\t\t}),\n\t\t\t\tdelay(400)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._floatPanelHidden = true;\n\t\t\t\tthis.zone.run(() => this.cdRef.markForCheck());\n\t\t\t});\n\t}\n}\n","<div\n\tclass=\"bui-alert-fixed-panel\"\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\n>\n\t<bui-alert\n\t\t*ngFor=\"let a of _alerts\"\n\t\t[id]=\"a.id\"\n\t\t[type]=\"a.type\"\n\t\t[message]=\"a.message\"\n\t\tdismissible\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\n\t\t(dismissed)=\"_dismiss(a)\"\n\t></bui-alert>\n</div>\n\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\n\t\t<bui-alert\n\t\t\t*ngFor=\"let a of _alerts\"\n\t\t\t[id]=\"a.id\"\n\t\t\t[type]=\"a.type\"\n\t\t\t[message]=\"a.message\"\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t></bui-alert>\n\t</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { IconFontModule } from '@bravura/ui/icon-font';\nimport { AlertContainerComponent } from './alert-container.component';\nimport { AlertMessageComponent } from './alert-message.component';\n\n@NgModule({\n\tdeclarations: [AlertMessageComponent, AlertContainerComponent],\n\timports: [CommonModule, IconFontModule, MatButtonModule],\n\texports: [AlertMessageComponent, AlertContainerComponent]\n})\nexport class AlertModule {}\n\nexport { AlertMessageComponent, AlertContainerComponent };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.AlertMessageComponent"],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-alert.mjs","sources":["../../../projects/ui/alert/alert-message.component.ts","../../../projects/ui/alert/alert-message.component.html","../../../projects/ui/alert/alert-container.component.ts","../../../projects/ui/alert/alert-container.component.html","../../../projects/ui/alert/alert.module.ts","../../../projects/ui/alert/bravura-ui-alert.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { generateID } from '@bravura/ui/common';\n\n/** @ignore */\nconst ICONS: any = {\n\tsuccess: 'check_circle',\n\tinfo: 'info',\n\twarn: 'report_problem',\n\terror: 'cancel'\n};\n\n/** @ignore */\nconst DEFAULT_POLITENESS = {\n\tsuccess: 'polite',\n\tinfo: 'polite',\n\twarn: 'assertive',\n\terror: 'assertive'\n};\n\n/**\n * An alert style message usually appears in a global notification area.\n *\n * The base color of the message is determined by the `type` of the message and a list of predefined\n * CSS custom properties.\n *\n * ```scss\n * --bui-color-success: #519602;\n * --bui-color-info: #0dcaf0;\n * --bui-color-warning: #ffc107;\n * --bui-color-error: #dc3545;\n * ```\n *\n *\n */\n@Component({\n\tselector: 'bui-alert',\n\ttemplateUrl: './alert-message.component.html',\n\tstyleUrls: ['./alert-message.component.scss'],\n\thost: {\n\t\t'[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,\n\t\t'[role]': `politeness === 'off' ? 'region' : 'alert'`,\n\t\t'[attr.aria-live]': `politeness === 'assertive' ? undefined : politeness`\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AlertMessageComponent implements OnInit {\n\t/** @ignore */\n\tstatic ngAcceptInputType_dismissible: boolean | string | null | undefined;\n\t/** @ignore */\n\tstatic ngAcceptInputType_blink: boolean | string | null | undefined;\n\n\t/** The type of the message, used to derive the icon and base color. */\n\t@Input()\n\ttype: 'success' | 'info' | 'warn' | 'error' = 'error';\n\n\t/** The message to be displayed, HTML supported. */\n\t@Input()\n\tmessage = '';\n\n\t/** Specifies the ARIA live region politeness. */\n\t@Input()\n\tpoliteness!: 'off' | 'polite' | 'assertive';\n\n\t/** Whether to display the button to fire the `dismissed` event. */\n\t@Input()\n\tget dismissible() {\n\t\treturn this._dismissible;\n\t}\n\tset dismissible(value: any) {\n\t\tthis._dismissible = coerceBooleanProperty(value);\n\t}\n\n\t/** To be emitted when the user choose to dismiss the message. The event object is the ID of the element. */\n\t@Output()\n\tdismissed = new EventEmitter<string>();\n\n\t/** To be emitted when the component finishes initialisation. The event object is the ID of the element. */\n\t@Output()\n\tinitialised = new EventEmitter<string>();\n\n\t@Input('id')\n\t@HostBinding('id')\n\t/** @ignore */\n\t_id = `bui-alert-${generateID()}`;\n\n\tprivate _dismissible = false;\n\tprivate _blink = false;\n\n\tconstructor() {}\n\n\tngOnInit(): void {\n\t\tthis.politeness = this.politeness || DEFAULT_POLITENESS[this.type];\n\t\tthis.initialised.emit(this._id);\n\t}\n\n\t/** @ignore */\n\tget iconName(): string {\n\t\treturn ICONS[this.type];\n\t}\n\n\t/** @ignore */\n\t_dismiss() {\n\t\tthis.dismissed.emit(this._id);\n\t}\n}\n","<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\">\n\t\t<div [innerHTML]=\"message\"></div>\n\t\t<ng-content></ng-content>\n\t</div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n","import { animate, state, style, transition, trigger, AnimationEvent } from '@angular/animations';\nimport { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tInput,\n\tNgZone,\n\tOnDestroy,\n\tOnInit,\n\tOutput\n} from '@angular/core';\nimport { generateID, isElementInViewport } from '@bravura/ui/common';\nimport { Subject, Subscription, timer } from 'rxjs';\nimport { delay, take, takeUntil, tap } from 'rxjs/operators';\n\n/**@internal */\nclass InternalAlertOject {\n\tid: string;\n\tdeleted = false;\n\tconstructor(public readonly type: 'success' | 'info' | 'warn' | 'error', public readonly message: string) {\n\t\tthis.id = `bui-alert-cont-alert-${generateID()}`;\n\t}\n}\n\n/**\n * Use this component in a designated area of a page for displaying notification messages\n *\n */\n@Component({\n\tselector: 'bui-alert-container',\n\ttemplateUrl: './alert-container.component.html',\n\tstyleUrls: ['./alert-container.component.scss'],\n\thost: {\n\t\t'[class]': `'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')`\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [\n\t\ttrigger('floatTransition', [\n\t\t\ttransition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),\n\t\t\ttransition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])\n\t\t]),\n\t\ttrigger('alertTransition', [\n\t\t\tstate('visible', style({})),\n\t\t\tstate(\n\t\t\t\t'hidden',\n\t\t\t\tstyle({\n\t\t\t\t\theight: 0,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\ttransform: 'scaleY(0)',\n\t\t\t\t\topacity: 0,\n\t\t\t\t\t'margin-top': '-1rem'\n\t\t\t\t})\n\t\t\t),\n\t\t\ttransition('void => visible', [\n\t\t\t\tstyle({ transform: 'translateY(100%)', height: 0, opacity: '0', overflow: 'hidden' }),\n\t\t\t\tanimate('250ms cubic-bezier(0.42, 0.0, 0.58, 1.0)')\n\t\t\t]),\n\t\t\ttransition('visible => hidden', [animate('250ms cubic-bezier(0.25, 0, 0.3, 1.0)')])\n\t\t])\n\t]\n})\nexport class AlertContainerComponent implements OnInit, OnDestroy {\n\t/** The maximum number of messages displayed in the container area. */\n\t@Input()\n\tmax = 5;\n\n\t/**\n\t * This property determines the behavior for displaying the notifications when the container is outside the viewport.\n\t *\n\t * `scroll`: The component will try to scroll to reveal the new notifications.\n\t * `float`: The component will float the alert panel to the center of the screen for a couple of seconds and move it back to the original position.\n\t */\n\t@Input()\n\toutsideViewportBehavior: 'scroll' | 'float' = 'float';\n\n\t/**\n\t * The number of milliseconds for which the alert container will be floated when new notification arrives.\n\t *\n\t * This will only take effect when `outsideViewportBehavior` is set to `float` and the container is outside the viewport.\n\t */\n\t@Input()\n\tfloatDuration = 2000;\n\n\t/**@internal */\n\t_alerts: InternalAlertOject[] = [];\n\t/**@internal */\n\t_floated = false;\n\t/**@internal */\n\t_floatPanelHidden = true;\n\n\t/** @ignore Emits whenever the animation is started. */\n\treadonly _animationStarted = new Subject<AnimationEvent>();\n\t/** @ignore Emits whenever the animation is done. */\n\treadonly _animationEnded = new Subject<AnimationEvent>();\n\n\tprivate _destroyed$ = new Subject<void>();\n\tprivate _endFloatingSub?: Subscription;\n\n\t/** Emits the component instance after initialisation. */\n\t@Output()\n\tprivate init = new EventEmitter<AlertContainerComponent>();\n\n\tconstructor(\n\t\tprivate zone: NgZone,\n\t\tprivate cdRef: ChangeDetectorRef,\n\t\tprivate _elementRef: ElementRef<HTMLElement>,\n\t\tprivate scroll: ScrollDispatcher\n\t) {}\n\n\tngOnInit(): void {\n\t\tconst checkScroll = () => {\n\t\t\tif (isElementInViewport(this._elementRef.nativeElement)) {\n\t\t\t\tthis._endFloating();\n\t\t\t}\n\t\t};\n\t\tthis.scroll\n\t\t\t.ancestorScrolled(this._elementRef.nativeElement)\n\t\t\t.pipe(takeUntil(this._destroyed$))\n\t\t\t.subscribe(checkScroll);\n\t\tcheckScroll();\n\t\tthis.init.emit(this);\n\t\tthis.init.complete();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed$.next();\n\t\tthis._destroyed$.complete();\n\t\tthis._endFloatingSub?.unsubscribe();\n\t}\n\n\t/**@internal */\n\tget _remaining() {\n\t\treturn this._alerts.filter(a => !a.deleted);\n\t}\n\n\t/**@internal */\n\tget _width() {\n\t\treturn this._elementRef.nativeElement.clientWidth;\n\t}\n\n\t/** Add a message to the notification area */\n\tasync notify(type: 'success' | 'info' | 'warn' | 'error', message: string) {\n\t\tthis._endFloatingSub?.unsubscribe();\n\t\tconst duplicate = this._remaining.find(_a => message === _a.message);\n\t\tif (duplicate) {\n\t\t\tthis._dismiss(duplicate);\n\t\t}\n\n\t\tconst remaining = this._remaining;\n\t\tif (remaining.length >= this.max) {\n\t\t\tthis._dismiss(remaining[0]);\n\t\t}\n\n\t\tconst a = new InternalAlertOject(type, message);\n\t\tawait this._checkViewport();\n\t\tthis.zone.run(() => {\n\t\t\tthis._alerts.push(a);\n\t\t\tthis.cdRef.markForCheck();\n\t\t});\n\t}\n\n\t/**@ignore */\n\tasync _checkViewport() {\n\t\tif (!isElementInViewport(this._elementRef.nativeElement)) {\n\t\t\tif (this.outsideViewportBehavior === 'float') {\n\t\t\t\tconst d = this._floated ? 0 : 100;\n\t\t\t\tthis._floated = true;\n\t\t\t\tthis._floatPanelHidden = false;\n\t\t\t\tthis._endFloating(this.floatDuration);\n\t\t\t\tthis.cdRef.markForCheck();\n\t\t\t\tawait timer(d).toPromise();\n\t\t\t} else {\n\t\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**@ignore */\n\tasync _dismiss(a: InternalAlertOject) {\n\t\tconst id = a.id;\n\t\ta.deleted = true;\n\t\tthis.cdRef.markForCheck();\n\t\tawait this._animationEnded.pipe(take(1)).toPromise();\n\t\tthis.zone.run(() => {\n\t\t\tthis._alerts = this._alerts.filter(_a => _a.id !== id);\n\t\t\tthis.cdRef.markForCheck();\n\t\t});\n\t}\n\n\t/** Remove all messages currently displayed. */\n\tasync clear() {\n\t\tawait Promise.all(this._remaining.map(a => this._dismiss(a)));\n\t\tthis._endFloating();\n\t}\n\n\tprivate _endFloating(_delay = 0) {\n\t\tif (!this._floated) {\n\t\t\treturn;\n\t\t}\n\t\tthis._endFloatingSub?.unsubscribe();\n\t\tthis._endFloatingSub = timer(_delay)\n\t\t\t.pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._floated = false;\n\t\t\t\t\tthis.zone.run(() => this.cdRef.markForCheck());\n\t\t\t\t}),\n\t\t\t\tdelay(400)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._floatPanelHidden = true;\n\t\t\t\tthis.zone.run(() => this.cdRef.markForCheck());\n\t\t\t});\n\t}\n}\n","<div\n\tclass=\"bui-alert-fixed-panel\"\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\n>\n\t<bui-alert\n\t\t*ngFor=\"let a of _alerts\"\n\t\t[id]=\"a.id\"\n\t\t[type]=\"a.type\"\n\t\t[message]=\"a.message\"\n\t\tdismissible\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\n\t\t(dismissed)=\"_dismiss(a)\"\n\t></bui-alert>\n</div>\n\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\n\t\t<bui-alert\n\t\t\t*ngFor=\"let a of _alerts\"\n\t\t\t[id]=\"a.id\"\n\t\t\t[type]=\"a.type\"\n\t\t\t[message]=\"a.message\"\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t></bui-alert>\n\t</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { IconFontModule } from '@bravura/ui/icon-font';\nimport { AlertContainerComponent } from './alert-container.component';\nimport { AlertMessageComponent } from './alert-message.component';\n\n@NgModule({\n\tdeclarations: [AlertMessageComponent, AlertContainerComponent],\n\timports: [CommonModule, IconFontModule, MatButtonModule],\n\texports: [AlertMessageComponent, AlertContainerComponent]\n})\nexport class AlertModule {}\n\nexport { AlertMessageComponent, AlertContainerComponent };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.AlertMessageComponent"],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { HarnessPredicate } from '@angular/cdk/testing';
3
+ import { MatRadioButtonHarness, _MatRadioGroupHarnessBase } from '@angular/material/radio/testing';
4
+
5
+ class RadioPanelItemHarness extends MatRadioButtonHarness {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.getLabelElement = this.locatorFor('label');
9
+ this._textLabel = this.locatorFor('label .bui-label-title');
10
+ this._clickLabel = this.getLabelElement;
11
+ }
12
+ /**
13
+ * Gets a `HarnessPredicate` that can be used to search for a radio button with specific
14
+ * attributes.
15
+ * @param options Options for filtering which radio button instances are considered a match.
16
+ * @return a `HarnessPredicate` configured with the given options.
17
+ */
18
+ static with(options = {}) {
19
+ return MatRadioButtonHarness.with
20
+ .bind(this)(options)
21
+ .addOption('value', options.value, (harness, value) => HarnessPredicate.stringMatches(harness.getValue(), value));
22
+ }
23
+ click() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const element = yield this.getLabelElement();
26
+ element.click();
27
+ });
28
+ }
29
+ getLabelCssValue(prop) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const element = yield this.getLabelElement();
32
+ return element.getCssValue(prop);
33
+ });
34
+ }
35
+ getBorderColor() {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ const label = yield this.getLabelElement();
38
+ return label.getCssValue('border-color');
39
+ });
40
+ }
41
+ }
42
+ RadioPanelItemHarness.hostSelector = 'bui-radio-panel-item';
43
+ class RadioPanelHarness extends _MatRadioGroupHarnessBase {
44
+ constructor() {
45
+ super(...arguments);
46
+ this._buttonClass = RadioPanelItemHarness;
47
+ this.getItem = (filters) => this.locatorFor(RadioPanelItemHarness.with(filters))();
48
+ }
49
+ getFlexDir() {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ return (yield this.host()).getCssValue('flex-direction');
52
+ });
53
+ }
54
+ }
55
+ /** The selector for the host element of a `MatRadioGroup` instance. */
56
+ RadioPanelHarness.hostSelector = 'bui-radio-panel';
57
+
58
+ /**
59
+ * Generated bundle index. Do not edit.
60
+ */
61
+
62
+ export { RadioPanelHarness, RadioPanelItemHarness };
63
+ //# sourceMappingURL=bravura-ui-radio-panel-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bravura-ui-radio-panel-testing.mjs","sources":["../../../projects/ui/radio-panel/testing/test-api.ts","../../../projects/ui/radio-panel/testing/bravura-ui-radio-panel-testing.ts"],"sourcesContent":["import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing';\nimport {\n\tMatRadioButtonHarness,\n\tRadioButtonHarnessFilters,\n\t_MatRadioGroupHarnessBase\n} from '@angular/material/radio/testing';\n\nexport interface RadioPanelItemHarnessFilters extends RadioButtonHarnessFilters {\n\tvalue?: string | RegExp;\n}\n\nexport class RadioPanelItemHarness extends MatRadioButtonHarness {\n\tstatic hostSelector = 'bui-radio-panel-item';\n\tgetLabelElement = this.locatorFor('label');\n\n\tprotected _textLabel = this.locatorFor('label .bui-label-title');\n\tprotected _clickLabel = this.getLabelElement;\n\n\t/**\n\t * Gets a `HarnessPredicate` that can be used to search for a radio button with specific\n\t * attributes.\n\t * @param options Options for filtering which radio button instances are considered a match.\n\t * @return a `HarnessPredicate` configured with the given options.\n\t */\n\tstatic with<T extends MatRadioButtonHarness>(\n\t\tthis: ComponentHarnessConstructor<T>,\n\t\toptions: RadioPanelItemHarnessFilters = {}\n\t): HarnessPredicate<T> {\n\t\treturn MatRadioButtonHarness.with\n\t\t\t.bind(this)(options)\n\t\t\t.addOption('value', options.value, (harness, value) =>\n\t\t\t\tHarnessPredicate.stringMatches(harness.getValue(), value)\n\t\t\t) as HarnessPredicate<T>;\n\t}\n\n\tasync click() {\n\t\tconst element = await this.getLabelElement();\n\t\telement.click();\n\t}\n\n\tasync getLabelCssValue(prop: string): Promise<string> {\n\t\tconst element = await this.getLabelElement();\n\t\treturn element.getCssValue(prop);\n\t}\n\n\tasync getBorderColor(): Promise<string> {\n\t\tconst label = await this.getLabelElement();\n\t\treturn label.getCssValue('border-color');\n\t}\n}\n\nexport class RadioPanelHarness extends _MatRadioGroupHarnessBase<\n\ttypeof RadioPanelItemHarness,\n\tRadioPanelItemHarness,\n\tRadioButtonHarnessFilters\n> {\n\t/** The selector for the host element of a `MatRadioGroup` instance. */\n\tstatic hostSelector = 'bui-radio-panel';\n\n\tprotected _buttonClass = RadioPanelItemHarness;\n\n\tgetItem = (filters: RadioPanelItemHarnessFilters) => this.locatorFor(RadioPanelItemHarness.with(filters))();\n\n\tasync getFlexDir(): Promise<string> {\n\t\treturn (await this.host()).getCssValue('flex-direction');\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './test-api';\n"],"names":[],"mappings":";;;;AAWM,MAAO,qBAAsB,SAAQ,qBAAqB,CAAA;AAAhE,IAAA,WAAA,GAAA;;QAEC,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC;KAiC7C;AA/BA;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAEV,OAAA,GAAwC,EAAE,EAAA;QAE1C,OAAO,qBAAqB,CAAC,IAAI;AAC/B,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;aACnB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,KACjD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAClC,CAAC;KAC1B;IAEK,KAAK,GAAA;;AACV,YAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,EAAE,CAAC;SAChB,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,gBAAgB,CAAC,IAAY,EAAA;;AAClC,YAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC7C,YAAA,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACjC,CAAA,CAAA;AAAA,KAAA;IAEK,cAAc,GAAA;;AACnB,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3C,YAAA,OAAO,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;SACzC,CAAA,CAAA;AAAA,KAAA;;AApCM,qBAAY,CAAA,YAAA,GAAG,sBAAsB,CAAC;AAuCxC,MAAO,iBAAkB,SAAQ,yBAItC,CAAA;AAJD,IAAA,WAAA,GAAA;;AAQW,QAAA,IAAY,CAAA,YAAA,GAAG,qBAAqB,CAAC;QAE/C,IAAA,CAAA,OAAO,GAAG,CAAC,OAAqC,KAAK,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;KAK5G;IAHM,UAAU,GAAA;;AACf,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;SACzD,CAAA,CAAA;AAAA,KAAA;;AATD;AACO,iBAAY,CAAA,YAAA,GAAG,iBAAiB;;ACzDxC;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { trigger, state, style, transition, animate } from '@angular/animations';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, Optional, Inject, Attribute, Input, HostBinding, ContentChild, forwardRef, ContentChildren, NgModule } from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, Optional, Inject, Attribute, Input, ContentChild, forwardRef, HostBinding, ContentChildren, NgModule } from '@angular/core';
4
4
  import * as i6 from '@angular/material/radio';
5
5
  import { MatRadioButton, MAT_RADIO_GROUP, MAT_RADIO_DEFAULT_OPTIONS, MatRadioGroup, MatRadioModule } from '@angular/material/radio';
6
6
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
@@ -24,7 +24,6 @@ class RadioPanelItemComponent extends MatRadioButton {
24
24
  * This will be displayed as the panel header
25
25
  */
26
26
  this.title = '';
27
- this.panelWidth = '280px';
28
27
  }
29
28
  get tickPosition() {
30
29
  var _a;
@@ -35,7 +34,7 @@ class RadioPanelItemComponent extends MatRadioButton {
35
34
  }
36
35
  }
37
36
  RadioPanelItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: RadioPanelItemComponent, deps: [{ token: MAT_RADIO_GROUP, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_RADIO_DEFAULT_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
38
- RadioPanelItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: RadioPanelItemComponent, selector: "bui-radio-panel-item", inputs: { disableRipple: "disableRipple", tabIndex: "tabIndex", title: "title", _tickPosition: "_tickPosition", tickPosition: "tickPosition" }, host: { listeners: { "focus": "_inputElement.nativeElement.focus()" }, properties: { "class.bui-radio-checked": "checked", "class.bui-disabled": "disabled", "class._mat-animation-noopable": "_noopAnimations", "class.mat-primary": "color === \"primary\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"", "attr.tabindex": "null", "attr.id": "id", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "style.--panel-width": "this.panelWidth" }, classAttribute: "bui-radio-panel-item" }, queries: [{ propertyName: "contentOnSelect", first: true, predicate: ["contentOnSelect"], descendants: true }], exportAs: ["matRadioButton"], usesInheritance: true, ngImport: i0, template: "<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon [color]=\"color\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputClick($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n", styles: [":host .bui-ripple,:host .bui-persistent-ripple{position:absolute;inset:0}:host .bui-radio-panel-item-overlay{background-color:#fff;opacity:0}:host .bui-radio-panel-item-circle{width:40px;height:40px;flex-shrink:0}:host .bui-radio-panel-item-label{display:block;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px;position:relative;height:100%}:host .bui-radio-panel-item-label .bui-radio-panel-item-circle-unchecked{color:#80808066}:host .bui-radio-panel-item-wrapper.bui-radio-tick-at-end .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 1rem;justify-content:space-between}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 calc(1rem - 10px)}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-radio-panel-item-circle{order:-1}:host .bui-label-header,:host .bui-radio-panel-item-circle{display:flex;align-items:center}:host .bui-label-header{margin-bottom:calc(1rem - 10px)}:host .bui-label-title{font-size:larger;font-weight:700}:host .bui-radio-panel-item-circle{justify-content:center;position:relative}:host .bui-label-content:not(:empty){margin:0 1rem 1rem}:host .bui-label-content-gap{margin-top:calc(1rem - 10px)}@polyfill-unscoped-rule{content: \".bui-radio-panel-item-wrapper .bui-label-header [buiRadioItemHeadingEnd]\"; margin-left: auto;}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):not(.bui-radio-checked) .bui-radio-panel-item-label{cursor:pointer}:host(:not(.bui-disabled)) .bui-radio-panel-item-label:hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)).cdk-keyboard-focused .bui-persistent-ripple,:host(:not(.bui-disabled)).cdk-program-focused .bui-persistent-ripple{background-color:#80808033;border-radius:50%}:host-context(.radio-dir-row){--panel-width: 300px;margin-right:1rem;max-width:var(--panel-width);min-width:250px;margin-bottom:1rem}:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-header,:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-content{opacity:.5}:host-context(.radio-dir-row):not(:last-child){margin-right:1rem;margin-bottom:1rem}:host-context(.radio-dir-column):not(:last-child){margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [
37
+ RadioPanelItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: RadioPanelItemComponent, selector: "bui-radio-panel-item", inputs: { disableRipple: "disableRipple", tabIndex: "tabIndex", title: "title", _tickPosition: "_tickPosition", tickPosition: "tickPosition" }, host: { listeners: { "focus": "_inputElement.nativeElement.focus()" }, properties: { "class.bui-radio-checked": "checked", "class.bui-disabled": "disabled", "class._mat-animation-noopable": "_noopAnimations", "class.mat-primary": "color === \"primary\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"", "attr.tabindex": "null", "attr.id": "id", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "bui-radio-panel-item" }, queries: [{ propertyName: "contentOnSelect", first: true, predicate: ["contentOnSelect"], descendants: true }], exportAs: ["matRadioButton"], usesInheritance: true, ngImport: i0, template: "<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon [color]=\"color\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputClick($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n", styles: [":host .bui-ripple,:host .bui-persistent-ripple{position:absolute;inset:0}:host .bui-radio-panel-item-overlay{background-color:#fff;opacity:0}:host .bui-radio-panel-item-circle{width:40px;height:40px;flex-shrink:0}:host .bui-radio-panel-item-label{display:block;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px;position:relative;height:100%}:host .bui-radio-panel-item-label .bui-radio-panel-item-circle-unchecked{color:#80808066}:host .bui-radio-panel-item-wrapper.bui-radio-tick-at-end .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 1rem;justify-content:space-between}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 calc(1rem - 10px)}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-radio-panel-item-circle{order:-1}:host .bui-label-header,:host .bui-radio-panel-item-circle{display:flex;align-items:center}:host .bui-label-header{margin-bottom:calc(1rem - 10px)}:host .bui-label-title{font-size:larger;font-weight:700}:host .bui-radio-panel-item-circle{justify-content:center;position:relative}:host .bui-label-content:not(:empty){margin:0 1rem 1rem}:host .bui-label-content-gap{margin-top:calc(1rem - 10px)}@polyfill-unscoped-rule{content: \".bui-radio-panel-item-wrapper .bui-label-header [buiRadioItemHeadingEnd]\"; margin-left: auto;}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):not(.bui-radio-checked) .bui-radio-panel-item-label{cursor:pointer}:host(:not(.bui-disabled)) .bui-radio-panel-item-label:hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)).cdk-keyboard-focused .bui-persistent-ripple,:host(:not(.bui-disabled)).cdk-program-focused .bui-persistent-ripple{background-color:#80808033;border-radius:50%}:host-context(.radio-dir-row){flex-basis:var(--bui-panel-width, 300px);flex-grow:0}:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-header,:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-content{opacity:.5}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [
39
38
  trigger('slideInOut', [
40
39
  state('void', style({ height: '0px', overflow: 'hidden' })),
41
40
  transition(':enter, :leave', animate('.25s'))
@@ -66,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
66
65
  state('void', style({ height: '0px', overflow: 'hidden' })),
67
66
  transition(':enter, :leave', animate('.25s'))
68
67
  ])
69
- ], template: "<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon [color]=\"color\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputClick($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n", styles: [":host .bui-ripple,:host .bui-persistent-ripple{position:absolute;inset:0}:host .bui-radio-panel-item-overlay{background-color:#fff;opacity:0}:host .bui-radio-panel-item-circle{width:40px;height:40px;flex-shrink:0}:host .bui-radio-panel-item-label{display:block;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px;position:relative;height:100%}:host .bui-radio-panel-item-label .bui-radio-panel-item-circle-unchecked{color:#80808066}:host .bui-radio-panel-item-wrapper.bui-radio-tick-at-end .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 1rem;justify-content:space-between}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 calc(1rem - 10px)}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-radio-panel-item-circle{order:-1}:host .bui-label-header,:host .bui-radio-panel-item-circle{display:flex;align-items:center}:host .bui-label-header{margin-bottom:calc(1rem - 10px)}:host .bui-label-title{font-size:larger;font-weight:700}:host .bui-radio-panel-item-circle{justify-content:center;position:relative}:host .bui-label-content:not(:empty){margin:0 1rem 1rem}:host .bui-label-content-gap{margin-top:calc(1rem - 10px)}@polyfill-unscoped-rule{content: \".bui-radio-panel-item-wrapper .bui-label-header [buiRadioItemHeadingEnd]\"; margin-left: auto;}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):not(.bui-radio-checked) .bui-radio-panel-item-label{cursor:pointer}:host(:not(.bui-disabled)) .bui-radio-panel-item-label:hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)).cdk-keyboard-focused .bui-persistent-ripple,:host(:not(.bui-disabled)).cdk-program-focused .bui-persistent-ripple{background-color:#80808033;border-radius:50%}:host-context(.radio-dir-row){--panel-width: 300px;margin-right:1rem;max-width:var(--panel-width);min-width:250px;margin-bottom:1rem}:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-header,:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-content{opacity:.5}:host-context(.radio-dir-row):not(:last-child){margin-right:1rem;margin-bottom:1rem}:host-context(.radio-dir-column):not(:last-child){margin-bottom:1rem}\n"] }]
68
+ ], template: "<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon [color]=\"color\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputClick($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n", styles: [":host .bui-ripple,:host .bui-persistent-ripple{position:absolute;inset:0}:host .bui-radio-panel-item-overlay{background-color:#fff;opacity:0}:host .bui-radio-panel-item-circle{width:40px;height:40px;flex-shrink:0}:host .bui-radio-panel-item-label{display:block;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px;position:relative;height:100%}:host .bui-radio-panel-item-label .bui-radio-panel-item-circle-unchecked{color:#80808066}:host .bui-radio-panel-item-wrapper.bui-radio-tick-at-end .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 1rem;justify-content:space-between}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 calc(1rem - 10px)}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-radio-panel-item-circle{order:-1}:host .bui-label-header,:host .bui-radio-panel-item-circle{display:flex;align-items:center}:host .bui-label-header{margin-bottom:calc(1rem - 10px)}:host .bui-label-title{font-size:larger;font-weight:700}:host .bui-radio-panel-item-circle{justify-content:center;position:relative}:host .bui-label-content:not(:empty){margin:0 1rem 1rem}:host .bui-label-content-gap{margin-top:calc(1rem - 10px)}@polyfill-unscoped-rule{content: \".bui-radio-panel-item-wrapper .bui-label-header [buiRadioItemHeadingEnd]\"; margin-left: auto;}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):not(.bui-radio-checked) .bui-radio-panel-item-label{cursor:pointer}:host(:not(.bui-disabled)) .bui-radio-panel-item-label:hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)).cdk-keyboard-focused .bui-persistent-ripple,:host(:not(.bui-disabled)).cdk-program-focused .bui-persistent-ripple{background-color:#80808033;border-radius:50%}:host-context(.radio-dir-row){flex-basis:var(--bui-panel-width, 300px);flex-grow:0}:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-header,:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-content{opacity:.5}\n"] }]
70
69
  }], ctorParameters: function () {
71
70
  return [{ type: i6.MatRadioGroup, decorators: [{
72
71
  type: Optional
@@ -89,9 +88,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
89
88
  }] }];
90
89
  }, propDecorators: { title: [{
91
90
  type: Input
92
- }], panelWidth: [{
93
- type: HostBinding,
94
- args: ['style.--panel-width']
95
91
  }], _tickPosition: [{
96
92
  type: Input
97
93
  }], tickPosition: [{
@@ -118,7 +114,10 @@ class RadioPanelComponent extends MatRadioGroup {
118
114
  * @ignore
119
115
  */
120
116
  this.classAttr = '';
121
- this.panelWidth = 280;
117
+ /**
118
+ * The default width of each panel when the `direction` is `row`
119
+ */
120
+ this.panelWidth = 300;
122
121
  /** The flow direction of the radio panel items */
123
122
  this.direction = 'row';
124
123
  /** The default position of the 'tick' icon relative to the title. */
@@ -135,29 +134,17 @@ class RadioPanelComponent extends MatRadioGroup {
135
134
  else {
136
135
  this.classAttr = 'bui-radio-panel bui-host radio-dir-column';
137
136
  }
138
- if (changes.panelWidth && this._radios) {
139
- this._updatePanelWidth();
140
- }
141
- }
142
- ngAfterContentInit() {
143
- this._updatePanelWidth();
144
- }
145
- _updatePanelWidth() {
146
- this._radios.forEach(item => {
147
- item.panelWidth = this.panelWidth + 'px';
148
- item._markForCheck();
149
- });
150
137
  }
151
138
  }
152
139
  RadioPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: RadioPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
153
- RadioPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: RadioPanelComponent, selector: "bui-radio-panel", inputs: { panelWidth: "panelWidth", direction: "direction", color: "color", tickPosition: "tickPosition" }, host: { attributes: { "role": "radiogroup" }, properties: { "attr.class": "this.classAttr" }, classAttribute: "bui-radio-panel bui-host" }, providers: [
140
+ RadioPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: RadioPanelComponent, selector: "bui-radio-panel", inputs: { panelWidth: "panelWidth", direction: "direction", color: "color", tickPosition: "tickPosition" }, host: { attributes: { "role": "radiogroup" }, properties: { "style.--bui-panel-width": "panelWidth +'px'", "attr.class": "this.classAttr" }, classAttribute: "bui-radio-panel bui-host" }, providers: [
154
141
  {
155
142
  provide: NG_VALUE_ACCESSOR,
156
143
  useExisting: forwardRef(() => RadioPanelComponent),
157
144
  multi: true
158
145
  },
159
146
  { provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }
160
- ], queries: [{ propertyName: "_radios", predicate: RadioPanelItemComponent, descendants: true }], exportAs: ["buiRadioPanel"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, styles: [":host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] });
147
+ ], queries: [{ propertyName: "_radios", predicate: RadioPanelItemComponent, descendants: true }], exportAs: ["buiRadioPanel"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, styles: [":host{gap:1rem}:host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] });
161
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: RadioPanelComponent, decorators: [{
162
149
  type: Component,
163
150
  args: [{ selector: 'bui-radio-panel', exportAs: 'buiRadioPanel', providers: [
@@ -169,8 +156,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
169
156
  { provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }
170
157
  ], host: {
171
158
  role: 'radiogroup',
172
- class: 'bui-radio-panel bui-host'
173
- }, template: ` <ng-content></ng-content> `, styles: [":host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] }]
159
+ class: 'bui-radio-panel bui-host',
160
+ '[style.--bui-panel-width]': "panelWidth +'px'"
161
+ }, template: ` <ng-content></ng-content> `, styles: [":host{gap:1rem}:host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] }]
174
162
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { classAttr: [{
175
163
  type: HostBinding,
176
164
  args: ['attr.class']
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-radio-panel.mjs","sources":["../../../projects/ui/radio-panel/radio-panel-item.component.ts","../../../projects/ui/radio-panel/radio-panel-item.component.html","../../../projects/ui/radio-panel/radio-panel.component.ts","../../../projects/ui/radio-panel/radio-panel.module.ts","../../../projects/ui/radio-panel/bravura-ui-radio-panel.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n\tAttribute,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tElementRef,\n\tHostBinding,\n\tInject,\n\tInput,\n\tOptional,\n\tTemplateRef\n} from '@angular/core';\nimport {\n\tMatRadioButton,\n\tMatRadioDefaultOptions,\n\tMatRadioGroup,\n\tMAT_RADIO_DEFAULT_OPTIONS,\n\tMAT_RADIO_GROUP\n} from '@angular/material/radio';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * Use `bui-radio-panel-item` instead of `mat-radio-button` in a `bui-radio-panel` to display an option.\n */\n@Component({\n\tselector: 'bui-radio-panel-item',\n\ttemplateUrl: './radio-panel-item.component.html',\n\tstyleUrls: ['./radio-panel-item.component.scss'],\n\t// tslint:disable-next-line: no-inputs-metadata-property\n\tinputs: ['disableRipple', 'tabIndex'],\n\texportAs: 'matRadioButton',\n\t// tslint:disable-next-line: no-host-metadata-property\n\thost: {\n\t\tclass: 'bui-radio-panel-item',\n\t\t'[class.bui-radio-checked]': 'checked',\n\t\t'[class.bui-disabled]': 'disabled',\n\t\t'[class._mat-animation-noopable]': '_noopAnimations',\n\t\t'[class.mat-primary]': 'color === \"primary\"',\n\t\t'[class.mat-accent]': 'color === \"accent\"',\n\t\t'[class.mat-warn]': 'color === \"warn\"',\n\t\t// Needs to be removed since it causes some a11y issues (see #21266).\n\t\t'[attr.tabindex]': 'null',\n\t\t'[attr.id]': 'id',\n\t\t'[attr.aria-label]': 'null',\n\t\t'[attr.aria-labelledby]': 'null',\n\t\t'[attr.aria-describedby]': 'null',\n\t\t// Note: under normal conditions focus shouldn't land on this element, however it may be\n\t\t// programmatically set, for example inside of a focus trap, in this case we want to forward\n\t\t// the focus to the native element.\n\t\t'(focus)': '_inputElement.nativeElement.focus()'\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [\n\t\ttrigger('slideInOut', [\n\t\t\tstate('void', style({ height: '0px', overflow: 'hidden' })),\n\t\t\ttransition(':enter, :leave', animate('.25s'))\n\t\t])\n\t]\n})\nexport class RadioPanelItemComponent extends MatRadioButton {\n\t/**\n\t * This will be displayed as the panel header\n\t */\n\t@Input()\n\ttitle = '';\n\n\t@HostBinding('style.--panel-width')\n\tpanelWidth = '280px';\n\n\t/** The default position of the 'tick' icon relative to the title. */\n\t@Input() private _tickPosition: 'start' | 'end' | undefined;\n\n\t@Input()\n\tget tickPosition(): 'start' | 'end' {\n\t\treturn this._tickPosition || (this.radioGroup as any)?.tickPosition;\n\t}\n\tset tickPosition(pos: 'start' | 'end') {\n\t\tthis._tickPosition = pos;\n\t}\n\n\t@ContentChild('contentOnSelect')\n\t//@ts-ignore\n\tcontentOnSelect: TemplateRef<any>;\n\n\tconstructor(\n\t\t@Optional() @Inject(MAT_RADIO_GROUP) radioGroup: MatRadioGroup,\n\t\telementRef: ElementRef,\n\t\t_changeDetector: ChangeDetectorRef,\n\t\t_focusMonitor: FocusMonitor,\n\t\t_radioDispatcher: UniqueSelectionDispatcher,\n\t\t@Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n\t\t@Optional()\n\t\t@Inject(MAT_RADIO_DEFAULT_OPTIONS)\n\t\t_providerOverride?: MatRadioDefaultOptions,\n\t\t@Attribute('tabindex') tabIndex?: string\n\t) {\n\t\tsuper(\n\t\t\tradioGroup,\n\t\t\telementRef,\n\t\t\t_changeDetector,\n\t\t\t_focusMonitor,\n\t\t\t_radioDispatcher,\n\t\t\tanimationMode,\n\t\t\t_providerOverride,\n\t\t\ttabIndex\n\t\t);\n\t}\n}\n","<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon [color]=\"color\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputClick($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n","import {\n\tAfterContentInit,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChildren,\n\tforwardRef,\n\tHostBinding,\n\tInput,\n\tOnChanges,\n\tQueryList,\n\tSimpleChanges\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatRadioGroup, MAT_RADIO_GROUP } from '@angular/material/radio';\nimport { RadioPanelItemComponent } from './radio-panel-item.component';\n/**\n * Radio panel is a [control value accessor](https://angular.io/api/forms/ControlValueAccessor)\n * that extends Angular Material's [radio group component](https://material.angular.io/components/radio/overview).\n * It inherits all the features of `MatRadioGroup`, and arranges the child items in panels,\n * with the `title` attributes rendered as captions. The check box icon and the borders will be displayed\n * in the color selected by the theme attribute `color`.\n *\n */\n@Component({\n\t// tslint:disable-next-line: directive-selector\n\tselector: 'bui-radio-panel',\n\texportAs: 'buiRadioPanel',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => RadioPanelComponent),\n\t\t\tmulti: true\n\t\t},\n\t\t{ provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }\n\t],\n\t// tslint:disable-next-line: no-host-metadata-property\n\thost: {\n\t\trole: 'radiogroup',\n\t\tclass: 'bui-radio-panel bui-host'\n\t},\n\ttemplate: ` <ng-content></ng-content> `,\n\tstyleUrls: ['radio-panel.component.scss']\n})\nexport class RadioPanelComponent extends MatRadioGroup implements OnChanges, AfterContentInit {\n\t/**\n\t * @ignore\n\t */\n\t@HostBinding('attr.class')\n\tclassAttr: string = '';\n\n\t@Input()\n\tpanelWidth = 280;\n\n\t/** The flow direction of the radio panel items */\n\t@Input()\n\tdirection: 'row' | 'column' = 'row';\n\n\t/** Theme color for all of the radio panels in the group. */\n\t@Input() color: ThemePalette;\n\n\t/** The default position of the 'tick' icon relative to the title. */\n\t@Input() tickPosition: 'start' | 'end' = 'start';\n\n\t/**\n\t * @ignore\n\t */\n\t@ContentChildren(RadioPanelItemComponent, { descendants: true })\n\t_radios!: QueryList<RadioPanelItemComponent>;\n\n\tconstructor(cd: ChangeDetectorRef) {\n\t\tsuper(cd);\n\t}\n\n\t/** @ignore */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (['color', 'tickPosition'].some(p => changes[p]) && this._radios) {\n\t\t\tthis._radios.forEach(item => item._markForCheck());\n\t\t}\n\n\t\tif (this.direction === 'row') {\n\t\t\tthis.classAttr = 'bui-radio-panel bui-host radio-dir-row';\n\t\t} else {\n\t\t\tthis.classAttr = 'bui-radio-panel bui-host radio-dir-column';\n\t\t}\n\n\t\tif (changes.panelWidth && this._radios) {\n\t\t\tthis._updatePanelWidth();\n\t\t}\n\t}\n\n\tngAfterContentInit(): void {\n\t\tthis._updatePanelWidth();\n\t}\n\n\tprivate _updatePanelWidth() {\n\t\tthis._radios.forEach(item => {\n\t\t\titem.panelWidth = this.panelWidth + 'px';\n\t\t\titem._markForCheck();\n\t\t});\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { RadioPanelItemComponent } from './radio-panel-item.component';\nimport { RadioPanelComponent } from './radio-panel.component';\n\n/**\n * Import this NgModule for the radio panel component\n */\n@NgModule({\n\tdeclarations: [RadioPanelItemComponent, RadioPanelComponent],\n\timports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule],\n\texports: [RadioPanelItemComponent, RadioPanelComponent]\n})\nexport class RadioPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-radio-panel.mjs","sources":["../../../projects/ui/radio-panel/radio-panel-item.component.ts","../../../projects/ui/radio-panel/radio-panel-item.component.html","../../../projects/ui/radio-panel/radio-panel.component.ts","../../../projects/ui/radio-panel/radio-panel.module.ts","../../../projects/ui/radio-panel/bravura-ui-radio-panel.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n\tAttribute,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tElementRef,\n\tHostBinding,\n\tInject,\n\tInput,\n\tOptional,\n\tTemplateRef\n} from '@angular/core';\nimport {\n\tMatRadioButton,\n\tMatRadioDefaultOptions,\n\tMatRadioGroup,\n\tMAT_RADIO_DEFAULT_OPTIONS,\n\tMAT_RADIO_GROUP\n} from '@angular/material/radio';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * Use `bui-radio-panel-item` instead of `mat-radio-button` in a `bui-radio-panel` to display an option.\n */\n@Component({\n\tselector: 'bui-radio-panel-item',\n\ttemplateUrl: './radio-panel-item.component.html',\n\tstyleUrls: ['./radio-panel-item.component.scss'],\n\t// tslint:disable-next-line: no-inputs-metadata-property\n\tinputs: ['disableRipple', 'tabIndex'],\n\texportAs: 'matRadioButton',\n\t// tslint:disable-next-line: no-host-metadata-property\n\thost: {\n\t\tclass: 'bui-radio-panel-item',\n\t\t'[class.bui-radio-checked]': 'checked',\n\t\t'[class.bui-disabled]': 'disabled',\n\t\t'[class._mat-animation-noopable]': '_noopAnimations',\n\t\t'[class.mat-primary]': 'color === \"primary\"',\n\t\t'[class.mat-accent]': 'color === \"accent\"',\n\t\t'[class.mat-warn]': 'color === \"warn\"',\n\t\t// Needs to be removed since it causes some a11y issues (see #21266).\n\t\t'[attr.tabindex]': 'null',\n\t\t'[attr.id]': 'id',\n\t\t'[attr.aria-label]': 'null',\n\t\t'[attr.aria-labelledby]': 'null',\n\t\t'[attr.aria-describedby]': 'null',\n\t\t// Note: under normal conditions focus shouldn't land on this element, however it may be\n\t\t// programmatically set, for example inside of a focus trap, in this case we want to forward\n\t\t// the focus to the native element.\n\t\t'(focus)': '_inputElement.nativeElement.focus()'\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [\n\t\ttrigger('slideInOut', [\n\t\t\tstate('void', style({ height: '0px', overflow: 'hidden' })),\n\t\t\ttransition(':enter, :leave', animate('.25s'))\n\t\t])\n\t]\n})\nexport class RadioPanelItemComponent extends MatRadioButton {\n\t/**\n\t * This will be displayed as the panel header\n\t */\n\t@Input()\n\ttitle = '';\n\n\t/** The default position of the 'tick' icon relative to the title. */\n\t@Input() private _tickPosition: 'start' | 'end' | undefined;\n\n\t@Input()\n\tget tickPosition(): 'start' | 'end' {\n\t\treturn this._tickPosition || (this.radioGroup as any)?.tickPosition;\n\t}\n\tset tickPosition(pos: 'start' | 'end') {\n\t\tthis._tickPosition = pos;\n\t}\n\n\t@ContentChild('contentOnSelect')\n\t//@ts-ignore\n\tcontentOnSelect: TemplateRef<any>;\n\n\tconstructor(\n\t\t@Optional() @Inject(MAT_RADIO_GROUP) radioGroup: MatRadioGroup,\n\t\telementRef: ElementRef,\n\t\t_changeDetector: ChangeDetectorRef,\n\t\t_focusMonitor: FocusMonitor,\n\t\t_radioDispatcher: UniqueSelectionDispatcher,\n\t\t@Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n\t\t@Optional()\n\t\t@Inject(MAT_RADIO_DEFAULT_OPTIONS)\n\t\t_providerOverride?: MatRadioDefaultOptions,\n\t\t@Attribute('tabindex') tabIndex?: string\n\t) {\n\t\tsuper(\n\t\t\tradioGroup,\n\t\t\telementRef,\n\t\t\t_changeDetector,\n\t\t\t_focusMonitor,\n\t\t\t_radioDispatcher,\n\t\t\tanimationMode,\n\t\t\t_providerOverride,\n\t\t\ttabIndex\n\t\t);\n\t}\n}\n","<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon [color]=\"color\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputClick($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n","import {\n\tChangeDetectorRef,\n\tComponent,\n\tContentChildren,\n\tforwardRef,\n\tHostBinding,\n\tInput,\n\tOnChanges,\n\tQueryList,\n\tSimpleChanges\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThemePalette } from '@angular/material/core';\nimport { MAT_RADIO_GROUP, MatRadioGroup } from '@angular/material/radio';\nimport { RadioPanelItemComponent } from './radio-panel-item.component';\n/**\n * Radio panel is a [control value accessor](https://angular.io/api/forms/ControlValueAccessor)\n * that extends Angular Material's [radio group component](https://material.angular.io/components/radio/overview).\n * It inherits all the features of `MatRadioGroup`, and arranges the child items in panels,\n * with the `title` attributes rendered as captions. The check box icon and the borders will be displayed\n * in the color selected by the theme attribute `color`.\n *\n */\n@Component({\n\t// tslint:disable-next-line: directive-selector\n\tselector: 'bui-radio-panel',\n\texportAs: 'buiRadioPanel',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => RadioPanelComponent),\n\t\t\tmulti: true\n\t\t},\n\t\t{ provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }\n\t],\n\t// tslint:disable-next-line: no-host-metadata-property\n\thost: {\n\t\trole: 'radiogroup',\n\t\tclass: 'bui-radio-panel bui-host',\n\t\t'[style.--bui-panel-width]': \"panelWidth +'px'\"\n\t},\n\ttemplate: ` <ng-content></ng-content> `,\n\tstyleUrls: ['radio-panel.component.scss']\n})\nexport class RadioPanelComponent extends MatRadioGroup implements OnChanges {\n\t/**\n\t * @ignore\n\t */\n\t@HostBinding('attr.class')\n\tclassAttr: string = '';\n\n\t/**\n\t * The default width of each panel when the `direction` is `row`\n\t */\n\t@Input()\n\tpanelWidth = 300;\n\n\t/** The flow direction of the radio panel items */\n\t@Input()\n\tdirection: 'row' | 'column' = 'row';\n\n\t/** Theme color for all of the radio panels in the group. */\n\t@Input() color: ThemePalette;\n\n\t/** The default position of the 'tick' icon relative to the title. */\n\t@Input() tickPosition: 'start' | 'end' = 'start';\n\n\t/**\n\t * @ignore\n\t */\n\t@ContentChildren(RadioPanelItemComponent, { descendants: true })\n\t_radios!: QueryList<RadioPanelItemComponent>;\n\n\tconstructor(cd: ChangeDetectorRef) {\n\t\tsuper(cd);\n\t}\n\n\t/** @ignore */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (['color', 'tickPosition'].some(p => changes[p]) && this._radios) {\n\t\t\tthis._radios.forEach(item => item._markForCheck());\n\t\t}\n\n\t\tif (this.direction === 'row') {\n\t\t\tthis.classAttr = 'bui-radio-panel bui-host radio-dir-row';\n\t\t} else {\n\t\t\tthis.classAttr = 'bui-radio-panel bui-host radio-dir-column';\n\t\t}\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { RadioPanelItemComponent } from './radio-panel-item.component';\nimport { RadioPanelComponent } from './radio-panel.component';\n\n/**\n * Import this NgModule for the radio panel component\n */\n@NgModule({\n\tdeclarations: [RadioPanelItemComponent, RadioPanelComponent],\n\timports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule],\n\texports: [RadioPanelItemComponent, RadioPanelComponent]\n})\nexport class RadioPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -79,14 +79,14 @@ class AlertMessageComponent {
79
79
  }
80
80
  }
81
81
  AlertMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: AlertMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- AlertMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: AlertMessageComponent, selector: "bui-alert", inputs: { type: "type", message: "message", politeness: "politeness", dismissible: "dismissible", _id: ["id", "_id"] }, outputs: { dismissed: "dismissed", initialised: "initialised" }, host: { properties: { "class": "'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')", "role": "politeness === 'off' ? 'region' : 'alert'", "attr.aria-live": "politeness === 'assertive' ? undefined : politeness", "id": "this._id" } }, ngImport: i0, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}.bui-alert-button{width:40px;height:40px;padding:8px;overflow:hidden}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:last-child\"; margin-bottom: 0;}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
82
+ AlertMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: AlertMessageComponent, selector: "bui-alert", inputs: { type: "type", message: "message", politeness: "politeness", dismissible: "dismissible", _id: ["id", "_id"] }, outputs: { dismissed: "dismissed", initialised: "initialised" }, host: { properties: { "class": "'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')", "role": "politeness === 'off' ? 'region' : 'alert'", "attr.aria-live": "politeness === 'assertive' ? undefined : politeness", "id": "this._id" } }, ngImport: i0, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\">\n\t\t<div [innerHTML]=\"message\"></div>\n\t\t<ng-content></ng-content>\n\t</div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}.bui-alert-button{width:40px;height:40px;padding:8px;overflow:hidden}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:last-child\"; margin-bottom: 0;}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: AlertMessageComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'bui-alert', host: {
86
86
  '[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,
87
87
  '[role]': `politeness === 'off' ? 'region' : 'alert'`,
88
88
  '[attr.aria-live]': `politeness === 'assertive' ? undefined : politeness`
89
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}.bui-alert-button{width:40px;height:40px;padding:8px;overflow:hidden}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:last-child\"; margin-bottom: 0;}\n"] }]
89
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\">\n\t\t<div [innerHTML]=\"message\"></div>\n\t\t<ng-content></ng-content>\n\t</div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}.bui-alert-button{width:40px;height:40px;padding:8px;overflow:hidden}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:last-child\"; margin-bottom: 0;}\n"] }]
90
90
  }], ctorParameters: function () { return []; }, propDecorators: { type: [{
91
91
  type: Input
92
92
  }], message: [{