Fixed #5841 - Removed deprecated slots and props

pull/5848/head
tugcekucukoglu 2024-06-06 11:18:48 +03:00
parent f7f8923b1f
commit 8f4fc83945
58 changed files with 33 additions and 446 deletions

View File

@ -8,7 +8,6 @@
*
*/
import { VNode } from 'vue';
import { AccordionTabPassThroughOptionType } from '../accordiontab';
import { ComponentHooks } from '../basecomponent';
import { PassThroughOptions } from '../passthrough';
import { DefineComponent, DesignToken, EmitFn, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
@ -83,16 +82,6 @@ export interface AccordionPassThroughOptions {
* Used to pass attributes to the root's DOM element.
*/
root?: AccordionPassThroughOptionType;
/**
* Used to pass attributes to AccordionTab helper components.
* @deprecated since v3.30.1. Use 'accordiontab' property instead.
*/
tab?: AccordionTabPassThroughOptionType;
/**
* Used to pass attributes to AccordionTab helper components.
* @deprecated since v4. Use new structure instead.
*/
accordiontab?: AccordionTabPassThroughOptionType;
/**
* Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks}

View File

@ -132,7 +132,7 @@ export default {
}
};
return mergeProps(this.ptm(`tab.${key}`, { tab: tabMetaData }), this.ptm(`accordiontab.${key}`, { accordiontab: tabMetaData }), this.ptm(`accordiontab.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));
return mergeProps(this.ptm(`accordiontab.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));
},
onTabClick(event, index) {
this.$emit('tab-click', { originalEvent: event, index });

View File

@ -305,11 +305,6 @@ export interface AutoCompleteProps {
* An array of suggestions to display.
*/
suggestions?: any[];
/**
* @deprecated since v3.16.0. Use 'optionLabel' property instead.
* Property name or getter function of a suggested object to resolve and display.
*/
field?: string | ((data: any) => string) | undefined;
/**
* Property name or getter function to use as the label of an option.
*/
@ -346,12 +341,6 @@ export interface AutoCompleteProps {
* @defaultValue blank
*/
dropdownMode?: 'blank' | 'current' | undefined;
/**
* @deprecated since v3.16.0
* Highlights automatically the first item of the dropdown to be selected.
* @defaultValue false
*/
autoHighlight?: boolean | undefined;
/**
* Specifies if multiple values can be selected.
* @defaultValue false
@ -586,21 +575,6 @@ export interface AutoCompleteSlots {
*/
suggestions: any[];
}): VNode[];
/**
* @deprecated since v3.16.0
* Custom content for each item.
* @param {Object} scope - item slot's params.
*/
item(scope: {
/**
* Option instance
*/
item: any;
/**
* Index of the option
*/
index: number;
}): VNode[];
/**
* Custom option template.
* @param {Object} scope - option slot's params.
@ -620,11 +594,6 @@ export interface AutoCompleteSlots {
* @param {Object} scope - option group slot's params.
*/
optiongroup(scope: {
/**
* @deprecated since v3.16.0. Use the 'option' instead.
* Option instance
*/
item: any;
/**
* Option instance
*/
@ -696,12 +665,6 @@ export interface AutoCompleteSlots {
* Index of the token.
*/
index: number;
/**
* Remove token icon function.
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'removeCallback' property instead.
*/
onClick: (event: Event, index: number) => void;
/**
* Remove token icon function.
* @param {Event} event - Browser event
@ -721,12 +684,6 @@ export interface AutoCompleteSlots {
* Index of the token.
*/
index: number;
/**
* Remove token icon function.
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'removeCallback' property instead.
*/
onClick: (event: Event, index: number) => void;
/**
* Remove token icon function.
* @param {Event} event - Browser event

View File

@ -136,7 +136,7 @@
<ul :ref="(el) => listRef(el, contentRef)" :id="id + '_list'" :class="[cx('list'), styleClass]" :style="contentStyle" role="listbox" :aria-label="listAriaLabel" v-bind="ptm('list')">
<template v-for="(option, i) of items" :key="getOptionRenderKey(option, getOptionIndex(i, getItemOptions))">
<li v-if="isOptionGroup(option)" :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{ height: itemSize ? itemSize + 'px' : undefined }" :class="cx('optionGroup')" role="option" v-bind="ptm('optionGroup')">
<slot name="optiongroup" :option="option.optionGroup" :item="option.optionGroup" :index="getOptionIndex(i, getItemOptions)">{{ getOptionGroupLabel(option.optionGroup) }}</slot>
<slot name="optiongroup" :option="option.optionGroup" :index="getOptionIndex(i, getItemOptions)">{{ getOptionGroupLabel(option.optionGroup) }}</slot>
</li>
<li
v-else
@ -158,8 +158,6 @@
v-bind="getPTOptions(option, getItemOptions, i, 'option')"
>
<slot v-if="$slots.option" name="option" :option="option" :index="getOptionIndex(i, getItemOptions)">{{ getOptionLabel(option) }}</slot>
<slot v-else name="item" :item="option" :index="getOptionIndex(i, getItemOptions)">{{ getOptionLabel(option) }}</slot>
<!--TODO: Deprecated since v3.16.0-->
</li>
</template>
<li v-if="!items || (items && items.length === 0)" :class="cx('emptyMessage')" role="option" v-bind="ptm('emptyMessage')">
@ -258,7 +256,7 @@ export default {
return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];
},
getOptionLabel(option) {
return this.field || this.optionLabel ? ObjectUtils.resolveFieldData(option, this.field || this.optionLabel) : option;
return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option;
},
getOptionValue(option) {
return option; // TODO: The 'optionValue' properties can be added.
@ -863,7 +861,7 @@ export default {
this.focusedOptionIndex = index;
this.scrollInView();
if (this.selectOnFocus || this.autoHighlight) {
if (this.selectOnFocus) {
this.onOptionSelect(event, this.visibleOptions[index], false);
}
}
@ -881,7 +879,7 @@ export default {
});
},
autoUpdateModel() {
if ((this.selectOnFocus || this.autoHighlight) && this.autoOptionFocus && !this.hasSelectedOption) {
if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {
this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);
}

View File

@ -11,11 +11,6 @@ export default {
type: Array,
default: null
},
field: {
// TODO: Deprecated since v3.16.0
type: [String, Function],
default: null
},
optionLabel: null,
optionDisabled: null,
optionGroupLabel: null,
@ -32,11 +27,6 @@ export default {
type: String,
default: 'blank'
},
autoHighlight: {
// TODO: Deprecated since v3.16.0. Use selectOnFocus property instead.
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false

View File

@ -140,12 +140,6 @@ export interface BreadcrumbProps {
* Configuration for the home icon.
*/
home?: MenuItem | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* Defines a string value that labels an interactive element.
*/

View File

@ -103,7 +103,7 @@ export interface CalendarEmitsOptions {}
export declare type CalendarEmits = EmitFn<CalendarEmitsOptions> & DatePicker.DatePickerEmits;
/**
* @deprecated Deprecated since v4. Use DatePicker component instead.
* @deprecated since v4. Use DatePicker component instead.
*
* **PrimeVue - Calendar**
*

View File

@ -479,11 +479,6 @@ export interface CascadeSelectSlots {
*/
placeholder: string;
}): VNode[];
/**
* Custom indicator template.
* @deprecated since v3.27.0. Use 'dropdownicon or loadingicon' slots.
*/
indicator(): VNode[];
/**
* Custom dropdown icon template.
*/

View File

@ -159,18 +159,6 @@ export interface ChipSlots {
* @param {Object} scope - remove icon slot's params.
*/
removeicon(scope: {
/**
* Remove icon click event
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'removeCallback' property instead.
*/
onClick: (event: Event) => void;
/**
* Remove icon keydown event
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'keydownCallback' property instead.
*/
onKeydown: (event: Event) => void;
/**
* Remove icon click event
* @param {Event} event - Browser event

View File

@ -6,7 +6,7 @@
<span v-else-if="icon" :class="[cx('icon'), icon]" v-bind="ptm('icon')" />
<div v-if="label" :class="cx('label')" v-bind="ptm('label')">{{ label }}</div>
</slot>
<slot v-if="removable" name="removeicon" :onClick="close" :onKeydown="onKeydown" :removeCallback="close" :keydownCallback="onKeydown">
<slot v-if="removable" name="removeicon" :removeCallback="close" :keydownCallback="onKeydown">
<component :is="removeIcon ? 'span' : 'TimesCircleIcon'" tabindex="0" :class="[cx('removeIcon'), removeIcon]" @click="close" @keydown="onKeydown" v-bind="ptm('removeIcon')"></component>
</slot>
</div>

View File

@ -66,7 +66,7 @@ export interface ChipsEmitsOptions {}
export declare type ChipsEmits = EmitFn<ChipsEmitsOptions> & InputChips.InputChipsEmits;
/**
* @deprecated Deprecated since v4. Use InputChips component instead.
* @deprecated since v4. Use InputChips component instead.
*
* **PrimeVue - Chips**
*

View File

@ -246,21 +246,6 @@ export interface ConfirmDialogSlots {
* Message of the component
*/
message: any;
/**
* Close dialog function.
* @deprecated since v3.39.0. Use 'closeCallback' property instead.
*/
onClose: () => void;
/**
* Accept function of the component
* @deprecated since v3.39.0. Use 'acceptCallback' property instead.
*/
onAccept: () => void;
/**
* Reject function of the component
* @deprecated since v3.39.0. Use 'rejectCallback' property instead.
*/
onReject: () => void;
/**
* Close dialog function.
*/

View File

@ -15,7 +15,7 @@
:unstyled="unstyled"
>
<template v-if="$slots.container" #container="slotProps">
<slot name="container" :message="confirmation" :onClose="slotProps.onClose" :onAccept="accept" :onReject="reject" :closeCallback="slotProps.onclose" :acceptCallback="accept" :rejectCallback="reject" />
<slot name="container" :message="confirmation" :closeCallback="slotProps.onclose" :acceptCallback="accept" :rejectCallback="reject" />
</template>
<template v-if="!$slots.container">
<template v-if="!$slots.message">

View File

@ -200,16 +200,6 @@ export interface ConfirmPopupSlots {
* Message of the component
*/
message: any;
/**
* Accept function of the component
* @deprecated since v3.39.0. Use 'acceptCallback' property instead.
*/
onAccept: () => void;
/**
* Reject function of the component
* @deprecated since v3.39.0. Use 'rejectCallback' property instead.
*/
onReject: () => void;
/**
* Accept function of the component
*/

View File

@ -2,7 +2,7 @@
<Portal>
<transition name="p-confirmpopup" @enter="onEnter" @after-enter="onAfterEnter" @leave="onLeave" @after-leave="onAfterLeave" v-bind="ptm('transition')">
<div v-if="visible" :ref="containerRef" v-focustrap role="alertdialog" :class="cx('root')" :aria-modal="visible" @click="onOverlayClick" @keydown="onOverlayKeydown" v-bind="ptmi('root')">
<slot v-if="$slots.container" name="container" :message="confirmation" :onAccept="accept" :onReject="reject" :acceptCallback="accept" :rejectCallback="reject"></slot>
<slot v-if="$slots.container" name="container" :message="confirmation" :acceptCallback="accept" :rejectCallback="reject"></slot>
<template v-else>
<template v-if="!$slots.message">
<div :class="cx('content')" v-bind="ptm('content')">

View File

@ -247,12 +247,6 @@ export interface ContextMenuProps {
* @defaultValue false
*/
global?: boolean | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* Index of the element in tabbing order.
*/

View File

@ -68,18 +68,6 @@ export default {
type: String,
default: 'date'
},
monthNavigator: {
type: Boolean,
default: false
},
yearNavigator: {
type: Boolean,
default: false
},
yearRange: {
type: String,
default: null
},
minDate: {
type: Date,
value: null

View File

@ -607,27 +607,6 @@ export interface DatePickerProps {
* @defaultValue date
*/
view?: 'date' | 'month' | 'year' | undefined;
/**
* Whether the month should be rendered as a dropdown instead of text.
*
* @deprecated since version 3.9.0, Navigator is always on.
* @defaultValue false
*/
monthNavigator?: boolean | undefined;
/**
* Whether the year should be rendered as a dropdown instead of text.
*
* @deprecated since version 3.9.0, Navigator is always on.
* @defaultValue false
*/
yearNavigator?: boolean | undefined;
/**
* The range of years displayed in the year drop-down in (nnnn:nnnn) format such as (2000:2020).
*
* @deprecated since version 3.9.0, Years are based on decades by default.
* @defaultValue false
*/
yearRange?: string | undefined;
/**
* The minimum selectable date.
*/

View File

@ -2850,29 +2850,6 @@ export default {
datePattern() {
return this.dateFormat || this.$primevue.config.locale.dateFormat;
},
yearOptions() {
if (this.yearRange) {
let $vm = this;
const years = this.yearRange.split(':');
let yearStart = parseInt(years[0]);
let yearEnd = parseInt(years[1]);
let yearOptions = [];
if (this.currentYear < yearStart) {
$vm.currentYear = yearEnd;
} else if (this.currentYear > yearEnd) {
$vm.currentYear = yearStart;
}
for (let i = yearStart; i <= yearEnd; i++) {
yearOptions.push(i);
}
return yearOptions;
} else {
return null;
}
},
monthPickerValues() {
let monthPickerValues = [];

View File

@ -361,17 +361,6 @@ export interface DialogSlots {
* @param {Object} scope - container slot's params.
*/
container(scope: {
/**
* Close dialog function.
* @deprecated since v3.39.0. Use 'closeCallback' property instead.
*/
onClose: () => void;
/**
* Maximize/minimize dialog function.
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'maximizeCallback' property instead.
*/
onMaximize: (event: Event) => void;
/**
* Close dialog function.
*/

View File

@ -3,7 +3,7 @@
<div v-if="containerVisible" :ref="maskRef" :class="cx('mask')" :style="sx('mask', true, { position, modal })" @click="onMaskClick" v-bind="ptm('mask')">
<transition name="p-dialog" @before-enter="onBeforeEnter" @enter="onEnter" @before-leave="onBeforeLeave" @leave="onLeave" @after-leave="onAfterLeave" appear v-bind="ptm('transition')">
<div v-if="visible" :ref="containerRef" v-focustrap="{ disabled: !modal }" :class="cx('root')" :style="sx('root')" role="dialog" :aria-labelledby="ariaLabelledById" :aria-modal="modal" v-bind="ptmi('root')">
<slot v-if="$slots.container" name="container" :onClose="close" :onMaximize="(event) => maximize(event)" :closeCallback="close" :maximizeCallback="(event) => maximize(event)"></slot>
<slot v-if="$slots.container" name="container" :closeCallback="close" :maximizeCallback="(event) => maximize(event)"></slot>
<template v-else>
<div v-if="showHeader" :ref="headerContainerRef" :class="cx('header')" @mousedown="initDrag" v-bind="ptm('header')">
<slot name="header" :class="cx('title')">

View File

@ -199,12 +199,6 @@ export interface DockProps {
* @defaultValue 960px
*/
breakpoint?: string | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* Whether to display the tooltip on items. The modifiers of Tooltip can be used like an object in it. Valid keys are 'event' and 'position'.
* @type {DockTooltipOptions}

View File

@ -232,11 +232,6 @@ export interface DrawerSlots {
* @param {Object} scope - container slot's params.
*/
container(scope: {
/**
* Close drawer function.
* @deprecated since v3.39.0. Use 'closeCallback' property instead.
*/
onClose: () => void;
/**
* Close drawer function.
*/

View File

@ -3,7 +3,7 @@
<div v-if="containerVisible" :ref="maskRef" @mousedown="onMaskClick" :class="cx('mask')" :style="sx('mask', true, { position })" v-bind="ptm('mask')">
<transition name="p-drawer" @enter="onEnter" @after-enter="onAfterEnter" @before-leave="onBeforeLeave" @leave="onLeave" @after-leave="onAfterLeave" appear v-bind="ptm('transition')">
<div v-if="visible" :ref="containerRef" v-focustrap :class="cx('root')" role="complementary" :aria-modal="modal" v-bind="ptmi('root')">
<slot v-if="$slots.container" name="container" :onClose="hide" :closeCallback="hide"></slot>
<slot v-if="$slots.container" name="container" :closeCallback="hide"></slot>
<template v-else>
<div :ref="headerContainerRef" :class="cx('header')" v-bind="ptm('header')">
<slot name="header" :class="cx('title')">

View File

@ -84,7 +84,7 @@ export interface DropdownMethods {
}
/**
* @deprecated Deprecated since v4. Use Select component instead.
* @deprecated since v4. Use Select component instead.
*
* **PrimeVue - Dropdown**
*

View File

@ -270,11 +270,6 @@ export interface ImageSlots {
* Style of the image element.
*/
style: any;
/**
* Image error function.
* @deprecated since v3.39.0. Use 'errorCallback' property instead.
*/
onError: () => void;
/**
* Preview click function.
*/
@ -294,11 +289,6 @@ export interface ImageSlots {
* Style of the preview image element.
*/
style: any;
/**
* Preview click function.
* @deprecated since v3.39.0. Use 'previewCallback' property instead.
*/
onClick: () => void;
/**
* Preview click function.
*/
@ -317,11 +307,6 @@ export interface ImageSlots {
* Style of the original image element.
*/
style: any;
/**
* Original click function.
* @deprecated since v3.39.0. Use 'previewCallback' property instead.
*/
onClick: () => void;
/**
* Preview click function.
*/

View File

@ -1,6 +1,6 @@
<template>
<span :class="containerClass" :style="style" v-bind="ptmi('root')">
<slot name="image" :onError="onError" :errorCallback="onError">
<slot name="image" :errorCallback="onError">
<img :style="imageStyle" :class="imageClass" @error="onError" v-bind="{ ...$attrs, ...ptm('image') }" />
</slot>
<button v-if="preview" ref="previewButton" :aria-label="zoomImageAriaLabel" type="button" :class="cx('previewMask')" @click="onImageClick" v-bind="{ ...previewButtonProps, ...ptm('previewMask') }">
@ -45,7 +45,7 @@
<transition name="p-image-original" @before-enter="onBeforeEnter" @enter="onEnter" @leave="onLeave" @before-leave="onBeforeLeave" @after-leave="onAfterLeave" v-bind="ptm('transition')">
<div v-if="previewVisible" v-bind="ptm('originalContainer')">
<!-- TODO: preview deprecated since v4.0-->
<slot :name="$slots.original ? 'original' : 'preview'" :class="cx('original')" :style="imagePreviewStyle" :onClick="onPreviewImageClick" :previewCallback="onPreviewImageClick">
<slot :name="$slots.original ? 'original' : 'preview'" :class="cx('original')" :style="imagePreviewStyle" :previewCallback="onPreviewImageClick">
<img :src="$attrs.src" :class="cx('original')" :style="imagePreviewStyle" @click="onPreviewImageClick" v-bind="ptm('original')" />
</slot>
</div>

View File

@ -279,12 +279,6 @@ export interface InputChipsSlots {
* Index of the token.
*/
index: number;
/**
* chip icon function.
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'removeCallback' property instead.
*/
onClick: (event: Event, index: number) => void;
/**
* chip icon function.
* @param {Event} event - Browser event
@ -304,12 +298,6 @@ export interface InputChipsSlots {
* Index of the token.
*/
index: number;
/**
* chip icon function.
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'removeCallback' property instead.
*/
onClick: (event: Event, index: number) => void;
/**
* chip icon function.
* @param {Event} event - Browser event

View File

@ -45,7 +45,7 @@ export interface InputSwitchEmitsOptions {}
export declare type InputSwitchEmits = EmitFn<InputSwitchEmitsOptions> & ToggleSwitch.ToggleSwitchEmits;
/**
* @deprecated Deprecated since v4. Use ToggleSwitch component instead.
* @deprecated since v4. Use ToggleSwitch component instead.
*
* **PrimeVue - InputSwitch**
*

View File

@ -248,12 +248,6 @@ export interface MegaMenuProps {
* @defaultValue 960px
*/
breakpoint?: string | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* When present, it specifies that the component should be disabled.
* @defaultValue false

View File

@ -216,12 +216,6 @@ export interface MenuProps {
* @defaultValue 0
*/
baseZIndex?: number | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* Index of the element in tabbing order.
*/

View File

@ -240,12 +240,6 @@ export interface MenubarProps {
* @defaultValue 960px
*/
breakpoint?: string | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* Used to pass all properties of the HTMLButtonElement to the menu button.
*/

View File

@ -63,20 +63,10 @@ export interface MessagePassThroughOptions<T = any> {
* Used to pass attributes to the text's DOM element.
*/
text?: MessagePassThroughOptionType<T>;
/**
* Used to pass attributes to the button's DOM element.
* @deprecated since v3.30.2. Use 'closeButton' option.
*/
button?: MessagePassThroughOptionType<T>;
/**
* Used to pass attributes to the button's DOM element.
*/
closeButton?: MessagePassThroughOptionType<T>;
/**
* Used to pass attributes to the button icon's DOM element.
* @deprecated since v3.30.2. Use 'closeIcon' option.
*/
buttonIcon?: MessagePassThroughOptionType<T>;
/**
* Used to pass attributes to the button icon's DOM element.
*/
@ -201,11 +191,6 @@ export interface MessageSlots {
* @param {Object} scope - container slot's params.
*/
container(scope: {
/**
* Close message function.
* @deprecated since v3.39.0. Use 'closeCallback' property instead.
*/
onClose: () => void;
/**
* Close message function.
*/

View File

@ -1,7 +1,7 @@
<template>
<transition name="p-message" appear v-bind="ptmi('transition')">
<div v-show="visible" :class="cx('root')" role="alert" aria-live="assertive" aria-atomic="true" v-bind="ptm('root')">
<slot v-if="$slots.container" name="container" :onClose="close" :closeCallback="close"></slot>
<slot v-if="$slots.container" name="container" :closeCallback="close"></slot>
<div v-else :class="cx('content')" v-bind="ptm('content')">
<slot name="messageicon" class="p-message-icon">
<component :is="icon ? 'span' : iconComponent" :class="[cx('icon'), icon]" v-bind="ptm('icon')"></component>
@ -9,10 +9,10 @@
<div class="p-message-text" :class="cx('text')" v-bind="ptm('text')">
<slot></slot>
</div>
<button v-if="closable" v-ripple :class="cx('closeButton')" :aria-label="closeAriaLabel" type="button" @click="close($event)" v-bind="{ ...closeButtonProps, ...ptm('button'), ...ptm('closeButton') }">
<button v-if="closable" v-ripple :class="cx('closeButton')" :aria-label="closeAriaLabel" type="button" @click="close($event)" v-bind="{ ...closeButtonProps, ...ptm('closeButton') }">
<slot name="closeicon">
<i v-if="closeIcon" :class="[cx('closeIcon'), closeIcon]" v-bind="{ ...ptm('buttonIcon'), ...ptm('closeIcon') }" />
<TimesIcon v-else :class="[cx('closeIcon'), closeIcon]" v-bind="{ ...ptm('buttonIcon'), ...ptm('closeIcon') }" />
<i v-if="closeIcon" :class="[cx('closeIcon'), closeIcon]" v-bind="ptm('closeIcon')" />
<TimesIcon v-else :class="[cx('closeIcon'), closeIcon]" v-bind="ptm('closeIcon')" />
</slot>
</button>
</div>

View File

@ -596,11 +596,6 @@ export interface MultiSelectSlots {
*/
value: any;
}): VNode[];
/**
* Custom indicator template.
* @deprecated since v3.27.0. Use 'loadingicon and dropdownicon' slot.
*/
indicator(): VNode[];
/**
* Custom header template.
* @param {Object} scope - header slot's params.
@ -718,13 +713,6 @@ export interface MultiSelectSlots {
* Item of the token.
*/
item: any;
/**
* Chip icon function.
* @param {Event} event - Browser event
* @param {any} item - Item
* @deprecated since v3.39.0. Use 'removeCallback' property instead.
*/
onClick: (event: Event, item: any) => void;
/**
* Chip icon function.
* @param {Event} event - Browser event
@ -745,13 +733,6 @@ export interface MultiSelectSlots {
* Item of the token.
*/
item: any;
/**
* Chip icon function.
* @param {Event} event - Browser event
* @param {any} item - Item
* @deprecated since v3.39.0. Use 'removeCallback' property instead.
*/
onClick: (event: Event, item: any) => void;
/**
* Chip icon function.
* @param {Event} event - Browser event

View File

@ -86,7 +86,7 @@ export interface OverlayPanelMethods {
}
/**
* @deprecated Deprecated since v4. Use Popover component instead.
* @deprecated since v4. Use Popover component instead.
*
* **PrimeVue - OverlayPanel**
*

View File

@ -269,12 +269,6 @@ export interface PanelMenuProps {
* @defaultValue false
*/
multiple?: boolean | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* Index of the element in tabbing order.
*/

View File

@ -215,20 +215,10 @@ export interface PasswordProps extends InputHTMLAttributes {
* @defaultValue false
*/
toggleMask?: boolean | undefined;
/**
* Icon to hide displaying the password as plain text.
* @deprecated since v3.27.0. Use 'maskicon' slot.
*/
hideIcon?: string | undefined;
/**
* Icon to hide displaying the password as plain text.
*/
maskIcon?: string | undefined;
/**
* Icon to show displaying the password as plain text.
* @deprecated since v3.27.0. Use 'unmaskicon' slot.
*/
showIcon?: string | undefined;
/**
* Icon to show displaying the password as plain text.
*/
@ -356,11 +346,6 @@ export interface PasswordSlots {
* @param {Object} scope - hideicon slot's params.
*/
hideicon(scope: {
/**
* Hide icon click event
* @deprecated since v3.39.0. Use 'toggleCallback' property instead.
*/
onClick: () => void;
/**
* Mask icon click event
*/
@ -371,11 +356,6 @@ export interface PasswordSlots {
* @param {Object} scope - maskicon slot's params.
*/
maskicon(scope: {
/**
* Hide icon click event
* @deprecated since v3.39.0. Use 'toggleCallback' property instead.
*/
onClick: () => void;
/**
* Mask icon click event
*/
@ -387,11 +367,6 @@ export interface PasswordSlots {
* @param {Object} scope - showicon slot's params.
*/
showicon(scope: {
/**
* Unmask icon click event
* @deprecated since v3.39.0. Use 'toggleCallback' property instead.
*/
onClick: () => void;
/**
* Unmask icon click event
*/
@ -402,11 +377,6 @@ export interface PasswordSlots {
* @param {Object} scope - showicon slot's params.
*/
unmaskicon(scope: {
/**
* Unmask icon click event
* @deprecated since v3.39.0. Use 'toggleCallback' property instead.
*/
onClick: () => void;
/**
* Unmask icon click event
*/

View File

@ -26,12 +26,12 @@
:pt="ptm('pcInput')"
:unstyled="unstyled"
/>
<!-- TODO: hide* and show* deprecated since v4.0-->
<slot v-if="toggleMask && unmasked" :name="$slots.maskicon ? 'maskicon' : 'hideicon'" :onClick="onMaskToggle" :toggleCallback="onMaskToggle">
<component :is="maskIcon || hideIcon ? 'i' : 'EyeSlashIcon'" :class="[cx('maskIcon'), maskIcon || hideIcon]" @click="onMaskToggle" v-bind="ptm('maskIcon')" />
<!-- TODO: hideicon and showicon slots are deprecated since v4.0-->
<slot v-if="toggleMask && unmasked" :name="$slots.maskicon ? 'maskicon' : 'hideicon'" : :toggleCallback="onMaskToggle">
<component :is="maskIcon ? 'i' : 'EyeSlashIcon'" :class="[cx('maskIcon'), maskIcon]" @click="onMaskToggle" v-bind="ptm('maskIcon')" />
</slot>
<slot v-if="toggleMask && !unmasked" :name="$slots.unmaskicon ? 'unmaskicon' : 'showicon'" :onClick="onMaskToggle" :toggleCallback="onMaskToggle">
<component :is="unmaskIcon || showIcon ? 'i' : 'EyeIcon'" :class="[cx('unmaskIcon'), unmaskIcon || showIcon]" @click="onMaskToggle" v-bind="ptm('unmaskIcon')" />
<slot v-if="toggleMask && !unmasked" :name="$slots.unmaskicon ? 'unmaskicon' : 'showicon'" :toggleCallback="onMaskToggle">
<component :is="unmaskIcon ? 'i' : 'EyeIcon'" :class="[cx('unmaskIcon'), unmaskIcon]" @click="onMaskToggle" v-bind="ptm('unmaskIcon')" />
</slot>
<span class="p-hidden-accessible" aria-live="polite" v-bind="ptm('hiddenAccesible')" :data-p-hidden-accessible="true">
{{ infoText }}

View File

@ -177,17 +177,6 @@ export interface PopoverSlots {
* @param {Object} scope - container slot's params.
*/
container(scope: {
/**
* Close overlay panel function.
* @deprecated since v3.39.0. Use 'closeCallback' property instead.
*/
onClose: () => void;
/**
* Close button keydown function.
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'keydownCallback' property instead.
*/
onKeydown: (event: Event) => void;
/**
* Close overlay panel function.
*/

View File

@ -2,7 +2,7 @@
<Portal :appendTo="appendTo">
<transition name="p-popover" @enter="onEnter" @leave="onLeave" @after-leave="onAfterLeave" v-bind="ptm('transition')">
<div v-if="visible" :ref="containerRef" v-focustrap role="dialog" :aria-modal="visible" @click="onOverlayClick" :class="cx('root')" v-bind="ptmi('root')">
<slot v-if="$slots.container" name="container" :onClose="hide" :onKeydown="(event) => onButtonKeydown(event)" :closeCallback="hide" :keydownCallback="(event) => onButtonKeydown(event)"></slot>
<slot v-if="$slots.container" name="container" :closeCallback="hide" :keydownCallback="(event) => onButtonKeydown(event)"></slot>
<template v-else>
<div :class="cx('content')" @click="onContentClick" @mousedown="onContentClick" @keydown="onContentKeydown" v-bind="ptm('content')">
<slot></slot>

View File

@ -570,11 +570,6 @@ export interface SelectSlots {
*/
placeholder: string;
}): VNode[];
/**
* Custom indicator template.
* @deprecated since v3.27.0. Use 'dropdownicon or loadingicon' slots.
*/
indicator(): VNode[];
/**
* Custom header template of panel.
* @param {Object} scope - header slot's params.
@ -683,16 +678,6 @@ export interface SelectSlots {
* @param {Object} scope - clear icon slot's params.
*/
clearicon(scope: {
/**
* Style class of the clear icon
*/
class: any;
/**
* Clear icon click function.
* @param {Event} event - Browser event
* @deprecated since v3.39.0. Use 'clearCallback' property instead.
*/
onClick: (event: Event) => void;
/**
* Clear icon click function.
* @param {Event} event - Browser event

View File

@ -48,7 +48,7 @@
>
<slot name="value" :value="modelValue" :placeholder="placeholder">{{ label === 'p-emptylabel' ? '&nbsp;' : label || 'empty' }}</slot>
</span>
<slot v-if="showClear && modelValue != null" name="clearicon" :class="cx('clearIcon')" :onClick="onClearClick" :clearCallback="onClearClick">
<slot v-if="showClear && modelValue != null" name="clearicon" :class="cx('clearIcon')" :clearCallback="onClearClick">
<component :is="clearIcon ? 'i' : 'TimesIcon'" ref="clearIcon" :class="[cx('clearIcon'), clearIcon]" @click="onClearClick" v-bind="ptm('clearIcon')" data-pc-section="clearicon" />
</slot>
<div :class="cx('dropdown')" v-bind="ptm('dropdown')">

View File

@ -12,10 +12,6 @@ export default {
optionValue: null,
optionDisabled: null,
multiple: Boolean,
unselectable: {
type: Boolean,
default: true
},
allowEmpty: {
type: Boolean,
default: true

View File

@ -164,12 +164,6 @@ export interface SelectButtonProps {
* A property to uniquely identify an option.
*/
dataKey?: string | undefined;
/**
* Whether selection can be cleared.
* @defaultValue true
* @deprecated Use 'allowEmpty' property instead.
*/
unselectable?: boolean | undefined;
/**
* Whether selection can be cleared.
* @defaultValue true

View File

@ -60,7 +60,7 @@ export default {
let selected = this.isSelected(option);
if (selected && !(this.unselectable && this.allowEmpty)) {
if (selected && !this.allowEmpty) {
return;
}

View File

@ -55,7 +55,7 @@ export interface SidebarEmitsOptions {}
export declare type SidebarEmits = EmitFn<SidebarEmitsOptions> & Drawer.DrawerEmits;
/**
* @deprecated Deprecated since v4. Use Drawer component instead.
* @deprecated since v4. Use Drawer component instead.
*
* **PrimeVue - Sidebar**
*

View File

@ -342,12 +342,6 @@ export interface SpeedDialSlots {
* Visible state of the item
*/
visible: boolean;
/**
* Button click function
* @param {Event} event - Browser event.
* @deprecated since v3.39.0. Use 'toggleCallback' property instead.
*/
onClick: (event: Event) => void;
/**
* Button click function
* @param {Event} event - Browser event.

View File

@ -1,6 +1,6 @@
<template>
<div :ref="containerRef" :class="containerClass" :style="[style, sx('root')]" v-bind="ptmi('root')">
<slot name="button" :visible="d_visible" :onClick="onClick" :toggleCallback="onClick">
<slot name="button" :visible="d_visible" :toggleCallback="onClick">
<Button
:class="[cx('pcButton'), buttonClass]"
:disabled="disabled"

View File

@ -147,12 +147,6 @@ export interface StepsProps {
* @defaultValue true
*/
readonly?: boolean | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* Active step index of menuitem.
* @defaultValue 0

View File

@ -20,11 +20,6 @@ export interface StyleClassOptions {
* Selector to define the target element. Available selectors are '@next', '@prev', '@parent' and '@grandparent'.
*/
selector?: HintedString<'@next' | '@prev' | '@parent' | '@grandparent'> | undefined;
/**
* Style class to add when item begins to get displayed.
* @deprecated since v3.41.0. Use 'enterFromClass' option instead.
*/
enterClass?: string | undefined;
/**
* Style class to add when item begins to get displayed.
*/
@ -37,11 +32,6 @@ export interface StyleClassOptions {
* Style class to add when item begins to get displayed.
*/
enterToClass?: string | undefined;
/**
* Style class to add when item begins to get hidden.
* @deprecated since v3.41.0. Use 'leaveFromClass' option instead.
*/
leaveClass?: string | undefined;
/**
* Style class to add when item begins to get hidden.
*/

View File

@ -51,11 +51,6 @@ const StyleClass = BaseStyleClass.extend('styleclass', {
DomHandler.addClass(target, binding.value.enterActiveClass);
// enterClass will be deprecated, use enterFromClass
if (binding.value.enterClass) {
DomHandler.removeClass(target, binding.value.enterClass);
}
if (binding.value.enterFromClass) {
DomHandler.removeClass(target, binding.value.enterFromClass);
}
@ -79,11 +74,6 @@ const StyleClass = BaseStyleClass.extend('styleclass', {
target.addEventListener('animationend', target.$p_styleclass_enterlistener);
}
} else {
// enterClass will be deprecated, use enterFromClass
if (binding.value.enterClass) {
DomHandler.removeClass(target, binding.value.enterClass);
}
if (binding.value.enterFromClass) {
DomHandler.removeClass(target, binding.value.enterFromClass);
}
@ -103,11 +93,6 @@ const StyleClass = BaseStyleClass.extend('styleclass', {
target.$_pstyleclass_animating = true;
DomHandler.addClass(target, binding.value.leaveActiveClass);
// leaveClass will be deprecated, use leaveFromClass
if (binding.value.leaveClass) {
DomHandler.removeClass(target, binding.value.leaveClass);
}
if (binding.value.leaveFromClass) {
DomHandler.removeClass(target, binding.value.leaveFromClass);
}
@ -126,11 +111,6 @@ const StyleClass = BaseStyleClass.extend('styleclass', {
target.addEventListener('animationend', target.$p_styleclass_leavelistener);
}
} else {
// leaveClass will be deprecated, use leaveFromClass
if (binding.value.leaveClass) {
DomHandler.removeClass(target, binding.value.leaveClass);
}
if (binding.value.leaveFromClass) {
DomHandler.removeClass(target, binding.value.leaveFromClass);
}

View File

@ -162,12 +162,6 @@ export interface TabMenuProps {
* An array of menuitems.
*/
model?: MenuItem[] | undefined;
/**
* Defines if active route highlight should match the exact route path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* Active index of menuitem.
* @defaultValue 0

View File

@ -113,11 +113,6 @@ export interface TabViewPassThroughOptions {
* Used to pass attributes to the panel's DOM element.
*/
panelContainer?: TabViewPassThroughOptionType;
/**
* Used to pass attributes to TabPanel helper components.
* @deprecated since v3.30.1. Use 'tabpanel' property instead.
*/
tab?: TabPanelPassThroughOptionType;
/**
* Used to pass attributes to TabPanel helper components.
*/

View File

@ -169,7 +169,7 @@ export default {
}
};
return mergeProps(this.ptm(`tab.${key}`, { tab: tabMetaData }), this.ptm(`tabpanel.${key}`, { tabpanel: tabMetaData }), this.ptm(`tabpanel.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));
return mergeProps(this.ptm(`tabpanel.${key}`, { tabpanel: tabMetaData }), this.ptm(`tabpanel.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));
},
onScroll(event) {
this.scrollable && this.updateButtonState();

View File

@ -241,12 +241,6 @@ export interface TieredMenuProps {
* @defaultValue 0
*/
baseZIndex?: number | undefined;
/**
* Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
* @deprecated since v3.40.0.
* @defaultValue true
*/
exact?: boolean | undefined;
/**
* When present, it specifies that the component should be disabled.
* @defaultValue false

View File

@ -317,11 +317,6 @@ export interface ToastSlots {
* Message of the component
*/
message: any;
/**
* Close toast function
* @deprecated since v3.39.0. Use 'closeCallback' property instead.
*/
onClose: () => void;
/**
* Close sidebar function.
*/

View File

@ -1,6 +1,6 @@
<template>
<div :class="[cx('message'), message.styleClass]" role="alert" aria-live="assertive" aria-atomic="true" v-bind="ptm('message')">
<component v-if="templates.container" :is="templates.container" :message="message" :onClose="onCloseClick" :closeCallback="onCloseClick" />
<component v-if="templates.container" :is="templates.container" :message="message" :closeCallback="onCloseClick" />
<div v-else :class="[cx('messageContent'), message.contentStyleClass]" v-bind="ptm('messageContent')">
<template v-if="!templates.message">
<component :is="templates.messageicon ? templates.messageicon : templates.icon ? templates.icon : iconComponent && iconComponent.name ? iconComponent : 'span'" :class="cx('messageIcon')" v-bind="ptm('messageIcon')" />