Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 1x | /** * Copyright (c) Siemens 2016 - 2025 * SPDX-License-Identifier: MIT */ import { InjectionToken, Signal } from '@angular/core'; export const SI_FORM_ITEM_CONTROL = new InjectionToken<SiFormItemControl>('si.form-item.control'); /** * Common interface for form item controls. * Controls that should be connected to {@link SiFormItemComponent} must implement this interface * and must be provided using the {@link SI_FORM_ITEM_CONTROL} token. */ export interface SiFormItemControl { /** The actual id of the control that should be used in the `for` attribute of a label. */ readonly id?: string | Signal<string | undefined>; /** * ID that should be assigned to the label element inside the {@link SiFormItemComponent}. * * If the target control is not of type <i>input</i>, <i>select</i> or <i>button</i>, it cannot be referenced by a label. * Instead, aria-labelledby must be used to create a reference to a label. * In such a case, an implementation of {@link SiFormItemControl} must provide the id of the label in {@link labelledby}. * {@link SiFormItemComponent} will apply the id to the label * so that it can be used inside the control to reference it in the aria-labelledby attribute. */ readonly labelledby?: string | Signal<string | undefined> | null; /** * Generated ID that the {@link SiFormItemComponent} will assign to the element containing the error messages. * Implementations of {@link SiFormItemControl} must generate this ID * and assign it to the `aria-describedby` attribute of their focusable elements. * * This property will be required with v48. */ readonly errormessageId?: string | Signal<string | undefined>; /** If the control is meant to be used a checkbox. This affects the label positioning. */ readonly isFormCheck?: boolean; } |