UNPKG

@synergy-design-system/angular

Version:
1 lines 6.56 kB
{"version":3,"file":"synergy-design-system-angular-components-radio-button.mjs","sources":["../../components/radio-button/radio-button.component.ts","../../components/radio-button/synergy-design-system-angular-components-radio-button.ts"],"sourcesContent":["// ---------------------------------------------------------------------\n// 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components\n// Please do not edit this file directly!\n// It will get recreated when running pnpm build.\n// ---------------------------------------------------------------------\nimport {\n Component,\n ElementRef,\n NgZone,\n Input,\n Output,\n EventEmitter,\n AfterContentInit,\n} from '@angular/core';\nimport type { SynRadioButton } from '@synergy-design-system/components';\nimport type { SynBlurEvent } from '@synergy-design-system/components';\nimport type { SynFocusEvent } from '@synergy-design-system/components';\nimport '@synergy-design-system/components/components/radio-button/radio-button.js';\n\n/**\n * @summary Radios buttons allow the user to select a single option from a group using a button-like control.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The radio button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @event syn-blur - Emitted when the button loses focus.\n * @event syn-focus - Emitted when the button gains focus.\n *\n * @csspart base - The component's base wrapper.\n * @csspart button - The internal `<button>` element.\n * @csspart button--checked - The internal button element when the radio button is checked.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The container that wraps the radio button's label.\n * @csspart suffix - The container that wraps the suffix.\n */\n@Component({\n selector: 'syn-radio-button',\n standalone: true,\n template: '<ng-content></ng-content>',\n})\nexport class SynRadioButtonComponent {\n public nativeElement: SynRadioButton;\n private _ngZone: NgZone;\n\n constructor(e: ElementRef, ngZone: NgZone) {\n this.nativeElement = e.nativeElement;\n this._ngZone = ngZone;\n this.nativeElement.addEventListener('syn-blur', (e: SynBlurEvent) => {\n this.synBlurEvent.emit(e);\n });\n this.nativeElement.addEventListener('syn-focus', (e: SynFocusEvent) => {\n this.synFocusEvent.emit(e);\n });\n }\n\n /**\n * The radio's value.\n * When selected, the radio group will receive this value.\n */\n @Input()\n set value(v: SynRadioButton['value']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.value = v));\n }\n get value(): SynRadioButton['value'] {\n return this.nativeElement.value;\n }\n\n /**\n * Disables the radio button.\n */\n @Input()\n set disabled(v: '' | SynRadioButton['disabled']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.disabled = v === '' || v),\n );\n }\n get disabled(): SynRadioButton['disabled'] {\n return this.nativeElement.disabled;\n }\n\n /**\n* The radio button's size.\n* When used inside a radio group, the size will be determined by the radio group's size so\nthis attribute can typically be omitted.\n */\n @Input()\n set size(v: SynRadioButton['size']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.size = v));\n }\n get size(): SynRadioButton['size'] {\n return this.nativeElement.size;\n }\n\n /**\n * Draws a pill-style radio button with rounded edges.\n */\n @Input()\n set pill(v: '' | SynRadioButton['pill']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.pill = v === '' || v),\n );\n }\n get pill(): SynRadioButton['pill'] {\n return this.nativeElement.pill;\n }\n\n /**\n * Emitted when the button loses focus.\n */\n @Output() synBlurEvent = new EventEmitter<SynBlurEvent>();\n\n /**\n * Emitted when the button gains focus.\n */\n @Output() synFocusEvent = new EventEmitter<SynFocusEvent>();\n}\n\nexport type { SynBlurEvent } from '@synergy-design-system/components';\nexport type { SynFocusEvent } from '@synergy-design-system/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './radio-button.component';\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AAeA;;;;;;;;;;;;;;;;;;;AAmBG;MAMU,uBAAuB,CAAA;AAC3B,IAAA,aAAa;AACZ,IAAA,OAAO;IAEf,WAAY,CAAA,CAAa,EAAE,MAAc,EAAA;AACvC,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa;AACpC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;QACrB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAe,KAAI;AAClE,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3B,SAAC,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAgB,KAAI;AACpE,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,SAAC,CAAC;;AAGJ;;;AAGG;IACH,IACI,KAAK,CAAC,CAA0B,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;;AAEtE,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK;;AAGjC;;AAEG;IACH,IACI,QAAQ,CAAC,CAAkC,EAAA;QAC7C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CACpD;;AAEH,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ;;AAGpC;;;;AAIC;IACD,IACI,IAAI,CAAC,CAAyB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;;AAErE,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;;AAGhC;;AAEG;IACH,IACI,IAAI,CAAC,CAA8B,EAAA;QACrC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAChD;;AAEH,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;;AAGhC;;AAEG;AACO,IAAA,YAAY,GAAG,IAAI,YAAY,EAAgB;AAEzD;;AAEG;AACO,IAAA,aAAa,GAAG,IAAI,YAAY,EAAiB;uGA1EhD,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,qOAFxB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAE1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,2BAA2B;AACtC,iBAAA;oGAqBK,KAAK,EAAA,CAAA;sBADR;gBAYG,QAAQ,EAAA,CAAA;sBADX;gBAgBG,IAAI,EAAA,CAAA;sBADP;gBAYG,IAAI,EAAA,CAAA;sBADP;gBAaS,YAAY,EAAA,CAAA;sBAArB;gBAKS,aAAa,EAAA,CAAA;sBAAtB;;;ACtHH;;AAEG;;;;"}