UNPKG

@obliczeniowo/elementary

Version:
1 lines 11.5 kB
{"version":3,"file":"obliczeniowo-elementary-radio.mjs","sources":["../../../../projects/components/radio/components/radio/radio.component.ts","../../../../projects/components/radio/components/radio/radio.component.html","../../../../projects/components/radio/components/radio-group/radio-group.component.ts","../../../../projects/components/radio/components/radio-group/radio-group.component.html","../../../../projects/components/radio/radio.module.ts","../../../../projects/components/radio/obliczeniowo-elementary-radio.ts"],"sourcesContent":["import { Component, HostBinding, HostListener, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport interface RadioItem {\r\n id: string | number;\r\n text: string;\r\n}\r\n\r\n@Component({\r\n selector: 'obl-radio',\r\n templateUrl: './radio.component.html',\r\n styleUrls: ['./radio.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: RadioComponent\r\n },\r\n ],\r\n standalone: false\r\n})\r\nexport class RadioComponent implements OnInit, ControlValueAccessor {\r\n @Input()\r\n @HostBinding('class.error') error = false;\r\n\r\n @Input() value!: number | string;\r\n @Input() option!: RadioItem;\r\n @Input() invalid = false;\r\n\r\n @Input()\r\n @HostBinding('class.disabled') disabled = false;\r\n\r\n @Output() changed: EventEmitter<string | number> = new EventEmitter<string | number>();\r\n\r\n @HostListener('click', ['$event']) clicked(event: Event): void {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this.value = this.option.id;\r\n this.onChange(this.value);\r\n this.changed.emit(this.value);\r\n }\r\n\r\n onChange = (value: string | number) => { };\r\n\r\n onTouched = () => { };\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\r\n\r\n writeValue(value: string | number): void {\r\n this.value = value;\r\n this.onChange(this.value);\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouched: any): void {\r\n this.onTouched = onTouched;\r\n }\r\n\r\n setDisabledState(disabled: boolean): void {\r\n this.disabled = disabled;\r\n }\r\n}\r\n","<svg\r\n width=\"100%\"\r\n viewBox=\"0 0 6.3499999 6.3500002\"\r\n [class.checked]=\"value === option.id\"\r\n>\r\n <path\r\n style=\"stroke-width: 0.8\"\r\n d=\"M 5.5562499,3.175 A 2.3812499,2.3812499 0 0 1 3.175,5.5562499 2.3812499,2.3812499 0 0 1 0.79375005,3.175 2.3812499,2.3812499 0 0 1 3.175,0.79375005 2.3812499,2.3812499 0 0 1 5.5562499,3.175 Z\"\r\n />\r\n @if (value === option.id) {\r\n <circle cx=\"3.175\" cy=\"3.175\" r=\"1.25\" />\r\n }\r\n</svg>\r\n<ng-content></ng-content>\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { RadioItem } from '../radio/radio.component';\r\n\r\n@Component({\r\n selector: 'obl-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['./radio-group.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: RadioGroupComponent\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n multi: true,\r\n useExisting: RadioGroupComponent\r\n }\r\n ],\r\n standalone: false\r\n})\r\nexport class RadioGroupComponent implements ControlValueAccessor, Validator {\r\n @Input() options!: RadioItem[];\r\n\r\n @Input() value!: string | number;\r\n\r\n @Input() label!: string;\r\n\r\n @Input()\r\n @HostBinding('class.disabled') disabled = false;\r\n\r\n @Input()\r\n @HostBinding('style.flex-direction') direction: 'column' | 'row' = 'row';\r\n\r\n protected abstractControl: AbstractControl | undefined;\r\n\r\n @Output() changed: EventEmitter<string | number> = new EventEmitter<string | number>();\r\n\r\n @HostBinding('class.error') get error(): ValidationErrors | null {\r\n return this.abstractControl?.touched && this.abstractControl.errors || null;\r\n }\r\n\r\n onChange = (value: string | number) => { };\r\n\r\n onTouched = () => { };\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.abstractControl = control;\r\n return null;\r\n }\r\n\r\n registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\r\n\r\n writeValue(value: string | number): void {\r\n this.value = value;\r\n this.onChange(this.value);\r\n this.changed.emit(this.value);\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouched: any): void {\r\n this.onTouched = onTouched;\r\n }\r\n\r\n setDisabledState(disabled: boolean): void {\r\n this.disabled = disabled;\r\n }\r\n}\r\n","<h2>{{ label }}</h2>\r\n\r\n@for (option of options; track option.id) {\r\n <obl-radio\r\n [option]=\"option\"\r\n [value]=\"value\"\r\n [error]=\"!!error\"\r\n [disabled]=\"disabled\"\r\n (changed)=\"writeValue($event)\"\r\n >{{ option.text }}\r\n </obl-radio>\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RadioComponent } from './components/radio/radio.component';\r\nimport { RadioGroupComponent } from './components/radio-group/radio-group.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n RadioComponent,\r\n RadioGroupComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n RadioComponent,\r\n RadioGroupComponent\r\n ]\r\n})\r\nexport class RadioModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.RadioComponent"],"mappings":";;;;;MAqBa,cAAc,CAAA;IAEG,KAAK,GAAG,KAAK;AAEhC,IAAA,KAAK;AACL,IAAA,MAAM;IACN,OAAO,GAAG,KAAK;IAGO,QAAQ,GAAG,KAAK;AAErC,IAAA,OAAO,GAAkC,IAAI,YAAY,EAAmB;AAEnD,IAAA,OAAO,CAAC,KAAY,EAAA;AACrD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB;;QAEF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG/B,IAAA,QAAQ,GAAG,CAAC,KAAsB,KAAI,GAAI;AAE1C,IAAA,SAAS,GAAG,MAAK,GAAI;IAErB,QAAQ,GAAA;;IAGR,yBAAyB,CAAC,EAAc,EAAA,EAAU,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AAErE,IAAA,UAAU,CAAC,KAAsB,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG3B,IAAA,gBAAgB,CAAC,QAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAG1B,IAAA,iBAAiB,CAAC,SAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAG5B,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;uGA7Cf,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EATZ,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,WAAW,EAAE;AAChB,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBL,kgBAcA,EAAA,MAAA,EAAA,CAAA,sgEAAA,CAAA,EAAA,CAAA;;2FDOa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAGV,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAAgB;AAC9B,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,kgBAAA,EAAA,MAAA,EAAA,CAAA,sgEAAA,CAAA,EAAA;8BAIS,KAAK,EAAA,CAAA;sBADhC;;sBACA,WAAW;uBAAC,aAAa;gBAEjB,KAAK,EAAA,CAAA;sBAAb;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAG8B,QAAQ,EAAA,CAAA;sBADtC;;sBACA,WAAW;uBAAC,gBAAgB;gBAEnB,OAAO,EAAA,CAAA;sBAAhB;gBAEkC,OAAO,EAAA,CAAA;sBAAzC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;MEZtB,mBAAmB,CAAA;AACrB,IAAA,OAAO;AAEP,IAAA,KAAK;AAEL,IAAA,KAAK;IAGiB,QAAQ,GAAG,KAAK;IAGV,SAAS,GAAqB,KAAK;AAE9D,IAAA,eAAe;AAEf,IAAA,OAAO,GAAkC,IAAI,YAAY,EAAmB;AAEtF,IAAA,IAAgC,KAAK,GAAA;AACnC,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI;;AAG7E,IAAA,QAAQ,GAAG,CAAC,KAAsB,KAAI,GAAI;AAE1C,IAAA,SAAS,GAAG,MAAK,GAAI;AAErB,IAAA,QAAQ,CAAC,OAAwB,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO;AAC9B,QAAA,OAAO,IAAI;;IAGb,yBAAyB,CAAC,EAAc,EAAA,EAAU,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AAErE,IAAA,UAAU,CAAC,KAAsB,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG/B,IAAA,gBAAgB,CAAC,QAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAG1B,IAAA,iBAAiB,CAAC,SAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAG5B,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;uGA/Cf,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAdjB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,WAAW,EAAE;AAChB,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,WAAW,EAAE;AAChB;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBL,gSAWC,EAAA,MAAA,EAAA,CAAA,qLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FDWY,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAlB/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGhB,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAAqB;AACnC,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAAqB;AACnC;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,gSAAA,EAAA,MAAA,EAAA,CAAA,qLAAA,CAAA,EAAA;8BAGV,OAAO,EAAA,CAAA;sBAAf;gBAEQ,KAAK,EAAA,CAAA;sBAAb;gBAEQ,KAAK,EAAA,CAAA;sBAAb;gBAG8B,QAAQ,EAAA,CAAA;sBADtC;;sBACA,WAAW;uBAAC,gBAAgB;gBAGQ,SAAS,EAAA,CAAA;sBAD7C;;sBACA,WAAW;uBAAC,sBAAsB;gBAIzB,OAAO,EAAA,CAAA;sBAAhB;gBAE+B,KAAK,EAAA,CAAA;sBAApC,WAAW;uBAAC,aAAa;;;MErBf,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,iBAXpB,cAAc;YACd,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAGnB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,cAAc;YACd,mBAAmB,CAAA,EAAA,CAAA;AAGV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAPpB,YAAY,CAAA,EAAA,CAAA;;2FAOH,WAAW,EAAA,UAAA,EAAA,CAAA;kBAbvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;wBACd;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd;AACD;AACF,iBAAA;;;ACjBD;;AAEG;;;;"}