{"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  /**\n   * ARIA label applied to the hidden input.\n   *\n   * @since 2.4.0\n   */\n  readonly ariaLabel = input<string | undefined>(undefined, {\n    alias: \"aria-label\",\n  })\n\n  /**\n   * ID reference for an external label applied to the hidden input.\n   *\n   * @since 2.4.0\n   */\n  readonly ariaLabelledby = input<string | undefined>(undefined, {\n    alias: \"aria-labelledby\",\n  })\n\n  protected readonly checkboxContext = useCheckboxContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    const bindings = this.checkboxContext().getHiddenInputBindings({\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n    })\n    const ariaLabel = this.ariaLabel() ?? undefined\n    const ariaLabelledby = this.ariaLabelledby() ?? undefined\n\n    return {\n      ...bindings,\n      \"aria-label\": ariaLabel,\n      \"aria-labelledby\": ariaLabelledby ?? bindings[\"aria-labelledby\"],\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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"}