UNPKG

@ipi-soft/ng-components

Version:

Custom Angular Components

1 lines 5.38 kB
{"version":3,"file":"ipi-soft-ng-components-radiobutton.mjs","sources":["../../../../projects/ipi-soft/ng-components/radiobutton/src/radio-button.component.ts","../../../../projects/ipi-soft/ng-components/radiobutton/src/radio-button.component.html","../../../../projects/ipi-soft/ng-components/radiobutton/ipi-soft-ng-components-radiobutton.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { IpiTooltipDirective, TooltipPosition } from '@ipi-soft/ng-components/tooltip';\n\nexport interface IpiRadioData {\n label: string;\n value: any;\n tooltip?: string;\n isHover?: boolean;\n}\n\nexport interface IpiRadioButtonOptions {\n checked?: number;\n inline?: boolean;\n data: IpiRadioData[];\n formGroup?: FormGroup;\n formControlName?: string;\n}\n\n@Component({\n selector: 'ipi-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.css'],\n imports: [\n NgClass,\n FormsModule,\n ReactiveFormsModule,\n IpiTooltipDirective,\n ]\n})\n\nexport class IpiRadioButtonComponent {\n\n @Input() options!: IpiRadioButtonOptions;\n\n @Output() selectChange = new EventEmitter<IpiRadioData>();\n\n // random ID for name of the radiobutton so no collision happen with other radio components\n public buttonGroupId = Math.random();\n\n public tooltipPositionAbove = TooltipPosition.Above;\n\n public onChange(item: IpiRadioData): void {\n this.selectChange.emit(item);\n }\n\n}\n","@if (options) {\n @if (options.formGroup && options.formControlName) {\n <div class=\"container\" [formGroup]=\"options.formGroup\" [ngClass]=\"{ 'inline': options.inline }\">\n @for (item of options.data; track item) {\n <label class=\"radio-button\" [ngClass]=\"{ 'disabled': options.formGroup.controls[options.formControlName].disabled }\">\n <input type=\"radio\" [value]=\"item.value\" [formControlName]=\"options.formControlName\"/>\n \n <span>{{ item.label }}</span>\n </label>\n }\n </div>\n } @else {\n <div class=\"container\" [ngClass]=\"{ 'inline': options.inline }\">\n @for (item of options.data; track item; let i = $index) {\n <label class=\"radio-button\">\n <input type=\"radio\" [name]=\"buttonGroupId\" [checked]=\"i === options.checked\" (change)=\"onChange(item)\">\n\n <span>{{ item.label }}</span>\n\n @if (item.tooltip) {\n <svg class=\"tooltip-icon\" [ipiTooltip]=\"item.tooltip\" [tooltipPosition]=\"tooltipPositionAbove\" width=\"16\" height=\"16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n <path d=\"M8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7.5 7.5H8V11h.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8.25 5.25a.25.25 0 1 1-.5 0 .25.25 0 0 1 .5 0z\" fill=\"#fff\"/>\n </g>\n </svg>\n }\n </label>\n }\n </div>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAiCa,uBAAuB,CAAA;AAZpC,IAAA,WAAA,GAAA;AAgBY,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAgB;;AAGlD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE;AAE7B,QAAA,IAAA,CAAA,oBAAoB,GAAG,eAAe,CAAC,KAAK;AAMpD;AAJQ,IAAA,QAAQ,CAAC,IAAkB,EAAA;AAChC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;8GAZnB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCpC,+uDAgCA,EDNI,MAAA,EAAA,CAAA,wkCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,mFACP,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIV,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGnB,OAAA,EAAA;wBACP,OAAO;wBACP,WAAW;wBACX,mBAAmB;wBACnB,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,+uDAAA,EAAA,MAAA,EAAA,CAAA,wkCAAA,CAAA,EAAA;8BAKQ,OAAO,EAAA,CAAA;sBAAf;gBAES,YAAY,EAAA,CAAA;sBAArB;;;AErCH;;AAEG;;;;"}