{"version":3,"file":"chunk-exbbsy64.js","sources":["packages/design-system/ui/checkbox/src/checkbox.component.html","packages/design-system/ui/checkbox/src/checkbox.component.ts"],"sourcesContent":["\n \n \n \n @if (isChecked() && !isIndeterminate()) {\n \n \n \n } @else if (isIndeterminate()) {\n \n \n \n }\n \n \n \n \n \n \n \n\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { CommonModule, NgStyle } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n forwardRef,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { rxHostPressedListener } from '@frontend/ui/rx-host-listener';\n\nexport const DS_CHECKBOX_SIZE_ARRAY = ['medium', 'large'] as const;\nexport type DsCheckboxSize = (typeof DS_CHECKBOX_SIZE_ARRAY)[number];\nexport const DS_CHECKBOX_POSITION_ARRAY = ['left', 'right'] as const;\nexport type DsCheckboxLabelPosition = (typeof DS_CHECKBOX_POSITION_ARRAY)[number];\n\n@Component({\n selector: 'ds-checkbox',\n standalone: true,\n imports: [CommonModule, NgStyle],\n templateUrl: 'checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n host: {\n 'class': 'ds-checkbox',\n '[tabindex]': 'isDisabled() ? -1 : 0',\n '[class]': '\"ds-checkbox-\" + size + \" ds-checkbox-label-\" + labelPosition',\n '[class.ds-checkbox-checked]': 'isChecked()',\n '[class.ds-checkbox-indeterminate]': 'isIndeterminate()',\n '[class.ds-checkbox-disabled]': 'isDisabled()',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-describedby]': 'null',\n '[class.ds-checkbox-inverse]': 'inverse',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DsCheckbox),\n multi: true,\n },\n ],\n})\nexport class DsCheckbox implements AfterViewInit, OnDestroy, ControlValueAccessor {\n @ViewChild('checkbox') checkbox!: ElementRef;\n\n @Input() size: DsCheckboxSize = 'large';\n @Input() labelPosition: DsCheckboxLabelPosition = 'right';\n @Input() ariaLabel = 'checkbox';\n @Input() ariaLabelledby: string | null = null;\n @Input() ariaDescribedby: string | null = null;\n @Input() name?: string;\n @Input() id?: string;\n @Input({ transform: booleanAttribute }) inverse = false;\n\n @Input() set checked(value: boolean) {\n if (this.checkedSignal() !== value) {\n this.checkedSignal.set(value);\n this.indeterminateSignal.set(false);\n this.updateCheckboxState();\n this.checkedChange.emit(value);\n this.onChange(value);\n }\n }\n\n @Input() set indeterminate(value: boolean) {\n if (this.indeterminateSignal() !== value) {\n this.indeterminateSignal.set(value);\n if (value) {\n this.checkedSignal.set(false);\n }\n this.updateCheckboxState();\n }\n }\n\n @Input() set disabled(value: boolean) {\n if (this.disabledSignal() !== value) {\n this.disabledSignal.set(value);\n this.updateCheckboxState();\n }\n }\n\n @Output() checkedChange = new EventEmitter();\n\n private checkedSignal = signal(false);\n private indeterminateSignal = signal(false);\n private disabledSignal = signal(false);\n\n isChecked = computed(() => this.checkedSignal());\n isIndeterminate = computed(() => this.indeterminateSignal());\n isDisabled = computed(() => this.disabledSignal());\n\n private onChange: (value: any) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef,\n private focusMonitor: FocusMonitor,\n ) {\n rxHostPressedListener()\n .pipe(takeUntilDestroyed())\n .subscribe(() => this.toggle());\n }\n\n ngAfterViewInit() {\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n if (!focusOrigin) {\n this.onTouched();\n }\n });\n\n this.updateCheckboxState();\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n toggle() {\n if (this.isDisabled()) {\n return;\n }\n if (this.isIndeterminate()) {\n this.indeterminate = false;\n this.checked = true;\n } else {\n this.checked = !this.isChecked();\n }\n }\n\n private updateCheckboxState() {\n if (this.checkbox) {\n Object.assign(this.checkbox.nativeElement, {\n indeterminate: this.isIndeterminate(),\n checked: this.isChecked(),\n disabled: this.isDisabled(),\n });\n }\n }\n\n writeValue(value: any): void {\n this.checkedSignal.set(!!value);\n this.indeterminateSignal.set(false);\n this.updateCheckboxState();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n"],"names":["ɵɵelementStart","ɵɵelement","ɵɵelementEnd","n","DsCheckbox","checked","value","checkedSignal","set","indeterminateSignal","updateCheckboxState","checkedChange","emit","onChange","indeterminate","disabled","disabledSignal","constructor","elementRef","focusMonitor","size","labelPosition","ariaLabel","ariaLabelledby","ariaDescribedby","inverse","EventEmitter","signal","isChecked","computed","isIndeterminate","isDisabled","onTouched","rxHostPressedListener","pipe","takeUntilDestroyed","subscribe","toggle","ngAfterViewInit","monitor","focusOrigin","ngOnDestroy","stopMonitoring","checkbox","Object","assign","nativeElement","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","ɵɵdirectiveInject","ElementRef","FocusMonitor","selectors","viewQuery","rf","ctx","_","I","M","ɵɵhostProperty","l","ɵɵclassMap","ɵɵclassProp","booleanAttribute","outputs","standalone","features","ɵɵProvidersFeature","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","ngContentSelectors","_c1","decls","vars","consts","template","ɵɵtemplate","DsCheckbox_Conditional_5_Template","DsCheckbox_Conditional_6_Template","ɵɵprojection","ɵɵadvance","ɵɵproperty","ɵɵconditional","CommonModule","styles","encapsulation","changeDetection","_DsCheckbox"],"mappings":"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"}