@qualcomm-ui/angular-core 1.4.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -128,6 +128,24 @@ declare class CoreCheckboxErrorTextDirective implements OnInit {
128
128
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CoreCheckboxErrorTextDirective, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
129
129
  }
130
130
 
131
+ declare class CoreCheckboxHintDirective implements OnInit {
132
+ /**
133
+ * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If
134
+ * omitted, a unique identifier will be generated for accessibility.
135
+ */
136
+ readonly id: _angular_core.InputSignal<string | undefined>;
137
+ protected readonly checkboxContext: () => _qualcomm_ui_core_checkbox.CheckboxApi;
138
+ protected readonly trackBindings: ((opts?: _qualcomm_ui_angular_core_machine.TrackBindingsConfig) => void) & {
139
+ extendWith: (computedProps: () => _qualcomm_ui_angular_core_machine.Dict) => void;
140
+ setDisabled: (disabled: boolean) => void;
141
+ };
142
+ private readonly hostId;
143
+ private readonly onDestroy;
144
+ ngOnInit(): void;
145
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CoreCheckboxHintDirective, never>;
146
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CoreCheckboxHintDirective, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
147
+ }
148
+
131
149
  declare class CoreCheckboxHiddenInputDirective implements OnInit {
132
150
  /**
133
151
  * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If
@@ -245,6 +263,6 @@ interface CheckboxGroupState {
245
263
  }
246
264
  declare function useCheckboxGroup(props?: UseCheckboxGroupProps): CheckboxGroupState;
247
265
 
248
- export { AbstractCheckboxFormControlDirective, CHECKBOX_CONTEXT, CheckboxContextService, CoreCheckboxControlDirective, CoreCheckboxErrorTextDirective, CoreCheckboxHiddenInputDirective, CoreCheckboxIndicatorDirective, CoreCheckboxLabelDirective, CoreCheckboxRootDirective, provideCheckboxContext, useCheckboxContext, useCheckboxGroup };
266
+ export { AbstractCheckboxFormControlDirective, CHECKBOX_CONTEXT, CheckboxContextService, CoreCheckboxControlDirective, CoreCheckboxErrorTextDirective, CoreCheckboxHiddenInputDirective, CoreCheckboxHintDirective, CoreCheckboxIndicatorDirective, CoreCheckboxLabelDirective, CoreCheckboxRootDirective, provideCheckboxContext, useCheckboxContext, useCheckboxGroup };
249
267
  export type { CheckboxGroupState, UseCheckboxGroupProps };
250
268
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../src/checkbox/abstract-checkbox-form-control.directive.ts","../../src/checkbox/checkbox-context.service.ts","../../src/checkbox/core-checkbox-control.directive.ts","../../src/checkbox/core-checkbox-error-text.directive.ts","../../src/checkbox/core-checkbox-hidden-input.directive.ts","../../src/checkbox/core-checkbox-indicator.directive.ts","../../src/checkbox/core-checkbox-label.directive.ts","../../src/checkbox/core-checkbox-root.directive.ts","../../src/checkbox/use-checkbox-group.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;AAwCA;AAIE;;;;AAIG;;AAKH;;;;AAIG;;AAKH;;AAEG;;AAGH;;;AAGG;;AAKH;;;AAGG;;AAKH;;;;AAIG;;AAIH;AACA;AACA;AACA;AAGA;;AAOA;AAIA;;;AAGG;AACH;;;;;;;;;;AA4JA;AAIA;;AAEG;AACH;AA2BA;AAKA;;;AAWA;AAIA;;;;AAIG;AACH;;;AAGD;;AC9TD;;;AACiF;AAEjF;AACkB;AACE;;ACPpB;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACxBD;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACxBD;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACzBD;AAEE;;;;AAIC;;;;AAKF;;ACVD;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACDD;AAQE;;;;AAIG;;AAGH;;;AAGG;;AAKH;;;AAGG;;AAKH;;;AAGG;;AAGH;;;AAGG;;AAGH;AACA;AAEA;;;;AAGC;;;;AAgDF;;;AC1HC;;AAEG;AACH;AAEA;;AAEG;AACH;AAEA;;AAEG;AACH;AAEA;;AAEG;AACH;AAEA;;AAEG;;AAEJ;;;AAIC;;AAEA;AACA;AACD;AAED;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../src/checkbox/abstract-checkbox-form-control.directive.ts","../../src/checkbox/checkbox-context.service.ts","../../src/checkbox/core-checkbox-control.directive.ts","../../src/checkbox/core-checkbox-error-text.directive.ts","../../src/checkbox/core-checkbox-hint.directive.ts","../../src/checkbox/core-checkbox-hidden-input.directive.ts","../../src/checkbox/core-checkbox-indicator.directive.ts","../../src/checkbox/core-checkbox-label.directive.ts","../../src/checkbox/core-checkbox-root.directive.ts","../../src/checkbox/use-checkbox-group.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;AAwCA;AAIE;;;;AAIG;;AAKH;;;;AAIG;;AAKH;;AAEG;;AAGH;;;AAGG;;AAKH;;;AAGG;;AAKH;;;;AAIG;;AAIH;AACA;AACA;AACA;AAGA;;AAOA;AAIA;;;AAGG;AACH;;;;;;;;;;AA4JA;AAIA;;AAEG;AACH;AA2BA;AAKA;;;AAWA;AAIA;;;;AAIG;AACH;;;AAGD;;AC9TD;;;AACiF;AAEjF;AACkB;AACE;;ACPpB;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACxBD;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACxBD;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACxBD;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACzBD;AAEE;;;;AAIC;;;;AAKF;;ACVD;AAEE;;;AAGG;;AAGH;;;;AAOC;AAED;AAEA;;;;AAKD;;ACDD;AAQE;;;;AAIG;;AAGH;;;AAGG;;AAKH;;;AAGG;;AAKH;;;AAGG;;AAGH;;;AAGG;;AAGH;AACA;AAEA;;;;AAGC;;;;AAgDF;;;AC1HC;;AAEG;AACH;AAEA;;AAEG;AACH;AAEA;;AAEG;AACH;AAEA;;AAEG;AACH;AAEA;;AAEG;;AAEJ;;;AAIC;;AAEA;AACA;AACD;AAED;;;"}
@@ -329,6 +329,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
329
329
  type: Directive
330
330
  }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
331
331
 
332
+ // Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
333
+ // SPDX-License-Identifier: BSD-3-Clause-Clear
334
+ class CoreCheckboxHintDirective {
335
+ /**
336
+ * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If
337
+ * omitted, a unique identifier will be generated for accessibility.
338
+ */
339
+ id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : []));
340
+ checkboxContext = useCheckboxContext();
341
+ trackBindings = useTrackBindings(() => this.checkboxContext().getHintBindings({
342
+ id: this.hostId(),
343
+ onDestroy: this.onDestroy,
344
+ }));
345
+ hostId = computed(() => useId(this, this.id()), ...(ngDevMode ? [{ debugName: "hostId" }] : []));
346
+ onDestroy = useOnDestroy();
347
+ ngOnInit() {
348
+ this.trackBindings();
349
+ }
350
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreCheckboxHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
351
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreCheckboxHintDirective, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
352
+ }
353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreCheckboxHintDirective, decorators: [{
354
+ type: Directive
355
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
356
+
332
357
  // Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
333
358
  // SPDX-License-Identifier: BSD-3-Clause-Clear
334
359
  class CoreCheckboxHiddenInputDirective {
@@ -537,5 +562,5 @@ function access(value) {
537
562
  * Generated bundle index. Do not edit.
538
563
  */
539
564
 
540
- export { AbstractCheckboxFormControlDirective, CHECKBOX_CONTEXT, CheckboxContextService, CoreCheckboxControlDirective, CoreCheckboxErrorTextDirective, CoreCheckboxHiddenInputDirective, CoreCheckboxIndicatorDirective, CoreCheckboxLabelDirective, CoreCheckboxRootDirective, provideCheckboxContext, useCheckboxContext, useCheckboxGroup };
565
+ export { AbstractCheckboxFormControlDirective, CHECKBOX_CONTEXT, CheckboxContextService, CoreCheckboxControlDirective, CoreCheckboxErrorTextDirective, CoreCheckboxHiddenInputDirective, CoreCheckboxHintDirective, CoreCheckboxIndicatorDirective, CoreCheckboxLabelDirective, CoreCheckboxRootDirective, provideCheckboxContext, useCheckboxContext, useCheckboxGroup };
541
566
  //# sourceMappingURL=qualcomm-ui-angular-core-checkbox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"qualcomm-ui-angular-core-checkbox.mjs","sources":["../../src/checkbox/abstract-checkbox-form-control.directive.ts","../../src/checkbox/checkbox-context.service.ts","../../src/checkbox/core-checkbox-control.directive.ts","../../src/checkbox/core-checkbox-error-text.directive.ts","../../src/checkbox/core-checkbox-hidden-input.directive.ts","../../src/checkbox/core-checkbox-indicator.directive.ts","../../src/checkbox/core-checkbox-label.directive.ts","../../src/checkbox/core-checkbox-root.directive.ts","../../src/checkbox/use-checkbox-group.ts","../../src/checkbox/qualcomm-ui-angular-core-checkbox.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n Injector,\n input,\n isDevMode,\n linkedSignal,\n type OnInit,\n output,\n runInInjectionContext,\n signal,\n} from \"@angular/core\"\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\"\nimport {\n type AbstractControl,\n type ControlValueAccessor,\n type FormControlStatus,\n FormGroupDirective,\n FormSubmittedEvent,\n NgControl,\n NgForm,\n NgModel,\n PristineChangeEvent,\n Validators,\n} from \"@angular/forms\"\n\nimport {useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {\n allEventsSignal,\n type FormEventData,\n} from \"@qualcomm-ui/angular-core/forms\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\n\n@Directive()\nexport abstract class AbstractCheckboxFormControlDirective\n implements ControlValueAccessor, OnInit\n{\n /**\n * The initial checked state of the checkbox when rendered. Use when you don't\n * need to control the checked state of the checkbox. This property will be\n * ignored if you opt into controlled state via form control bindings.\n */\n readonly defaultChecked = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Controls whether the input is disabled in template-driven forms. When true,\n * prevents user interaction and applies visual styling to indicate the disabled\n * state.\n */\n readonly disabled = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The name of the input field in a checkbox. Useful for form submission.\n */\n readonly name = input<string | undefined>()\n\n /**\n * Whether the input is read-only. When true, prevents user interaction while\n * keeping the input focusable and visible.\n */\n readonly readOnly = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Controls whether the input is required in template-driven forms. When\n * true, the input must have a value for form validation to pass.\n */\n readonly required = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Event emitted when the checkbox is checked or unchecked. This is only emitted\n * on interaction. It doesn't emit in response to programmatic form control\n * changes.\n */\n readonly checkedChanged = output<boolean>()\n\n /* the internal \"checked\" state of the checkbox */\n protected readonly checked = signal<boolean>(false)\n protected readonly onDestroy = useOnDestroy()\n protected readonly injector = inject(Injector)\n protected readonly formControlStatus = signal<FormControlStatus | undefined>(\n undefined,\n )\n protected readonly formSubmitted = signal(false)\n\n protected readonly ngControl: NgControl | null = inject(NgControl, {\n optional: true,\n self: true,\n })\n\n protected readonly formEventData = signal<FormEventData<\n boolean | undefined\n > | null>(null)\n\n /**\n * If the component is bound to an Angular AbstractControl, its state wins.\n * If not, fall back to the host attribute.\n */\n protected readonly isDisabled = linkedSignal(() => {\n /**\n * When the component is bound to any AbstractControl, status is guaranteed to\n * be non-undefined.\n */\n const status = this.formControlStatus()\n const disabled = this.disabled()\n if (status !== undefined) {\n return status === \"DISABLED\"\n }\n\n return !!disabled\n })\n\n readonly invalid = computed(() => {\n const formEventData = this.formEventData()\n const submitted = this.formSubmitted()\n if (!this.control) {\n return false\n }\n\n let invalid, touched, dirty\n\n if (this.isTemplateDrivenForm) {\n invalid = this.control.invalid\n touched = this.control.touched\n dirty = this.control.dirty\n } else if (formEventData) {\n invalid = formEventData.invalid\n touched = formEventData.touched\n dirty = formEventData.dirty\n } else {\n return false\n }\n\n if (submitted) {\n return invalid\n }\n\n switch (this.control.updateOn) {\n case \"submit\":\n return invalid\n case \"blur\":\n return invalid && touched\n default:\n // \"change\"\n return dirty && invalid\n }\n })\n\n readonly isRequired = linkedSignal(() => {\n const control = this.control\n const required = this.required()\n if (!control || !this.isReactiveForm) {\n return required\n }\n\n if (typeof control.hasValidator === \"function\") {\n return (\n control.hasValidator(Validators.required) ||\n control.hasValidator(Validators.requiredTrue)\n )\n }\n return false\n })\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this\n }\n\n afterNextRender(() => {\n const required = this.required()\n if (required && this.isReactiveForm && isDevMode()) {\n console.warn(\n \"The required attribute is not supported on reactive forms. Use Validators instead. https://angular.dev/guide/forms/form-validation#validating-input-in-reactive-forms\",\n )\n }\n })\n\n effect(() => {\n const required = this.required()\n if (this.control && this.isTemplateDrivenForm) {\n if (required) {\n this.control.addValidators(Validators.requiredTrue)\n } else if (this.control.hasValidator(Validators.requiredTrue)) {\n this.control.removeValidators(Validators.requiredTrue)\n }\n }\n })\n }\n\n ngOnInit() {\n // Ensure the form control receives the initial value\n if (!this.control && this.defaultChecked()) {\n this.checked.set(true)\n } else if (this.control) {\n const subscription = this.control.statusChanges.subscribe((status) => {\n this.formControlStatus.set(status)\n })\n this.onDestroy(() => {\n subscription.unsubscribe()\n })\n\n const parent = this.getParentForm()\n\n runInInjectionContext(this.injector, () => {\n if (this.control) {\n const formSignal = allEventsSignal<boolean | undefined>(this.control)\n effect(() => {\n this.formEventData.set(formSignal())\n })\n }\n\n if (parent) {\n let prevPristine = this.control?.pristine || false\n parent.form.events.pipe(takeUntilDestroyed()).subscribe((event) => {\n if (event instanceof PristineChangeEvent) {\n if (event.pristine && !prevPristine) {\n // if this event fires with pristine status and the control was\n // previously not pristine, this means that the form was reset. There\n // isn't another way to determine form resets programmatically,\n // unfortunately.\n this.formSubmitted.set(false)\n }\n prevPristine = event.pristine\n } else if (event instanceof FormSubmittedEvent) {\n this.formSubmitted.set(true)\n this.control?.markAsDirty()\n }\n })\n parent.ngSubmit.pipe(takeUntilDestroyed()).subscribe(() => {\n if (this.isReactiveForm) {\n // already accounted for in the above event subscription.\n return\n }\n this.formSubmitted.set(true)\n this.control?.markAsDirty()\n })\n }\n })\n }\n }\n\n /** `true` when used with template-driven forms (`[(ngModel)]`, `ngModel`, …). */\n get isTemplateDrivenForm(): boolean {\n return this.ngControl instanceof NgModel\n }\n\n /** `true` when used with reactive-forms (`formControl`, `formControlName`, …). */\n get isReactiveForm(): boolean {\n // Any NgControl that is *not* NgModel belongs to the reactive-forms package\n return !!this.ngControl && !this.isTemplateDrivenForm\n }\n\n /** Convenience access to the underlying AbstractControl (can be null). */\n protected get control(): AbstractControl | null {\n return this.ngControl?.control ?? null\n }\n\n /**\n * Used to subscribe to form submit events.\n */\n private getParentForm(): NgForm | FormGroupDirective | null {\n if (!this.control) {\n return null\n }\n\n // Try to find NgForm first\n try {\n const ngForm = this.injector.get(NgForm, null)\n if (ngForm) {\n return ngForm\n }\n } catch {}\n\n // Fall back to FormGroupDirective\n try {\n const formGroupDirective = this.injector.get(FormGroupDirective, null)\n if (formGroupDirective) {\n return formGroupDirective\n }\n } catch {}\n\n return null\n }\n\n /*\n * Control value accessor methods\n */\n writeValue(value: any): void {\n this.checked.set(value)\n }\n\n // placeholder\n protected onChange = (_value: any) => {}\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = (_value) => {\n fn(_value)\n this.checked.set(_value)\n this.checkedChanged.emit(_value)\n }\n }\n\n protected onTouched = () => {}\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n }\n\n /**\n * NgModel never calls setDisabledState, but ReactiveForms does. Everything else\n * (writeValue, registerOnChange, registerOnTouched) is identical between Reactive\n * and Template forms.\n */\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled)\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Injectable} from \"@angular/core\"\n\nimport {\n type ApiContext,\n BaseApiContextService,\n createApiContext,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {CheckboxApi} from \"@qualcomm-ui/core/checkbox\"\n\n@Injectable()\nexport class CheckboxContextService extends BaseApiContextService<CheckboxApi> {}\n\nexport const [\n CHECKBOX_CONTEXT,\n useCheckboxContext,\n provideCheckboxContext,\n]: ApiContext<CheckboxApi> = createApiContext<CheckboxApi>(\n \"CheckboxContext\",\n CheckboxContextService,\n)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxControlDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getControlBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxErrorTextDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getErrorTextBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxHiddenInputDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getHiddenInputBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxIndicatorDirective implements OnInit {\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getIndicatorBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxLabelDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getLabelBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {DOCUMENT} from \"@angular/common\"\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n input,\n type OnInit,\n} from \"@angular/core\"\nimport {type ControlValueAccessor} from \"@angular/forms\"\n\nimport {useId} from \"@qualcomm-ui/angular-core/common\"\nimport {\n normalizeProps,\n useMachine,\n useTrackBindings,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\nimport {\n type CheckboxApiProps,\n checkboxMachine,\n createCheckboxApi,\n} from \"@qualcomm-ui/core/checkbox\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\nimport type {Direction} from \"@qualcomm-ui/utils/direction\"\nimport type {Explicit} from \"@qualcomm-ui/utils/guard\"\n\nimport {AbstractCheckboxFormControlDirective} from \"./abstract-checkbox-form-control.directive\"\nimport {CheckboxContextService} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxRootDirective\n extends AbstractCheckboxFormControlDirective\n implements\n SignalifyInput<Omit<CheckboxApiProps, \"checked\" | \"form\" | \"ids\">>,\n ControlValueAccessor,\n OnInit\n{\n /**\n * The document's text/writing direction.\n *\n * @default \"ltr\"\n */\n readonly dir = input<Direction | undefined>(undefined)\n\n /**\n * A root node to correctly resolve the Document in custom environments. i.e.,\n * Iframes, Electron.\n */\n readonly getRootNode = input<\n (() => ShadowRoot | Document | Node) | undefined\n >()\n\n /**\n * If true and the checkbox is not checked, the checkbox will be in the\n * `indeterminate` state.\n */\n readonly indeterminate = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.)\n */\n readonly id = input<string | undefined>(undefined)\n\n /**\n * The value of checkbox input. Useful for form submission.\n * @default \"on\"\n */\n readonly value = input<string | undefined>()\n\n protected readonly checkboxContextService = inject(CheckboxContextService)\n protected readonly document = inject(DOCUMENT)\n\n protected readonly hostId = computed(() => useId(this, this.id()))\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContextService.context().getRootBindings({id: this.hostId()}),\n )\n\n override ngOnInit() {\n super.ngOnInit()\n\n const machine = useMachine(\n checkboxMachine,\n computed<Explicit<CheckboxApiProps>>(() => ({\n checked: this.checked(),\n defaultChecked: this.defaultChecked(),\n dir: this.dir(),\n disabled: this.isDisabled(),\n // angular handles this automatically with ngModel and Reactive Forms\n form: undefined,\n getRootNode: this.getRootNode() || (() => this.document),\n ids: undefined,\n indeterminate: this.indeterminate(),\n invalid: this.invalid(),\n name: this.name(),\n onCheckedChange: (checked) => {\n this.onChange(checked)\n if (!this.control) {\n this.checkedChanged.emit(checked)\n this.checked.set(checked)\n }\n if (this.control && !this.control?.touched) {\n this.onTouched()\n }\n },\n onFocusChange: (focused) => {\n if (!focused) {\n // only trigger onTouched on blur.\n this.onTouched()\n }\n },\n readOnly: this.readOnly(),\n required: this.isRequired(),\n value: this.value(),\n })),\n this.injector,\n )\n\n this.checkboxContextService.init(\n computed(() => createCheckboxApi(machine, normalizeProps)),\n )\n\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, type Signal} from \"@angular/core\"\n\nimport {useControlledState} from \"@qualcomm-ui/angular-core/state\"\n\nexport interface UseCheckboxGroupProps {\n /**\n * The initial value of `value` when uncontrolled\n */\n defaultValue?: Signal<string[] | undefined> | string[] | undefined\n\n /**\n * If `true`, the checkbox group is disabled\n */\n disabled?: boolean | undefined\n\n /**\n * The callback to call when the value changes\n */\n onValueChange?: ((value: string[]) => void) | undefined\n\n /**\n * If `true`, the checkbox group is read-only\n */\n readOnly?: boolean | undefined\n\n /**\n * The controlled value of the checkbox group\n */\n value?: Signal<string[] | undefined>\n}\n\nexport interface CheckboxGroupState {\n isChecked: (val: string | undefined) => boolean\n removeValue: (val: string) => void\n setValue: (value: string[]) => void\n toggleValue: (val: string) => void\n value: Signal<string[]>\n}\n\nexport function useCheckboxGroup(\n props: UseCheckboxGroupProps = {},\n): CheckboxGroupState {\n const {\n defaultValue,\n disabled,\n onValueChange,\n readOnly,\n value: controlledValue,\n } = props\n\n const state = useControlledState({\n defaultValue: computed(() => access(defaultValue) || []),\n onChange: (value) => onValueChange?.(value || []),\n value: controlledValue,\n })\n\n const {setValue, value: getValue} = state()\n\n const value = computed(() => getValue() || [])\n\n const interactive = !disabled && !readOnly\n\n const getIsChecked = (val: string | undefined) => {\n return computed(() => value().some((v) => String(v) === String(val)))\n }\n\n const isChecked = (val: string | undefined) => getIsChecked(val)()\n\n const toggleValue = (val: string) => {\n if (!interactive) {\n return\n }\n if (isChecked(val)) {\n removeValue(val)\n } else {\n addValue(val)\n }\n }\n\n const addValue = (val: string) => {\n if (!interactive) {\n return\n }\n if (isChecked(val)) {\n return\n }\n setValue(value().concat(val))\n }\n\n const removeValue = (val: string) => {\n if (!interactive) {\n return\n }\n setValue(value().filter((v) => String(v) !== String(val)))\n }\n\n return {\n isChecked,\n removeValue,\n setValue,\n toggleValue,\n value,\n }\n}\n\nfunction access<T>(value: Signal<T> | T | undefined): T | undefined {\n if (value === undefined) {\n return undefined\n }\n if (typeof value === \"function\") {\n return (value as unknown as Signal<T>)()\n }\n return value as T\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;AACA;MAwCsB,oCAAoC,CAAA;AAGxD;;;;AAIG;IACM,cAAc,GAAG,KAAK,CAAkC,SAAS,kDACxE,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAD+C;AAC1E,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;AAEF;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAkC,SAAS,4CAClE,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADyC;AACpE,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;AAEF;;AAEG;IACM,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;AAE3C;;;AAGG;IACM,QAAQ,GAAG,KAAK,CAAkC,SAAS,4CAClE,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADyC;AACpE,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;AAEF;;;AAGG;IACM,QAAQ,GAAG,KAAK,CAAkC,SAAS,4CAClE,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADyC;AACpE,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;AAEF;;;;AAIG;IACM,cAAc,GAAG,MAAM,EAAW;;AAGxB,IAAA,OAAO,GAAG,MAAM,CAAU,KAAK,mDAAC;IAChC,SAAS,GAAG,YAAY,EAAE;AAC1B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,iBAAiB,GAAG,MAAM,CAC3C,SAAS,6DACV;AACkB,IAAA,aAAa,GAAG,MAAM,CAAC,KAAK,yDAAC;AAE7B,IAAA,SAAS,GAAqB,MAAM,CAAC,SAAS,EAAE;AACjE,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE,IAAI;AACX,KAAA,CAAC;AAEiB,IAAA,aAAa,GAAG,MAAM,CAE/B,IAAI,yDAAC;AAEf;;;AAGG;AACgB,IAAA,UAAU,GAAG,YAAY,CAAC,MAAK;AAChD;;;AAGG;AACH,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE;AACvC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,MAAM,KAAK,UAAU;QAC9B;QAEA,OAAO,CAAC,CAAC,QAAQ;AACnB,IAAA,CAAC,sDAAC;AAEO,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AAC/B,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;AAC1C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,OAAO,EAAE,OAAO,EAAE,KAAK;AAE3B,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,YAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;AAC9B,YAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;AAC9B,YAAA,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK;QAC5B;aAAO,IAAI,aAAa,EAAE;AACxB,YAAA,OAAO,GAAG,aAAa,CAAC,OAAO;AAC/B,YAAA,OAAO,GAAG,aAAa,CAAC,OAAO;AAC/B,YAAA,KAAK,GAAG,aAAa,CAAC,KAAK;QAC7B;aAAO;AACL,YAAA,OAAO,KAAK;QACd;QAEA,IAAI,SAAS,EAAE;AACb,YAAA,OAAO,OAAO;QAChB;AAEA,QAAA,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC3B,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO;AAChB,YAAA,KAAK,MAAM;gBACT,OAAO,OAAO,IAAI,OAAO;AAC3B,YAAA;;gBAEE,OAAO,KAAK,IAAI,OAAO;;AAE7B,IAAA,CAAC,mDAAC;AAEO,IAAA,UAAU,GAAG,YAAY,CAAC,MAAK;AACtC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;AAC5B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;QAChC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACpC,YAAA,OAAO,QAAQ;QACjB;AAEA,QAAA,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU,EAAE;YAC9C,QACE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACzC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;QAEjD;AACA,QAAA,OAAO,KAAK;AACd,IAAA,CAAC,sDAAC;AAEF,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;QAEA,eAAe,CAAC,MAAK;AACnB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE,EAAE;AAClD,gBAAA,OAAO,CAAC,IAAI,CACV,uKAAuK,CACxK;YACH;AACF,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7C,IAAI,QAAQ,EAAE;oBACZ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC;gBACrD;qBAAO,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;oBAC7D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC;gBACxD;YACF;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;;QAEN,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AAC1C,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB;AAAO,aAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACvB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACnE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;AACpC,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,SAAS,CAAC,MAAK;gBAClB,YAAY,CAAC,WAAW,EAAE;AAC5B,YAAA,CAAC,CAAC;AAEF,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;AAEnC,YAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAK;AACxC,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,MAAM,UAAU,GAAG,eAAe,CAAsB,IAAI,CAAC,OAAO,CAAC;oBACrE,MAAM,CAAC,MAAK;wBACV,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AACtC,oBAAA,CAAC,CAAC;gBACJ;gBAEA,IAAI,MAAM,EAAE;oBACV,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,KAAK;AAClD,oBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChE,wBAAA,IAAI,KAAK,YAAY,mBAAmB,EAAE;AACxC,4BAAA,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE;;;;;AAKnC,gCAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;4BAC/B;AACA,4BAAA,YAAY,GAAG,KAAK,CAAC,QAAQ;wBAC/B;AAAO,6BAAA,IAAI,KAAK,YAAY,kBAAkB,EAAE;AAC9C,4BAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,4BAAA,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;wBAC7B;AACF,oBAAA,CAAC,CAAC;AACF,oBAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;AACxD,wBAAA,IAAI,IAAI,CAAC,cAAc,EAAE;;4BAEvB;wBACF;AACA,wBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,wBAAA,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;AAC7B,oBAAA,CAAC,CAAC;gBACJ;AACF,YAAA,CAAC,CAAC;QACJ;IACF;;AAGA,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,SAAS,YAAY,OAAO;IAC1C;;AAGA,IAAA,IAAI,cAAc,GAAA;;QAEhB,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,oBAAoB;IACvD;;AAGA,IAAA,IAAc,OAAO,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,IAAI;IACxC;AAEA;;AAEG;IACK,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,OAAO,IAAI;QACb;;AAGA,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;YAC9C,IAAI,MAAM,EAAE;AACV,gBAAA,OAAO,MAAM;YACf;QACF;QAAE,MAAM,EAAC;;AAGT,QAAA,IAAI;AACF,YAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC;YACtE,IAAI,kBAAkB,EAAE;AACtB,gBAAA,OAAO,kBAAkB;YAC3B;QACF;QAAE,MAAM,EAAC;AAET,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;AACH,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACzB;;AAGU,IAAA,QAAQ,GAAG,CAAC,MAAW,KAAI,EAAE,CAAC;AAExC,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,KAAI;YACzB,EAAE,CAAC,MAAM,CAAC;AACV,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACxB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;AAClC,QAAA,CAAC;IACH;AAEU,IAAA,SAAS,GAAG,MAAK,EAAE,CAAC;AAC9B,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA;;;;AAIG;AACH,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;IACjC;wGAhSoB,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAApC,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADzD;;;ACxCD;AACA;AAYM,MAAO,sBAAuB,SAAQ,qBAAkC,CAAA;wGAAjE,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAAtB,sBAAsB,EAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC;;AAGM,MAAM,CACX,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACvB,GAA4B,gBAAgB,CAC3C,iBAAiB,EACjB,sBAAsB;;ACrBxB;AACA;MAUa,4BAA4B,CAAA;AACvC;;;AAGG;IACM,EAAE,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAEV,eAAe,GAAG,kBAAkB,EAAE;AAEtC,IAAA,aAAa,GAAG,gBAAgB,CAAC,MAClD,IAAI,CAAC,eAAe,EAAE,CAAC,kBAAkB,CAAC;AACxC,QAAA,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;AAC1B,KAAA,CAAC,CACH;AAEgB,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kDAAC;IAE/C,SAAS,GAAG,YAAY,EAAE;IAE3C,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;IACtB;wGAtBW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC;;;ACVD;AACA;MAUa,8BAA8B,CAAA;AACzC;;;AAGG;IACM,EAAE,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAEV,eAAe,GAAG,kBAAkB,EAAE;AAEtC,IAAA,aAAa,GAAG,gBAAgB,CAAC,MAClD,IAAI,CAAC,eAAe,EAAE,CAAC,oBAAoB,CAAC;AAC1C,QAAA,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;AAC1B,KAAA,CAAC,CACH;AAEgB,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kDAAC;IAE/C,SAAS,GAAG,YAAY,EAAE;IAE3C,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;IACtB;wGAtBW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C;;;ACVD;AACA;MAUa,gCAAgC,CAAA;AAC3C;;;AAGG;IACM,EAAE,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAEV,eAAe,GAAG,kBAAkB,EAAE;AAEtC,IAAA,aAAa,GAAG,gBAAgB,CAAC,MAClD,IAAI,CAAC,eAAe,EAAE,CAAC,sBAAsB,CAAC;AAC5C,QAAA,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;AAC1B,KAAA,CAAC,CACH;AAEgB,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kDAAC;IAE/C,SAAS,GAAG,YAAY,EAAE;IAE3C,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;IACtB;wGAtBW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C;;;ACVD;AACA;MASa,8BAA8B,CAAA;IACtB,eAAe,GAAG,kBAAkB,EAAE;AAEtC,IAAA,aAAa,GAAG,gBAAgB,CAAC,MAClD,IAAI,CAAC,eAAe,EAAE,CAAC,oBAAoB,EAAE,CAC9C;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;IACtB;wGATW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C;;;ACTD;AACA;MAUa,0BAA0B,CAAA;AACrC;;;AAGG;IACM,EAAE,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAEV,eAAe,GAAG,kBAAkB,EAAE;AAEtC,IAAA,aAAa,GAAG,gBAAgB,CAAC,MAClD,IAAI,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC;AACtC,QAAA,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;AAC1B,KAAA,CAAC,CACH;AAEgB,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kDAAC;IAE/C,SAAS,GAAG,YAAY,EAAE;IAE3C,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;IACtB;wGAtBW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC;;;ACVD;AACA;AAiCM,MAAO,yBACX,SAAQ,oCAAoC,CAAA;AAM5C;;;;AAIG;AACM,IAAA,GAAG,GAAG,KAAK,CAAwB,SAAS,+CAAC;AAEtD;;;AAGG;IACM,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAEzB;AAEH;;;AAGG;IACM,aAAa,GAAG,KAAK,CAAkC,SAAS,iDACvE,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAD8C;AACzE,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;AAEF;;;AAGG;AACM,IAAA,EAAE,GAAG,KAAK,CAAqB,SAAS,8CAAC;AAElD;;;AAGG;IACM,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;AAEzB,IAAA,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;AACvD,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE3B,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kDAAC;IAC/C,aAAa,GAAG,gBAAgB,CAAC,MAClD,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAC,CAAC,CAC3E;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;QAEhB,MAAM,OAAO,GAAG,UAAU,CACxB,eAAe,EACf,QAAQ,CAA6B,OAAO;AAC1C,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AACvB,YAAA,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;AACrC,YAAA,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;AACf,YAAA,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;;AAE3B,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC;AACxD,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;AACnC,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AACvB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,YAAA,eAAe,EAAE,CAAC,OAAO,KAAI;AAC3B,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC3B;gBACA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;oBAC1C,IAAI,CAAC,SAAS,EAAE;gBAClB;YACF,CAAC;AACD,YAAA,aAAa,EAAE,CAAC,OAAO,KAAI;gBACzB,IAAI,CAAC,OAAO,EAAE;;oBAEZ,IAAI,CAAC,SAAS,EAAE;gBAClB;YACF,CAAC;AACD,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAA,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;AAC3B,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACpB,SAAA,CAAC,CAAC,EACH,IAAI,CAAC,QAAQ,CACd;AAED,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAC9B,QAAQ,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAC3D;QAED,IAAI,CAAC,aAAa,EAAE;IACtB;wGA/FW,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC;;;ACjCD;AACA;AAyCM,SAAU,gBAAgB,CAC9B,KAAA,GAA+B,EAAE,EAAA;AAEjC,IAAA,MAAM,EACJ,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,KAAK,EAAE,eAAe,GACvB,GAAG,KAAK;IAET,MAAM,KAAK,GAAG,kBAAkB,CAAC;AAC/B,QAAA,YAAY,EAAE,QAAQ,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACxD,QAAA,QAAQ,EAAE,CAAC,KAAK,KAAK,aAAa,GAAG,KAAK,IAAI,EAAE,CAAC;AACjD,QAAA,KAAK,EAAE,eAAe;AACvB,KAAA,CAAC;IAEF,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,EAAE;AAE3C,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,QAAQ,EAAE,IAAI,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAE9C,IAAA,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ;AAE1C,IAAA,MAAM,YAAY,GAAG,CAAC,GAAuB,KAAI;QAC/C,OAAO,QAAQ,CAAC,MAAM,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,IAAA,CAAC;AAED,IAAA,MAAM,SAAS,GAAG,CAAC,GAAuB,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE;AAElE,IAAA,MAAM,WAAW,GAAG,CAAC,GAAW,KAAI;QAClC,IAAI,CAAC,WAAW,EAAE;YAChB;QACF;AACA,QAAA,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;YAClB,WAAW,CAAC,GAAG,CAAC;QAClB;aAAO;YACL,QAAQ,CAAC,GAAG,CAAC;QACf;AACF,IAAA,CAAC;AAED,IAAA,MAAM,QAAQ,GAAG,CAAC,GAAW,KAAI;QAC/B,IAAI,CAAC,WAAW,EAAE;YAChB;QACF;AACA,QAAA,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;YAClB;QACF;QACA,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,GAAW,KAAI;QAClC,IAAI,CAAC,WAAW,EAAE;YAChB;QACF;QACA,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,IAAA,CAAC;IAED,OAAO;QACL,SAAS;QACT,WAAW;QACX,QAAQ;QACR,WAAW;QACX,KAAK;KACN;AACH;AAEA,SAAS,MAAM,CAAI,KAAgC,EAAA;AACjD,IAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAQ,KAA8B,EAAE;IAC1C;AACA,IAAA,OAAO,KAAU;AACnB;;ACpHA;;AAEG;;;;"}
1
+ {"version":3,"file":"qualcomm-ui-angular-core-checkbox.mjs","sources":["../../src/checkbox/abstract-checkbox-form-control.directive.ts","../../src/checkbox/checkbox-context.service.ts","../../src/checkbox/core-checkbox-control.directive.ts","../../src/checkbox/core-checkbox-error-text.directive.ts","../../src/checkbox/core-checkbox-hint.directive.ts","../../src/checkbox/core-checkbox-hidden-input.directive.ts","../../src/checkbox/core-checkbox-indicator.directive.ts","../../src/checkbox/core-checkbox-label.directive.ts","../../src/checkbox/core-checkbox-root.directive.ts","../../src/checkbox/use-checkbox-group.ts","../../src/checkbox/qualcomm-ui-angular-core-checkbox.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n Injector,\n input,\n isDevMode,\n linkedSignal,\n type OnInit,\n output,\n runInInjectionContext,\n signal,\n} from \"@angular/core\"\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\"\nimport {\n type AbstractControl,\n type ControlValueAccessor,\n type FormControlStatus,\n FormGroupDirective,\n FormSubmittedEvent,\n NgControl,\n NgForm,\n NgModel,\n PristineChangeEvent,\n Validators,\n} from \"@angular/forms\"\n\nimport {useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {\n allEventsSignal,\n type FormEventData,\n} from \"@qualcomm-ui/angular-core/forms\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\n\n@Directive()\nexport abstract class AbstractCheckboxFormControlDirective\n implements ControlValueAccessor, OnInit\n{\n /**\n * The initial checked state of the checkbox when rendered. Use when you don't\n * need to control the checked state of the checkbox. This property will be\n * ignored if you opt into controlled state via form control bindings.\n */\n readonly defaultChecked = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Controls whether the input is disabled in template-driven forms. When true,\n * prevents user interaction and applies visual styling to indicate the disabled\n * state.\n */\n readonly disabled = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The name of the input field in a checkbox. Useful for form submission.\n */\n readonly name = input<string | undefined>()\n\n /**\n * Whether the input is read-only. When true, prevents user interaction while\n * keeping the input focusable and visible.\n */\n readonly readOnly = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Controls whether the input is required in template-driven forms. When\n * true, the input must have a value for form validation to pass.\n */\n readonly required = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Event emitted when the checkbox is checked or unchecked. This is only emitted\n * on interaction. It doesn't emit in response to programmatic form control\n * changes.\n */\n readonly checkedChanged = output<boolean>()\n\n /* the internal \"checked\" state of the checkbox */\n protected readonly checked = signal<boolean>(false)\n protected readonly onDestroy = useOnDestroy()\n protected readonly injector = inject(Injector)\n protected readonly formControlStatus = signal<FormControlStatus | undefined>(\n undefined,\n )\n protected readonly formSubmitted = signal(false)\n\n protected readonly ngControl: NgControl | null = inject(NgControl, {\n optional: true,\n self: true,\n })\n\n protected readonly formEventData = signal<FormEventData<\n boolean | undefined\n > | null>(null)\n\n /**\n * If the component is bound to an Angular AbstractControl, its state wins.\n * If not, fall back to the host attribute.\n */\n protected readonly isDisabled = linkedSignal(() => {\n /**\n * When the component is bound to any AbstractControl, status is guaranteed to\n * be non-undefined.\n */\n const status = this.formControlStatus()\n const disabled = this.disabled()\n if (status !== undefined) {\n return status === \"DISABLED\"\n }\n\n return !!disabled\n })\n\n readonly invalid = computed(() => {\n const formEventData = this.formEventData()\n const submitted = this.formSubmitted()\n if (!this.control) {\n return false\n }\n\n let invalid, touched, dirty\n\n if (this.isTemplateDrivenForm) {\n invalid = this.control.invalid\n touched = this.control.touched\n dirty = this.control.dirty\n } else if (formEventData) {\n invalid = formEventData.invalid\n touched = formEventData.touched\n dirty = formEventData.dirty\n } else {\n return false\n }\n\n if (submitted) {\n return invalid\n }\n\n switch (this.control.updateOn) {\n case \"submit\":\n return invalid\n case \"blur\":\n return invalid && touched\n default:\n // \"change\"\n return dirty && invalid\n }\n })\n\n readonly isRequired = linkedSignal(() => {\n const control = this.control\n const required = this.required()\n if (!control || !this.isReactiveForm) {\n return required\n }\n\n if (typeof control.hasValidator === \"function\") {\n return (\n control.hasValidator(Validators.required) ||\n control.hasValidator(Validators.requiredTrue)\n )\n }\n return false\n })\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this\n }\n\n afterNextRender(() => {\n const required = this.required()\n if (required && this.isReactiveForm && isDevMode()) {\n console.warn(\n \"The required attribute is not supported on reactive forms. Use Validators instead. https://angular.dev/guide/forms/form-validation#validating-input-in-reactive-forms\",\n )\n }\n })\n\n effect(() => {\n const required = this.required()\n if (this.control && this.isTemplateDrivenForm) {\n if (required) {\n this.control.addValidators(Validators.requiredTrue)\n } else if (this.control.hasValidator(Validators.requiredTrue)) {\n this.control.removeValidators(Validators.requiredTrue)\n }\n }\n })\n }\n\n ngOnInit() {\n // Ensure the form control receives the initial value\n if (!this.control && this.defaultChecked()) {\n this.checked.set(true)\n } else if (this.control) {\n const subscription = this.control.statusChanges.subscribe((status) => {\n this.formControlStatus.set(status)\n })\n this.onDestroy(() => {\n subscription.unsubscribe()\n })\n\n const parent = this.getParentForm()\n\n runInInjectionContext(this.injector, () => {\n if (this.control) {\n const formSignal = allEventsSignal<boolean | undefined>(this.control)\n effect(() => {\n this.formEventData.set(formSignal())\n })\n }\n\n if (parent) {\n let prevPristine = this.control?.pristine || false\n parent.form.events.pipe(takeUntilDestroyed()).subscribe((event) => {\n if (event instanceof PristineChangeEvent) {\n if (event.pristine && !prevPristine) {\n // if this event fires with pristine status and the control was\n // previously not pristine, this means that the form was reset. There\n // isn't another way to determine form resets programmatically,\n // unfortunately.\n this.formSubmitted.set(false)\n }\n prevPristine = event.pristine\n } else if (event instanceof FormSubmittedEvent) {\n this.formSubmitted.set(true)\n this.control?.markAsDirty()\n }\n })\n parent.ngSubmit.pipe(takeUntilDestroyed()).subscribe(() => {\n if (this.isReactiveForm) {\n // already accounted for in the above event subscription.\n return\n }\n this.formSubmitted.set(true)\n this.control?.markAsDirty()\n })\n }\n })\n }\n }\n\n /** `true` when used with template-driven forms (`[(ngModel)]`, `ngModel`, …). */\n get isTemplateDrivenForm(): boolean {\n return this.ngControl instanceof NgModel\n }\n\n /** `true` when used with reactive-forms (`formControl`, `formControlName`, …). */\n get isReactiveForm(): boolean {\n // Any NgControl that is *not* NgModel belongs to the reactive-forms package\n return !!this.ngControl && !this.isTemplateDrivenForm\n }\n\n /** Convenience access to the underlying AbstractControl (can be null). */\n protected get control(): AbstractControl | null {\n return this.ngControl?.control ?? null\n }\n\n /**\n * Used to subscribe to form submit events.\n */\n private getParentForm(): NgForm | FormGroupDirective | null {\n if (!this.control) {\n return null\n }\n\n // Try to find NgForm first\n try {\n const ngForm = this.injector.get(NgForm, null)\n if (ngForm) {\n return ngForm\n }\n } catch {}\n\n // Fall back to FormGroupDirective\n try {\n const formGroupDirective = this.injector.get(FormGroupDirective, null)\n if (formGroupDirective) {\n return formGroupDirective\n }\n } catch {}\n\n return null\n }\n\n /*\n * Control value accessor methods\n */\n writeValue(value: any): void {\n this.checked.set(value)\n }\n\n // placeholder\n protected onChange = (_value: any) => {}\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = (_value) => {\n fn(_value)\n this.checked.set(_value)\n this.checkedChanged.emit(_value)\n }\n }\n\n protected onTouched = () => {}\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n }\n\n /**\n * NgModel never calls setDisabledState, but ReactiveForms does. Everything else\n * (writeValue, registerOnChange, registerOnTouched) is identical between Reactive\n * and Template forms.\n */\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled)\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Injectable} from \"@angular/core\"\n\nimport {\n type ApiContext,\n BaseApiContextService,\n createApiContext,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {CheckboxApi} from \"@qualcomm-ui/core/checkbox\"\n\n@Injectable()\nexport class CheckboxContextService extends BaseApiContextService<CheckboxApi> {}\n\nexport const [\n CHECKBOX_CONTEXT,\n useCheckboxContext,\n provideCheckboxContext,\n]: ApiContext<CheckboxApi> = createApiContext<CheckboxApi>(\n \"CheckboxContext\",\n CheckboxContextService,\n)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxControlDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getControlBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxErrorTextDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getErrorTextBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxHintDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getHintBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxHiddenInputDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getHiddenInputBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxIndicatorDirective implements OnInit {\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getIndicatorBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useCheckboxContext} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxLabelDirective implements OnInit {\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.\n */\n readonly id = input<string>()\n\n protected readonly checkboxContext = useCheckboxContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContext().getLabelBindings({\n id: this.hostId(),\n onDestroy: this.onDestroy,\n }),\n )\n\n private readonly hostId = computed(() => useId(this, this.id()))\n\n private readonly onDestroy = useOnDestroy()\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {DOCUMENT} from \"@angular/common\"\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n input,\n type OnInit,\n} from \"@angular/core\"\nimport {type ControlValueAccessor} from \"@angular/forms\"\n\nimport {useId} from \"@qualcomm-ui/angular-core/common\"\nimport {\n normalizeProps,\n useMachine,\n useTrackBindings,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\nimport {\n type CheckboxApiProps,\n checkboxMachine,\n createCheckboxApi,\n} from \"@qualcomm-ui/core/checkbox\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\nimport type {Direction} from \"@qualcomm-ui/utils/direction\"\nimport type {Explicit} from \"@qualcomm-ui/utils/guard\"\n\nimport {AbstractCheckboxFormControlDirective} from \"./abstract-checkbox-form-control.directive\"\nimport {CheckboxContextService} from \"./checkbox-context.service\"\n\n@Directive()\nexport class CoreCheckboxRootDirective\n extends AbstractCheckboxFormControlDirective\n implements\n SignalifyInput<Omit<CheckboxApiProps, \"checked\" | \"form\" | \"ids\">>,\n ControlValueAccessor,\n OnInit\n{\n /**\n * The document's text/writing direction.\n *\n * @default \"ltr\"\n */\n readonly dir = input<Direction | undefined>(undefined)\n\n /**\n * A root node to correctly resolve the Document in custom environments. i.e.,\n * Iframes, Electron.\n */\n readonly getRootNode = input<\n (() => ShadowRoot | Document | Node) | undefined\n >()\n\n /**\n * If true and the checkbox is not checked, the checkbox will be in the\n * `indeterminate` state.\n */\n readonly indeterminate = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be generated for accessibility.)\n */\n readonly id = input<string | undefined>(undefined)\n\n /**\n * The value of checkbox input. Useful for form submission.\n * @default \"on\"\n */\n readonly value = input<string | undefined>()\n\n protected readonly checkboxContextService = inject(CheckboxContextService)\n protected readonly document = inject(DOCUMENT)\n\n protected readonly hostId = computed(() => useId(this, this.id()))\n protected readonly trackBindings = useTrackBindings(() =>\n this.checkboxContextService.context().getRootBindings({id: this.hostId()}),\n )\n\n override ngOnInit() {\n super.ngOnInit()\n\n const machine = useMachine(\n checkboxMachine,\n computed<Explicit<CheckboxApiProps>>(() => ({\n checked: this.checked(),\n defaultChecked: this.defaultChecked(),\n dir: this.dir(),\n disabled: this.isDisabled(),\n // angular handles this automatically with ngModel and Reactive Forms\n form: undefined,\n getRootNode: this.getRootNode() || (() => this.document),\n ids: undefined,\n indeterminate: this.indeterminate(),\n invalid: this.invalid(),\n name: this.name(),\n onCheckedChange: (checked) => {\n this.onChange(checked)\n if (!this.control) {\n this.checkedChanged.emit(checked)\n this.checked.set(checked)\n }\n if (this.control && !this.control?.touched) {\n this.onTouched()\n }\n },\n onFocusChange: (focused) => {\n if (!focused) {\n // only trigger onTouched on blur.\n this.onTouched()\n }\n },\n readOnly: this.readOnly(),\n required: this.isRequired(),\n value: this.value(),\n })),\n this.injector,\n )\n\n this.checkboxContextService.init(\n computed(() => createCheckboxApi(machine, normalizeProps)),\n )\n\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, type Signal} from \"@angular/core\"\n\nimport {useControlledState} from \"@qualcomm-ui/angular-core/state\"\n\nexport interface UseCheckboxGroupProps {\n /**\n * The initial value of `value` when uncontrolled\n */\n defaultValue?: Signal<string[] | undefined> | string[] | undefined\n\n /**\n * If `true`, the checkbox group is disabled\n */\n disabled?: boolean | undefined\n\n /**\n * The callback to call when the value changes\n */\n onValueChange?: ((value: string[]) => void) | undefined\n\n /**\n * If `true`, the checkbox group is read-only\n */\n readOnly?: boolean | undefined\n\n /**\n * The controlled value of the checkbox group\n */\n value?: Signal<string[] | undefined>\n}\n\nexport interface CheckboxGroupState {\n isChecked: (val: string | undefined) => boolean\n removeValue: (val: string) => void\n setValue: (value: string[]) => void\n toggleValue: (val: string) => void\n value: Signal<string[]>\n}\n\nexport function useCheckboxGroup(\n props: UseCheckboxGroupProps = {},\n): CheckboxGroupState {\n const {\n defaultValue,\n disabled,\n onValueChange,\n readOnly,\n value: controlledValue,\n } = props\n\n const state = useControlledState({\n defaultValue: computed(() => access(defaultValue) || []),\n onChange: (value) => onValueChange?.(value || []),\n value: controlledValue,\n })\n\n const {setValue, value: getValue} = state()\n\n const value = computed(() => getValue() || [])\n\n const interactive = !disabled && !readOnly\n\n const getIsChecked = (val: string | undefined) => {\n return computed(() => value().some((v) => String(v) === String(val)))\n }\n\n const isChecked = (val: string | undefined) => getIsChecked(val)()\n\n const toggleValue = (val: string) => {\n if (!interactive) {\n return\n }\n if (isChecked(val)) {\n removeValue(val)\n } else {\n addValue(val)\n }\n }\n\n const addValue = (val: string) => {\n if (!interactive) {\n return\n }\n if (isChecked(val)) {\n return\n }\n setValue(value().concat(val))\n }\n\n const removeValue = (val: string) => {\n if (!interactive) {\n return\n }\n setValue(value().filter((v) => String(v) !== String(val)))\n }\n\n return {\n isChecked,\n removeValue,\n setValue,\n toggleValue,\n value,\n }\n}\n\nfunction access<T>(value: Signal<T> | T | undefined): T | undefined {\n if (value === undefined) {\n return undefined\n }\n if (typeof value === \"function\") {\n return (value as unknown as Signal<T>)()\n }\n return value as T\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -607,6 +607,22 @@ class CoreNumberInputRootDirective extends AbstractNumberInputFormControlDirecti
607
607
  * their states
608
608
  */
609
609
  translations = input(...(ngDevMode ? [undefined, { debugName: "translations" }] : []));
610
+ /**
611
+ * The controlled unit value.
612
+ */
613
+ unit = input(...(ngDevMode ? [undefined, { debugName: "unit" }] : []));
614
+ /**
615
+ * The initial unit when uncontrolled. Defaults to first option if not provided.
616
+ */
617
+ defaultUnit = input(...(ngDevMode ? [undefined, { debugName: "defaultUnit" }] : []));
618
+ /**
619
+ * Array of unit options to display in the unit selector.
620
+ */
621
+ unitOptions = input(...(ngDevMode ? [undefined, { debugName: "unitOptions" }] : []));
622
+ /**
623
+ * Event emitted when the selected unit changes.
624
+ */
625
+ unitChanged = output();
610
626
  /**
611
627
  * Event emitted when the checkbox is checked or unchecked. This is only emitted
612
628
  * on interaction. It doesn't emit in response to programmatic form control
@@ -630,6 +646,7 @@ class CoreNumberInputRootDirective extends AbstractNumberInputFormControlDirecti
630
646
  allowMouseWheel: this.allowMouseWheel(),
631
647
  allowOverflow: this.allowOverflow(),
632
648
  clampValueOnBlur: this.clampValueOnBlur(),
649
+ defaultUnit: this.defaultUnit(),
633
650
  defaultValue: this.defaultValue()
634
651
  ? `${this.defaultValue() ?? ""}`
635
652
  : "",
@@ -653,6 +670,11 @@ class CoreNumberInputRootDirective extends AbstractNumberInputFormControlDirecti
653
670
  this.onTouched();
654
671
  }
655
672
  },
673
+ onUnitChange: (unit) => {
674
+ if (this.isMounted()) {
675
+ this.unitChanged.emit(unit);
676
+ }
677
+ },
656
678
  onValueChange: (details) => {
657
679
  this.stringValue.set(details.value);
658
680
  if (!this.control) {
@@ -682,6 +704,8 @@ class CoreNumberInputRootDirective extends AbstractNumberInputFormControlDirecti
682
704
  spinOnPress: this.spinOnPress(),
683
705
  step: this.step(),
684
706
  translations: this.translations(),
707
+ unit: this.unit(),
708
+ unitOptions: this.unitOptions(),
685
709
  value: this.stringValue(),
686
710
  };
687
711
  }), this.injector);
@@ -689,11 +713,11 @@ class CoreNumberInputRootDirective extends AbstractNumberInputFormControlDirecti
689
713
  this.trackBindings();
690
714
  }
691
715
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreNumberInputRootDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
692
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreNumberInputRootDirective, isStandalone: true, inputs: { allowMouseWheel: { classPropertyName: "allowMouseWheel", publicName: "allowMouseWheel", isSignal: true, isRequired: false, transformFunction: null }, allowOverflow: { classPropertyName: "allowOverflow", publicName: "allowOverflow", isSignal: true, isRequired: false, transformFunction: null }, clampValueOnBlur: { classPropertyName: "clampValueOnBlur", publicName: "clampValueOnBlur", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, focusInputOnChange: { classPropertyName: "focusInputOnChange", publicName: "focusInputOnChange", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, getRootNode: { classPropertyName: "getRootNode", publicName: "getRootNode", isSignal: true, isRequired: false, transformFunction: null }, inputMode: { classPropertyName: "inputMode", publicName: "inputMode", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, spinOnPress: { classPropertyName: "spinOnPress", publicName: "spinOnPress", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChanged: "valueChanged", valueInvalid: "valueInvalid" }, usesInheritance: true, ngImport: i0 });
716
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreNumberInputRootDirective, isStandalone: true, inputs: { allowMouseWheel: { classPropertyName: "allowMouseWheel", publicName: "allowMouseWheel", isSignal: true, isRequired: false, transformFunction: null }, allowOverflow: { classPropertyName: "allowOverflow", publicName: "allowOverflow", isSignal: true, isRequired: false, transformFunction: null }, clampValueOnBlur: { classPropertyName: "clampValueOnBlur", publicName: "clampValueOnBlur", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, focusInputOnChange: { classPropertyName: "focusInputOnChange", publicName: "focusInputOnChange", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, getRootNode: { classPropertyName: "getRootNode", publicName: "getRootNode", isSignal: true, isRequired: false, transformFunction: null }, inputMode: { classPropertyName: "inputMode", publicName: "inputMode", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, spinOnPress: { classPropertyName: "spinOnPress", publicName: "spinOnPress", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, defaultUnit: { classPropertyName: "defaultUnit", publicName: "defaultUnit", isSignal: true, isRequired: false, transformFunction: null }, unitOptions: { classPropertyName: "unitOptions", publicName: "unitOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { unitChanged: "unitChanged", valueChanged: "valueChanged", valueInvalid: "valueInvalid" }, usesInheritance: true, ngImport: i0 });
693
717
  }
694
718
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreNumberInputRootDirective, decorators: [{
695
719
  type: Directive
696
- }], propDecorators: { allowMouseWheel: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowMouseWheel", required: false }] }], allowOverflow: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowOverflow", required: false }] }], clampValueOnBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "clampValueOnBlur", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], focusInputOnChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusInputOnChange", required: false }] }], formatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatOptions", required: false }] }], getRootNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "getRootNode", required: false }] }], inputMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputMode", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], spinOnPress: [{ type: i0.Input, args: [{ isSignal: true, alias: "spinOnPress", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], translations: [{ type: i0.Input, args: [{ isSignal: true, alias: "translations", required: false }] }], valueChanged: [{ type: i0.Output, args: ["valueChanged"] }], valueInvalid: [{ type: i0.Output, args: ["valueInvalid"] }] } });
720
+ }], propDecorators: { allowMouseWheel: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowMouseWheel", required: false }] }], allowOverflow: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowOverflow", required: false }] }], clampValueOnBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "clampValueOnBlur", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], focusInputOnChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusInputOnChange", required: false }] }], formatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatOptions", required: false }] }], getRootNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "getRootNode", required: false }] }], inputMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputMode", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], spinOnPress: [{ type: i0.Input, args: [{ isSignal: true, alias: "spinOnPress", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], translations: [{ type: i0.Input, args: [{ isSignal: true, alias: "translations", required: false }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], defaultUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultUnit", required: false }] }], unitOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitOptions", required: false }] }], unitChanged: [{ type: i0.Output, args: ["unitChanged"] }], valueChanged: [{ type: i0.Output, args: ["valueChanged"] }], valueInvalid: [{ type: i0.Output, args: ["valueInvalid"] }] } });
697
721
 
698
722
  /**
699
723
  * Generated bundle index. Do not edit.