Typescript

Composite Types

Tipi composti che combinano più interfacce base per pattern di componenti frequenti — TextInputBaseProps, DropdownBaseProps, ModalOverlayBaseProps.

I composite types combinano le interfacce base in un'unica dichiarazione pronta all'uso. Invece di estendere manualmente cinque o sei interfacce, si usa un singolo composite type come punto di partenza.


TextInputBaseProps

export type TextInputBaseProps = BaseFormControlProps &
  BaseStyledWithVariantProps &
  BaseInputAccessibilityProps &
  BaseFieldHelperProps &
  BaseClearableProps &
  BaseLoadableProps &
  BasePrefixSuffixIconProps;

Props complete per un form control text-based. Combina tutte le interfacce necessarie per un campo di testo con label, icone, stato di errore e funzionalità di cancellazione.

Componenti che lo usano: InputText, InputNumber, InputMask, InputPassword, Textarea.

Interfacce incluse:

InterfacciaProps incluse
BaseFormControlPropsdisabled, loading, readonly, required, invalid, name, autofocus
BaseStyledWithVariantPropsseverity, size, rounded, fluid, variant
BaseInputAccessibilityPropsinputId, inputClass, inputStyle, ariaLabel, ariaLabelledby, tabindex
BaseFieldHelperPropslabel, helperText, error, placeholder
BaseClearablePropsshowClear, clearIcon
BaseLoadablePropsloading, loadingIcon
BasePrefixSuffixIconPropsprefixIcon, suffixIcon

Esempio di utilizzo:

interface InputTextProps extends TextInputBaseProps {
  modelValue?: string;
  type?: 'text' | 'email' | 'password' | 'search';
  maxlength?: number;
}

TextInputBaseEmits

export type TextInputBaseEmits<T = string | number> = BaseModelValueEmits<T> &
  BaseFocusEmits &
  BaseKeyboardExtendedEmits &
  BaseClipboardEmits &
  BaseClearEmits &
  BaseInputEmits<T> &
  BaseChangeEmits<T>;

Emits complete per un form control text-based. Tipizzato sul valore T (default string | number).

Emits inclusi: update:modelValue, focus, blur, keydown, keyup, keypress, paste, clear, input, change.


SelectionControlBaseProps

export type SelectionControlBaseProps = BaseFormControlProps & BaseStyledWithVariantProps & BaseInputAccessibilityProps;

Props per form control di selezione (Checkbox, RadioButton, ToggleSwitch). Versione ridotta rispetto a TextInputBaseProps, senza label helper e icone prefix/suffix.

Componenti che lo usano: Checkbox, RadioButton, ToggleSwitch.


SelectionControlBaseEmits

export type SelectionControlBaseEmits<T = unknown> = BaseModelValueEmits<T> & BaseFocusEmits & BaseChangeEmits<T>;

Emits per selection control. Tipizzato sul valore T (default unknown).

Emits inclusi: update:modelValue, focus, blur, change.


export type DropdownBaseProps = BaseFormControlProps &
  BaseStyledWithVariantProps &
  BaseInputAccessibilityProps &
  BaseFieldHelperProps &
  BaseDropdownProps &
  BaseDropdownBehaviorProps &
  BaseDropdownFilterProps &
  BaseClearableProps &
  BaseLoadableProps;

Props complete per un componente dropdown. La più completa tra le composite props, include gestione del filtro, comportamento interattivo e configurazione del pannello.

Componenti che lo usano: Select, MultiSelect, Autocomplete, TreeSelect, Listbox.

Interfacce incluse:

InterfacciaResponsabilità
BaseFormControlPropsStato base del form control
BaseStyledWithVariantPropsStile visivo e dimensione
BaseInputAccessibilityPropsAccessibilità ARIA
BaseFieldHelperPropsLabel, helper text, errori
BaseDropdownPropsConfigurazione pannello dropdown
BaseDropdownBehaviorPropsComportamento interattivo
BaseDropdownFilterPropsFiltro/ricerca nelle opzioni
BaseClearablePropsCancellazione selezione
BaseLoadablePropsStato di caricamento

export type DropdownBaseEmits<T = unknown> = BaseModelValueEmits<T> &
  BaseFocusEmits &
  BaseKeyboardEmits &
  BaseClearEmits &
  BaseChangeEmits<T> &
  BaseOverlayEmits &
  BaseFilterEmits;

Emits complete per un componente dropdown. Include il ciclo di vita del pannello overlay e il filtro.

Emits inclusi: update:modelValue, focus, blur, keydown, keyup, clear, change, beforeShow, beforeHide, show, hide, filter.


ModalOverlayBaseProps

export type ModalOverlayBaseProps = BaseModalOverlayProps & BaseOverlayHeaderProps;

Props complete per un overlay modale. Combina le configurazioni del modal (mask, blockScroll) con le props dell'header (titolo e icona).

Componenti che lo usano: Dialog, ConfirmDialog, Drawer.

Props risultanti:

CampoTipoDefaultDescrizione
modelValuebooleanfalseVisibilità (v-model)
closablebooleantruePulsante di chiusura
closeIconstring'pi pi-times'Icona chiusura
closeOnEscapebooleantrueChiude con Escape
dismissableMaskbooleanfalseChiude al click sulla mask
blockScrollbooleantrueBlocca scroll body
showHeaderbooleantrueMostra header
headerstring | nullTitolo dell'header
iconstring | nullIcona nell'header

ModalOverlayBaseEmits

export type ModalOverlayBaseEmits = BaseModelValueEmits<boolean> & BaseOverlayEmits & BaseCloseEmits;

Emits complete per un overlay modale.

Emits inclusi: update:modelValue, beforeShow, beforeHide, show, hide, close.