Fixed #4289 - Improve `usePassThrough` method

pull/4295/head
mertsincan 2023-08-18 00:51:01 +01:00
parent e4651a9d0c
commit 4ecc86838f
100 changed files with 317 additions and 258 deletions

View File

@ -10,7 +10,7 @@
import { VNode } from 'vue';
import { AccordionTabPassThroughOptionType } from '../accordiontab';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type AccordionPassThroughOptionType = AccordionPassThroughAttributes | ((options: AccordionPassThroughMethodOptions) => AccordionPassThroughAttributes | string) | string | null | undefined;
@ -139,7 +139,7 @@ export interface AccordionProps {
* Used to pass attributes to DOM elements inside the component.
* @type {AccordionPassThroughOptions}
*/
pt?: AccordionPassThroughOptions;
pt?: PTOptions<AccordionPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { AnchorHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue';
import { AccordionPassThroughOptions } from '../accordion';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type AccordionTabPassThroughOptionType = AccordionTabPassThroughAttributes | ((options: AccordionTabPassThroughMethodOptions) => AccordionTabPassThroughAttributes | string) | string | null | undefined;
@ -119,7 +119,7 @@ export interface AccordionTabProps {
* Used to pass attributes to DOM elements inside the component.
* @type {AccordionTabPassThroughOptions}
*/
pt?: AccordionTabPassThroughOptions;
pt?: PTOptions<AccordionTabPassThroughOptions>;
}
/**

View File

@ -10,7 +10,7 @@
import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
import { VirtualScrollerItemOptions, VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller';
export declare type AutoCompletePassThroughOptionType = AutoCompletePassThroughAttributes | ((options: AutoCompletePassThroughMethodOptions) => AutoCompletePassThroughAttributes | string) | string | null | undefined;
@ -447,7 +447,7 @@ export interface AutoCompleteProps {
* Used to pass attributes to DOM elements inside the component.
* @type {AutoCompletePassThroughOptions}
*/
pt?: AutoCompletePassThroughOptions;
pt?: PTOptions<AutoCompletePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
import { VNode } from 'vue';
import { AvatarGroupPassThroughOptions } from '../avatargroup';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type AvatarPassThroughOptionType = AvatarPassThroughAttributes | ((options: AvatarPassThroughMethodOptions) => AvatarPassThroughAttributes | string) | string | null | undefined;
@ -96,7 +96,7 @@ export interface AvatarProps {
* Used to pass attributes to DOM elements inside the component.
* @type {AvatarPassThroughOptions}
*/
pt?: AvatarPassThroughOptions;
pt?: PTOptions<AvatarPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,7 +8,7 @@
*
*/
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type AvatarGroupPassThroughOptionType = AvatarGroupPassThroughAttributes | null | undefined;
@ -43,7 +43,7 @@ export interface AvatarGroupProps {
* Used to pass attributes to DOM elements inside the component.
* @type {AvatarGroupPassThroughOptions}
*/
pt?: AvatarGroupPassThroughOptions;
pt?: PTOptions<AvatarGroupPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type BadgePassThroughOptionType = BadgePassThroughAttributes | ((options: BadgePassThroughMethodOptions) => BadgePassThroughAttributes | string) | string | null | undefined;
@ -64,7 +64,7 @@ export interface BadgeProps {
* Used to pass attributes to DOM elements inside the component.
* @type {BadgePassThroughOptions}
*/
pt?: BadgePassThroughOptions;
pt?: PTOptions<BadgePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,6 +8,7 @@
*/
import { DirectiveBinding, ObjectDirective } from 'vue';
import { DirectiveHooks } from '../basedirective';
import { PTOptions } from '../ts-helpers';
export declare type BadgeDirectivePassThroughOptionType = BadgeDirectivePassThroughAttributes | ((options: BadgePassThroughMethodOptions) => BadgeDirectivePassThroughAttributes) | null | undefined;
@ -26,7 +27,7 @@ export interface BadgeDirectiveOptions {
* Used to pass attributes to DOM elements inside the component.
* @type {BadgeDirectivePassThroughOptions}
*/
pt?: BadgeDirectivePassThroughOptions;
pt?: PTOptions<BadgeDirectivePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -388,8 +388,17 @@ export default {
}
},
beforeCreate() {
this.pt?.hooks?.['onBeforeCreate']?.();
this.$primevue?.config?.pt?.[this.$.type.name]?.hooks?.['onBeforeCreate']?.();
const _usept = this.pt?.['_usept'];
const originalValue = _usept ? this.pt?.originalValue?.[this.$.type.name] : undefined;
const value = _usept ? this.pt?.value?.[this.$.type.name] : this.pt;
(value || originalValue)?.hooks?.['onBeforeCreate']?.();
const _useptInConfig = this.$config?.pt?.['_usept'];
const originalValueInConfig = _useptInConfig ? this.$primevue?.config?.pt?.originalValue : undefined;
const valueInConfig = _useptInConfig ? this.$primevue?.config?.pt?.value : this.$primevue?.config?.pt;
(valueInConfig || originalValueInConfig)?.[this.$.type.name]?.hooks?.['onBeforeCreate']?.();
},
created() {
this._hook('onCreated');
@ -416,11 +425,13 @@ export default {
},
methods: {
_hook(hookName) {
const selfHook = this._getOptionValue(this.pt, `hooks.${hookName}`);
const defaultHook = this._getOptionValue(this.defaultPT, `hooks.${hookName}`);
if (!this.$options.hostName) {
const selfHook = this._usePT(this._getPT(this.pt, this.$.type.name), this._getOptionValue, `hooks.${hookName}`);
const defaultHook = this._useDefaultPT(this._getOptionValue, `hooks.${hookName}`);
selfHook?.();
defaultHook?.();
selfHook?.();
defaultHook?.();
}
},
_loadGlobalStyles() {
/*
@ -433,7 +444,7 @@ export default {
* ObjectUtils.isNotEmpty(mergedCSS?.class) && this.$css.loadCustomStyle(mergedCSS?.class);
*/
const globalCSS = this._getOptionValue(this.globalPT, 'global.css', this.$params);
const globalCSS = this._useGlobalPT(this._getOptionValue, 'global.css', this.$params);
ObjectUtils.isNotEmpty(globalCSS) && loadGlobalStyle(globalCSS, { nonce: this.$config?.csp?.nonce });
},
@ -452,8 +463,9 @@ export default {
},
_getPTValue(obj = {}, key = '', params = {}, searchInDefaultPT = true) {
const datasetPrefix = 'data-pc-';
const self = this._getPTClassValue(obj, key, params);
const globalPT = searchInDefaultPT ? (/./g.test(key) && !!params[key.split('.')[0]] ? this._getPTClassValue(this.globalPT, key, params) : this._getPTClassValue(this.defaultPT, key, params)) : undefined;
const searchOut = /./g.test(key) && !!params[key.split('.')[0]];
const self = searchOut ? undefined : this._usePT(this._getPT(obj, this.$name), this._getPTClassValue, key, params);
const globalPT = searchInDefaultPT ? (searchOut ? this._useGlobalPT(this._getPTClassValue, key, params) : this._useDefaultPT(this._getPTClassValue, key, params)) : undefined;
const merged = mergeProps(
self,
globalPT,
@ -475,6 +487,46 @@ export default {
return ObjectUtils.isString(value) || ObjectUtils.isArray(value) ? { class: value } : value;
},
_getPT(pt, key = '', callback) {
const _usept = pt?.['_usept'];
const getValue = (value) => {
const computedValue = callback ? callback(value) : value;
return computedValue?.[ObjectUtils.toFlatCase(key)] ?? computedValue;
};
return ObjectUtils.isNotEmpty(_usept)
? {
_usept,
originalValue: getValue(pt.originalValue),
value: getValue(pt.value)
}
: getValue(pt);
},
_usePT(pt, callback, key, params) {
const fn = (value) => callback(value, key, params);
if (pt?.hasOwnProperty('_usept')) {
const { merge, useMergeProps } = pt['_usept'];
const originalValue = fn(pt.originalValue);
const value = fn(pt.value);
if (originalValue === undefined && value === undefined) return undefined;
else if (ObjectUtils.isString(value)) return value;
else if (ObjectUtils.isString(originalValue)) return originalValue;
return merge ? (useMergeProps ? mergeProps(originalValue, value) : { ...originalValue, ...value }) : value;
}
return fn(pt);
},
_useGlobalPT(callback, key, params) {
return this._usePT(this.globalPT, callback, key, params);
},
_useDefaultPT(callback, key, params) {
return this._usePT(this.defaultPT, callback, key, params);
},
ptm(key = '', params = {}) {
return this._getPTValue(this.pt, key, { ...this.$params, ...params });
},
@ -497,10 +549,10 @@ export default {
},
computed: {
globalPT() {
return ObjectUtils.getItemValue(this.$config.pt, { instance: this });
return this._getPT(this.$config?.pt, undefined, (value) => ObjectUtils.getItemValue(value, { instance: this }));
},
defaultPT() {
return this._getOptionValue(this.$config.pt, this.$options.hostName || this.$.type.name, { instance: this }) || this.globalPT;
return this._getPT(this.$config?.pt, undefined, (value) => this._getOptionValue(value, this.$name, { instance: this }) || ObjectUtils.getItemValue(value, { instance: this }));
},
isUnstyled() {
return this.unstyled !== undefined ? this.unstyled : this.$config.unstyled;
@ -513,6 +565,9 @@ export default {
},
$config() {
return this.$primevue?.config;
},
$name() {
return this.$options.hostName || this.$.type.name;
}
}
};

View File

@ -22,8 +22,8 @@ const BaseDirective = {
};
const datasetPrefix = 'data-pc-';
const self = getValue(obj, key, params);
const globalPT = searchInDefaultPT ? getValue(instance.defaultPT, key, params) : undefined;
const self = BaseDirective._usePT(BaseDirective._getPT(obj, instance.$name), getValue, key, params);
const globalPT = searchInDefaultPT ? BaseDirective._useDefaultPT(instance.defaultPT, getValue, key, params) : undefined;
const merged = mergeProps(self, globalPT, {
...(key === 'root' && { [`${datasetPrefix}name`]: ObjectUtils.toFlatCase(instance.$name) }),
[`${datasetPrefix}section`]: ObjectUtils.toFlatCase(key)
@ -31,15 +31,52 @@ const BaseDirective = {
return merged;
},
_getPT(pt, key = '', callback) {
const _usept = pt?.['_usept'];
const getValue = (value) => {
const computedValue = callback ? callback(value) : value;
return computedValue?.[ObjectUtils.toFlatCase(key)] ?? computedValue;
};
return ObjectUtils.isNotEmpty(_usept)
? {
_usept,
originalValue: getValue(pt.originalValue),
value: getValue(pt.value)
}
: getValue(pt);
},
_usePT(pt, callback, key, params) {
const fn = (value) => callback(value, key, params);
if (pt?.hasOwnProperty('_usept')) {
const { merge, useMergeProps } = pt['_usept'];
const originalValue = fn(pt.originalValue);
const value = fn(pt.value);
if (originalValue === undefined && value === undefined) return undefined;
else if (ObjectUtils.isString(value)) return value;
else if (ObjectUtils.isString(originalValue)) return originalValue;
return merge ? (useMergeProps ? mergeProps(originalValue, value) : { ...originalValue, ...value }) : value;
}
return fn(pt);
},
_useDefaultPT(defaultPT = {}, callback, key, params) {
return BaseDirective._usePT(defaultPT, callback, key, params);
},
_hook: (directiveName, hookName, el, binding, vnode, prevVnode) => {
const name = `on${ObjectUtils.toCapitalCase(hookName)}`;
const config = binding?.instance?.$primevue?.config;
const selfHook = binding?.value?.pt?.hooks?.[name];
const globalHook = config?.pt?.directives?.[directiveName]?.hooks?.[name];
const selfHook = BaseDirective._usePT(BaseDirective._getPT(binding?.value?.pt, directiveName), BaseDirective._getOptionValue, `hooks.${name}`);
const defaultHook = BaseDirective._useDefaultPT(config?.pt?.directives?.[directiveName], BaseDirective._getOptionValue, `hooks.${name}`);
const options = { el, binding, vnode, prevVnode };
selfHook?.(el?.$instance, options);
globalHook?.(el?.$instance, options);
defaultHook?.(el?.$instance, options);
},
_extend: (name, options = {}) => {
const handleHook = (hook, el, binding, vnode, prevVnode) => {
@ -59,7 +96,7 @@ const BaseDirective = {
$css: { classes: undefined, inlineStyles: undefined, loadStyle: () => {}, ...options?.css },
$config: config,
/* computed instance variables */
defaultPT: config?.pt?.directives?.[name],
defaultPT: BaseDirective._getPT(config?.pt, undefined, (value) => value?.directives?.[name]),
isUnstyled: el.unstyled !== undefined ? el.unstyled : config?.unstyled,
/* instance's methods */
ptm: (key = '', params = {}) => BaseDirective._getPTValue(el.$instance, el.$instance?.$binding?.value?.pt, key, { ...params }),

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type BlockUIPassThroughOptionType = BlockUIPassThroughAttributes | ((options: BlockUIPassThroughMethodOptions) => BlockUIPassThroughAttributes | string) | string | null | undefined;
@ -88,7 +88,7 @@ export interface BlockUIProps {
* Used to pass attributes to DOM elements inside the component.
* @type {BlockUIPassThroughOptions}
*/
pt?: BlockUIPassThroughOptions;
pt?: PTOptions<BlockUIPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type BreadcrumbPassThroughOptionType = BreadcrumbPassThroughAttributes | ((options: BreadcrumbPassThroughMethodOptions) => BreadcrumbPassThroughAttributes | string) | string | null | undefined;
@ -117,7 +117,7 @@ export interface BreadcrumbProps {
* Used to pass attributes to DOM elements inside the component.
* @type {BreadcrumbPassThroughOptions}
*/
pt?: BreadcrumbPassThroughOptions;
pt?: PTOptions<BreadcrumbPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { ButtonHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ButtonPassThroughOptionType = ButtonPassThroughAttributes | ((options: ButtonPassThroughMethodOptions) => ButtonPassThroughAttributes | string) | string | null | undefined;
@ -150,7 +150,7 @@ export interface ButtonProps extends ButtonHTMLAttributes {
* Used to pass attributes to DOM elements inside the component.
* @type {ButtonPassThroughOptions}
*/
pt?: ButtonPassThroughOptions;
pt?: PTOptions<ButtonPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type CalendarPassThroughOptionType = CalendarPassThroughAttributes | ((options: CalendarPassThroughMethodOptions) => CalendarPassThroughAttributes | string) | string | null | undefined;
@ -691,7 +691,7 @@ export interface CalendarProps {
* Used to pass attributes to DOM elements inside the component.
* @type {CalendarPassThroughOptions}
*/
pt?: CalendarPassThroughOptions;
pt?: PTOptions<CalendarPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type CardPassThroughOptionType = CardPassThroughAttributes | null | undefined;
@ -68,7 +68,7 @@ export interface CardProps {
* Used to pass attributes to DOM elements inside the component.
* @type {CardPassThroughOptions}
*/
pt?: CardPassThroughOptions;
pt?: PTOptions<CardPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { ButtonHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type CarouselPassThroughOptionType = CarouselPassThroughAttributes | ((options: CarouselPassThroughMethodOptions) => CarouselPassThroughAttributes | string) | string | null | undefined;
@ -274,7 +274,7 @@ export interface CarouselProps {
* Used to pass attributes to DOM elements inside the component.
* @type {CarouselPassThroughOptions}
*/
pt?: CarouselPassThroughOptions;
pt?: PTOptions<CarouselPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type CascadeSelectPassThroughOptionType = CascadeSelectPassThroughAttributes | ((options: CascadeSelectPassThroughMethodOptions) => CascadeSelectPassThroughAttributes | string) | string | null | undefined;
@ -325,7 +325,7 @@ export interface CascadeSelectProps {
* Used to pass attributes to DOM elements inside the component.
* @type {CascadeSelectPassThroughOptions}
*/
pt?: CascadeSelectPassThroughOptions;
pt?: PTOptions<CascadeSelectPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { CanvasHTMLAttributes } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ChartPassThroughOptionType = ChartPassThroughAttributes | ((options: ChartPassThroughMethodOptions) => ChartPassThroughAttributes | string) | string | null | undefined;
@ -105,7 +105,7 @@ export interface ChartProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ChartPassThroughOptions}
*/
pt?: ChartPassThroughOptions;
pt?: PTOptions<ChartPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { InputHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type CheckboxPassThroughOptionType = CheckboxPassThroughAttributes | ((options: CheckboxPassThroughMethodOptions) => CheckboxPassThroughAttributes | string) | string | null | undefined;
@ -151,7 +151,7 @@ export interface CheckboxProps {
* Used to pass attributes to DOM elements inside the component.
* @type {CheckboxPassThroughOptions}
*/
pt?: CheckboxPassThroughOptions;
pt?: PTOptions<CheckboxPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ChipPassThroughOptionType = ChipPassThroughAttributes | ((options: ChipPassThroughMethodOptions) => ChipPassThroughAttributes | string) | string | null | undefined;
@ -103,7 +103,7 @@ export interface ChipProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ChipPassThroughOptions}
*/
pt?: ChipPassThroughOptions;
pt?: PTOptions<ChipPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { InputHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ChipsPassThroughOptionType = ChipsPassThroughAttributes | ((options: ChipsPassThroughMethodOptions) => ChipsPassThroughAttributes | string) | string | null | undefined;
@ -182,7 +182,7 @@ export interface ChipsProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ChipsPassThroughOptions}
*/
pt?: ChipsPassThroughOptions;
pt?: PTOptions<ChipsPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { TransitionProps } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ColorPickerPassThroughOptionType = ColorPickerPassThroughAttributes | ((options: ColorPickerPassThroughMethodOptions) => ColorPickerPassThroughAttributes | string) | string | null | undefined;
@ -164,7 +164,7 @@ export interface ColorPickerProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ColorPickerPassThroughOptions}
*/
pt?: ColorPickerPassThroughOptions;
pt?: PTOptions<ColorPickerPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -14,7 +14,7 @@ import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button';
import { DataTablePassThroughOptions } from '../datatable';
import { DropdownPassThroughOptionType } from '../dropdown';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
import { VirtualScrollerLoaderOptions } from '../virtualscroller';
export declare type ColumnPassThroughOptionType = ColumnPassThroughAttributes | ((options: ColumnPassThroughMethodOptions) => ColumnPassThroughAttributes | string) | string | null | undefined;
@ -567,7 +567,7 @@ export interface ColumnProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ColumnPassThroughOptions}
*/
pt?: ColumnPassThroughOptions;
pt?: PTOptions<ColumnPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -7,7 +7,7 @@
*/
import { ComponentHooks } from '../basecomponent';
import { DataTablePassThroughOptions } from '../datatable';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ColumnGroupPassThroughOptionType = ColumnGroupPassThroughAttributes | ((options: ColumnGroupPassThroughMethodOptions) => ColumnGroupPassThroughAttributes | string) | string | null | undefined;
@ -56,7 +56,7 @@ export interface ColumnGroupProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ColumnGroupPassThroughOptions}
*/
pt?: ColumnGroupPassThroughOptions;
pt?: PTOptions<ColumnGroupPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -92,7 +92,7 @@ import { TreePassThroughOptions } from '../tree';
import { TreeSelectPassThroughOptions } from '../treeselect';
import { TreeTablePassThroughOptions } from '../treetable';
import { TriStateCheckboxPassThroughOptions } from '../tristatecheckbox';
import { DefaultPTOptions } from '../ts-helpers';
import { DefaultPTOptions, PTOptions } from '../ts-helpers';
import { VirtualScrollerPassThroughOptions } from '../virtualscroller';
export interface PrimeVueConfiguration {
@ -101,7 +101,7 @@ export interface PrimeVueConfiguration {
locale?: PrimeVueLocaleOptions;
filterMatchModeOptions?: any;
zIndex?: PrimeVueZIndexOptions;
pt?: PrimeVuePTOptions;
pt?: PTOptions<PrimeVuePTOptions>;
unstyled?: boolean;
csp?: PrimeVueCSPOptions;
}

View File

@ -11,7 +11,7 @@ import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptions } from '../button';
import { ConfirmationOptions } from '../confirmationoptions';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ConfirmDialogPassThroughOptionType = ConfirmDialogPassThroughAttributes | ((options: ConfirmDialogPassThroughMethodOptions) => ConfirmDialogPassThroughAttributes | string) | string | null | undefined;
@ -152,7 +152,7 @@ export interface ConfirmDialogProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ConfirmDialogPassThroughOptions}
*/
pt?: ConfirmDialogPassThroughOptions;
pt?: PTOptions<ConfirmDialogPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -11,7 +11,7 @@ import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptions } from '../button';
import { ConfirmationOptions } from '../confirmationoptions';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ConfirmPopupPassThroughOptionType = ConfirmPopupPassThroughAttributes | ((options: ConfirmPopupPassThroughMethodOptions) => ConfirmPopupPassThroughAttributes | string) | string | null | undefined;
@ -106,7 +106,7 @@ export interface ConfirmPopupProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ConfirmPopupPassThroughOptions}
*/
pt?: ConfirmPopupPassThroughOptions;
pt?: PTOptions<ConfirmPopupPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -11,7 +11,7 @@
import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ContextMenuPassThroughOptionType = ContextMenuPassThroughAttributes | ((options: ContextMenuPassThroughMethodOptions) => ContextMenuPassThroughAttributes | string) | string | null | undefined;
@ -216,7 +216,7 @@ export interface ContextMenuProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ContextMenuPassThroughOptions}
*/
pt?: ContextMenuPassThroughOptions;
pt?: PTOptions<ContextMenuPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -13,7 +13,7 @@ import { ColumnPassThroughOptionType } from '../column';
import { ColumnGroupPassThroughOptionType } from '../columngroup';
import { PaginatorPassThroughOptionType } from '../paginator';
import { RowPassThroughOptionType } from '../row';
import { ClassComponent, GlobalComponentConstructor, Nullable } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, Nullable, PTOptions } from '../ts-helpers';
import { VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller';
export declare type DataTablePassThroughOptionType = DataTablePassThroughAttributes | ((options: DataTablePassThroughMethodOptions) => DataTablePassThroughAttributes | string) | string | null | undefined;
@ -1069,7 +1069,7 @@ export interface DataTableProps {
* Used to pass attributes to DOM elements inside the component.
* @type {DataTablePassThroughOptions}
*/
pt?: DataTablePassThroughOptions;
pt?: PTOptions<DataTablePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { PaginatorPassThroughOptionType } from '../paginator';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type DataViewPassThroughOptionType = DataViewPassThroughAttributes | ((options: DataViewPassThroughMethodOptions) => DataViewPassThroughAttributes | string) | string | null | undefined;
@ -212,7 +212,7 @@ export interface DataViewProps {
* Used to pass attributes to DOM elements inside the component.
* @type {DataViewPassThroughOptions}
*/
pt?: DataViewPassThroughOptions;
pt?: PTOptions<DataViewPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type DataViewLayoutOptionsPassThroughOptionType =
| DataViewLayoutOptionsPassThroughAttributes
@ -94,7 +94,7 @@ export interface DataViewLayoutOptionsProps {
* Used to pass attributes to DOM elements inside the component.
* @type {DataViewLayoutOptionsPassThroughOptions}
*/
pt?: DataViewLayoutOptionsPassThroughOptions;
pt?: PTOptions<DataViewLayoutOptionsPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type DeferredContentPassThroughOptionType = DeferredContentPassThroughAttributes | ((options: DeferredContentPassThroughMethodOptions) => DeferredContentPassThroughAttributes | string) | string | null | undefined;
@ -64,7 +64,7 @@ export interface DeferredContentProps {
* Used to pass attributes to DOM elements inside the component.
* @type {DeferredContentPassThroughOptions}
*/
pt?: DeferredContentPassThroughOptions;
pt?: PTOptions<DeferredContentPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { HTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type DialogPassThroughOptionType = DialogPassThroughAttributes | ((options: DialogPassThroughMethodOptions) => DialogPassThroughAttributes | string) | string | null | undefined;
@ -260,7 +260,7 @@ export interface DialogProps {
* Used to pass attributes to DOM elements inside the component.
* @type {DialogPassThroughOptions}
*/
pt?: DialogPassThroughOptions;
pt?: PTOptions<DialogPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type DividerPassThroughOptionType = DividerPassThroughAttributes | ((options: DividerPassThroughMethodOptions) => DividerPassThroughAttributes | string) | string | null | undefined;
@ -70,7 +70,7 @@ export interface DividerProps {
* Used to pass attributes to DOM elements inside the component.
* @type {DividerPassThroughOptions}
*/
pt?: DividerPassThroughOptions;
pt?: PTOptions<DividerPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type DockPassThroughOptionType = DockPassThroughAttributes | ((options: DockPassThroughMethodOptions) => DockPassThroughAttributes | string) | string | null | undefined;
@ -185,7 +185,7 @@ export interface DockProps {
* Used to pass attributes to DOM elements inside the component.
* @type {DockPassThroughOptions}
*/
pt?: DockPassThroughOptions;
pt?: PTOptions<DockPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
import { VirtualScrollerItemOptions, VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller';
export declare type DropdownPassThroughOptionType = DropdownPassThroughAttributes | ((options: DropdownPassThroughMethodOptions) => DropdownPassThroughAttributes | string) | string | null | undefined;
@ -409,7 +409,7 @@ export interface DropdownProps {
emptyFilterMessage?: string | undefined;
/**
* Text to display when there are no options available. Defaults to value from PrimeVue locale configuration.
* @defaultValue No results foun
* @defaultValue No results found
*/
emptyMessage?: string | undefined;
/**
@ -428,7 +428,7 @@ export interface DropdownProps {
* Used to pass attributes to DOM elements inside the component.
* @type {DropdownPassThroughOptions}
*/
pt?: DropdownPassThroughOptions;
pt?: PTOptions<DropdownPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type EditorPassThroughOptionType = EditorPassThroughAttributes | ((options: EditorPassThroughMethodOptions) => EditorPassThroughAttributes | string) | string | null | undefined;
/**
@ -219,7 +219,7 @@ export interface EditorProps {
* Used to pass attributes to DOM elements inside the component.
* @type {EditorPassThroughOptions}
*/
pt?: EditorPassThroughOptions;
pt?: PTOptions<EditorPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { AnchorHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type FieldsetPassThroughOptionType = FieldsetPassThroughAttributes | ((options: FieldsetPassThroughMethodOptions) => FieldsetPassThroughAttributes | string) | string | null | undefined;
@ -128,7 +128,7 @@ export interface FieldsetProps {
* Used to pass attributes to DOM elements inside the component.
* @type {FieldsetPassThroughOptions}
*/
pt?: FieldsetPassThroughOptions;
pt?: PTOptions<FieldsetPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -11,7 +11,7 @@ import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptions } from '../button';
import { MessagePassThroughOptions } from '../message';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type FileUploadPassThroughOptionType = FileUploadPassThroughAttributes | ((options: FileUploadPassThroughMethodOptions) => FileUploadPassThroughAttributes | string) | string | null | undefined;
@ -413,7 +413,7 @@ export interface FileUploadProps {
* Used to pass attributes to DOM elements inside the component.
* @type {FileUploadPassThroughOptions}
*/
pt?: FileUploadPassThroughOptions;
pt?: PTOptions<FileUploadPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,6 +8,7 @@
*/
import { DirectiveBinding, ObjectDirective } from 'vue';
import { DirectiveHooks } from '../basedirective';
import { PTOptions } from '../ts-helpers';
export declare type FocusTrapDirectivePassThroughOptionType = FocusTrapDirectivePassThroughAttributes | null | undefined;
@ -29,7 +30,7 @@ export interface FocusTrapOptions {
* Used to pass attributes to DOM elements inside the component.
* @type {FocusTrapDirectivePassThroughOptions}
*/
pt?: FocusTrapDirectivePassThroughOptions;
pt?: PTOptions<FocusTrapDirectivePassThroughOptions>;
}
/**

View File

@ -9,7 +9,7 @@
*/
import { ButtonHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type GalleriaPassThroughOptionType = GalleriaPassThroughAttributes | ((options: GalleriaPassThroughMethodOptions) => GalleriaPassThroughAttributes | string) | string | null | undefined;
@ -377,7 +377,7 @@ export interface GalleriaProps {
* Used to pass attributes to DOM elements inside the component.
* @type {GalleriaPassThroughOptions}
*/
pt?: GalleriaPassThroughOptions;
pt?: PTOptions<GalleriaPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ImagePassThroughOptionType = ImagePassThroughAttributes | ((options: ImagePassThroughMethodOptions) => ImagePassThroughAttributes | string) | string | null | undefined;
@ -181,7 +181,7 @@ export interface ImageProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ImagePassThroughOptions}
*/
pt?: ImagePassThroughOptions;
pt?: PTOptions<ImagePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type InlineMessagePassThroughOptionType = InlineMessagePassThroughAttributes | ((options: InlineMessagePassThroughMethodOptions) => InlineMessagePassThroughAttributes | string) | string | null | undefined;
@ -82,7 +82,7 @@ export interface InlineMessageProps {
* Used to pass attributes to DOM elements inside the component.
* @type {InlineMessagePassThroughOptions}
*/
pt?: InlineMessagePassThroughOptions;
pt?: PTOptions<InlineMessagePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -11,7 +11,7 @@
import { ButtonHTMLAttributes, HTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptions } from '../button';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type InplacePassThroughOptionType = InplacePassThroughAttributes | ((options: InplacePassThroughMethodOptions) => InplacePassThroughAttributes | string) | string | null | undefined;
@ -107,7 +107,7 @@ export interface InplaceProps {
* Used to pass attributes to DOM elements inside the component.
* @type {InplacePassThroughOptions}
*/
pt?: InplacePassThroughOptions;
pt?: PTOptions<InplacePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,7 +8,7 @@
*
*/
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type InputMaskPassThroughOptionType = InputMaskPassThroughAttributes | ((options: InputMaskPassThroughMethodOptions) => InputMaskPassThroughAttributes | string) | string | null | undefined;
@ -96,7 +96,7 @@ export interface InputMaskProps {
* Used to pass attributes to DOM elements inside the component.
* @type {InputMaskPassThroughOptions}
*/
pt?: InputMaskPassThroughOptions;
pt?: PTOptions<InputMaskPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -11,7 +11,7 @@ import { ButtonHTMLAttributes, InputHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button';
import { InputTextPassThroughOptionType } from '../inputtext';
import { ClassComponent, GlobalComponentConstructor, Nullable } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, Nullable, PTOptions } from '../ts-helpers';
export declare type InputNumberPassThroughOptionType = InputNumberPassThroughAttributes | ((options: InputNumberPassThroughMethodOptions) => InputNumberPassThroughAttributes | string) | string | null | undefined;
@ -273,7 +273,7 @@ export interface InputNumberProps {
* Used to pass attributes to DOM elements inside the component.
* @type {InputNumberPassThroughOptions}
*/
pt?: InputNumberPassThroughOptions;
pt?: PTOptions<InputNumberPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { InputHTMLAttributes } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type InputSwitchPassThroughOptionType = InputSwitchPassThroughAttributes | ((options: InputSwitchPassThroughMethodOptions) => InputSwitchPassThroughAttributes | string) | string | null | undefined;
@ -115,7 +115,7 @@ export interface InputSwitchProps {
* Used to pass attributes to DOM elements inside the component.
* @type {InputSwitchPassThroughOptions}
*/
pt?: InputSwitchPassThroughOptions;
pt?: PTOptions<InputSwitchPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { InputHTMLAttributes } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor, Nullable } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, Nullable, PTOptions } from '../ts-helpers';
export declare type InputTextPassThroughOptionType = InputTextPassThroughAttributes | ((options: InputTextPassThroughMethodOptions) => InputTextPassThroughAttributes | string) | string | null | undefined;
@ -77,7 +77,7 @@ export interface InputTextProps extends InputHTMLAttributes {
* Used to pass attributes to DOM elements inside the component.
* @type {InputTextPassThroughOptions}
*/
pt?: InputTextPassThroughOptions;
pt?: PTOptions<InputTextPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,7 +8,7 @@
*
*/
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type KnobPassThroughOptionType = KnobPassThroughAttributes | ((options: KnobPassThroughMethodOptions) => KnobPassThroughAttributes | string) | string | null | undefined;
@ -174,7 +174,7 @@ export interface KnobProps {
* Used to pass attributes to DOM elements inside the component.
* @type {KnobPassThroughOptions}
*/
pt?: KnobPassThroughOptions;
pt?: PTOptions<KnobPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { InputHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
import { VirtualScrollerItemOptions, VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller';
export declare type ListboxPassThroughOptionType = ListboxPassThroughAttributes | ((options: ListboxPassThroughMethodOptions) => ListboxPassThroughAttributes | string) | string | null | undefined;
@ -322,7 +322,7 @@ export interface ListboxProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ListboxPassThroughOptions}
*/
pt?: ListboxPassThroughOptions;
pt?: PTOptions<ListboxPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type MegaMenuPassThroughOptionType = MegaMenuPassThroughAttributes | ((options: MegaMenuPassThroughMethodOptions) => MegaMenuPassThroughAttributes | string) | string | null | undefined;
@ -213,7 +213,7 @@ export interface MegaMenuProps {
* Used to pass attributes to DOM elements inside the component.
* @type {MegaMenuPassThroughOptions}
*/
pt?: MegaMenuPassThroughOptions;
pt?: PTOptions<MegaMenuPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type MenuPassThroughOptionType = MenuPassThroughAttributes | ((options: MenuPassThroughMethodOptions) => MenuPassThroughAttributes | string) | string | null | undefined;
@ -189,7 +189,7 @@ export interface MenuProps {
* Used to pass attributes to DOM elements inside the component.
* @type {MenuPassThroughOptions}
*/
pt?: MenuPassThroughOptions;
pt?: PTOptions<MenuPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { ButtonHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type MenubarPassThroughOptionType = MenubarPassThroughAttributes | ((options: MenubarPassThroughMethodOptions) => MenubarPassThroughAttributes | string) | string | null | undefined;
@ -204,7 +204,7 @@ export interface MenubarProps {
* Used to pass attributes to DOM elements inside the component.
* @type {MenubarPassThroughOptions}
*/
pt?: MenubarPassThroughOptions;
pt?: PTOptions<MenubarPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { ButtonHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type MessagePassThroughOptionType = MessagePassThroughAttributes | ((options: MessagePassThroughMethodOptions) => MessagePassThroughAttributes | string) | string | null | undefined;
@ -133,7 +133,7 @@ export interface MessageProps {
* Used to pass attributes to DOM elements inside the component.
* @type {MessagePassThroughOptions}
*/
pt?: MessagePassThroughOptions;
pt?: PTOptions<MessagePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { ButtonHTMLAttributes, HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
import { VirtualScrollerItemOptions, VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller';
export declare type MultiSelectPassThroughOptionType = MultiSelectPassThroughAttributes | ((options: MultiSelectPassThroughMethodOptions) => MultiSelectPassThroughAttributes | string) | string | null | undefined;
@ -510,7 +510,7 @@ export interface MultiSelectProps {
* Used to pass attributes to DOM elements inside the component.
* @type {MultiSelectPassThroughOptions}
*/
pt?: MultiSelectPassThroughOptions;
pt?: PTOptions<MultiSelectPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { ButtonHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type OrderListPassThroughOptionType = OrderListPassThroughAttributes | ((options: OrderListPassThroughMethodOptions) => OrderListPassThroughAttributes | string) | string | null | undefined;
@ -240,7 +240,7 @@ export interface OrderListProps {
* Used to pass attributes to DOM elements inside the component.
* @type {OrderListPassThroughOptions}
*/
pt?: OrderListPassThroughOptions;
pt?: PTOptions<OrderListPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type OrganizationChartPassThroughOptionType = OrganizationChartPassThroughAttributes | ((options: OrganizationChartPassThroughMethodOptions) => OrganizationChartPassThroughAttributes | string) | string | null | undefined;
@ -224,7 +224,7 @@ export interface OrganizationChartProps {
* Used to pass attributes to DOM elements inside the component.
* @type {OrganizationChartPassThroughOptions}
*/
pt?: OrganizationChartPassThroughOptions;
pt?: PTOptions<OrganizationChartPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type OverlayPanelPassThroughOptionType = OverlayPanelPassThroughAttributes | ((options: OverlayPanelPassThroughMethodOptions) => OverlayPanelPassThroughAttributes | string) | string | null | undefined;
@ -138,7 +138,7 @@ export interface OverlayPanelProps {
* Used to pass attributes to DOM elements inside the component.
* @type {OverlayPanelPassThroughOptions}
*/
pt?: OverlayPanelPassThroughOptions;
pt?: PTOptions<OverlayPanelPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -11,7 +11,7 @@ import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { DropdownPassThroughOptionType } from '../dropdown';
import { InputNumberPassThroughOptionType } from '../inputnumber';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type PaginatorPassThroughOptionType = PaginatorPassThroughAttributes | ((options: PaginatorPassThroughMethodOptions) => PaginatorPassThroughAttributes | string) | string | null | undefined;
@ -235,7 +235,7 @@ export interface PaginatorProps {
* Used to pass attributes to DOM elements inside the component.
* @type {PaginatorPassThroughOptions}
*/
pt?: PaginatorPassThroughOptions;
pt?: PTOptions<PaginatorPassThroughOptions>;
}
/**

View File

@ -9,7 +9,7 @@
*/
import { ButtonHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type PanelPassThroughOptionType = PanelPassThroughAttributes | ((options: PanelPassThroughMethodOptions) => PanelPassThroughAttributes | string) | string | null | undefined;
@ -136,7 +136,7 @@ export interface PanelProps {
* Used to pass attributes to DOM elements inside the component.
* @type {PanelPassThroughOptions}
*/
pt?: PanelPassThroughOptions;
pt?: PTOptions<PanelPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type PanelMenuPassThroughOptionType = PanelMenuPassThroughAttributes | ((options: PanelMenuPassThroughMethodOptions) => PanelMenuPassThroughAttributes | string) | string | null | undefined;
@ -217,7 +217,7 @@ export interface PanelMenuProps {
* Used to pass attributes to DOM elements inside the component.
* @type {PanelMenuPassThroughOptions}
*/
pt?: PanelMenuPassThroughOptions;
pt?: PTOptions<PanelMenuPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -1,15 +1,6 @@
export interface CustomizerOptions {
key?: string | undefined;
to?: object | undefined;
from?: object | undefined;
value?: any;
}
export interface usePassThroughOptions {
merge?: boolean | undefined;
useMergeProps?: boolean | undefined;
ignoredKeysOnMerge?: string[] | undefined;
customizer?: ((options?: CustomizerOptions) => any) | undefined;
}
export declare function usePassThrough(pt1: object, pt2: object, options?: usePassThroughOptions): object;

View File

@ -1,46 +1,17 @@
import { ObjectUtils } from 'primevue/utils';
import { mergeProps } from 'vue';
export const usePassThrough = (pt1 = {}, pt2 = {}, { merge = true, useMergeProps = false, ignoredKeysOnMerge = [], customizer = undefined } = {}) => {
const newPT = { ...pt1 };
if (merge) {
const getPTClassValue = (value) => (ObjectUtils.isString(value) || ObjectUtils.isArray(value) ? { class: value } : value);
const setOptionValue = (to, from, nestedKey, ignoredKey) => {
const keys = nestedKey.split('.');
const key = keys.shift();
const getValue = (value) => (ObjectUtils.isFunction(customizer) ? customizer({ key, to, from, value }) : value);
if (!!ignoredKey && ignoredKey.endsWith(key)) {
!!key && (to[key] = getValue(from[key]));
} else {
const matched = [Object.keys(to[key] || {}), Object.keys(from[key] || {})].flat().some((k) => k.match(/^(class|style|on(.+))/));
if (matched) {
to[key] = getValue(useMergeProps ? mergeProps(getPTClassValue(to[key]), getPTClassValue(from[key])) : { ...getPTClassValue(to[key]), ...getPTClassValue(from[key]) });
} else if (ObjectUtils.isNotEmpty(from[key])) {
to[key] = { ...to[key] };
setOptionValue(to[key], from[key], keys.join('.'), ignoredKey);
} else if (!!key) {
to[key] = getValue(from[key]);
}
}
};
const nestedKeys = ObjectUtils.nestedKeys(pt2);
nestedKeys.forEach((nestedKey) => {
setOptionValue(
newPT,
pt2,
nestedKey,
ignoredKeysOnMerge.find((k) => (k.indexOf('.') > 0 ? nestedKey.startsWith(k) : nestedKey.split('.')[0] === k))
);
});
} else {
Object.keys(pt2).forEach((key) => (newPT[key] = pt2[key]));
}
return newPT;
/**
* @todo: Add dynamic params support;
*
* Exp;
* usePassThrough(pt1, pt2, pt3, pt*, { merge: true });
* usePassThrough(pt1, { merge: true });
*/
export const usePassThrough = (pt1 = {}, pt2 = {}, { merge = true, useMergeProps = true } = {}) => {
return {
_usept: {
merge,
useMergeProps
},
originalValue: pt1,
value: pt2
};
};

View File

@ -10,7 +10,7 @@
import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { InputTextPassThroughOptionType } from '../inputtext';
import { ClassComponent, GlobalComponentConstructor, Nullable } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, Nullable, PTOptions } from '../ts-helpers';
export declare type PasswordPassThroughOptionType = PasswordPassThroughAttributes | ((options: PasswordPassThroughMethodOptions) => PasswordPassThroughAttributes | string) | string | null | undefined;
@ -243,7 +243,7 @@ export interface PasswordProps extends InputHTMLAttributes {
* Used to pass attributes to DOM elements inside the component.
* @type {PasswordPassThroughOptions}
*/
pt?: PasswordPassThroughOptions;
pt?: PTOptions<PasswordPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { ButtonHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type PickListPassThroughOptionType = PickListPassThroughAttributes | ((options: PickListPassThroughMethodOptions) => PickListPassThroughAttributes | string) | string | null | undefined;
@ -373,7 +373,7 @@ export interface PickListProps {
* Used to pass attributes to DOM elements inside the component.
* @type {PickListPassThroughOptions}
*/
pt?: PickListPassThroughOptions;
pt?: PTOptions<PickListPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ProgressBarPassThroughOptionType = ProgressBarPassThroughAttributes | ((options: ProgressBarPassThroughMethodOptions) => ProgressBarPassThroughAttributes | string) | string | null | undefined;
@ -74,7 +74,7 @@ export interface ProgressBarProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ProgressBarPassThroughOptions}
*/
pt?: ProgressBarPassThroughOptions;
pt?: PTOptions<ProgressBarPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,7 +8,7 @@
*
*/
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ProgressSpinnerPassThroughOptionType = ProgressSpinnerPassThroughAttributes | ((options: ProgressSpinnerPassThroughMethodOptions) => ProgressSpinnerPassThroughAttributes | string) | string | null | undefined;
@ -73,7 +73,7 @@ export interface ProgressSpinnerProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ProgressSpinnerPassThroughOptions}
*/
pt?: ProgressSpinnerPassThroughOptions;
pt?: PTOptions<ProgressSpinnerPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { InputHTMLAttributes } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type RadioButtonPassThroughOptionType = RadioButtonPassThroughAttributes | ((options: RadioButtonPassThroughMethodOptions) => RadioButtonPassThroughAttributes | string) | string | null | undefined;
@ -121,7 +121,7 @@ export interface RadioButtonProps {
* Used to pass attributes to DOM elements inside the component.
* @type {RadioButtonPassThroughOptions}
*/
pt?: RadioButtonPassThroughOptions;
pt?: PTOptions<RadioButtonPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type RatingPassThroughOptionType = RatingPassThroughAttributes | ((options: RatingPassThroughMethodOptions) => RatingPassThroughAttributes | string) | string | null | undefined;
@ -178,7 +178,7 @@ export interface RatingProps {
* Used to pass attributes to DOM elements inside the component.
* @type {RatingPassThroughOptions}
*/
pt?: RatingPassThroughOptions;
pt?: PTOptions<RatingPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,6 +8,7 @@
*/
import { DirectiveBinding, ObjectDirective } from 'vue';
import { DirectiveHooks } from '../basedirective';
import { PTOptions } from '../ts-helpers';
export declare type RippleDirectivePassThroughOptionType = RippleDirectivePassThroughAttributes | null | undefined;
@ -19,7 +20,7 @@ export interface RippleOptions {
* Used to pass attributes to DOM elements inside the component.
* @type {RippleDirectivePassThroughOptions}
*/
pt?: RippleDirectivePassThroughOptions;
pt?: PTOptions<RippleDirectivePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ScrollPanelPassThroughOptionType = ScrollPanelPassThroughAttributes | ((options: ScrollPanelPassThroughMethodOptions) => ScrollPanelPassThroughAttributes | string) | string | null | undefined;
@ -99,7 +99,7 @@ export interface ScrollPanelProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ScrollPanelPassThroughOptions}
*/
pt?: ScrollPanelPassThroughOptions;
pt?: PTOptions<ScrollPanelPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ScrollTopPassThroughOptionType = ScrollTopPassThroughAttributes | ((options: ScrollTopPassThroughMethodOptions) => ScrollTopPassThroughAttributes | string) | string | null | undefined;
@ -94,7 +94,7 @@ export interface ScrollTopProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ScrollTopPassThroughOptions}
*/
pt?: ScrollTopPassThroughOptions;
pt?: PTOptions<ScrollTopPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type SelectButtonPassThroughOptionType = SelectButtonPassThroughAttributes | ((options: SelectButtonPassThroughMethodOptions) => SelectButtonPassThroughAttributes | string) | string | null | undefined;
@ -146,7 +146,7 @@ export interface SelectButtonProps {
* Used to pass attributes to DOM elements inside the component.
* @type {SelectButtonPassThroughOptions}
*/
pt?: SelectButtonPassThroughOptions;
pt?: PTOptions<SelectButtonPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type SidebarPassThroughOptionType = SidebarPassThroughAttributes | ((options: SidebarPassThroughMethodOptions) => SidebarPassThroughAttributes | string) | string | null | undefined;
@ -139,7 +139,7 @@ export interface SidebarProps {
* Used to pass attributes to DOM elements inside the component.
* @type {SidebarPassThroughOptions}
*/
pt?: SidebarPassThroughOptions;
pt?: PTOptions<SidebarPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,7 +8,7 @@
*
*/
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type SkeletonPassThroughOptionType = SkeletonPassThroughAttributes | ((options: SkeletonPassThroughMethodOptions) => SkeletonPassThroughAttributes | string) | string | null | undefined;
@ -79,7 +79,7 @@ export interface SkeletonProps {
* Used to pass attributes to DOM elements inside the component.
* @type {SkeletonPassThroughOptions}
*/
pt?: SkeletonPassThroughOptions;
pt?: PTOptions<SkeletonPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,7 +8,7 @@
*
*/
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type SliderPassThroughOptionType = SliderPassThroughAttributes | ((options: SliderPassThroughMethodOptions) => SliderPassThroughAttributes | string) | string | null | undefined;
@ -128,7 +128,7 @@ export interface SliderProps {
* Used to pass attributes to DOM elements inside the component.
* @type {SliderPassThroughOptions}
*/
pt?: SliderPassThroughOptions;
pt?: PTOptions<SliderPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -11,7 +11,7 @@ import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptions } from '../button';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type SpeedDialPassThroughOptionType = SpeedDialPassThroughAttributes | ((options: SpeedDialPassThroughMethodOptions) => SpeedDialPassThroughAttributes | string) | string | null | undefined;
@ -239,7 +239,7 @@ export interface SpeedDialProps {
* Used to pass attributes to DOM elements inside the component.
* @type {SpeedDialPassThroughOptions}
*/
pt?: SpeedDialPassThroughOptions;
pt?: PTOptions<SpeedDialPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -12,7 +12,7 @@ import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptions } from '../button';
import { MenuItem } from '../menuitem';
import { TieredMenuPassThroughOptions } from '../tieredmenu';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type SplitButtonPassThroughOptionType = SplitButtonPassThroughAttributes | ((options: SplitButtonPassThroughMethodOptions) => SplitButtonPassThroughAttributes | string) | string | null | undefined;
@ -169,7 +169,7 @@ export interface SplitButtonProps {
* Used to pass attributes to DOM elements inside the component.
* @type {SplitButtonPassThroughOptions}
*/
pt?: SplitButtonPassThroughOptions;
pt?: PTOptions<SplitButtonPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type SplitterPassThroughOptionType = SplitterPassThroughAttributes | ((options: SplitterPassThroughMethodOptions) => SplitterPassThroughAttributes | string) | string | null | undefined;
@ -136,7 +136,7 @@ export interface SplitterProps {
* Used to pass attributes to DOM elements inside the component.
* @type {SplitterPassThroughOptions}
*/
pt?: SplitterPassThroughOptions;
pt?: PTOptions<SplitterPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type SplitterPanelPassThroughOptionType = SplitterPanelPassThroughAttributes | ((options: SplitterPanelPassThroughMethodOptions) => SplitterPanelPassThroughAttributes | string) | string | null | undefined;
@ -71,7 +71,7 @@ export interface SplitterPanelProps {
* Used to pass attributes to DOM elements inside the component.
* @type {SplitterPanelPassThroughOptions}
*/
pt?: SplitterPanelPassThroughOptions;
pt?: PTOptions<SplitterPanelPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type StepsPassThroughOptionType = StepsPassThroughAttributes | ((options: StepsPassThroughMethodOptions) => StepsPassThroughAttributes | string) | string | null | undefined;
@ -116,7 +116,7 @@ export interface StepsProps {
* Used to pass attributes to DOM elements inside the component.
* @type {StepsPassThroughOptions}
*/
pt?: StepsPassThroughOptions;
pt?: PTOptions<StepsPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,6 +8,7 @@
*/
import { DirectiveBinding, ObjectDirective } from 'vue';
import { DirectiveHooks } from '../basedirective';
import { PTOptions } from '../ts-helpers';
/**
* Defines options of StyleClass.
@ -54,7 +55,7 @@ export interface StyleClassOptions {
* Used to pass attributes to DOM elements inside the component.
* @type {StyleClassDirectivePassThroughOptions}
*/
pt?: StyleClassDirectivePassThroughOptions;
pt?: PTOptions<StyleClassDirectivePassThroughOptions>;
}
/**

View File

@ -10,7 +10,7 @@
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TabMenuPassThroughOptionType = TabMenuPassThroughAttributes | ((options: TabMenuPassThroughMethodOptions) => TabMenuPassThroughAttributes | string) | string | null | undefined;
@ -141,7 +141,7 @@ export interface TabMenuProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TabMenuPassThroughOptions}
*/
pt?: TabMenuPassThroughOptions;
pt?: PTOptions<TabMenuPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { AnchorHTMLAttributes, HTMLAttributes, LiHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { TabViewPassThroughOptions } from '../tabview';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TabPanelPassThroughOptionType = TabPanelPassThroughAttributes | ((options: TabPanelPassThroughMethodOptions) => TabPanelPassThroughAttributes | string) | string | null | undefined;
@ -108,7 +108,7 @@ export interface TabPanelProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TabPanelPassThroughOptions}
*/
pt?: TabPanelPassThroughOptions;
pt?: PTOptions<TabPanelPassThroughOptions>;
}
/**

View File

@ -10,7 +10,7 @@
import { ButtonHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { TabPanelPassThroughOptionType } from '../tabpanel';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TabViewPassThroughOptionType = TabViewPassThroughAttributes | ((options: { props: TabViewProps; state: TabViewState }) => TabViewPassThroughAttributes | string) | string | null | undefined;
@ -181,7 +181,7 @@ export interface TabViewProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TabViewPassThroughOptions}
*/
pt?: TabViewPassThroughOptions;
pt?: PTOptions<TabViewPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TagPassThroughOptionType = TagPassThroughAttributes | ((options: TagPassThroughMethodOptions) => TagPassThroughAttributes | string) | string | null | undefined;
@ -78,7 +78,7 @@ export interface TagProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TagPassThroughOptions}
*/
pt?: TagPassThroughOptions;
pt?: PTOptions<TagPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,7 +8,7 @@
*
*/
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TerminalPassThroughOptionType = TerminalPassThroughAttributes | ((options: TerminalPassThroughMethodOptions) => TerminalPassThroughAttributes | string) | string | null | undefined;
@ -106,7 +106,7 @@ export interface TerminalProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TerminalPassThroughOptions}
*/
pt?: TerminalPassThroughOptions;
pt?: PTOptions<TerminalPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { TextareaHTMLAttributes } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TextareaPassThroughOptionType = TextareaPassThroughAttributes | ((options: TextareaPassThroughMethodOptions) => TextareaPassThroughAttributes | string) | string | null | undefined;
@ -79,7 +79,7 @@ export interface TextareaProps extends TextareaHTMLAttributes {
* Used to pass attributes to DOM elements inside the component.
* @type {TextareaPassThroughOptions}
*/
pt?: TextareaPassThroughOptions;
pt?: PTOptions<TextareaPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { MenuItem } from '../menuitem';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TieredMenuPassThroughOptionType = TieredMenuPassThroughAttributes | ((options: TieredMenuPassThroughMethodOptions) => TieredMenuPassThroughAttributes | string) | string | null | undefined;
@ -215,7 +215,7 @@ export interface TieredMenuProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TieredMenuPassThroughOptions}
*/
pt?: TieredMenuPassThroughOptions;
pt?: PTOptions<TieredMenuPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -8,7 +8,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TimelinePassThroughOptionType = TimelinePassThroughAttributes | ((options: TimelinePassThroughMethodOptions) => TimelinePassThroughAttributes | string) | string | null | undefined;
@ -104,7 +104,7 @@ export interface TimelineProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TimelinePassThroughOptions}
*/
pt?: TimelinePassThroughOptions;
pt?: PTOptions<TimelinePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { ButtonHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ToastPassThroughOptionType = ToastPassThroughAttributes | ((options: ToastPassThroughMethodOptions) => ToastPassThroughAttributes | string) | string | null | undefined;
@ -228,7 +228,7 @@ export interface ToastProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ToastPassThroughOptions}
*/
pt?: ToastPassThroughOptions;
pt?: PTOptions<ToastPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { InputHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ToggleButtonPassThroughOptionType = ToggleButtonPassThroughAttributes | ((options: ToggleButtonPassThroughMethodOptions) => ToggleButtonPassThroughAttributes | string) | string | null | undefined;
@ -164,7 +164,7 @@ export interface ToggleButtonProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ToggleButtonPassThroughOptions}
*/
pt?: ToggleButtonPassThroughOptions;
pt?: PTOptions<ToggleButtonPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type ToolbarPassThroughOptionType = ToolbarPassThroughAttributes | ((options: ToolbarPassThroughMethodOptions) => ToolbarPassThroughAttributes | string) | string | null | undefined;
@ -68,7 +68,7 @@ export interface ToolbarProps {
* Used to pass attributes to DOM elements inside the component.
* @type {ToolbarPassThroughOptions}
*/
pt?: ToolbarPassThroughOptions;
pt?: PTOptions<ToolbarPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,6 +9,7 @@
*/
import { DirectiveBinding, ObjectDirective } from 'vue';
import { DirectiveHooks } from '../basedirective';
import { PTOptions } from '../ts-helpers';
export declare type TooltipDirectivePassThroughOptionType = TooltipDirectivePassThroughAttributes | ((options: TooltipPassThroughMethodOptions) => TooltipDirectivePassThroughAttributes) | null | undefined;
@ -64,7 +65,7 @@ export interface TooltipOptions {
* Used to pass attributes to DOM elements inside the component.
* @type {TooltipDirectivePassThroughOptions}
*/
pt?: TooltipDirectivePassThroughOptions;
pt?: PTOptions<TooltipDirectivePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TreePassThroughOptionType = TreePassThroughAttributes | ((options: TreePassThroughMethodOptions) => TreePassThroughAttributes | string) | string | null | undefined;
@ -313,7 +313,7 @@ export interface TreeProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TreePassThroughOptions}
*/
pt?: TreePassThroughOptions;
pt?: PTOptions<TreePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -10,7 +10,7 @@
import { InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { TreeExpandedKeys, TreeNode, TreePassThroughOptionType } from '../tree';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TreeSelectPassThroughOptionType = TreeSelectPassThroughAttributes | ((options: TreeSelectPassThroughMethodOptions) => TreeSelectPassThroughAttributes | string) | string | null | undefined;
@ -208,7 +208,7 @@ export interface TreeSelectProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TreeSelectPassThroughOptions}
*/
pt?: TreeSelectPassThroughOptions;
pt?: PTOptions<TreeSelectPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -12,7 +12,7 @@ import { ComponentHooks } from '../basecomponent';
import { ColumnPassThroughOptionType } from '../column';
import { PaginatorPassThroughOptionType } from '../paginator';
import { TreeNode } from '../tree';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type TreeTablePassThroughOptionType = TreeTablePassThroughAttributes | ((options: TreeTablePassThroughMethodOptions) => TreeTablePassThroughAttributes | string) | string | null | undefined;
@ -559,7 +559,7 @@ export interface TreeTableProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TreeTablePassThroughOptions}
*/
pt?: TreeTablePassThroughOptions;
pt?: PTOptions<TreeTablePassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -9,7 +9,7 @@
*/
import { InputHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor, Nullable } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, Nullable, PTOptions } from '../ts-helpers';
export declare type TriStateCheckboxPassThroughOptionType = TriStateCheckboxPassThroughAttributes | ((options: TriStateCheckboxPassThroughMethodOptions) => TriStateCheckboxPassThroughAttributes | string) | string | null | undefined;
@ -144,7 +144,7 @@ export interface TriStateCheckboxProps {
* Used to pass attributes to DOM elements inside the component.
* @type {TriStateCheckboxPassThroughOptions}
*/
pt?: TriStateCheckboxPassThroughOptions;
pt?: PTOptions<TriStateCheckboxPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -33,4 +33,6 @@ export declare type Numberish = number | string;
export declare type Nullable<T = void> = T | null | undefined;
export declare type PTOptions<T = void> = T | object | undefined;
export declare type DefaultPTOptions<T = void> = T | ((instance?: VNode) => T | undefined) | undefined;

View File

@ -9,7 +9,7 @@
*/
import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
import { ClassComponent, GlobalComponentConstructor, PTOptions } from '../ts-helpers';
export declare type VirtualScrollerPassThroughOptionType = VirtualScrollerPassThroughAttributes | ((options: VirtualScrollerPassThroughMethodOptions) => VirtualScrollerPassThroughAttributes | string) | string | null | undefined;
@ -314,7 +314,7 @@ export interface VirtualScrollerProps {
* Used to pass attributes to DOM elements inside the component.
* @type {VirtualScrollerPassThroughOptions}
*/
pt?: VirtualScrollerPassThroughOptions;
pt?: PTOptions<VirtualScrollerPassThroughOptions>;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false

View File

@ -66,9 +66,7 @@ const CustomTailwind = usePassThrough(
},
{
merge: true, // Used to merge PT options. The default is true.
useMergeProps: false, // Whether to use Vue's 'mergeProps' method to merge PT options.
ignoredKeysOnMerge: [], // Defines keys to ignore during the merge operation. For example; ['panel.title']
customizer: undefined // Defines the custom method to merge PT options.
useMergeProps: true, // Whether to use Vue's 'mergeProps' method to merge PT options.
}
);