Fixed #2780 - appendTo prop TypeScript typing disallows usage of HTML elements

pull/2798/head
Tuğçe Küçükoğlu 2022-07-18 09:13:28 +03:00
parent 51da4bd4b7
commit 005d5975e9
14 changed files with 22 additions and 19 deletions

View File

@ -6,7 +6,7 @@ type AutoCompleteFieldType = string | ((data: any) => string) | undefined;
type AutoCompleteDropdownMode = 'blank' | 'current' | undefined;
type AutoCompleteAppendTo = 'body' | 'self' | string | undefined;
type AutoCompleteAppendTo = 'body' | 'self' | string | undefined | HTMLElement;
export interface AutoCompleteItemSelectEvent {
/**
@ -104,6 +104,7 @@ export interface AutoCompleteProps {
/**
* A valid query selector or an HTMLElement to specify where the overlay gets attached.
* Special keywords are 'body' for document body and 'self' for the element itself.
* @see AutoCompleteAppendTo
* Default value is body.
*/
appendTo?: AutoCompleteAppendTo;

View File

@ -11,7 +11,7 @@ type CalendarViewType = 'date' | 'month' | 'year' | undefined;
type CalendarHourFormatType = '12' | '24' | undefined;
type CalendarAppendToType = 'body' | 'self' | string | undefined;
type CalendarAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface CalendarResponsiveOptions {
/**
@ -235,6 +235,7 @@ export interface CalendarProps {
manualInput?: boolean | undefined;
/**
* A valid query selector or an HTMLElement to specify where the overlay gets attached. Special keywords are 'body' for document body and 'self' for the element itself.
* @see CalendarAppendToType
* Default value is 'body'.
*/
appendTo?: CalendarAppendToType;

View File

@ -7,7 +7,7 @@ type CascadeSelectOptionValueType = string | ((data: any) => any) | undefined;
type CascadeSelectOptionChildrenType = string[] | string | ((data: any) => any[]) | undefined;
type CascadeSelectAppendToType = 'body' | 'self' | string | undefined;
type CascadeSelectAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface CascadeSelectChangeEvent {
/**

View File

@ -2,7 +2,7 @@ import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
type ColorPickerFormatType = 'hex' | 'rgb' | 'hsb' | undefined;
type ColorPickerAppendToType = 'body' | 'self' | string | undefined;
type ColorPickerAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface ColorPickerChangeEvent {
/**
@ -63,6 +63,7 @@ export interface ColorPickerProps {
panelClass?: any;
/**
* A valid query selector or an HTMLElement to specify where the overlay gets attached. Special keywords are 'body' for document body and 'self' for the element itself.
* @see ColorPickerAppendToType
* Default value is 'body'.
*/
appendTo?: ColorPickerAppendToType;
@ -86,7 +87,7 @@ export declare type ColorPickerEmits = {
* Callback to invoke when input is cleared by the user.
*/
'show': () => void;
/**
/**
* Callback to invoke when input is cleared by the user.
*/
'hide': () => void;

View File

@ -2,7 +2,7 @@ import { VNode } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { MenuItem } from '../menuitem';
type ContextMenuAppendTo = 'body' | 'self' | string | undefined;
type ContextMenuAppendTo = 'body' | 'self' | string | undefined | HTMLElement;
export interface ContextMenuProps {
/**

View File

@ -3,7 +3,7 @@ import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
type DialogPositionType = 'center' | 'top' | 'bottom' | 'left' | 'right' | 'topleft' | 'topright' | 'bottomleft' | 'bottomright' | undefined;
type DialogAppendToType = 'body' | 'self' | string | undefined;
type DialogAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface DialogBreakpoints {
/**

View File

@ -12,7 +12,7 @@ type DropdownOptionChildrenType = string | ((data: any) => any[]) | undefined;
type DropdownFilterMatchModeType = 'contains' | 'startsWith' | 'endsWith' | undefined;
type DropdownAppendToType = 'body' | 'self' | string | undefined;
type DropdownAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface DropdownChangeEvent {
/**
@ -244,7 +244,7 @@ export interface DropdownSlots {
* Custom empty template.
*/
empty: () => VNode[];
/**
/**
* Custom content template.
* @param {Object} scope - content slot's params.
*/

View File

@ -2,7 +2,7 @@ import { VNode } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { MenuItem } from '../menuitem';
type MenuAppendToType = 'body' | 'self' | string | undefined;
type MenuAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface MenuProps {
/**

View File

@ -12,7 +12,7 @@ type MultiSelectOptionChildrenType = string | ((data: any) => any[]) | undefin
type MultiSelectFilterMatchModeType = 'contains' | 'startsWith' | 'endsWith' | undefined;
type MultiSelectAppendToType = 'body' | 'self' | string | undefined;
type MultiSelectAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
type MultiSelectDisplayType = 'comma' | 'chip' | undefined;
@ -226,7 +226,7 @@ export interface MultiSelectSlots {
*/
options: any[];
}) => VNode[];
/**
/**
* Custom footer template.
* @param {Object} scope - footer slot's params.
*/
@ -244,7 +244,7 @@ export interface MultiSelectSlots {
* Custom emptyfilter template.
*/
emptyfilter: () => VNode[];
/**
/**
* Custom empty template.
*/
empty: () => VNode[];
@ -276,7 +276,7 @@ export interface MultiSelectSlots {
*/
index: number;
}) => VNode[];
/**
/**
* Custom chip template.
* @param {Object} scope - chip slot's params.
*/

View File

@ -1,7 +1,7 @@
import { VNode } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
type OverlayPanelAppendToType = 'body' | 'self' | string | undefined;
type OverlayPanelAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface OverlayPanelBreakpoints {
/**

View File

@ -1,7 +1,7 @@
import { VNode, InputHTMLAttributes } from 'vue';
import { ClassComponent, GlobalComponentConstructor, Nullable } from '../ts-helpers';
type PasswordAppendToType = 'body' | 'self' | string | undefined;
type PasswordAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface PasswordProps extends InputHTMLAttributes {
/**

View File

@ -1,7 +1,7 @@
import { VNode } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
type PortalAppendToType = 'body' | 'self' | string | undefined;
type PortalAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface PortalProps {
/**

View File

@ -2,7 +2,7 @@ import { VNode } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { MenuItem } from '../menuitem';
type SplitButtonAppendToType = 'body' | 'self' | string | undefined;
type SplitButtonAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface SplitButtonProps {
/**

View File

@ -2,7 +2,7 @@ import { VNode } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { MenuItem } from '../menuitem';
type TieredMenuAppandToType = 'body' | 'self' | string | undefined;
type TieredMenuAppandToType = 'body' | 'self' | string | undefined | HTMLElement;
export interface TieredMenuProps {
/**