Composite Types
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:
| Interfaccia | Props incluse |
|---|---|
BaseFormControlProps | disabled, loading, readonly, required, invalid, name, autofocus |
BaseStyledWithVariantProps | severity, size, rounded, fluid, variant |
BaseInputAccessibilityProps | inputId, inputClass, inputStyle, ariaLabel, ariaLabelledby, tabindex |
BaseFieldHelperProps | label, helperText, error, placeholder |
BaseClearableProps | showClear, clearIcon |
BaseLoadableProps | loading, loadingIcon |
BasePrefixSuffixIconProps | prefixIcon, 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.
DropdownBaseProps
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:
| Interfaccia | Responsabilità |
|---|---|
BaseFormControlProps | Stato base del form control |
BaseStyledWithVariantProps | Stile visivo e dimensione |
BaseInputAccessibilityProps | Accessibilità ARIA |
BaseFieldHelperProps | Label, helper text, errori |
BaseDropdownProps | Configurazione pannello dropdown |
BaseDropdownBehaviorProps | Comportamento interattivo |
BaseDropdownFilterProps | Filtro/ricerca nelle opzioni |
BaseClearableProps | Cancellazione selezione |
BaseLoadableProps | Stato di caricamento |
DropdownBaseEmits
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:
| Campo | Tipo | Default | Descrizione |
|---|---|---|---|
modelValue | boolean | false | Visibilità (v-model) |
closable | boolean | true | Pulsante di chiusura |
closeIcon | string | 'pi pi-times' | Icona chiusura |
closeOnEscape | boolean | true | Chiude con Escape |
dismissableMask | boolean | false | Chiude al click sulla mask |
blockScroll | boolean | true | Blocca scroll body |
showHeader | boolean | true | Mostra header |
header | string | null | — | Titolo dell'header |
icon | string | null | — | Icona 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.