{"version":3,"file":"windows-plus-form-fields-custom-button.mjs","sources":["../../../projects/windows-plus-form-fields/custom-button/util/services/button.service.ts","../../../projects/windows-plus-form-fields/custom-button/components/custom-button/custom-button.component.ts","../../../projects/windows-plus-form-fields/custom-button/components/custom-button/custom-button.component.html","../../../projects/windows-plus-form-fields/custom-button/components/custom-print-button/custom-print-button.component.ts","../../../projects/windows-plus-form-fields/custom-button/components/custom-print-button/custom-print-button.component.html","../../../projects/windows-plus-form-fields/custom-button/components/custom-button-group/custom-button-group.component.ts","../../../projects/windows-plus-form-fields/custom-button/components/custom-button-group/custom-button-group.component.html","../../../projects/windows-plus-form-fields/custom-button/custom-button.module.ts","../../../projects/windows-plus-form-fields/custom-button/util/enum/button-colour/button-colour.enum.ts","../../../projects/windows-plus-form-fields/custom-button/util/enum/button-type/button-type.enum.ts","../../../projects/windows-plus-form-fields/custom-button/public-api.ts","../../../projects/windows-plus-form-fields/custom-button/windows-plus-form-fields-custom-button.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { ButtonColour } from '../enum/button-colour/button-colour.enum'\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ButtonService {\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description determines the sass colour class of a button by checking whether the button is outlined, and if so, inserting the relevant key word into the string\r\n\t * @param colour the colour of the button\r\n\t * @param outline whether the button is an outline\r\n\t * @returns the sass class to be applied to the button\r\n\t */\r\n\tdetermineColourClass(colour: ButtonColour, outline: boolean): string {\r\n\t\tif (outline) {\r\n\t\t\tconst idx: number = colour.indexOf('-')\r\n\t\t\treturn `${colour.slice(0, idx)}-outline${colour.slice(idx)}`\r\n\t\t}\r\n\r\n\t\treturn colour\r\n\t}\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core'\r\nimport { ButtonColour } from '../../util/enum/button-colour/button-colour.enum'\r\nimport { ButtonType } from '../../util/enum/button-type/button-type.enum'\r\nimport { ButtonService } from '../../util/services/button.service'\r\n\r\n@Component({\r\n  selector: 'wp-custom-button',\r\n  templateUrl: './custom-button.component.html',\r\n  styleUrls: ['./custom-button.component.sass']\r\n})\r\nexport class CustomButtonComponent implements OnInit {\r\n\t/**\r\n\t * @description the element reference to the button\r\n\t */\r\n\t@ViewChild('button') buttonRef: ElementRef\r\n\t/**\r\n\t * @description the value for the custom button\r\n\t */\r\n\t@Input() value: string|IconDefinition\r\n\t/**\r\n\t * @description the type of custom button\r\n\t */\r\n\t@Input() type: ButtonType\r\n\t/**\r\n\t * @description the colour of the custom button\r\n\t */\r\n\t@Input() colour: ButtonColour\r\n\t/**\r\n\t * @description the click handler for the custom button\r\n\t */\r\n\t@Output() handleClick: EventEmitter<Event> = new EventEmitter<Event>()\r\n\t/**\r\n\t * @description the custom buttons identifier\r\n\t */\r\n\t@Input() id: string\r\n\t/**\r\n\t * @description whether the button is an outlined button\r\n\t */\r\n\t@Input() outline?: boolean\r\n\t/**\r\n\t * @description whether the button is disabled\r\n\t */\r\n\t@Input() disabled?: boolean\r\n\t/**\r\n\t * @description an icon to be displayed inside the button\r\n\t */\r\n\t@Input() icon?: IconDefinition\r\n\t/**\r\n\t * @description the tooltip text to be displayed on the button\r\n\t */\r\n\t@Input() tooltip?: string\r\n\t/**\r\n\t * @description the test identifier for the button element\r\n\t */\r\n\t@Input() testId?: string\r\n\t/**\r\n\t * @description a string representing the colour class\r\n\t */\r\n\tcolourClass: string\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties for the primary button\r\n\t */\r\n\tconstructor(private buttonService: ButtonService) {\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method to be run when the component is first rendered\r\n\t */\r\n\tngOnInit(): void {\r\n\t\tthis.colourClass = this.buttonService.determineColourClass(this.colour, !!this.outline)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description determines the type of the value being displayed in the button\r\n\t * @param value the value to be displayed\r\n\t * @returns the type of value being displayed\r\n\t */\r\n\tdetermineValueType(value: string|IconDefinition): string {\r\n\t\treturn typeof value\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the button click by calling the emitter\r\n\t */\r\n\thandleButtonClick(e: Event): void {\r\n\t\tthis.buttonRef.nativeElement.blur()\r\n\t\tthis.handleClick.emit(e)\r\n\t}\r\n}\r\n","<button \r\n\t#button\r\n\t[id]=\"id\"\r\n\t[type]=\"type\"\r\n\tclass=\"btn\"\r\n\t[ngClass]=\"colourClass\"\r\n\t[disabled]=\"disabled\"\r\n\t[ngbTooltip]=\"tooltip\"\r\n\t[openDelay]=\"300\"\r\n\t[closeDelay]=\"500\"\r\n\t[attr.data-testid]=\"testId\"\r\n\t(click)=\"handleButtonClick($event)\"\r\n\t>\r\n\t<span *ngIf=\"determineValueType(value) === 'string'\">\r\n\t\t{{value}}\r\n\t</span>\r\n\t<span *ngIf=\"determineValueType(value) === 'object'\">\r\n\t\t<fa-icon [icon]=\"value\"></fa-icon>\r\n\t</span>\r\n\t<span *ngIf=\"icon\" class=\"ms-1\">\r\n\t\t<fa-icon [icon]=\"icon\"></fa-icon>\r\n\t</span>\r\n</button>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core'\r\nimport { ButtonColour } from '../../util/enum/button-colour/button-colour.enum'\r\nimport { ButtonType } from '../../util/enum/button-type/button-type.enum'\r\nimport { ButtonService } from '../../util/services/button.service'\r\n\r\n@Component({\r\n  selector: 'wp-custom-print-button',\r\n  templateUrl: './custom-print-button.component.html',\r\n  styleUrls: ['./custom-print-button.component.sass']\r\n})\r\nexport class CustomPrintButtonComponent {\r\n\t/**\r\n\t * @description the value for the custom button\r\n\t */\r\n\t@Input() value: string|IconDefinition\r\n\t/**\r\n\t * @description the type of custom button\r\n\t */\r\n\t@Input() type: ButtonType\r\n\t/**\r\n\t * @description the colour of the custom button\r\n\t */\r\n\t@Input() colour: ButtonColour\r\n\t/**\r\n\t * @description the section identifier of the HTML element to be printed\r\n\t */\r\n\t@Input() printSectionID: string\r\n\t/**\r\n\t * @description the click handler for the custom button\r\n\t */\r\n\t@Output() handleClick: EventEmitter<Event> = new EventEmitter<Event>()\r\n\t/**\r\n\t * @description the custom buttons identifier\r\n\t */\r\n\t@Input() id: string\r\n\t/**\r\n\t * @description whether the button is an outlined button\r\n\t */\r\n\t@Input() outline?: boolean\r\n\t/**\r\n\t * @description whether the button is disabled\r\n\t */\r\n\t@Input() disabled?: boolean\r\n\t/**\r\n\t * @description an icon to be displayed inside the button\r\n\t */\r\n\t@Input() icon?: IconDefinition\r\n\t/**\r\n\t * @description the tooltip text to be displayed on the button\r\n\t */\r\n\t@Input() tooltip?: string\r\n\t/**\r\n\t * @description a string representing the colour class\r\n\t */\r\n\tcolourClass: string\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties for the primary button\r\n\t */\r\n\tconstructor(private buttonService: ButtonService) {\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method to be run when the component is first rendered\r\n\t */\r\n\tngOnInit(): void {\r\n\t\tthis.colourClass = this.buttonService.determineColourClass(this.colour, !!this.outline)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description determines the type of the value being displayed in the button\r\n\t * @param value the value to be displayed\r\n\t * @returns the type of value being displayed\r\n\t */\r\n\tdetermineValueType(value: string|IconDefinition): string {\r\n\t\treturn typeof value\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the button click by calling the emitter\r\n\t */\r\n\thandleButtonClick(e: Event): void {\r\n\t\tthis.handleClick.emit(e)\r\n\t}\r\n}\r\n","<button \r\n\t[id]=\"id\"\r\n\t[type]=\"type\"\r\n\tclass=\"btn\"\r\n\t[ngClass]=\"colourClass\"\r\n\t[useExistingCss]=\"true\"\r\n\t[printSectionId]=\"printSectionID\"\r\n\t[disabled]=\"disabled\"\r\n\t[ngbTooltip]=\"tooltip\"\r\n\t[openDelay]=\"300\"\r\n\t[closeDelay]=\"500\"\r\n\t(click)=\"handleButtonClick($event)\"\r\n\tngxPrint\r\n\t>\r\n\t<span *ngIf=\"determineValueType(value) === 'string'\">\r\n\t\t{{value}}\r\n\t</span>\r\n\t<span *ngIf=\"determineValueType(value) === 'object'\">\r\n\t\t<fa-icon [icon]=\"value\"></fa-icon>\r\n\t</span>\r\n\t<span *ngIf=\"icon\" class=\"ms-1\">\r\n\t\t<fa-icon [icon]=\"icon\"></fa-icon>\r\n\t</span>\r\n</button>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core'\r\nimport { ButtonService } from '../../util/services/button.service'\r\nimport { CustomButtonConfigItems, CustomButtonGroupItem } from '../../public-api'\r\n\r\n@Component({\r\n  selector: 'wp-custom-button-group',\r\n  templateUrl: './custom-button-group.component.html',\r\n  styleUrls: ['./custom-button-group.component.sass']\r\n})\r\nexport class CustomButtonGroupComponent {\r\n\t/**\r\n\t * @description an array containing the button configuration items\r\n\t */\r\n\t@Input({ required: true }) configurations: CustomButtonConfigItems\r\n\t/**\r\n\t * @description the click handler for the custom button\r\n\t */\r\n\t@Output() handleClick: EventEmitter<string | IconDefinition> = new EventEmitter<string | IconDefinition>()\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties for the primary button\r\n\t */\r\n\tconstructor(private buttonService: ButtonService) {\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description determines the type of the value being displayed in the button\r\n\t * @param value the value to be displayed\r\n\t * @returns the type of value being displayed\r\n\t */\r\n\tdetermineValueType(value: string|IconDefinition): string {\r\n\t\treturn typeof value\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description determines and returns the colour class for the specified button configuration\r\n\t * @param config the button configuration\r\n\t * @returns the colour class\r\n\t */\r\n\tdetermineColourClass(config: CustomButtonGroupItem) {\r\n\t\treturn this.buttonService.determineColourClass(config.colour, !!config.outline)\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the button click by calling the emitter\r\n\t */\r\n\thandleButtonClick(e: Event, config: CustomButtonGroupItem): void {\r\n\t\tthis.handleClick.emit(config.callbackValue)\r\n\t}\r\n}\r\n","<div class=\"btn-group\" role=\"group\">\r\n\t<ng-container *ngFor=\"let configuration of configurations\">\r\n\t\t<input \r\n\t\t\ttype=\"radio\"\r\n\t\t\tclass=\"btn-check\"\r\n\t\t\t[name]=\"configuration.name\"\r\n\t\t\t[id]=\"configuration.id\"\r\n\t\t\tautocomplete=\"off\"\r\n\t\t>\r\n\t\t<label \r\n\t\t\tclass=\"btn\"\r\n\t\t\t[ngClass]=\"determineColourClass(configuration)\"\r\n\t\t\t[for]=\"configuration.id\"\r\n\t\t\t(click)=\"handleButtonClick($event, configuration)\"\r\n\t\t>\r\n\t\t<span *ngIf=\"determineValueType(configuration.value) === 'string'\">\r\n\t\t\t{{configuration.value}}\r\n\t\t</span>\r\n\t\t<span *ngIf=\"determineValueType(configuration.value) === 'object'\">\r\n\t\t\t<fa-icon [icon]=\"configuration.value\"></fa-icon>\r\n\t\t</span>\r\n\t\t<span *ngIf=\"configuration.icon\" class=\"ms-1\">\r\n\t\t\t<fa-icon [icon]=\"configuration.icon\"></fa-icon>\r\n\t\t</span>\r\n\t</label>\r\n\t</ng-container>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CustomButtonComponent } from './components/custom-button/custom-button.component'\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\r\nimport { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CustomPrintButtonComponent } from './components/custom-print-button/custom-print-button.component'\r\nimport { NgxPrintModule } from 'ngx-print'\r\nimport { CustomButtonGroupComponent } from './components/custom-button-group/custom-button-group.component'\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    CustomButtonComponent,\r\n\t\tCustomButtonGroupComponent,\r\n    CustomPrintButtonComponent\r\n\t],\r\n  imports: [\r\n\t\tCommonModule,\r\n\t\tFontAwesomeModule,\r\n\t\tNgbTooltipModule,\r\n\t\tNgxPrintModule\r\n  ],\r\n\texports: [\r\n    CustomButtonComponent,\r\n\t\tCustomButtonGroupComponent,\r\n    CustomPrintButtonComponent\r\n\t]\r\n})\r\nexport class CustomButtonModule { }\r\n","/**\r\n * @description an enumerator which contains the available button colours\r\n */\r\nexport enum ButtonColour {\r\n\tPRIMARY = 'btn-primary',\r\n\tWARNING = 'btn-warning',\r\n\tSUCCESS = 'btn-success',\r\n\tDANGER = 'btn-danger',\r\n\tTRANSPARENT = 'btn-transparent'\r\n}","/**\r\n * @description an enumerator object which contains the available button types and the corresponding string value\r\n */\r\nexport enum ButtonType {\r\n\tSUBMIT = 'submit',\r\n\tBUTTON = 'button'\r\n}","/*\r\n * Public API Surface of windows-plus-form-fields\r\n */\r\n\r\nexport * from './custom-button.module'\r\nexport * from './components/custom-button/custom-button.component'\r\nexport * from './components/custom-button-group/custom-button-group.component'\r\nexport * from './components/custom-print-button/custom-print-button.component'\r\nexport * from './util/interface/custom-button.interface'\r\nexport * from './util/enum/button-colour/button-colour.enum'\r\nexport * from './util/enum/button-type/button-type.enum'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ButtonService"],"mappings":"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"}