{"version":3,"file":"chunk-b2bn7xk9.js","sources":["packages/design-system/ui/checkbox/src/checkbox.component.html","packages/design-system/ui/checkbox/src/checkbox.component.ts"],"sourcesContent":["\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 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","g","selectors","viewQuery","rf","ctx","E","_","I","ɵɵhostProperty","l","ɵɵclassMap","ɵɵclassProp","booleanAttribute","outputs","features","ɵɵProvidersFeature","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","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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"}