@hashicorp/design-system-components
Version:
Helios Design System Components
39 lines (38 loc) • 1.91 kB
TypeScript
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import type { WithBoundArgs } from '@glint/template';
import type Owner from '@ember/owner';
import HdsFormCharacterCount from '../character-count/index';
import type { HdsFormFieldSignature } from '../field/index';
import type { HdsFormTextInputBaseSignature } from './base';
import type { HdsFormVisibilityToggleSignature } from '../visibility-toggle/index';
export interface HdsFormTextInputFieldSignature {
Args: Omit<HdsFormFieldSignature['Args'], 'contextualClass' | 'layout'> & HdsFormTextInputBaseSignature['Args'] & {
visibilityToggleAriaLabel?: HdsFormVisibilityToggleSignature['Args']['ariaLabel'];
visibilityToggleAriaMessageText?: HdsFormVisibilityToggleSignature['Args']['ariaMessageText'];
};
Blocks: {
default: [
{
Label?: HdsFormFieldSignature['Blocks']['default'][0]['Label'];
HelperText?: HdsFormFieldSignature['Blocks']['default'][0]['HelperText'];
Error?: HdsFormFieldSignature['Blocks']['default'][0]['Error'];
CharacterCount?: WithBoundArgs<typeof HdsFormCharacterCount, 'value'>;
}
];
};
Element: HdsFormTextInputBaseSignature['Element'];
}
export default class HdsFormTextInputField extends Component<HdsFormTextInputFieldSignature> {
private _isPasswordMasked;
type: "search" | "text" | "time" | "email" | "tel" | "date" | "password" | "url" | "datetime-local" | "month" | "week";
constructor(owner: Owner, args: HdsFormTextInputFieldSignature['Args']);
get hasVisibilityToggle(): boolean;
get showVisibilityToggle(): boolean;
get visibilityToggleAriaLabel(): string | undefined;
get visibilityToggleAriaMessageText(): string | undefined;
onClickTogglePasswordReadability: () => void;
}