Merge branch 'primefaces:master' into master

pull/4878/head
Harun Demir 2023-12-07 20:54:11 +03:00 committed by GitHub
commit 0a10427acc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
180 changed files with 3592 additions and 1117 deletions

View File

@ -1,25 +1,65 @@
# Changelog # Changelog
## [3.43.0](https://github.com/primefaces/primevue/tree/3.43.0) (2023-12-05)
[Full Changelog](https://github.com/primefaces/primevue/compare/3.42.0...3.43.0)
**Fixed bugs:**
- Calendar: Overwrites date when in time-only mode [\#4901](https://github.com/primefaces/primevue/issues/4901)
- Binding and ordering pt options defect [\#4921](https://github.com/primefaces/primevue/issues/4921)
- Some icons are not displaying from PrimeIcons.js Api file [\#4897](https://github.com/primefaces/primevue/issues/4897)
- Treetable lazy load plus pagination toggler icon remain as open [\#4441](https://github.com/primefaces/primevue/issues/4441)
**Implemented New Features and Enhancements:**
- Add parent param to all pt method options [\#4929](https://github.com/primefaces/primevue/issues/4929)
- Media components Accessibility Improvements [\#4908](https://github.com/primefaces/primevue/issues/4908)
- Tree: Missing 'filter' event on search [\#4876](https://github.com/primefaces/primevue/issues/4876)
## [3.42.0](https://github.com/primefaces/primevue/tree/3.42.0) (2023-11-28)
[Full Changelog](https://github.com/primefaces/primevue/compare/3.41.1...3.42.0)
**Breaking Changes:**
- Menu components: width changed as min-width [\#4870](https://github.com/primefaces/primevue/issues/4870)
**Fixed bugs:**
- Splitter: aria-valuenow calculation defect [\#4889](https://github.com/primefaces/primevue/issues/4889)
- Listbox: select-on-focus causes a crash [\#4881](https://github.com/primefaces/primevue/issues/4881)
- Listbox: Tab key support defect when filter mode is on [\#4875](https://github.com/primefaces/primevue/issues/4875)
- Editor: Readonly prop does not react to any change [\#4872](https://github.com/primefaces/primevue/issues/4872)
- DataTable: Type definition doesn't match document [\#4662](https://github.com/primefaces/primevue/issues/4662)
- Wrong types issue with aria-label and aria-labelledby Props [\#4511](https://github.com/primefaces/primevue/issues/4511)
**Implemented New Features and Enhancements:**
- Tree / TreeTable: new loadingMode property [\#4886](https://github.com/primefaces/primevue/issues/4886)
- Improve InlineMessage Implementation for Accessibility [\#4880](https://github.com/primefaces/primevue/issues/4880)
- Calendar: new iconDisplay property [\#4871](https://github.com/primefaces/primevue/issues/4871)
## [3.41.1](https://github.com/primefaces/primevue/tree/3.41.1) (2023-11-22) ## [3.41.1](https://github.com/primefaces/primevue/tree/3.41.1) (2023-11-22)
[Full Changelog](https://github.com/primefaces/primevue/compare/3.41.0...3.41.1) [Full Changelog](https://github.com/primefaces/primevue/compare/3.41.0...3.41.1)
**Breaking Changes:** **Breaking Changes:**
- StyleClass: deprecate enterClass/leaveClass use enterFromClass/leaveFromClass [\#4866](https://github.com/primefaces/primevue/issues/486&) - StyleClass: deprecate enterClass/leaveClass use enterFromClass/leaveFromClass [\#4866](https://github.com/primefaces/primevue/issues/486&)
- Listbox: metaKeySelection default changed as true [\#4865](https://github.com/primefaces/primevue/issues/4865) - Listbox: metaKeySelection default changed as true [\#4865](https://github.com/primefaces/primevue/issues/4865)
**Fixed bugs:** **Fixed bugs:**
- DataTable: restore state defect [\#4855](https://github.com/primefaces/primevue/issues/4855) - DataTable: restore state defect [\#4855](https://github.com/primefaces/primevue/issues/4855)
- PanelMenu: Menu items with no sub-items toggling border radius [\#4816](https://github.com/primefaces/primevue/issues/4816) - PanelMenu: Menu items with no sub-items toggling border radius [\#4816](https://github.com/primefaces/primevue/issues/4816)
- Column: Missing typing for sorticon [\#4423](https://github.com/primefaces/primevue/issues/4423) - Column: Missing typing for sorticon [\#4423](https://github.com/primefaces/primevue/issues/4423)
**Implemented New Features and Enhancements:** **Implemented New Features and Enhancements:**
- Button: new badgeSeverity property [\#4863](https://github.com/primefaces/primevue/issues/4863) - Button: new badgeSeverity property [\#4863](https://github.com/primefaces/primevue/issues/4863)
- MegaMenu / Menubar: menubutton templating [\#4862](https://github.com/primefaces/primevue/issues/4862) - MegaMenu / Menubar: menubutton templating [\#4862](https://github.com/primefaces/primevue/issues/4862)
- Calendar: Week Number customization [\#4669](https://github.com/primefaces/primevue/issues/4669) - Calendar: Week Number customization [\#4669](https://github.com/primefaces/primevue/issues/4669)
## [3.41.0](https://github.com/primefaces/primevue/tree/3.41.0) (2023-11-20) ## [3.41.0](https://github.com/primefaces/primevue/tree/3.41.0) (2023-11-20)
@ -2221,14 +2261,14 @@
**Implemented New Features and Enhancements:** **Implemented New Features and Enhancements:**
- v2 DataTable: Frozen column improvements [\#4795](https://github.com/primefaces/primevue/issues/4795) - v2 DataTable: Frozen column improvements [\#4795](https://github.com/primefaces/primevue/issues/4795)
- TreeTable: Add custom header for column [\#2941](https://github.com/primefaces/primevue/issues/2941) - TreeTable: Add custom header for column [\#2941](https://github.com/primefaces/primevue/issues/2941)
**Fixed bugs:** **Fixed bugs:**
- OrderList: order of selection reversed when moving multiple items to top or bottom [\#4700](https://github.com/primefaces/primevue/issues/4700) - OrderList: order of selection reversed when moving multiple items to top or bottom [\#4700](https://github.com/primefaces/primevue/issues/4700)
- Calendar: Crashes when Tab pressed and calendar overlay is not showing [\#4586](https://github.com/primefaces/primevue/issues/4586) - Calendar: Crashes when Tab pressed and calendar overlay is not showing [\#4586](https://github.com/primefaces/primevue/issues/4586)
- Calendar: Months are not highlighted with selection-mode="multiple" [\#3988](https://github.com/primefaces/primevue/issues/3988) - Calendar: Months are not highlighted with selection-mode="multiple" [\#3988](https://github.com/primefaces/primevue/issues/3988)
## [2.10.2](https://github.com/primefaces/primevue/tree/2.10.2) (2023-08-16) ## [2.10.2](https://github.com/primefaces/primevue/tree/2.10.2) (2023-08-16)

View File

@ -1,8 +1,8 @@
{ {
"id": 45, "id": 46,
"content": "🎉 Black Friday Sale! Up to 50% Off", "content": "Sakai Free Admin Template",
"linkText": "Buy Now", "linkText": "View Demo",
"linkHref": "https://www.primefaces.org/store", "linkHref": "https://sakai.primefaces.org",
"backgroundStyle": "background-color:var(--primary-color)", "backgroundStyle": "background-color:var(--primary-color)",
"textStyle": "color:var(--primary-color-text);font-weight:500", "textStyle": "color:var(--primary-color-text);font-weight:500",
"linkStyle": "color:var(--primary-color-text);font-weight:700;text-decoration: underline;" "linkStyle": "color:var(--primary-color-text);font-weight:700;text-decoration: underline;"

View File

@ -448,10 +448,6 @@
"name": "Overview", "name": "Overview",
"to": "/theming" "to": "/theming"
}, },
{
"name": "Visual Editor",
"href": "https://designer.primevue.org"
},
{ {
"name": "Colors", "name": "Colors",
"to": "/colors" "to": "/colors"

View File

@ -29,14 +29,14 @@
<template v-for="(value, i) in getType(v)" :key="value"> <template v-for="(value, i) in getType(v)" :key="value">
<span v-if="i !== 0" class="doc-option-type">{{ ' | ' }}</span> <span v-if="i !== 0" class="doc-option-type">{{ ' | ' }}</span>
<NuxtLink v-if="isLinkType(value)" :to="setLinkPath(value)" class="doc-option-type doc-option-link">{{ value }}</NuxtLink <NuxtLink v-if="isLinkType(value)" :to="setLinkPath(value)" class="doc-option-type doc-option-link">{{ value }}</NuxtLink
><span v-else class="doc-option-type">{{ value }}</span> ><span v-else class="doc-option-type">{{ value === 'T' ? 'any' : value }}</span>
</template> </template>
</template> </template>
<template v-else-if="k === 'options'"> <template v-else-if="k === 'options'">
<template v-for="val in v" :key="val.name"> <template v-for="val in v" :key="val.name">
<div class="doc-option-type-options-container"> <div class="doc-option-type-options-container">
{{ val.name }}: <span class="doc-option-type-options doc-option-type">{{ val.type }}</span> {{ val.name }}: <span class="doc-option-type-options doc-option-type">{{ val.type === 'T' || (val.type.includes('<T') && !val.type.includes('<Tr')) ? 'any' : val.type }}</span>
</div> </div>
</template> </template>
</template> </template>
@ -111,7 +111,7 @@ export default {
}); });
}, },
isLinkType(value) { isLinkType(value) {
if (this.label === 'Slots') return false; if (this.label === 'Slots' || value.includes('SharedPassThroughOption') || value.includes('PassThrough<')) return false;
const validValues = ['confirmationoptions', 'toastmessageoptions']; const validValues = ['confirmationoptions', 'toastmessageoptions'];
return value.toLowerCase().includes(this.id.split('.')[1]) || validValues.includes(value.toLowerCase()); return value.toLowerCase().includes(this.id.split('.')[1]) || validValues.includes(value.toLowerCase());

View File

@ -2,7 +2,7 @@ import pkg from '../../../package.json';
import { services } from './services'; import { services } from './services';
const PrimeVue = { const PrimeVue = {
version: '^3.40.0', version: '^3.43.0',
description: description:
'PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock, which has 400+ ready to use UI blocks to build spectacular applications in no time.' 'PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock, which has 400+ ready to use UI blocks to build spectacular applications in no time.'
}; };
@ -60,7 +60,7 @@ const getVueApp = (props = {}, sourceType) => {
if (embedded) { if (embedded) {
// main.js // main.js
unstyled += `, unstyled: true, pt: Tailwind, ptOptions: { mergeProps: true }`; unstyled += `, unstyled: true, pt: Tailwind`;
imports += `import Tailwind from 'primevue/passthrough/tailwind'; imports += `import Tailwind from 'primevue/passthrough/tailwind';
import ThemeSwitcher from './components/ThemeSwitcher.vue';`; import ThemeSwitcher from './components/ThemeSwitcher.vue';`;
element += `app.component('ThemeSwitcher', ThemeSwitcher);`; element += `app.component('ThemeSwitcher', ThemeSwitcher);`;

View File

@ -7,10 +7,21 @@ export const getPTOption = (name) => {
for (const [i, prop] of props.entries()) { for (const [i, prop] of props.entries()) {
if (options) { if (options) {
let subCompName, subOptions;
let hasSubComp = prop.name !== 'hooks' && prop.type.indexOf('TransitionType') === -1 && prop.type.indexOf('<') > -1 && name.toLowerCase() !== prop.type.slice(0, prop.type.indexOf('<')).toLowerCase();
if (hasSubComp) {
subCompName = prop.type.slice(0, prop.type.indexOf('<')).replace('PassThroughOptions', '').replace('PassThroughOptionType', '');
subOptions = APIDocs[subCompName.toLowerCase()].interfaces.values[`${subCompName}PassThroughMethodOptions`];
const objToReplace = subOptions.props.find((opt) => opt.name === 'parent');
objToReplace.type = prop.type;
}
data.push({ data.push({
value: i + 1, value: i + 1,
label: prop.name, label: prop.name,
options: options?.props, options: hasSubComp ? subOptions?.props : options?.props,
description: prop.description description: prop.description
}); });
} else { } else {

View File

@ -31,6 +31,10 @@ export interface AccordionPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: AccordionState; state: AccordionState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -106,6 +106,7 @@ export default {
const tabMetaData = { const tabMetaData = {
props: tab.props || {}, props: tab.props || {},
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -8,7 +8,6 @@
* *
*/ */
import { AnchorHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue'; import { AnchorHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue';
import { AccordionPassThroughOptions } from '../accordion';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
@ -29,9 +28,9 @@ export interface AccordionTabPassThroughMethodOptions {
*/ */
props: AccordionTabProps; props: AccordionTabProps;
/** /**
* Defines parent instance. * Defines parent options.
*/ */
parent: AccordionPassThroughOptions; parent: any;
/** /**
* Defines current options. * Defines current options.
*/ */

View File

@ -193,20 +193,20 @@ const PrimeIcons = {
SLIDERS_V: 'pi pi-sliders-v', SLIDERS_V: 'pi pi-sliders-v',
SORT: 'pi pi-sort', SORT: 'pi pi-sort',
SORT_ALPHA_DOWN: 'pi pi-sort-alpha-down', SORT_ALPHA_DOWN: 'pi pi-sort-alpha-down',
SORT_ALPHA_ALT_DOWN: 'pi pi-sort-alpha-alt-down', SORT_ALPHA_ALT_DOWN: 'pi pi-sort-alpha-down-alt',
SORT_ALPHA_UP: 'pi pi-sort-alpha-up', SORT_ALPHA_UP: 'pi pi-sort-alpha-up',
SORT_ALPHA_ALT_UP: 'pi pi-sort-alpha-alt-up', SORT_ALPHA_ALT_UP: 'pi pi-sort-alpha-up-alt',
SORT_ALT: 'pi pi-sort-alt', SORT_ALT: 'pi pi-sort-alt',
SORT_ALT_SLASH: 'pi pi-sort-slash', SORT_ALT_SLASH: 'pi pi-sort-alt-slash',
SORT_AMOUNT_DOWN: 'pi pi-sort-amount-down', SORT_AMOUNT_DOWN: 'pi pi-sort-amount-down',
SORT_AMOUNT_DOWN_ALT: 'pi pi-sort-amount-down-alt', SORT_AMOUNT_DOWN_ALT: 'pi pi-sort-amount-down-alt',
SORT_AMOUNT_UP: 'pi pi-sort-amount-up', SORT_AMOUNT_UP: 'pi pi-sort-amount-up',
SORT_AMOUNT_UP_ALT: 'pi pi-sort-amount-up-alt', SORT_AMOUNT_UP_ALT: 'pi pi-sort-amount-up-alt',
SORT_DOWN: 'pi pi-sort-down', SORT_DOWN: 'pi pi-sort-down',
SORT_NUMERIC_DOWN: 'pi pi-sort-numeric-down', SORT_NUMERIC_DOWN: 'pi pi-sort-numeric-down',
SORT_NUMERIC_ALT_DOWN: 'pi pi-sort-numeric-alt-down', SORT_NUMERIC_ALT_DOWN: 'pi pi-sort-numeric-down-alt',
SORT_NUMERIC_UP: 'pi pi-sort-numeric-up', SORT_NUMERIC_UP: 'pi pi-sort-numeric-up',
SORT_NUMERIC_ALT_UP: 'pi pi-sort-numeric-alt-up', SORT_NUMERIC_ALT_UP: 'pi pi-sort-numeric-up-alt',
SORT_UP: 'pi pi-sort-up', SORT_UP: 'pi pi-sort-up',
SPINNER: 'pi pi-spinner', SPINNER: 'pi pi-spinner',
STAR: 'pi pi-star', STAR: 'pi pi-star',
@ -216,7 +216,7 @@ const PrimeIcons = {
STEP_FORWARD: 'pi pi-step-forward', STEP_FORWARD: 'pi pi-step-forward',
STEP_FORWARD_ALT: 'pi pi-step-forward-alt', STEP_FORWARD_ALT: 'pi pi-step-forward-alt',
STOP: 'pi pi-stop', STOP: 'pi pi-stop',
STOPWATCH: 'pi pi-stop-watch', STOPWATCH: 'pi pi-stopwatch',
STOP_CIRCLE: 'pi pi-stop-circle', STOP_CIRCLE: 'pi pi-stop-circle',
SUN: 'pi pi-sun', SUN: 'pi pi-sun',
SYNC: 'pi pi-sync', SYNC: 'pi pi-sync',

View File

@ -9,7 +9,7 @@
*/ */
import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue'; import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button'; import { ButtonPassThroughOptions } from '../button';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
import { VirtualScrollerItemOptions, VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller'; import { VirtualScrollerItemOptions, VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller';
@ -38,12 +38,30 @@ export interface AutoCompletePassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: AutoCompleteContext; context: AutoCompleteContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface AutoCompleteSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: AutoCompleteProps;
/**
* Defines current inline state.
*/
state: AutoCompleteState;
}
/** /**
* Custom change event. * Custom change event.
* @see {@link AutoCompleteEmits.change} * @see {@link AutoCompleteEmits.change}
@ -150,8 +168,9 @@ export interface AutoCompletePassThroughOptions {
loadingIcon?: AutoCompletePassThroughOptionType; loadingIcon?: AutoCompletePassThroughOptionType;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions}
*/ */
dropdownButton?: ButtonPassThroughOptionType; dropdownButton?: ButtonPassThroughOptions<AutoCompleteSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the panel's DOM element. * Used to pass attributes to the panel's DOM element.
*/ */

View File

@ -7,7 +7,6 @@
* @module avatar * @module avatar
*/ */
import { VNode } from 'vue'; import { VNode } from 'vue';
import { AvatarGroupPassThroughOptions } from '../avatargroup';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
@ -27,9 +26,9 @@ export interface AvatarPassThroughMethodOptions {
*/ */
props: AvatarProps; props: AvatarProps;
/** /**
* Defines parent instance. * Defines parent options.
*/ */
parent: AvatarGroupPassThroughOptions; parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -1,10 +1,10 @@
<template> <template>
<div :class="cx('root')" :aria-labelledby="ariaLabelledby" :aria-label="ariaLabel" v-bind="getPTOptions('root')" data-pc-name="avatar"> <div :class="cx('root')" :aria-labelledby="ariaLabelledby" :aria-label="ariaLabel" v-bind="ptm('root')" data-pc-name="avatar">
<slot> <slot>
<span v-if="label" :class="cx('label')" v-bind="getPTOptions('label')">{{ label }}</span> <span v-if="label" :class="cx('label')" v-bind="ptm('label')">{{ label }}</span>
<component v-else-if="$slots.icon" :is="$slots.icon" :class="cx('icon')" /> <component v-else-if="$slots.icon" :is="$slots.icon" :class="cx('icon')" />
<span v-else-if="icon" :class="[cx('icon'), icon]" v-bind="getPTOptions('icon')" /> <span v-else-if="icon" :class="[cx('icon'), icon]" v-bind="ptm('icon')" />
<img v-else-if="image" :src="image" :alt="ariaLabel" @error="onError" v-bind="getPTOptions('image')" /> <img v-else-if="image" :src="image" :alt="ariaLabel" @error="onError" v-bind="ptm('image')" />
</slot> </slot>
</div> </div>
</template> </template>
@ -19,13 +19,6 @@ export default {
methods: { methods: {
onError(event) { onError(event) {
this.$emit('error', event); this.$emit('error', event);
},
getPTOptions(key) {
return this.ptm(key, {
parent: {
instance: this.$parent
}
});
} }
} }
}; };

View File

@ -12,12 +12,12 @@ import { ComponentHooks } from '../basecomponent';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
export declare type BadgePassThroughOptionType = BadgePassThroughAttributes | ((options: BadgePassThroughMethodOptions) => BadgePassThroughAttributes | string) | string | null | undefined; export declare type BadgePassThroughOptionType<T = any> = BadgePassThroughAttributes | ((options: BadgePassThroughMethodOptions<T>) => BadgePassThroughAttributes | string) | string | null | undefined;
/** /**
* Custom passthrough(pt) option method. * Custom passthrough(pt) option method.
*/ */
export interface BadgePassThroughMethodOptions { export interface BadgePassThroughMethodOptions<T> {
/** /**
* Defines instance. * Defines instance.
*/ */
@ -30,6 +30,10 @@ export interface BadgePassThroughMethodOptions {
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
/**
* Defines parent instance.
*/
parent: T;
} }
/** /**
@ -43,11 +47,11 @@ export interface BadgePassThroughAttributes {
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link BadgeProps.pt} * @see {@link BadgeProps.pt}
*/ */
export interface BadgePassThroughOptions { export interface BadgePassThroughOptions<T = any> {
/** /**
* Used to pass attributes to the root's DOM element. * Used to pass attributes to the root's DOM element.
*/ */
root?: BadgePassThroughOptionType; root?: BadgePassThroughOptionType<T>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

View File

@ -18,6 +18,10 @@ export declare type BadgeDirectivePassThroughOptionType = BadgeDirectivePassThro
*/ */
export interface BadgePassThroughMethodOptions { export interface BadgePassThroughMethodOptions {
context: BadgeContext; context: BadgeContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -202,7 +202,20 @@ export default {
return this.unstyled !== undefined ? this.unstyled : this.$config?.unstyled; return this.unstyled !== undefined ? this.unstyled : this.$config?.unstyled;
}, },
$params() { $params() {
return { instance: this, props: this.$props, state: this.$data, parentInstance: this.$parentInstance }; const parentInstance = this.$parentInstance || this.$parent;
return {
instance: this,
props: this.$props,
state: this.$data,
parent: {
instance: parentInstance,
props: parentInstance?.$props,
state: parentInstance?.$data
},
/* @deprecated since v3.43.0. Use the `parent.instance` instead of the `parentInstance`.*/
parentInstance
};
}, },
$style() { $style() {
return { classes: undefined, inlineStyles: undefined, loadStyle: () => {}, loadCustomStyle: () => {}, ...(this._getHostInstance(this) || {}).$style, ...this.$options.style }; return { classes: undefined, inlineStyles: undefined, loadStyle: () => {}, loadCustomStyle: () => {}, ...(this._getHostInstance(this) || {}).$style, ...this.$options.style };

View File

@ -30,6 +30,10 @@ export interface BlockUIPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: BlockUIState; state: BlockUIState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -31,6 +31,10 @@ export interface BreadcrumbPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: BreadcrumbContext; context: BreadcrumbContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -12,12 +12,12 @@ import { ComponentHooks } from '../basecomponent';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
export declare type ButtonPassThroughOptionType = ButtonPassThroughAttributes | ((options: ButtonPassThroughMethodOptions) => ButtonPassThroughAttributes | string) | string | null | undefined; export declare type ButtonPassThroughOptionType<T = any> = ButtonPassThroughAttributes | ((options: ButtonPassThroughMethodOptions<T>) => ButtonPassThroughAttributes | string) | string | null | undefined;
/** /**
* Custom passthrough(pt) option method. * Custom passthrough(pt) option method.
*/ */
export interface ButtonPassThroughMethodOptions { export interface ButtonPassThroughMethodOptions<T> {
/** /**
* Defines instance. * Defines instance.
*/ */
@ -33,7 +33,7 @@ export interface ButtonPassThroughMethodOptions {
/** /**
* Defines parent instance. * Defines parent instance.
*/ */
parent: any; parent: T;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
@ -44,27 +44,27 @@ export interface ButtonPassThroughMethodOptions {
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link ButtonProps.pt} * @see {@link ButtonProps.pt}
*/ */
export interface ButtonPassThroughOptions { export interface ButtonPassThroughOptions<T = any> {
/** /**
* Used to pass attributes to the root's DOM element. * Used to pass attributes to the root's DOM element.
*/ */
root?: ButtonPassThroughOptionType; root?: ButtonPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the loading icon's DOM element. * Used to pass attributes to the loading icon's DOM element.
*/ */
loadingIcon?: ButtonPassThroughOptionType; loadingIcon?: ButtonPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the icon's DOM element. * Used to pass attributes to the icon's DOM element.
*/ */
icon?: ButtonPassThroughOptionType; icon?: ButtonPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the label's DOM element. * Used to pass attributes to the label's DOM element.
*/ */
label?: ButtonPassThroughOptionType; label?: ButtonPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the badge's DOM element. * Used to pass attributes to the badge's DOM element.
*/ */
badge?: ButtonPassThroughOptionType; badge?: ButtonPassThroughOptionType<T>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}
@ -171,7 +171,7 @@ export interface ButtonProps extends ButtonHTMLAttributes {
* Used to pass attributes to DOM elements inside the component. * Used to pass attributes to DOM elements inside the component.
* @type {ButtonPassThroughOptions} * @type {ButtonPassThroughOptions}
*/ */
pt?: PassThrough<ButtonPassThroughOptions>; pt?: PassThrough<ButtonPassThroughOptions<any>>;
/** /**
* Used to configure passthrough(pt) options of the component. * Used to configure passthrough(pt) options of the component.
* @type {PassThroughOptions} * @type {PassThroughOptions}

View File

@ -26,10 +26,6 @@ export default {
methods: { methods: {
getPTOptions(key) { getPTOptions(key) {
return this.ptm(key, { return this.ptm(key, {
parent: {
props: this.$parent?.$props,
state: this.$parent?.$data
},
context: { context: {
disabled: this.disabled disabled: this.disabled
} }
@ -41,7 +37,7 @@ export default {
return this.$attrs.disabled || this.$attrs.disabled === '' || this.loading; return this.$attrs.disabled || this.$attrs.disabled === '' || this.loading;
}, },
defaultAriaLabel() { defaultAriaLabel() {
return this.label ? this.label + (this.badge ? ' ' + this.badge : '') : this.$attrs['aria-label']; return this.label ? this.label + (this.badge ? ' ' + this.badge : '') : this.$attrs.ariaLabel;
}, },
hasIcon() { hasIcon() {
return this.icon || this.$slots.icon; return this.icon || this.$slots.icon;

View File

@ -9,7 +9,7 @@
*/ */
import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue'; import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button'; import { ButtonPassThroughOptions } from '../button';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
@ -37,12 +37,30 @@ export interface CalendarPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: CalendarContext; context: CalendarContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface CalendarSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: CalendarProps;
/**
* Defines current inline state.
*/
state: CalendarState;
}
/** /**
* Custom Calendar responsive options metadata. * Custom Calendar responsive options metadata.
*/ */
@ -117,9 +135,9 @@ export interface CalendarPassThroughOptions {
input?: CalendarPassThroughOptionType; input?: CalendarPassThroughOptionType;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
dropdownButton?: ButtonPassThroughOptionType; dropdownButton?: ButtonPassThroughOptions<CalendarSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the panel's DOM element. * Used to pass attributes to the panel's DOM element.
*/ */
@ -138,9 +156,9 @@ export interface CalendarPassThroughOptions {
header?: CalendarPassThroughOptionType; header?: CalendarPassThroughOptionType;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
previousButton?: ButtonPassThroughOptionType; previousButton?: ButtonPassThroughOptions<CalendarSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the title's DOM element. * Used to pass attributes to the title's DOM element.
*/ */
@ -159,9 +177,9 @@ export interface CalendarPassThroughOptions {
decadeTitle?: CalendarPassThroughOptionType; decadeTitle?: CalendarPassThroughOptionType;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
nextButton?: ButtonPassThroughOptionType; nextButton?: ButtonPassThroughOptions<CalendarSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the container's DOM element. * Used to pass attributes to the container's DOM element.
*/ */
@ -288,14 +306,14 @@ export interface CalendarPassThroughOptions {
buttonbar?: CalendarPassThroughOptionType; buttonbar?: CalendarPassThroughOptionType;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
todayButton?: ButtonPassThroughOptionType; todayButton?: ButtonPassThroughOptions<CalendarSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
clearButton?: ButtonPassThroughOptionType; clearButton?: ButtonPassThroughOptions<CalendarSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the aria selected day's DOM element. * Used to pass attributes to the aria selected day's DOM element.
*/ */
@ -798,6 +816,10 @@ export interface CalendarSlots {
* Style class of the input icon * Style class of the input icon
*/ */
class: any; class: any;
/**
* Click callback
*/
clickCallback: () => void;
}): VNode[]; }): VNode[];
/** /**
* Custom previous icon template. * Custom previous icon template.

View File

@ -48,7 +48,7 @@
</template> </template>
</CalendarButton> </CalendarButton>
<template v-else-if="showIcon && iconDisplay === 'input'"> <template v-else-if="showIcon && iconDisplay === 'input'">
<slot name="inputicon" :class="cx('inputIcon')"> <slot name="inputicon" :class="cx('inputIcon')" :clickCallback="onButtonClick">
<component :is="icon ? 'i' : 'CalendarIcon'" :class="[icon, cx('inputIcon')]" @click="onButtonClick" v-bind="ptm('inputicon')" /> <component :is="icon ? 'i' : 'CalendarIcon'" :class="[icon, cx('inputIcon')]" @click="onButtonClick" v-bind="ptm('inputicon')" />
</slot> </slot>
</template> </template>
@ -1272,14 +1272,10 @@ export default {
let formattedValue = null; let formattedValue = null;
if (date) { if (date) {
if (this.timeOnly) { formattedValue = this.formatDate(date, this.datePattern);
formattedValue = this.formatTime(date);
} else {
formattedValue = this.formatDate(date, this.datePattern);
if (this.showTime) { if (this.showTime || this.timeOnly) {
formattedValue += ' ' + this.formatTime(date); formattedValue += ' ' + this.formatTime(date);
}
} }
} }
@ -1798,18 +1794,13 @@ export default {
let date; let date;
let parts = text.split(' '); let parts = text.split(' ');
if (this.timeOnly) { const dateFormat = this.datePattern;
date = new Date();
this.populateTime(date, parts[0], parts[1]);
} else {
const dateFormat = this.datePattern;
if (this.showTime) { if (this.showTime || this.timeOnly) {
date = this.parseDate(parts[0], dateFormat); date = this.parseDate(parts[0], dateFormat);
this.populateTime(date, parts[1], parts[2]); this.populateTime(date, parts[1], parts[2]);
} else { } else {
date = this.parseDate(text, dateFormat); date = this.parseDate(text, dateFormat);
}
} }
return date; return date;

View File

@ -34,6 +34,10 @@ export interface CarouselPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: CarouselContext; context: CarouselContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -101,7 +101,7 @@ import ChevronLeftIcon from 'primevue/icons/chevronleft';
import ChevronRightIcon from 'primevue/icons/chevronright'; import ChevronRightIcon from 'primevue/icons/chevronright';
import ChevronUpIcon from 'primevue/icons/chevronup'; import ChevronUpIcon from 'primevue/icons/chevronup';
import Ripple from 'primevue/ripple'; import Ripple from 'primevue/ripple';
import { DomHandler, UniqueComponentId, ObjectUtils } from 'primevue/utils'; import { DomHandler, ObjectUtils, UniqueComponentId } from 'primevue/utils';
import BaseCarousel from './BaseCarousel.vue'; import BaseCarousel from './BaseCarousel.vue';
export default { export default {
@ -453,6 +453,8 @@ export default {
case 'ArrowUp': case 'ArrowUp':
case 'ArrowDown': case 'ArrowDown':
case 'PageUp':
case 'PageDown':
event.preventDefault(); event.preventDefault();
break; break;
@ -481,7 +483,7 @@ export default {
this.changedFocusedIndicator(activeIndex, 0); this.changedFocusedIndicator(activeIndex, 0);
}, },
onEndKey() { onEndKey() {
const indicators = [...DomHandler.find(this.$refs.indicatorContent, '[data-pc-section="indicator"]r')]; const indicators = [...DomHandler.find(this.$refs.indicatorContent, '[data-pc-section="indicator"]')];
const activeIndex = this.findFocusedIndicatorIndex(); const activeIndex = this.findFocusedIndicatorIndex();
this.changedFocusedIndicator(activeIndex, indicators.length - 1); this.changedFocusedIndicator(activeIndex, indicators.length - 1);

View File

@ -32,6 +32,10 @@ export interface CascadeSelectPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: CascadeSelectState; state: CascadeSelectState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -26,6 +26,10 @@ export interface ChartPassThroughMethodOptions {
* Defines valid properties. * Defines valid properties.
*/ */
props: ChartProps; props: ChartProps;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -1,5 +1,5 @@
<template> <template>
<div :class="cx('root')" v-bind="ptm('root')" data-pc-name="chart"> <div :class="cx('root')" :style="sx('root')" v-bind="ptm('root')" data-pc-name="chart">
<canvas ref="canvas" :width="width" :height="height" @click="onCanvasClick($event)" v-bind="{ ...canvasProps, ...ptm('canvas') }"></canvas> <canvas ref="canvas" :width="width" :height="height" @click="onCanvasClick($event)" v-bind="{ ...canvasProps, ...ptm('canvas') }"></canvas>
</div> </div>
</template> </template>

View File

@ -1,12 +1,8 @@
import BaseStyle from 'primevue/base/style'; import BaseStyle from 'primevue/base/style';
const css = ` const inlineStyles = {
@layer primevue { root: { position: 'relative' }
.p-chart { };
position: relative;
}
}
`;
const classes = { const classes = {
root: 'p-chart' root: 'p-chart'
@ -14,6 +10,6 @@ const classes = {
export default BaseStyle.extend({ export default BaseStyle.extend({
name: 'chart', name: 'chart',
css, inlineStyles,
classes classes
}); });

View File

@ -34,6 +34,10 @@ export interface CheckboxPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: CheckboxContext; context: CheckboxContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -30,6 +30,10 @@ export interface ChipPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: ChipState; state: ChipState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -30,6 +30,10 @@ export interface ChipsPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: ChipsState; state: ChipsState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -32,6 +32,10 @@ export interface ColorPickerPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: ColorPickerState; state: ColorPickerState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -11,7 +11,7 @@
import { VNode } from 'vue'; import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button'; import { ButtonPassThroughOptions } from '../button';
import { DataTablePassThroughOptions } from '../datatable'; import { DataTablePassThroughOptions } from '../datatable';
import { DropdownPassThroughOptionType } from '../dropdown'; import { DropdownPassThroughOptionType } from '../dropdown';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
@ -33,9 +33,9 @@ export interface ColumnPassThroughMethodOptions {
*/ */
props: ColumnProps; props: ColumnProps;
/** /**
* Defines parent instance. * Defines parent options.
*/ */
parent: DataTablePassThroughOptions; parent: any;
/** /**
* Defines current options. * Defines current options.
*/ */
@ -46,6 +46,20 @@ export interface ColumnPassThroughMethodOptions {
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface ColumnSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: ColumnProps;
/**
* Defines parent instance.
*/
parent: DataTablePassThroughOptions;
}
/** /**
* Filter model metadata. * Filter model metadata.
*/ */
@ -194,7 +208,7 @@ export interface ColumnPassThroughOptions {
* Used to pass attributes to the Dropdown component. * Used to pass attributes to the Dropdown component.
* @see {@link DropdownPassThroughOptionType} * @see {@link DropdownPassThroughOptionType}
*/ */
filterOperatorDropdown?: DropdownPassThroughOptionType; filterOperatorDropdown?: DropdownPassThroughOptionType<ColumnSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the filter constraints' DOM element. * Used to pass attributes to the filter constraints' DOM element.
*/ */
@ -207,39 +221,39 @@ export interface ColumnPassThroughOptions {
* Used to pass attributes to the Dropdown component. * Used to pass attributes to the Dropdown component.
* @see {@link DropdownPassThroughOptionType} * @see {@link DropdownPassThroughOptionType}
*/ */
filterMatchModeDropdown?: DropdownPassThroughOptionType; filterMatchModeDropdown?: DropdownPassThroughOptionType<ColumnSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the filter remove button container's DOM element. * Used to pass attributes to the filter remove button container's DOM element.
*/ */
filterRemove?: ColumnPassThroughOptionType; filterRemove?: ColumnPassThroughOptionType;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
filterRemoveButton?: ButtonPassThroughOptionType; filterRemoveButton?: ButtonPassThroughOptions<ColumnSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the filter add rule's DOM element. * Used to pass attributes to the filter add rule's DOM element.
*/ */
filterAddRule?: ColumnPassThroughOptionType; filterAddRule?: ColumnPassThroughOptionType;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
filterAddRuleButton?: ButtonPassThroughOptionType; filterAddRuleButton?: ButtonPassThroughOptions<ColumnSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the filter buttonbar's DOM element. * Used to pass attributes to the filter buttonbar's DOM element.
*/ */
filterButtonbar?: ColumnPassThroughOptionType; filterButtonbar?: ColumnPassThroughOptionType;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
filterClearButton?: ButtonPassThroughOptionType; filterClearButton?: ButtonPassThroughOptions<ColumnSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptionType} * @see {@link ButtonPassThroughOptions}
*/ */
filterApplyButton?: ButtonPassThroughOptionType; filterApplyButton?: ButtonPassThroughOptions<ColumnSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the body cell's DOM element. * Used to pass attributes to the body cell's DOM element.
*/ */

View File

@ -6,7 +6,6 @@
* @module columngroup * @module columngroup
*/ */
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { DataTablePassThroughOptions } from '../datatable';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
@ -25,9 +24,9 @@ export interface ColumnGroupPassThroughMethodOptions {
*/ */
props: ColumnGroupProps; props: ColumnGroupProps;
/** /**
* Defines parent instance. * Defines parent options.
*/ */
parent: DataTablePassThroughOptions; parent: any;
/** /**
* Defines current options. * Defines current options.
*/ */

View File

@ -92,7 +92,7 @@ export const defaultOptions = {
moveToSource: 'Move to Source', moveToSource: 'Move to Source',
moveAllToTarget: 'Move All to Target', moveAllToTarget: 'Move All to Target',
moveAllToSource: 'Move All to Source', moveAllToSource: 'Move All to Source',
pageLabel: '{page}', pageLabel: 'Page {page}',
firstPageLabel: 'First Page', firstPageLabel: 'First Page',
lastPageLabel: 'Last Page', lastPageLabel: 'Last Page',
nextPageLabel: 'Next Page', nextPageLabel: 'Next Page',

View File

@ -32,12 +32,30 @@ export interface ConfirmDialogPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: ConfirmDialogState; state: ConfirmDialogState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface ConfirmDialogSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: ConfirmDialogProps;
/**
* Defines current inline state.
*/
state: ConfirmDialogState;
}
/** /**
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link ConfirmDialogProps.pt} * @see {@link ConfirmDialogProps.pt}
@ -87,12 +105,12 @@ export interface ConfirmDialogPassThroughOptions {
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
rejectButton?: ButtonPassThroughOptions; rejectButton?: ButtonPassThroughOptions<ConfirmDialogSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
acceptButton?: ButtonPassThroughOptions; acceptButton?: ButtonPassThroughOptions<ConfirmDialogSharedPassThroughMethodOptions>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

View File

@ -34,12 +34,30 @@ export interface ConfirmPopupPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: ConfirmPopupState; state: ConfirmPopupState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface ConfirmPopupSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: ConfirmPopupProps;
/**
* Defines current inline state.
*/
state: ConfirmPopupState;
}
/** /**
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link ConfirmPopupProps.pt} * @see {@link ConfirmPopupProps.pt}
@ -69,12 +87,12 @@ export interface ConfirmPopupPassThroughOptions {
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
rejectButton?: ButtonPassThroughOptions; rejectButton?: ButtonPassThroughOptions<ConfirmPopupSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
acceptButton?: ButtonPassThroughOptions; acceptButton?: ButtonPassThroughOptions<ConfirmPopupSharedPassThroughMethodOptions>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

View File

@ -38,6 +38,10 @@ export interface ContextMenuPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: ContextMenuContext; context: ContextMenuContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -222,6 +222,7 @@ export default {
const columnMetaData = { const columnMetaData = {
props: this.column.props, props: this.column.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -330,6 +330,7 @@ export default {
const columnMetaData = { const columnMetaData = {
props: this.column.props, props: this.column.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -41,12 +41,30 @@ export interface DataTablePassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: DataTableContext; context: DataTableContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface DataTableSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: DataTableProps;
/**
* Defines current inline state.
*/
state: DataTableState;
}
/** /**
* Custom datatable export metadata. * Custom datatable export metadata.
*/ */
@ -378,7 +396,7 @@ export interface DataTableRowExpandEvent {
/** /**
* Expanded row data * Expanded row data
*/ */
data: any[]; data: any;
} }
/** /**
@ -582,7 +600,7 @@ export interface DataTablePassThroughOptions {
* Used to pass attributes to the Paginator component. * Used to pass attributes to the Paginator component.
* @see {@link PaginatorPassThroughOptionType} * @see {@link PaginatorPassThroughOptionType}
*/ */
paginator?: PaginatorPassThroughOptionType; paginator?: PaginatorPassThroughOptionType<DataTableSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the wrapper's DOM element. * Used to pass attributes to the wrapper's DOM element.
*/ */

View File

@ -47,6 +47,7 @@ export default {
const columnMetaData = { const columnMetaData = {
props: this.column.props, props: this.column.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -206,6 +206,7 @@ export default {
const columnMetaData = { const columnMetaData = {
props: this.column.props, props: this.column.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -50,6 +50,7 @@ export default {
const columnMetaData = { const columnMetaData = {
props: this.column.props, props: this.column.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -55,6 +55,7 @@ export default {
const columnMetaData = { const columnMetaData = {
props: this.column.props, props: this.column.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -40,6 +40,7 @@ export default {
const columnMetaData = { const columnMetaData = {
props: this.column.props, props: this.column.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -310,6 +310,7 @@ export default {
getColumnPT(key) { getColumnPT(key) {
const columnMetaData = { const columnMetaData = {
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
} }

View File

@ -43,6 +43,7 @@ export default {
const columnGroupMetaData = { const columnGroupMetaData = {
props: this.getColumnGroupProps(), props: this.getColumnGroupProps(),
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },
@ -61,6 +62,7 @@ export default {
const rowMetaData = { const rowMetaData = {
props: row.props, props: row.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -234,6 +234,7 @@ export default {
const columnGroupMetaData = { const columnGroupMetaData = {
props: this.getColumnGroupProps(), props: this.getColumnGroupProps(),
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },
@ -252,6 +253,7 @@ export default {
const rowMetaData = { const rowMetaData = {
props: row.props, props: row.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },
@ -269,6 +271,7 @@ export default {
const columnMetaData = { const columnMetaData = {
props: column.props, props: column.props,
parent: { parent: {
instance: this,
props: this.$props, props: this.$props,
state: this.$data state: this.$data
}, },

View File

@ -31,11 +31,30 @@ export interface DataViewPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: DataViewState; state: DataViewState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface DataViewSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: DataViewProps;
/**
* Defines current inline state.
*/
state: DataViewState;
}
/** /**
* Custom page event. * Custom page event.
* @see {@link DataViewEmits.page} * @see {@link DataViewEmits.page}
@ -76,7 +95,7 @@ export interface DataViewPassThroughOptions {
* Used to pass attributes to the Paginator component. * Used to pass attributes to the Paginator component.
* @see {@link PaginatorPassThroughOptionType} * @see {@link PaginatorPassThroughOptionType}
*/ */
paginator?: PaginatorPassThroughOptionType; paginator?: PaginatorPassThroughOptionType<DataViewSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the content's DOM element. * Used to pass attributes to the content's DOM element.
*/ */

View File

@ -35,6 +35,10 @@ export interface DataViewLayoutOptionsPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: DataViewLayoutOptionsState; state: DataViewLayoutOptionsState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -30,6 +30,10 @@ export interface DeferredContentPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: DeferredContentState; state: DeferredContentState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -12,14 +12,14 @@ import { ComponentHooks } from '../basecomponent';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
export declare type DialogPassThroughOptionType = DialogPassThroughAttributes | ((options: DialogPassThroughMethodOptions) => DialogPassThroughAttributes | string) | string | null | undefined; export declare type DialogPassThroughOptionType<T = any> = DialogPassThroughAttributes | ((options: DialogPassThroughMethodOptions<T>) => DialogPassThroughAttributes | string) | string | null | undefined;
export declare type DialogPassThroughTransitionType = TransitionProps | ((options: DialogPassThroughMethodOptions) => TransitionProps) | undefined; export declare type DialogPassThroughTransitionType<T = any> = TransitionProps | ((options: DialogPassThroughMethodOptions<T>) => TransitionProps) | undefined;
/** /**
* Custom passthrough(pt) option method. * Custom passthrough(pt) option method.
*/ */
export interface DialogPassThroughMethodOptions { export interface DialogPassThroughMethodOptions<T> {
/** /**
* Defines instance. * Defines instance.
*/ */
@ -32,6 +32,10 @@ export interface DialogPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: DialogState; state: DialogState;
/**
* Defines parent instance.
*/
parent: T;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
@ -42,51 +46,51 @@ export interface DialogPassThroughMethodOptions {
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link DialogProps.pt} * @see {@link DialogProps.pt}
*/ */
export interface DialogPassThroughOptions { export interface DialogPassThroughOptions<T = any> {
/** /**
* Used to pass attributes to the root's DOM element. * Used to pass attributes to the root's DOM element.
*/ */
root?: DialogPassThroughOptionType; root?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the header's DOM element. * Used to pass attributes to the header's DOM element.
*/ */
header?: DialogPassThroughOptionType; header?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the header title's DOM element. * Used to pass attributes to the header title's DOM element.
*/ */
title?: DialogPassThroughOptionType; title?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the header icons' DOM element. * Used to pass attributes to the header icons' DOM element.
*/ */
icons?: DialogPassThroughOptionType; icons?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the maximizable button's DOM element. * Used to pass attributes to the maximizable button's DOM element.
*/ */
maximizableButton?: DialogPassThroughOptionType; maximizableButton?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the maximizable icon's DOM element. * Used to pass attributes to the maximizable icon's DOM element.
*/ */
maximizableIcon?: DialogPassThroughOptionType; maximizableIcon?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the close button's component. * Used to pass attributes to the close button's component.
*/ */
closeButton?: DialogPassThroughOptionType; closeButton?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the close button icon's component. * Used to pass attributes to the close button icon's component.
*/ */
closeButtonIcon?: DialogPassThroughOptionType; closeButtonIcon?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the content's DOM element. * Used to pass attributes to the content's DOM element.
*/ */
content?: DialogPassThroughOptionType; content?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the footer's DOM element. * Used to pass attributes to the footer's DOM element.
*/ */
footer?: DialogPassThroughOptionType; footer?: DialogPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the mask's DOM element. * Used to pass attributes to the mask's DOM element.
*/ */
mask?: DialogPassThroughOptionType; mask?: DialogPassThroughOptionType<T>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}
@ -95,7 +99,7 @@ export interface DialogPassThroughOptions {
/** /**
* Used to control Vue Transition API. * Used to control Vue Transition API.
*/ */
transition?: DialogPassThroughTransitionType; transition?: DialogPassThroughTransitionType<T>;
} }
/** /**

View File

@ -26,6 +26,10 @@ export interface DividerPassThroughMethodOptions {
* Defines valid properties. * Defines valid properties.
*/ */
props: DividerProps; props: DividerProps;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -35,6 +35,10 @@ export interface DockPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: DockContext; context: DockContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -13,14 +13,14 @@ import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
import { VirtualScrollerItemOptions, VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller'; import { VirtualScrollerItemOptions, VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller';
export declare type DropdownPassThroughOptionType = DropdownPassThroughAttributes | ((options: DropdownPassThroughMethodOptions) => DropdownPassThroughAttributes | string) | string | null | undefined; export declare type DropdownPassThroughOptionType<T = any> = DropdownPassThroughAttributes | ((options: DropdownPassThroughMethodOptions<T>) => DropdownPassThroughAttributes | string) | string | null | undefined;
export declare type DropdownPassThroughTransitionType = TransitionProps | ((options: DropdownPassThroughMethodOptions) => TransitionProps) | undefined; export declare type DropdownPassThroughTransitionType<T = any> = TransitionProps | ((options: DropdownPassThroughMethodOptions<T>) => TransitionProps) | undefined;
/** /**
* Custom passthrough(pt) option method. * Custom passthrough(pt) option method.
*/ */
export interface DropdownPassThroughMethodOptions { export interface DropdownPassThroughMethodOptions<T> {
/** /**
* Defines instance. * Defines instance.
*/ */
@ -33,6 +33,10 @@ export interface DropdownPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: DropdownState; state: DropdownState;
/**
* Defines parent instance.
*/
parent: T | any;
/** /**
* Defines current options. * Defines current options.
*/ */
@ -77,51 +81,51 @@ export interface DropdownFilterEvent {
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link DropdownProps.pt} * @see {@link DropdownProps.pt}
*/ */
export interface DropdownPassThroughOptions { export interface DropdownPassThroughOptions<T = any> {
/** /**
* Used to pass attributes to the root's DOM element. * Used to pass attributes to the root's DOM element.
*/ */
root?: DropdownPassThroughOptionType; root?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the input's DOM element. * Used to pass attributes to the input's DOM element.
*/ */
input?: DropdownPassThroughOptionType; input?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the clear icon's DOM element. * Used to pass attributes to the clear icon's DOM element.
*/ */
clearIcon?: DropdownPassThroughOptionType; clearIcon?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the trigger' DOM element. * Used to pass attributes to the trigger' DOM element.
*/ */
trigger?: DropdownPassThroughOptionType; trigger?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the loading icon's DOM element. * Used to pass attributes to the loading icon's DOM element.
*/ */
loadingIcon?: DropdownPassThroughOptionType; loadingIcon?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the panel's DOM element. * Used to pass attributes to the panel's DOM element.
*/ */
panel?: DropdownPassThroughOptionType; panel?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the header's DOM element. * Used to pass attributes to the header's DOM element.
*/ */
header?: DropdownPassThroughOptionType; header?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the filter container's DOM element. * Used to pass attributes to the filter container's DOM element.
*/ */
filterContainer?: DropdownPassThroughOptionType; filterContainer?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the filter input's DOM element. * Used to pass attributes to the filter input's DOM element.
*/ */
filterInput?: DropdownPassThroughOptionType; filterInput?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the filter icon's DOM element. * Used to pass attributes to the filter icon's DOM element.
*/ */
filterIcon?: DropdownPassThroughOptionType; filterIcon?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the wrapper's DOM element. * Used to pass attributes to the wrapper's DOM element.
*/ */
wrapper?: DropdownPassThroughOptionType; wrapper?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the VirtualScroller component. * Used to pass attributes to the VirtualScroller component.
* @see {@link VirtualScrollerPassThroughOptionType} * @see {@link VirtualScrollerPassThroughOptionType}
@ -130,39 +134,39 @@ export interface DropdownPassThroughOptions {
/** /**
* Used to pass attributes to the list's DOM element. * Used to pass attributes to the list's DOM element.
*/ */
list?: DropdownPassThroughOptionType; list?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the item group's DOM element. * Used to pass attributes to the item group's DOM element.
*/ */
itemGroup?: DropdownPassThroughOptionType; itemGroup?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the item's DOM element. * Used to pass attributes to the item's DOM element.
*/ */
item?: DropdownPassThroughOptionType; item?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the empty message's DOM element. * Used to pass attributes to the empty message's DOM element.
*/ */
emptyMessage?: DropdownPassThroughOptionType; emptyMessage?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the hidden first focusable element's DOM element. * Used to pass attributes to the hidden first focusable element's DOM element.
*/ */
hiddenFirstFocusableEl?: DropdownPassThroughOptionType; hiddenFirstFocusableEl?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the hidden filter result's DOM element. * Used to pass attributes to the hidden filter result's DOM element.
*/ */
hiddenFilterResult?: DropdownPassThroughOptionType; hiddenFilterResult?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the hidden empty message's DOM element. * Used to pass attributes to the hidden empty message's DOM element.
*/ */
hiddenEmptyMessage?: DropdownPassThroughOptionType; hiddenEmptyMessage?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the hidden selected message's DOM element. * Used to pass attributes to the hidden selected message's DOM element.
*/ */
hiddenSelectedMessage?: DropdownPassThroughOptionType; hiddenSelectedMessage?: DropdownPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the hidden last focusable element's DOM element. * Used to pass attributes to the hidden last focusable element's DOM element.
*/ */
hiddenLastFocusableEl?: DropdownPassThroughOptionType; hiddenLastFocusableEl?: DropdownPassThroughOptionType<T>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

View File

@ -125,7 +125,7 @@
:data-p-highlight="isSelected(option)" :data-p-highlight="isSelected(option)"
:data-p-focused="focusedOptionIndex === getOptionIndex(i, getItemOptions)" :data-p-focused="focusedOptionIndex === getOptionIndex(i, getItemOptions)"
:data-p-disabled="isOptionDisabled(option)" :data-p-disabled="isOptionDisabled(option)"
v-bind="getPTOptions(option, getItemOptions, i, 'item')" v-bind="getPTItemOptions(option, getItemOptions, i, 'item')"
> >
<slot name="option" :option="option" :index="getOptionIndex(i, getItemOptions)">{{ getOptionLabel(option) }}</slot> <slot name="option" :option="option" :index="getOptionIndex(i, getItemOptions)">{{ getOptionLabel(option) }}</slot>
</li> </li>
@ -253,7 +253,7 @@ export default {
getOptionRenderKey(option, index) { getOptionRenderKey(option, index) {
return (this.dataKey ? ObjectUtils.resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index; return (this.dataKey ? ObjectUtils.resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;
}, },
getPTOptions(option, itemOptions, index, key) { getPTItemOptions(option, itemOptions, index, key) {
return this.ptm(key, { return this.ptm(key, {
context: { context: {
selected: this.isSelected(option), selected: this.isSelected(option),

View File

@ -102,7 +102,7 @@ const classes = {
'p-dropdown p-component p-inputwrapper', 'p-dropdown p-component p-inputwrapper',
{ {
'p-disabled': props.disabled, 'p-disabled': props.disabled,
'p-dropdown-clearable': props.showClear && !props.disabled, 'p-dropdown-clearable': props.showClear,
'p-focus': state.focused, 'p-focus': state.focused,
'p-inputwrapper-filled': instance.hasSelectedOption, 'p-inputwrapper-filled': instance.hasSelectedOption,
'p-inputwrapper-focus': state.focused || state.overlayVisible, 'p-inputwrapper-focus': state.focused || state.overlayVisible,

View File

@ -30,6 +30,10 @@ export interface EditorPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: EditorState; state: EditorState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -32,6 +32,10 @@ export interface FieldsetPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: FieldsetState; state: FieldsetState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -77,7 +77,7 @@ export default {
return UniqueComponentId(); return UniqueComponentId();
}, },
buttonAriaLabel() { buttonAriaLabel() {
return this.toggleButtonProps && this.toggleButtonProps['aria-label'] ? this.toggleButtonProps['aria-label'] : this.legend; return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.legend;
} }
}, },
directives: { directives: {

View File

@ -8,6 +8,7 @@
* *
*/ */
import { VNode } from 'vue'; import { VNode } from 'vue';
import { BadgePassThroughOptions } from '../badge';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptions } from '../button'; import { ButtonPassThroughOptions } from '../button';
import { MessagePassThroughOptions } from '../message'; import { MessagePassThroughOptions } from '../message';
@ -32,12 +33,30 @@ export interface FileUploadPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: FileUploadState; state: FileUploadState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface FileUploadPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: FileUploadProps;
/**
* Defines current inline state.
*/
state: FileUploadState;
}
/** /**
* Custom select event. * Custom select event.
* @see {@link FileUploadEmits.select} * @see {@link FileUploadEmits.select}
@ -199,12 +218,12 @@ export interface FileUploadPassThroughOptions {
* Used to pass attributes to the upload button's DOM element. * Used to pass attributes to the upload button's DOM element.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
uploadButton?: ButtonPassThroughOptions; uploadButton?: ButtonPassThroughOptions<FileUploadPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the cancel button's DOM element. * Used to pass attributes to the cancel button's DOM element.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
cancelButton?: ButtonPassThroughOptions; cancelButton?: ButtonPassThroughOptions<FileUploadPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the content's DOM element. * Used to pass attributes to the content's DOM element.
*/ */
@ -217,7 +236,7 @@ export interface FileUploadPassThroughOptions {
* Used to pass attributes to the messages' DOM element. * Used to pass attributes to the messages' DOM element.
* @see {@link MessagePassThroughOptions} * @see {@link MessagePassThroughOptions}
*/ */
message?: MessagePassThroughOptions; message?: MessagePassThroughOptions<FileUploadPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the file's DOM element. * Used to pass attributes to the file's DOM element.
*/ */
@ -239,9 +258,10 @@ export interface FileUploadPassThroughOptions {
*/ */
fileSize?: FileUploadPassThroughOptionType; fileSize?: FileUploadPassThroughOptionType;
/** /**
* Used to pass attributes to the badge's DOM element. * Used to pass attributes to the Badge component.
* @see {@link BadgePassThroughOptions}
*/ */
badge?: FileUploadPassThroughOptionType; badge?: BadgePassThroughOptions<FileUploadPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the actions's DOM element. * Used to pass attributes to the actions's DOM element.
*/ */
@ -250,7 +270,7 @@ export interface FileUploadPassThroughOptions {
* Used to pass attributes to the remove button's DOM element. * Used to pass attributes to the remove button's DOM element.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
removeButton?: ButtonPassThroughOptions; removeButton?: ButtonPassThroughOptions<FileUploadPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the empty's DOM element. * Used to pass attributes to the empty's DOM element.
*/ */

View File

@ -113,6 +113,14 @@ export default {
nextButtonProps: { nextButtonProps: {
type: null, type: null,
default: null default: null
},
ariaLabel: {
type: String,
default: null
},
ariaRoledescription: {
type: String,
default: null
} }
}, },
style: GalleriaStyle, style: GalleriaStyle,

View File

@ -36,6 +36,10 @@ export interface GalleriaPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: GalleriaContext; context: GalleriaContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
@ -390,6 +394,14 @@ export interface GalleriaProps {
* Used to pass all properties of the HTMLButtonElement to the next navigation button. * Used to pass all properties of the HTMLButtonElement to the next navigation button.
*/ */
nextButtonProps?: ButtonHTMLAttributes | undefined; nextButtonProps?: ButtonHTMLAttributes | undefined;
/**
* Defines a string value that labels an interactive element.
*/
ariaLabel?: string | undefined;
/**
* Defines a string value that description for the role of the component.
*/
ariaRoledescription?: string | undefined;
/** /**
* Used to pass attributes to DOM elements inside the component. * Used to pass attributes to DOM elements inside the component.
* @type {GalleriaPassThroughOptions} * @type {GalleriaPassThroughOptions}

View File

@ -1,6 +1,6 @@
<template> <template>
<Portal v-if="fullScreen"> <Portal v-if="fullScreen">
<div v-if="containerVisible" :ref="maskRef" :class="[cx('mask'), maskClass]" :role="fullScreen ? 'dialog' : 'region'" :aria-modal="fullScreen ? 'true' : undefined" v-bind="ptm('mask')"> <div v-if="containerVisible" :ref="maskRef" :class="[cx('mask'), maskClass]" role="dialog" :aria-modal="fullScreen ? 'true' : undefined" v-bind="ptm('mask')">
<transition name="p-galleria" @before-enter="onBeforeEnter" @enter="onEnter" @before-leave="onBeforeLeave" @after-leave="onAfterLeave" appear v-bind="ptm('transition')"> <transition name="p-galleria" @before-enter="onBeforeEnter" @enter="onEnter" @before-leave="onBeforeLeave" @after-leave="onAfterLeave" appear v-bind="ptm('transition')">
<GalleriaContent v-if="visible" :ref="containerRef" v-focustrap @mask-hide="maskHide" :templates="$slots" @activeitem-change="onActiveItemChange" :pt="pt" :unstyled="unstyled" v-bind="$props" /> <GalleriaContent v-if="visible" :ref="containerRef" v-focustrap @mask-hide="maskHide" :templates="$slots" @activeitem-change="onActiveItemChange" :pt="pt" :unstyled="unstyled" v-bind="$props" />
</transition> </transition>

View File

@ -1,5 +1,15 @@
<template> <template>
<div v-if="$attrs.value && $attrs.value.length > 0" :id="id" :class="[cx('root'), $attrs.containerClass]" :style="$attrs.containerStyle" v-bind="{ ...$attrs.containerProps, ...getPTOptions('root') }" data-pc-name="galleria"> <div
v-if="$attrs.value && $attrs.value.length > 0"
:id="id"
role="region"
:class="[cx('root'), $attrs.containerClass]"
:style="$attrs.containerStyle"
:aria-label="$attrs.ariaLabel"
:aria-roledescription="$attrs.ariaRoledescription"
v-bind="{ ...$attrs.containerProps, ...getPTOptions('root') }"
data-pc-name="galleria"
>
<button v-if="$attrs.fullScreen" v-ripple autofocus type="button" :class="cx('closeButton')" :aria-label="closeAriaLabel" @click="$emit('mask-hide')" v-bind="getPTOptions('closeButton')"> <button v-if="$attrs.fullScreen" v-ripple autofocus type="button" :class="cx('closeButton')" :aria-label="closeAriaLabel" @click="$emit('mask-hide')" v-bind="getPTOptions('closeButton')">
<component :is="$attrs.templates['closeicon'] || 'TimesIcon'" :class="cx('closeIcon')" v-bind="getPTOptions('closeIcon')" /> <component :is="$attrs.templates['closeicon'] || 'TimesIcon'" :class="cx('closeIcon')" v-bind="getPTOptions('closeIcon')" />
</button> </button>

View File

@ -14,12 +14,11 @@
<component v-if="templates.caption" :is="templates.caption" :item="activeItem" /> <component v-if="templates.caption" :is="templates.caption" :item="activeItem" />
</div> </div>
</div> </div>
<ul v-if="showIndicators" :class="cx('indicators')" v-bind="ptm('indicators')"> <ul v-if="showIndicators" ref="indicatorContent" :class="cx('indicators')" v-bind="ptm('indicators')">
<li <li
v-for="(item, index) of value" v-for="(item, index) of value"
:key="`p-galleria-indicator-${index}`" :key="`p-galleria-indicator-${index}`"
:class="cx('indicator', { index })" :class="cx('indicator', { index })"
tabindex="0"
:aria-label="ariaPageLabel(index + 1)" :aria-label="ariaPageLabel(index + 1)"
:aria-selected="activeIndex === index" :aria-selected="activeIndex === index"
:aria-controls="id + '_item_' + index" :aria-controls="id + '_item_' + index"
@ -29,7 +28,7 @@
v-bind="ptm('indicator', getIndicatorPTOptions(index))" v-bind="ptm('indicator', getIndicatorPTOptions(index))"
:data-p-highlight="isIndicatorItemActive(index)" :data-p-highlight="isIndicatorItemActive(index)"
> >
<button v-if="!templates['indicator']" type="button" tabindex="-1" :class="cx('indicatorButton')" v-bind="ptm('indicatorButton', getIndicatorPTOptions(index))"></button> <button v-if="!templates['indicator']" type="button" :tabindex="activeIndex === index ? '0' : '-1'" :class="cx('indicatorButton')" v-bind="ptm('indicatorButton', getIndicatorPTOptions(index))"></button>
<component v-if="templates.indicator" :is="templates.indicator" :index="index" /> <component v-if="templates.indicator" :is="templates.indicator" :index="index" />
</li> </li>
</ul> </ul>
@ -41,6 +40,7 @@ import BaseComponent from 'primevue/basecomponent';
import ChevronLeftIcon from 'primevue/icons/chevronleft'; import ChevronLeftIcon from 'primevue/icons/chevronleft';
import ChevronRightIcon from 'primevue/icons/chevronright'; import ChevronRightIcon from 'primevue/icons/chevronright';
import Ripple from 'primevue/ripple'; import Ripple from 'primevue/ripple';
import { DomHandler } from 'primevue/utils';
export default { export default {
name: 'GalleriaItem', name: 'GalleriaItem',
@ -156,8 +156,32 @@ export default {
event.preventDefault(); event.preventDefault();
break; break;
case 'ArrowRight':
this.onRightKey();
break;
case 'ArrowLeft':
this.onLeftKey();
break;
case 'Home':
this.onHomeKey();
event.preventDefault();
break;
case 'End':
this.onEndKey();
event.preventDefault();
break;
case 'Tab':
this.onTabKey();
break;
case 'ArrowDown': case 'ArrowDown':
case 'ArrowUp': case 'ArrowUp':
case 'PageUp':
case 'PageDown':
event.preventDefault(); event.preventDefault();
break; break;
@ -165,6 +189,51 @@ export default {
break; break;
} }
}, },
onRightKey() {
const indicators = [...DomHandler.find(this.$refs.indicatorContent, '[data-pc-section="indicator"]')];
const activeIndex = this.findFocusedIndicatorIndex();
this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);
},
onLeftKey() {
const activeIndex = this.findFocusedIndicatorIndex();
this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);
},
onHomeKey() {
const activeIndex = this.findFocusedIndicatorIndex();
this.changedFocusedIndicator(activeIndex, 0);
},
onEndKey() {
const indicators = [...DomHandler.find(this.$refs.indicatorContent, '[data-pc-section="indicator"]')];
const activeIndex = this.findFocusedIndicatorIndex();
this.changedFocusedIndicator(activeIndex, indicators.length - 1);
},
onTabKey() {
const indicators = [...DomHandler.find(this.$refs.indicatorContent, '[data-pc-section="indicator"]')];
const highlightedIndex = indicators.findIndex((ind) => DomHandler.getAttribute(ind, 'data-p-highlight') === true);
const activeIndicator = DomHandler.findSingle(this.$refs.indicatorContent, '[data-pc-section="indicator"] > button[tabindex="0"]');
const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);
indicators[activeIndex].children[0].tabIndex = '-1';
indicators[highlightedIndex].children[0].tabIndex = '0';
},
findFocusedIndicatorIndex() {
const indicators = [...DomHandler.find(this.$refs.indicatorContent, '[data-pc-section="indicator"]')];
const activeIndicator = DomHandler.findSingle(this.$refs.indicatorContent, '[data-pc-section="indicator"] > button[tabindex="0"]');
return indicators.findIndex((ind) => ind === activeIndicator.parentElement);
},
changedFocusedIndicator(prevInd, nextInd) {
const indicators = [...DomHandler.find(this.$refs.indicatorContent, '[data-pc-section="indicator"]')];
indicators[prevInd].children[0].tabIndex = '-1';
indicators[nextInd].children[0].tabIndex = '0';
indicators[nextInd].children[0].focus();
},
isIndicatorItemActive(index) { isIndicatorItemActive(index) {
return this.activeIndex === index; return this.activeIndex === index;
}, },

View File

@ -32,6 +32,10 @@ export interface ImagePassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: ImageState; state: ImageState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -3,7 +3,7 @@
<slot name="image" :onError="onError" :errorCallback="onError"> <slot name="image" :onError="onError" :errorCallback="onError">
<img :style="imageStyle" :class="[cx('image'), imageClass]" @error="onError" v-bind="{ ...$attrs, ...ptm('image') }" /> <img :style="imageStyle" :class="[cx('image'), imageClass]" @error="onError" v-bind="{ ...$attrs, ...ptm('image') }" />
</slot> </slot>
<button v-if="preview" ref="previewButton" type="button" :class="cx('button')" @click="onImageClick" v-bind="{ ...previewButtonProps, ...ptm('button') }"> <button v-if="preview" ref="previewButton" :aria-label="zoomImageAriaLabel" type="button" :class="cx('button')" @click="onImageClick" v-bind="{ ...previewButtonProps, ...ptm('button') }">
<slot name="indicatoricon"> <slot name="indicatoricon">
<component :is="indicatorIcon ? 'i' : 'EyeIcon'" :class="cx('icon')" v-bind="ptm('icon')" /> <component :is="indicatorIcon ? 'i' : 'EyeIcon'" :class="cx('icon')" v-bind="ptm('icon')" />
</slot> </slot>
@ -212,6 +212,9 @@ export default {
zoomOutAriaLabel() { zoomOutAriaLabel() {
return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomOut : undefined; return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomOut : undefined;
}, },
zoomImageAriaLabel() {
return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomImage : undefined;
},
closeAriaLabel() { closeAriaLabel() {
return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined; return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;
} }

View File

@ -30,6 +30,10 @@ export interface InlineMessagePassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: InlineMessageState; state: InlineMessageState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -1,5 +1,5 @@
<template> <template>
<div aria-live="polite" :class="cx('root')" v-bind="ptm('root')"> <div role="alert" aria-live="assertive" aria-atomic="true" :class="cx('root')" v-bind="ptm('root')">
<slot name="icon"> <slot name="icon">
<component :is="icon ? 'span' : iconComponent" :class="cx('icon')" v-bind="ptm('icon')"></component> <component :is="icon ? 'span' : iconComponent" :class="cx('icon')" v-bind="ptm('icon')"></component>
</slot> </slot>
@ -10,11 +10,11 @@
</template> </template>
<script> <script>
import BaseInlineMessage from './BaseInlineMessage.vue';
import CheckIcon from 'primevue/icons/check'; import CheckIcon from 'primevue/icons/check';
import ExclamationTriangleIcon from 'primevue/icons/exclamationtriangle'; import ExclamationTriangleIcon from 'primevue/icons/exclamationtriangle';
import InfoCircleIcon from 'primevue/icons/infocircle'; import InfoCircleIcon from 'primevue/icons/infocircle';
import TimesCircleIcon from 'primevue/icons/timescircle'; import TimesCircleIcon from 'primevue/icons/timescircle';
import BaseInlineMessage from './BaseInlineMessage.vue';
export default { export default {
name: 'InlineMessage', name: 'InlineMessage',

View File

@ -32,12 +32,30 @@ export interface InplacePassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: InplaceState; state: InplaceState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface InplaceSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: InplaceProps;
/**
* Defines current inline state.
*/
state: InplaceState;
}
/** /**
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link InplaceProps.pt} * @see {@link InplaceProps.pt}
@ -59,7 +77,7 @@ export interface InplacePassThroughOptions {
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
closeButton?: ButtonPassThroughOptions; closeButton?: ButtonPassThroughOptions<InplaceSharedPassThroughMethodOptions>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

View File

@ -22,6 +22,10 @@ export interface InputGroupPassThroughMethodOptions {
* Defines instance. * Defines instance.
*/ */
instance: any; instance: any;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -22,6 +22,10 @@ export interface InputGroupAddonPassThroughMethodOptions {
* Defines instance. * Defines instance.
*/ */
instance: any; instance: any;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -29,6 +29,10 @@ export interface InputMaskPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: InputMaskContext; context: InputMaskContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -9,17 +9,17 @@
*/ */
import { ButtonHTMLAttributes, InputHTMLAttributes, VNode } from 'vue'; import { ButtonHTMLAttributes, InputHTMLAttributes, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button'; import { ButtonPassThroughOptions } from '../button';
import { InputTextPassThroughOptionType } from '../inputtext'; import { InputTextPassThroughOptions } from '../inputtext';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, Nullable, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, Nullable, PassThrough } from '../ts-helpers';
export declare type InputNumberPassThroughOptionType = InputNumberPassThroughAttributes | ((options: InputNumberPassThroughMethodOptions) => InputNumberPassThroughAttributes | string) | string | null | undefined; export declare type InputNumberPassThroughOptionType<T = any> = InputNumberPassThroughAttributes | ((options: InputNumberPassThroughMethodOptions<T>) => InputNumberPassThroughAttributes | string) | string | null | undefined;
/** /**
* Custom passthrough(pt) option method. * Custom passthrough(pt) option method.
*/ */
export interface InputNumberPassThroughMethodOptions { export interface InputNumberPassThroughMethodOptions<T> {
/** /**
* Defines instance. * Defines instance.
*/ */
@ -32,12 +32,30 @@ export interface InputNumberPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: InputNumberState; state: InputNumberState;
/**
* Defines parent instance.
*/
parent: T;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface InputNumberSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: InputNumberProps;
/**
* Defines current inline state.
*/
state: InputNumberState;
}
/** /**
* Custom input event. * Custom input event.
* @see {@link InputNumberEmits.input} * @see {@link InputNumberEmits.input}
@ -72,30 +90,30 @@ export interface InputNumberBlurEvent {
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link InputNumberProps.pt} * @see {@link InputNumberProps.pt}
*/ */
export interface InputNumberPassThroughOptions { export interface InputNumberPassThroughOptions<T = any> {
/** /**
* Used to pass attributes to the root's DOM element. * Used to pass attributes to the root's DOM element.
*/ */
root?: InputNumberPassThroughOptionType; root?: InputNumberPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the Input component. * Used to pass attributes to the InputText component.
* @see {@link InputTextPassThroughOptionType} * @see {@link InputTextPassThroughOptions}
*/ */
input?: InputTextPassThroughOptionType; input?: InputTextPassThroughOptions<InputNumberSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the button group's DOM element. * Used to pass attributes to the button group's DOM element.
*/ */
buttonGroup?: InputNumberPassThroughOptionType; buttonGroup?: InputNumberPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
incrementButton?: ButtonPassThroughOptionType; incrementButton?: ButtonPassThroughOptions<InputNumberSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions} * @see {@link ButtonPassThroughOptions}
*/ */
decrementButton?: ButtonPassThroughOptionType; decrementButton?: ButtonPassThroughOptions<InputNumberSharedPassThroughMethodOptions>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

View File

@ -22,7 +22,8 @@
@click="onInputClick" @click="onInputClick"
@focus="onInputFocus" @focus="onInputFocus"
@blur="onInputBlur" @blur="onInputBlur"
v-bind="{ ...inputProps, ...ptm('input') }" v-bind="inputProps"
:pt="ptm('input')"
:unstyled="unstyled" :unstyled="unstyled"
data-pc-section="input" data-pc-section="input"
/> />
@ -33,7 +34,8 @@
:disabled="disabled" :disabled="disabled"
:tabindex="-1" :tabindex="-1"
aria-hidden="true" aria-hidden="true"
v-bind="{ ...incrementButtonProps, ...ptm('incrementButton') }" v-bind="incrementButtonProps"
:pt="ptm('incrementButton')"
:unstyled="unstyled" :unstyled="unstyled"
data-pc-section="incrementbutton" data-pc-section="incrementbutton"
> >
@ -49,7 +51,8 @@
:disabled="disabled" :disabled="disabled"
:tabindex="-1" :tabindex="-1"
aria-hidden="true" aria-hidden="true"
v-bind="{ ...decrementButtonProps, ...ptm('decrementButton') }" v-bind="decrementButtonProps"
:pt="ptm('decrementButton')"
:unstyled="unstyled" :unstyled="unstyled"
data-pc-section="decrementbutton" data-pc-section="decrementbutton"
> >
@ -67,7 +70,8 @@
:disabled="disabled" :disabled="disabled"
:tabindex="-1" :tabindex="-1"
aria-hidden="true" aria-hidden="true"
v-bind="{ ...incrementButtonProps, ...ptm('incrementButton') }" v-bind="incrementButtonProps"
:pt="ptm('incrementButton')"
:unstyled="unstyled" :unstyled="unstyled"
data-pc-section="incrementbutton" data-pc-section="incrementbutton"
> >
@ -84,7 +88,8 @@
:disabled="disabled" :disabled="disabled"
:tabindex="-1" :tabindex="-1"
aria-hidden="true" aria-hidden="true"
v-bind="{ ...decrementButtonProps, ...ptm('decrementButton') }" v-bind="decrementButtonProps"
:pt="ptm('decrementButton')"
:unstyled="unstyled" :unstyled="unstyled"
data-pc-section="decrementbutton" data-pc-section="decrementbutton"
> >

View File

@ -30,6 +30,10 @@ export interface InputSwitchPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: InputSwitchState; state: InputSwitchState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -12,12 +12,12 @@ import { ComponentHooks } from '../basecomponent';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, Nullable, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, Nullable, PassThrough } from '../ts-helpers';
export declare type InputTextPassThroughOptionType = InputTextPassThroughAttributes | ((options: InputTextPassThroughMethodOptions) => InputTextPassThroughAttributes | string) | string | null | undefined; export declare type InputTextPassThroughOptionType<T = any> = InputTextPassThroughAttributes | ((options: InputTextPassThroughMethodOptions<T>) => InputTextPassThroughAttributes | string) | string | null | undefined;
/** /**
* Custom passthrough(pt) option method. * Custom passthrough(pt) option method.
*/ */
export interface InputTextPassThroughMethodOptions { export interface InputTextPassThroughMethodOptions<T = any> {
/** /**
* Defines instance. * Defines instance.
*/ */
@ -30,6 +30,10 @@ export interface InputTextPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: InputTextContext; context: InputTextContext;
/**
* Defines parent instance.
*/
parent: T;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
@ -40,11 +44,11 @@ export interface InputTextPassThroughMethodOptions {
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link InputTextProps.pt} * @see {@link InputTextProps.pt}
*/ */
export interface InputTextPassThroughOptions { export interface InputTextPassThroughOptions<T = any> {
/** /**
* Used to pass attributes to the root's DOM element. * Used to pass attributes to the root's DOM element.
*/ */
root?: InputTextPassThroughOptionType; root?: InputTextPassThroughOptionType<T>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

View File

@ -1,5 +1,5 @@
<template> <template>
<input :class="cx('root')" :value="modelValue" @input="onInput" v-bind="ptm('root', ptmParams)" data-pc-name="inputtext" /> <input :class="cx('root')" :value="modelValue" @input="onInput" v-bind="getPTOptions('root')" data-pc-name="inputtext" />
</template> </template>
<script> <script>
@ -10,6 +10,14 @@ export default {
extends: BaseInputText, extends: BaseInputText,
emits: ['update:modelValue'], emits: ['update:modelValue'],
methods: { methods: {
getPTOptions(key) {
return this.ptm(key, {
context: {
filled: this.filled,
disabled: this.$attrs.disabled || this.$attrs.disabled === ''
}
});
},
onInput(event) { onInput(event) {
this.$emit('update:modelValue', event.target.value); this.$emit('update:modelValue', event.target.value);
} }
@ -17,14 +25,6 @@ export default {
computed: { computed: {
filled() { filled() {
return this.modelValue != null && this.modelValue.toString().length > 0; return this.modelValue != null && this.modelValue.toString().length > 0;
},
ptmParams() {
return {
context: {
filled: this.filled,
disabled: this.$attrs.disabled || this.$attrs.disabled === ''
}
};
} }
} }
}; };

View File

@ -29,6 +29,10 @@ export interface KnobPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: KnobState; state: KnobState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -35,6 +35,10 @@ export interface ListboxPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: ListboxContext; context: ListboxContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -228,6 +228,7 @@ export default {
onListFocus(event) { onListFocus(event) {
this.focused = true; this.focused = true;
this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
this.autoUpdateModel();
this.$emit('focus', event); this.$emit('focus', event);
}, },
onListBlur(event) { onListBlur(event) {
@ -327,7 +328,7 @@ export default {
let metaSelection = this.optionTouched ? false : this.metaKeySelection; let metaSelection = this.optionTouched ? false : this.metaKeySelection;
if (metaSelection) { if (metaSelection) {
let metaKey = event.metaKey || event.ctrlKey; let metaKey = event && (event.metaKey || event.ctrlKey);
if (selected) { if (selected) {
if (metaKey) { if (metaKey) {
@ -632,7 +633,7 @@ export default {
} }
}, },
autoUpdateModel() { autoUpdateModel() {
if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption && !this.multiple) { if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption && !this.multiple && this.focused) {
this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex]); this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex]);
} }

View File

@ -35,6 +35,10 @@ export interface MegaMenuPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: MegaMenuContext; context: MegaMenuContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -37,6 +37,10 @@ export interface MenuPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: MenuContext; context: MenuContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -35,6 +35,10 @@ export interface MenubarPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: MenubarContext; context: MenubarContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -12,14 +12,14 @@ import { ComponentHooks } from '../basecomponent';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
export declare type MessagePassThroughOptionType = MessagePassThroughAttributes | ((options: MessagePassThroughMethodOptions) => MessagePassThroughAttributes | string) | string | null | undefined; export declare type MessagePassThroughOptionType<T = any> = MessagePassThroughAttributes | ((options: MessagePassThroughMethodOptions<T>) => MessagePassThroughAttributes | string) | string | null | undefined;
export declare type MessagePassThroughTransitionType = TransitionProps | ((options: MessagePassThroughMethodOptions) => TransitionProps) | undefined; export declare type MessagePassThroughTransitionType<T = any> = TransitionProps | ((options: MessagePassThroughMethodOptions<T>) => TransitionProps) | undefined;
/** /**
* Custom passthrough(pt) option method. * Custom passthrough(pt) option method.
*/ */
export interface MessagePassThroughMethodOptions { export interface MessagePassThroughMethodOptions<T = any> {
/** /**
* Defines instance. * Defines instance.
*/ */
@ -32,6 +32,10 @@ export interface MessagePassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: MessageState; state: MessageState;
/**
* Defines parent instance.
*/
parent: T;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
@ -42,41 +46,41 @@ export interface MessagePassThroughMethodOptions {
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link MessageProps.pt} * @see {@link MessageProps.pt}
*/ */
export interface MessagePassThroughOptions { export interface MessagePassThroughOptions<T = any> {
/** /**
* Used to pass attributes to the root's DOM element. * Used to pass attributes to the root's DOM element.
*/ */
root?: MessagePassThroughOptionType; root?: MessagePassThroughOptionType<T>;
/** /**
* Used to pass attributes to the wrapper's DOM element. * Used to pass attributes to the wrapper's DOM element.
*/ */
wrapper?: MessagePassThroughOptionType; wrapper?: MessagePassThroughOptionType<T>;
/** /**
* Used to pass attributes to the icon's DOM element. * Used to pass attributes to the icon's DOM element.
*/ */
icon?: MessagePassThroughOptionType; icon?: MessagePassThroughOptionType<T>;
/** /**
* Used to pass attributes to the text's DOM element. * Used to pass attributes to the text's DOM element.
*/ */
text?: MessagePassThroughOptionType; text?: MessagePassThroughOptionType<T>;
/** /**
* Used to pass attributes to the button's DOM element. * Used to pass attributes to the button's DOM element.
* @deprecated since v3.30.2. Use 'closeButton' option. * @deprecated since v3.30.2. Use 'closeButton' option.
*/ */
button?: MessagePassThroughOptionType; button?: MessagePassThroughOptionType<T>;
/** /**
* Used to pass attributes to the button's DOM element. * Used to pass attributes to the button's DOM element.
*/ */
closeButton?: MessagePassThroughOptionType; closeButton?: MessagePassThroughOptionType<T>;
/** /**
* Used to pass attributes to the button icon's DOM element. * Used to pass attributes to the button icon's DOM element.
* @deprecated since v3.30.2. Use 'closeIcon' option. * @deprecated since v3.30.2. Use 'closeIcon' option.
*/ */
buttonIcon?: MessagePassThroughOptionType; buttonIcon?: MessagePassThroughOptionType<T>;
/** /**
* Used to pass attributes to the button icon's DOM element. * Used to pass attributes to the button icon's DOM element.
*/ */
closeIcon?: MessagePassThroughOptionType; closeIcon?: MessagePassThroughOptionType<T>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}
@ -85,7 +89,7 @@ export interface MessagePassThroughOptions {
/** /**
* Used to control Vue Transition API. * Used to control Vue Transition API.
*/ */
transition?: MessagePassThroughTransitionType; transition?: MessagePassThroughTransitionType<T>;
} }
/** /**

View File

@ -37,6 +37,10 @@ export interface MultiSelectPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: MultiSelectContext; context: MultiSelectContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -9,7 +9,7 @@
*/ */
import { ButtonHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue'; import { ButtonHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button'; import { ButtonPassThroughOptions } from '../button';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
@ -37,12 +37,30 @@ export interface OrderListPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: OrderListContext; context: OrderListContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface OrderListSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: OrderListProps;
/**
* Defines current inline state.
*/
state: OrderListState;
}
/** /**
* Custom reorder event * Custom reorder event
* @see {@link OrderListEmits.reorder} * @see {@link OrderListEmits.reorder}
@ -93,19 +111,19 @@ export interface OrderListPassThroughOptions {
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
moveUpButton?: ButtonPassThroughOptionType; moveUpButton?: ButtonPassThroughOptions<OrderListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
moveTopButton?: ButtonPassThroughOptionType; moveTopButton?: ButtonPassThroughOptions<OrderListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
moveDownButton?: ButtonPassThroughOptionType; moveDownButton?: ButtonPassThroughOptions<OrderListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
moveBottomButton?: ButtonPassThroughOptionType; moveBottomButton?: ButtonPassThroughOptions<OrderListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the container's DOM element. * Used to pass attributes to the container's DOM element.
*/ */

View File

@ -2,28 +2,28 @@
<div :class="cx('root')" v-bind="ptm('root')"> <div :class="cx('root')" v-bind="ptm('root')">
<div :class="cx('controls')" v-bind="ptm('controls')"> <div :class="cx('controls')" v-bind="ptm('controls')">
<slot name="controlsstart"></slot> <slot name="controlsstart"></slot>
<OLButton type="button" @click="moveUp" :aria-label="moveUpAriaLabel" :disabled="moveDisabled()" :pt="ptm('moveUpButton')" v-bind="moveUpButtonProps" data-pc-section="moveupbutton" :unstyled="unstyled"> <OLButton type="button" @click="moveUp" :aria-label="moveUpAriaLabel" :disabled="moveDisabled()" v-bind="moveUpButtonProps" :pt="ptm('moveUpButton')" :unstyled="unstyled" data-pc-section="moveupbutton">
<template #icon> <template #icon>
<slot name="moveupicon"> <slot name="moveupicon">
<AngleUpIcon v-bind="ptm('moveUpButton')['icon']" data-pc-section="moveupicon" /> <AngleUpIcon v-bind="ptm('moveUpButton')['icon']" data-pc-section="moveupicon" />
</slot> </slot>
</template> </template>
</OLButton> </OLButton>
<OLButton type="button" @click="moveTop" :aria-label="moveTopAriaLabel" :disabled="moveDisabled()" :pt="ptm('moveTopButton')" v-bind="moveTopButtonProps" data-pc-section="movetopbutton" :unstyled="unstyled"> <OLButton type="button" @click="moveTop" :aria-label="moveTopAriaLabel" :disabled="moveDisabled()" v-bind="moveTopButtonProps" :pt="ptm('moveTopButton')" :unstyled="unstyled" data-pc-section="movetopbutton">
<template #icon> <template #icon>
<slot name="movetopicon"> <slot name="movetopicon">
<AngleDoubleUpIcon v-bind="ptm('moveTopButton')['icon']" data-pc-section="movetopicon" /> <AngleDoubleUpIcon v-bind="ptm('moveTopButton')['icon']" data-pc-section="movetopicon" />
</slot> </slot>
</template> </template>
</OLButton> </OLButton>
<OLButton type="button" @click="moveDown" :aria-label="moveDownAriaLabel" :disabled="moveDisabled()" :pt="ptm('moveDownButton')" v-bind="moveDownButtonProps" data-pc-section="movedownbutton" :unstyled="unstyled"> <OLButton type="button" @click="moveDown" :aria-label="moveDownAriaLabel" :disabled="moveDisabled()" v-bind="moveDownButtonProps" :pt="ptm('moveDownButton')" :unstyled="unstyled" data-pc-section="movedownbutton">
<template #icon> <template #icon>
<slot name="movedownicon"> <slot name="movedownicon">
<AngleDownIcon v-bind="ptm('moveDownButton')['icon']" data-pc-section="movedownicon" /> <AngleDownIcon v-bind="ptm('moveDownButton')['icon']" data-pc-section="movedownicon" />
</slot> </slot>
</template> </template>
</OLButton> </OLButton>
<OLButton type="button" @click="moveBottom" :aria-label="moveBottomAriaLabel" :disabled="moveDisabled()" :pt="ptm('moveBottomButton')" v-bind="moveBottomButtonProps" data-pc-section="movebottombutton" :unstyled="unstyled"> <OLButton type="button" @click="moveBottom" :aria-label="moveBottomAriaLabel" :disabled="moveDisabled()" v-bind="moveBottomButtonProps" :pt="ptm('moveBottomButton')" :unstyled="unstyled" data-pc-section="movebottombutton">
<template #icon> <template #icon>
<slot name="movebottomicon"> <slot name="movebottomicon">
<AngleDoubleDownIcon v-bind="ptm('moveBottomButton')['icon']" data-pc-section="movebottomicon" /> <AngleDoubleDownIcon v-bind="ptm('moveBottomButton')['icon']" data-pc-section="movebottomicon" />

View File

@ -34,6 +34,10 @@ export interface OrganizationChartPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: OrganizationChartContext; context: OrganizationChartContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -32,6 +32,10 @@ export interface OverlayPanelPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: OverlayPanelState; state: OverlayPanelState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -9,17 +9,17 @@
*/ */
import { VNode } from 'vue'; import { VNode } from 'vue';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { DropdownPassThroughOptionType } from '../dropdown'; import { DropdownPassThroughOptions } from '../dropdown';
import { InputNumberPassThroughOptionType } from '../inputnumber'; import { InputNumberPassThroughOptions } from '../inputnumber';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
export declare type PaginatorPassThroughOptionType = PaginatorPassThroughAttributes | ((options: PaginatorPassThroughMethodOptions) => PaginatorPassThroughAttributes | string) | string | null | undefined; export declare type PaginatorPassThroughOptionType<T = any> = PaginatorPassThroughAttributes | ((options: PaginatorPassThroughMethodOptions<T>) => PaginatorPassThroughAttributes | string) | string | null | undefined;
/** /**
* Custom passthrough(pt) option method. * Custom passthrough(pt) option method.
*/ */
export interface PaginatorPassThroughMethodOptions { export interface PaginatorPassThroughMethodOptions<T> {
/** /**
* Defines instance. * Defines instance.
*/ */
@ -32,6 +32,10 @@ export interface PaginatorPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: PaginatorState; state: PaginatorState;
/**
* Defines parent instance.
*/
parent: T;
/** /**
* Defines current options. * Defines current options.
*/ */
@ -42,86 +46,100 @@ export interface PaginatorPassThroughMethodOptions {
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface PaginatorSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: PaginatorProps;
/**
* Defines current inline state.
*/
state: PaginatorState;
}
/** /**
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link PaginatorProps.pt} * @see {@link PaginatorProps.pt}
*/ */
export interface PaginatorPassThroughOptions { export interface PaginatorPassThroughOptions<T = any> {
/** /**
* Used to pass attributes to the paginator wrapper's DOM element. * Used to pass attributes to the paginator wrapper's DOM element.
*/ */
paginatorWrapper?: PaginatorPassThroughOptionType; paginatorWrapper?: PaginatorPassThroughOptionType<T> | any;
/** /**
* Used to pass attributes to the root's DOM element. * Used to pass attributes to the root's DOM element.
*/ */
root?: PaginatorPassThroughOptionType; root?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the start's DOM element. * Used to pass attributes to the start's DOM element.
*/ */
start?: PaginatorPassThroughOptionType; start?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the first page button's DOM element. * Used to pass attributes to the first page button's DOM element.
*/ */
firstPageButton?: PaginatorPassThroughOptionType; firstPageButton?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the first page icon's DOM element. * Used to pass attributes to the first page icon's DOM element.
*/ */
firstPageIcon?: PaginatorPassThroughOptionType; firstPageIcon?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the prev page button's DOM element. * Used to pass attributes to the prev page button's DOM element.
*/ */
previousPageButton?: PaginatorPassThroughOptionType; previousPageButton?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the prev page icon's DOM element. * Used to pass attributes to the prev page icon's DOM element.
*/ */
previousPageIcon?: PaginatorPassThroughOptionType; previousPageIcon?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the next page button's DOM element. * Used to pass attributes to the next page button's DOM element.
*/ */
nextPageButton?: PaginatorPassThroughOptionType; nextPageButton?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the next page icon's DOM element. * Used to pass attributes to the next page icon's DOM element.
*/ */
nextPageIcon?: PaginatorPassThroughOptionType; nextPageIcon?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the last page button's DOM element. * Used to pass attributes to the last page button's DOM element.
*/ */
lastPageButton?: PaginatorPassThroughOptionType; lastPageButton?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the last page icon's DOM element. * Used to pass attributes to the last page icon's DOM element.
*/ */
lastPageIcon?: PaginatorPassThroughOptionType; lastPageIcon?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the pages's DOM element. * Used to pass attributes to the pages's DOM element.
*/ */
pages?: PaginatorPassThroughOptionType; pages?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the page button's DOM element. * Used to pass attributes to the page button's DOM element.
*/ */
pageButton?: PaginatorPassThroughOptionType; pageButton?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the current's DOM element. * Used to pass attributes to the current's DOM element.
*/ */
current?: PaginatorPassThroughOptionType; current?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to pass attributes to the Dropdown component. * Used to pass attributes to the Dropdown component.
* @see {@link DropdownPassThroughOptionType} * @see {@link DropdownPassThroughOptions}
*/ */
rowPerPageDropdown?: DropdownPassThroughOptionType; rowPerPageDropdown?: DropdownPassThroughOptions<PaginatorSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Dropdown component. * Used to pass attributes to the Dropdown component.
* @see {@link DropdownPassThroughOptionType} * @see {@link DropdownPassThroughOptions}
*/ */
jumpToPageDropdown?: DropdownPassThroughOptionType; jumpToPageDropdown?: DropdownPassThroughOptions<PaginatorSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Dropdown component. * Used to pass attributes to the Dropdown component.
* @see {@link InputNumberPassThroughOptionType} * @see {@link InputNumberPassThroughOptions}
*/ */
jumpToPageInput?: InputNumberPassThroughOptionType; jumpToPageInput?: InputNumberPassThroughOptions<PaginatorSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the end's DOM element. * Used to pass attributes to the end's DOM element.
*/ */
end?: PaginatorPassThroughOptionType; end?: PaginatorPassThroughOptionType<T>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

View File

@ -32,6 +32,10 @@ export interface PanelPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: PanelState; state: PanelState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -81,7 +81,7 @@ export default {
return UniqueComponentId(); return UniqueComponentId();
}, },
buttonAriaLabel() { buttonAriaLabel() {
return this.toggleButtonProps && this.toggleButtonProps['aria-label'] ? this.toggleButtonProps['aria-label'] : this.header; return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;
} }
}, },
components: { components: {

View File

@ -37,6 +37,10 @@ export interface PanelMenuPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: PanelMenuContext; context: PanelMenuContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */

View File

@ -838,16 +838,24 @@ export default {
class: 'absolute flex' class: 'absolute flex'
}, },
button: { button: {
root: ({ parent }) => ({ root: ({ parent }) => {
class: [ return {
'w-16 !h-16 !rounded-full justify-center z-10', class: [
{ 'text-white dark:text-gray-900 bg-blue-500 dark:bg-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-600 dark:hover:bg-blue-500 hover:border-blue-600 dark:hover:border-blue-500 focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]',
'rotate-45': parent.state.d_visible 'flex items-center justify-center',
} 'transition duration-200 ease-in-out',
] 'focus:outline-none focus:outline-offset-0',
}), 'w-16 !h-16 !rounded-full justify-center z-10',
label: { {
class: 'hidden' 'rotate-45': parent.state.d_visible
}
]
};
},
label: () => {
return {
class: 'hidden'
};
} }
}, },
menu: { menu: {
@ -884,19 +892,155 @@ export default {
class: ['inline-flex relative', 'rounded-md', { 'shadow-lg': props.raised }] class: ['inline-flex relative', 'rounded-md', { 'shadow-lg': props.raised }]
}), }),
button: { button: {
root: ({ parent }) => ({ root: ({ props, parent }) => {
class: ['rounded-r-none border-r-0', { 'rounded-l-full': parent.props.rounded }] return {
}), class: [
icon: { 'rounded-r-none border-r-0',
class: 'mr-2' { 'rounded-l-full': parent.props.rounded },
{
'text-white dark:text-gray-900 bg-blue-500 dark:bg-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-600 dark:hover:bg-blue-500 hover:border-blue-600 dark:hover:border-blue-500 focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
!parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain,
'text-blue-600 bg-transparent border-transparent focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
parent.props.link
},
{
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(176,185,198,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(203,213,225,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'secondary',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(136,234,172,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(134,239,172,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'success',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'info',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(250,207,133,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(252,211,77,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'warning',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(212,170,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(216,180,254,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'help',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(247,162,162,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(252,165,165,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'danger'
},
{
'text-white dark:text-gray-900 bg-gray-500 dark:bg-gray-400 border border-gray-500 dark:border-gray-400 hover:bg-gray-600 dark:hover:bg-gray-500 hover:border-gray-600 dark:hover:border-gray-500':
props.severity === 'secondary' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 bg-green-500 dark:bg-green-400 border border-green-500 dark:border-green-400 hover:bg-green-600 dark:hover:bg-green-500 hover:border-green-600 dark:hover:border-green-500':
props.severity === 'success' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 dark:bg-blue-400 bg-blue-500 dark:bg-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-600 hover:border-blue-600 dark:hover:bg-blue-500 dark:hover:border-blue-500':
props.severity === 'info' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 bg-orange-500 dark:bg-orange-400 border border-orange-500 dark:border-orange-400 hover:bg-orange-600 dark:hover:bg-orange-500 hover:border-orange-600 dark:hover:border-orange-500':
props.severity === 'warning' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 bg-purple-500 dark:bg-purple-400 border border-purple-500 dark:border-purple-400 hover:bg-purple-600 dark:hover:bg-purple-500 hover:border-purple-600 dark:hover:border-purple-500':
props.severity === 'help' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 bg-red-500 dark:bg-red-400 border border-red-500 dark:border-red-400 hover:bg-red-600 dark:hover:bg-red-500 hover:border-red-600 dark:hover:border-red-500':
props.severity === 'danger' && !props.text && !props.outlined && !props.plain
},
{ 'shadow-lg': props.raised },
{ 'rounded-md': !props.rounded, 'rounded-full': props.rounded },
{
'bg-transparent border-transparent': props.text && !props.plain,
'text-blue-500 dark:text-blue-400 hover:bg-blue-300/20': props.text && (props.severity === null || props.severity === 'info') && !props.plain,
'text-gray-500 dark:text-gray-400 hover:bg-gray-300/20': props.text && props.severity === 'secondary' && !props.plain,
'text-green-500 dark:text-green-400 hover:bg-green-300/20': props.text && props.severity === 'success' && !props.plain,
'text-orange-500 dark:text-orange-400 hover:bg-orange-300/20': props.text && props.severity === 'warning' && !props.plain,
'text-purple-500 dark:text-purple-400 hover:bg-purple-300/20': props.text && props.severity === 'help' && !props.plain,
'text-red-500 dark:text-red-400 hover:bg-red-300/20': props.text && props.severity === 'danger' && !props.plain
},
{ 'shadow-lg': props.raised && props.text },
{
'text-gray-500 hover:bg-gray-300/20': props.plain && props.text,
'text-gray-500 border border-gray-500 hover:bg-gray-300/20': props.plain && props.outlined,
'text-white bg-gray-500 border border-gray-500 hover:bg-gray-600 hover:border-gray-600': props.plain && !props.outlined && !props.text
},
{
'bg-transparent border': props.outlined && !props.plain,
'text-blue-500 dark:text-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-300/20': props.outlined && (props.severity === null || props.severity === 'info') && !props.plain,
'text-gray-500 dark:text-gray-400 border border-gray-500 dark:border-gray-400 hover:bg-gray-300/20': props.outlined && props.severity === 'secondary' && !props.plain,
'text-green-500 dark:text-green-400 border border-green-500 dark:border-green-400 hover:bg-green-300/20': props.outlined && props.severity === 'success' && !props.plain,
'text-orange-500 dark:text-orange-400 border border-orange-500 dark:border-orange-400 hover:bg-orange-300/20': props.outlined && props.severity === 'warning' && !props.plain,
'text-purple-500 dark:text-purple-400 border border-purple-500 dark:border-purple-400 hover:bg-purple-300/20': props.outlined && props.severity === 'help' && !props.plain,
'text-red-500 dark:text-red-400 border border-red-500 dark:border-red-400 hover:bg-red-300/20': props.outlined && props.severity === 'danger' && !props.plain
},
{ 'px-4 py-3 text-base': props.size === null, 'text-xs py-2 px-3': props.size === 'small', 'text-xl py-3 px-4': props.size === 'large' }
]
};
},
icon: () => {
return {
class: 'mr-2'
};
} }
}, },
menubutton: { menubutton: {
root: ({ parent }) => ({ root: ({ props, parent }) => {
class: ['rounded-l-none', { 'rounded-r-full': parent.props.rounded }] return {
}), class: [
label: { 'rounded-l-none',
class: 'hidden' { 'rounded-r-full': parent.props.rounded },
{
'text-white dark:text-gray-900 bg-blue-500 dark:bg-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-600 dark:hover:bg-blue-500 hover:border-blue-600 dark:hover:border-blue-500 focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
!parent.props.link && parent.props.severity === null && !parent.props.text && !parent.props.outlined && !parent.props.plain,
'text-blue-600 bg-transparent border-transparent focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
parent.props.link
},
{
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(176,185,198,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(203,213,225,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'secondary',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(136,234,172,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(134,239,172,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'success',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'info',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(250,207,133,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(252,211,77,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'warning',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(212,170,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(216,180,254,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'help',
'focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(247,162,162,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(252,165,165,0.7),0_1px_2px_0_rgba(0,0,0,0)]':
props.severity === 'danger'
},
{
'text-white dark:text-gray-900 bg-gray-500 dark:bg-gray-400 border border-gray-500 dark:border-gray-400 hover:bg-gray-600 dark:hover:bg-gray-500 hover:border-gray-600 dark:hover:border-gray-500':
props.severity === 'secondary' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 bg-green-500 dark:bg-green-400 border border-green-500 dark:border-green-400 hover:bg-green-600 dark:hover:bg-green-500 hover:border-green-600 dark:hover:border-green-500':
props.severity === 'success' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 dark:bg-blue-400 bg-blue-500 dark:bg-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-600 hover:border-blue-600 dark:hover:bg-blue-500 dark:hover:border-blue-500':
props.severity === 'info' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 bg-orange-500 dark:bg-orange-400 border border-orange-500 dark:border-orange-400 hover:bg-orange-600 dark:hover:bg-orange-500 hover:border-orange-600 dark:hover:border-orange-500':
props.severity === 'warning' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 bg-purple-500 dark:bg-purple-400 border border-purple-500 dark:border-purple-400 hover:bg-purple-600 dark:hover:bg-purple-500 hover:border-purple-600 dark:hover:border-purple-500':
props.severity === 'help' && !props.text && !props.outlined && !props.plain,
'text-white dark:text-gray-900 bg-red-500 dark:bg-red-400 border border-red-500 dark:border-red-400 hover:bg-red-600 dark:hover:bg-red-500 hover:border-red-600 dark:hover:border-red-500':
props.severity === 'danger' && !props.text && !props.outlined && !props.plain
},
{ 'shadow-lg': props.raised },
{ 'rounded-md': !props.rounded, 'rounded-full': props.rounded },
{
'bg-transparent border-transparent': props.text && !props.plain,
'text-blue-500 dark:text-blue-400 hover:bg-blue-300/20': props.text && (props.severity === null || props.severity === 'info') && !props.plain,
'text-gray-500 dark:text-gray-400 hover:bg-gray-300/20': props.text && props.severity === 'secondary' && !props.plain,
'text-green-500 dark:text-green-400 hover:bg-green-300/20': props.text && props.severity === 'success' && !props.plain,
'text-orange-500 dark:text-orange-400 hover:bg-orange-300/20': props.text && props.severity === 'warning' && !props.plain,
'text-purple-500 dark:text-purple-400 hover:bg-purple-300/20': props.text && props.severity === 'help' && !props.plain,
'text-red-500 dark:text-red-400 hover:bg-red-300/20': props.text && props.severity === 'danger' && !props.plain
},
{ 'shadow-lg': props.raised && props.text },
{
'text-gray-500 hover:bg-gray-300/20': props.plain && props.text,
'text-gray-500 border border-gray-500 hover:bg-gray-300/20': props.plain && props.outlined,
'text-white bg-gray-500 border border-gray-500 hover:bg-gray-600 hover:border-gray-600': props.plain && !props.outlined && !props.text
},
{
'bg-transparent border': props.outlined && !props.plain,
'text-blue-500 dark:text-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-300/20': props.outlined && (props.severity === null || props.severity === 'info') && !props.plain,
'text-gray-500 dark:text-gray-400 border border-gray-500 dark:border-gray-400 hover:bg-gray-300/20': props.outlined && props.severity === 'secondary' && !props.plain,
'text-green-500 dark:text-green-400 border border-green-500 dark:border-green-400 hover:bg-green-300/20': props.outlined && props.severity === 'success' && !props.plain,
'text-orange-500 dark:text-orange-400 border border-orange-500 dark:border-orange-400 hover:bg-orange-300/20': props.outlined && props.severity === 'warning' && !props.plain,
'text-purple-500 dark:text-purple-400 border border-purple-500 dark:border-purple-400 hover:bg-purple-300/20': props.outlined && props.severity === 'help' && !props.plain,
'text-red-500 dark:text-red-400 border border-red-500 dark:border-red-400 hover:bg-red-300/20': props.outlined && props.severity === 'danger' && !props.plain
},
{ 'px-4 py-3 text-base': props.size === null, 'text-xs py-2 px-3': props.size === 'small', 'text-xl py-3 px-4': props.size === 'large' }
]
};
},
label: () => {
return {
class: 'hidden'
};
} }
} }
}, },
@ -922,44 +1066,73 @@ export default {
root: { root: {
class: 'w-full inline-flex' class: 'w-full inline-flex'
}, },
input: ({ props }) => ({ input: {
class: [ root: ({ parent }) => {
{ return {
'rounded-tr-none rounded-br-none': props.showButtons && props.buttonLayout == 'stacked' class: [
}, // { test: parent }
{ 'm-0',
'order-2': props.buttonLayout == 'horizontal' 'font-sans text-gray-600 dark:text-white/80 bg-white dark:bg-gray-900 border border-gray-300 dark:border-blue-900/40 transition-colors duration-200 appearance-none rounded-lg',
} 'p-3 text-base',
] {
}), 'rounded-tr-none rounded-br-none': parent.props.showButtons && parent.props.buttonLayout == 'stacked'
},
{
'order-2': parent.props.buttonLayout == 'horizontal'
}
]
};
}
},
buttongroup: ({ props }) => ({ buttongroup: ({ props }) => ({
class: [{ 'flex flex-col': props.showButtons && props.buttonLayout == 'stacked' }] class: [{ 'flex flex-col': props.showButtons && props.buttonLayout == 'stacked' }]
}), }),
incrementbutton: ({ props }) => ({ incrementbutton: {
class: [ root: ({ parent }) => {
'flex !items-center !justify-center', return {
{ class: [
'rounded-br-none rounded-bl-none rounded-bl-none !p-0 flex-1 w-[3rem]': props.showButtons && props.buttonLayout == 'stacked' 'text-white dark:text-gray-900 bg-blue-500 dark:bg-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-600 dark:hover:bg-blue-500 hover:border-blue-600 dark:hover:border-blue-500 focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]',
}, 'flex items-center justify-center',
{ 'transition duration-200 ease-in-out',
'order-3': props.buttonLayout == 'horizontal' 'focus:outline-none focus:outline-offset-0',
} {
] 'rounded-md rounded-br-none rounded-bl-none rounded-bl-none !p-0 flex-1 w-[3rem]': parent.props.showButtons && parent.props.buttonLayout == 'stacked'
}), },
label: { {
class: 'hidden' 'order-3 px-4 py-3 text-base rounded-md': parent.props.buttonLayout == 'horizontal'
}
]
};
},
label: () => {
return {
class: 'hidden'
};
}
}, },
decrementbutton: ({ props }) => ({ decrementbutton: {
class: [ root: ({ parent }) => {
'flex !items-center !justify-center', return {
{ class: [
'rounded-tr-none rounded-tl-none rounded-tl-none !p-0 flex-1 w-[3rem]': props.showButtons && props.buttonLayout == 'stacked' 'text-white dark:text-gray-900 bg-blue-500 dark:bg-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-600 dark:hover:bg-blue-500 hover:border-blue-600 dark:hover:border-blue-500 focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]',
}, 'flex items-center justify-center',
{ 'transition duration-200 ease-in-out',
'order-1': props.buttonLayout == 'horizontal' 'focus:outline-none focus:outline-offset-0',
} {
] 'rounded-md rounded-tr-none rounded-tl-none rounded-tl-none !p-0 flex-1 w-[3rem]': parent.props.showButtons && parent.props.buttonLayout == 'stacked'
}) },
{
'order-1 px-4 py-3 text-base rounded-md': parent.props.buttonLayout == 'horizontal'
}
]
};
},
label: () => {
return {
class: 'hidden'
};
}
}
}, },
knob: { knob: {
root: ({ props }) => ({ root: ({ props }) => ({
@ -1382,11 +1555,20 @@ export default {
{ 'rounded-lg': !props.showIcon, 'border-r-0 rounded-l-lg': props.showIcon } { 'rounded-lg': !props.showIcon, 'border-r-0 rounded-l-lg': props.showIcon }
] ]
}), }),
dropdownbutton: ({ props }) => ({ dropdownbutton: {
root: { root: ({ parent }) => {
class: [{ 'rounded-l-none': props.showIcon }] return {
class: [
'text-white dark:text-gray-900 bg-blue-500 dark:bg-blue-400 border border-blue-500 dark:border-blue-400 hover:bg-blue-600 dark:hover:bg-blue-500 hover:border-blue-600 dark:hover:border-blue-500 focus:shadow-[0_0_0_2px_rgba(255,255,255,1),0_0_0_4px_rgba(157,193,251,1),0_1px_2px_0_rgba(0,0,0,1)] dark:focus:shadow-[0_0_0_2px_rgba(28,33,39,1),0_0_0_4px_rgba(147,197,253,0.7),0_1px_2px_0_rgba(0,0,0,0)]',
'flex items-center justify-center',
'transition duration-200 ease-in-out',
'focus:outline-none focus:outline-offset-0',
'px-4 py-3 text-base rounded-md',
{ 'rounded-l-none': parent.props.showIcon }
]
};
} }
}), },
panel: ({ props }) => ({ panel: ({ props }) => ({
class: [ class: [
'bg-white dark:bg-gray-900', 'bg-white dark:bg-gray-900',
@ -2965,73 +3147,81 @@ export default {
class: 'flex flex-col justify-center p-5' class: 'flex flex-col justify-center p-5'
}, },
moveupbutton: { moveupbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
movetopbutton: { movetopbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
movedownbutton: { movedownbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
movebottombutton: { movebottombutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
@ -3073,73 +3263,81 @@ export default {
class: 'flex flex-col justify-center p-5' class: 'flex flex-col justify-center p-5'
}, },
sourcemoveupbutton: { sourcemoveupbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
sourcemovetopbutton: { sourcemovetopbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
sourcemovedownbutton: { sourcemovedownbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
sourcemovebottombutton: { sourcemovebottombutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
@ -3176,73 +3374,81 @@ export default {
class: 'flex flex-col justify-center p-5' class: 'flex flex-col justify-center p-5'
}, },
movetotargetbutton: { movetotargetbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
movealltotargetbutton: { movealltotargetbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
movetosourcebutton: { movetosourcebutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
movealltosourcebutton: { movealltosourcebutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
@ -3251,73 +3457,81 @@ export default {
class: 'flex flex-col justify-center p-5' class: 'flex flex-col justify-center p-5'
}, },
targetmoveupbutton: { targetmoveupbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
targetmovetopbutton: { targetmovetopbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
targetmovedownbutton: { targetmovedownbutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
}, },
targetmovebottombutton: { targetmovebottombutton: {
root: ({ context }) => ({ root: ({ context }) => {
class: [ return {
'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component class: [
'text-white bg-blue-500 border border-blue-500 rounded-md', 'relative inline-flex cursor-pointer select-none items-center align-bottom text-center overflow-hidden m-0', // button component
'transition duration-200 ease-in-out', 'text-white bg-blue-500 border border-blue-500 rounded-md',
'justify-center px-0 py-3', // icon only 'transition duration-200 ease-in-out',
'mb-2 w-12', // orderlist button 'justify-center px-0 py-3', // icon only
'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode 'mb-2 w-12', // orderlist button
{ 'dark:bg-sky-300 dark:border-sky-300 dark:text-gray-900', //Dark Mode
'cursor-default pointer-events-none opacity-60': context.disabled {
} 'cursor-default pointer-events-none opacity-60': context.disabled
] }
}), ]
};
},
label: { label: {
class: 'flex-initial w-0' class: 'flex-initial w-0'
} }
@ -4035,11 +4249,5 @@ export default {
resizehelper: { resizehelper: {
class: 'absolute hidden w-px z-10 bg-blue-500 dark:bg-blue-300' class: 'absolute hidden w-px z-10 bg-blue-500 dark:bg-blue-300'
} }
},
// CHART
chart: {
root: {
class: 'relative'
}
} }
}; };

View File

@ -9,7 +9,7 @@
*/ */
import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue'; import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { InputTextPassThroughOptionType } from '../inputtext'; import { InputTextPassThroughOptions } from '../inputtext';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, Nullable, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, Nullable, PassThrough } from '../ts-helpers';
@ -33,12 +33,30 @@ export interface PasswordPassThroughMethodOptions {
* Defines current inline state. * Defines current inline state.
*/ */
state: PasswordState; state: PasswordState;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface PasswordSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: PasswordProps;
/**
* Defines current inline state.
*/
state: PasswordState;
}
/** /**
* Custom passthrough(pt) options. * Custom passthrough(pt) options.
* @see {@link PasswordProps.pt} * @see {@link PasswordProps.pt}
@ -50,9 +68,9 @@ export interface PasswordPassThroughOptions {
root?: PasswordPassThroughOptionType; root?: PasswordPassThroughOptionType;
/** /**
* Used to pass attributes to the InputText component. * Used to pass attributes to the InputText component.
* @see {@link InputTextPassThroughOptionType} * @see {@link InputTextPassThroughOptions}
*/ */
input?: PasswordPassThroughOptionType; input?: InputTextPassThroughOptions<PasswordSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the hide icon's DOM element. * Used to pass attributes to the hide icon's DOM element.
*/ */

View File

@ -20,7 +20,8 @@
@blur="onBlur" @blur="onBlur"
@keyup="onKeyUp" @keyup="onKeyUp"
@invalid="onInvalid" @invalid="onInvalid"
v-bind="{ ...inputProps, ...ptm('input') }" v-bind="inputProps"
:pt="ptm('input')"
:unstyled="unstyled" :unstyled="unstyled"
/> />
<slot v-if="toggleMask && unmasked" name="hideicon" :onClick="onMaskToggle" :toggleCallback="onMaskToggle"> <slot v-if="toggleMask && unmasked" name="hideicon" :onClick="onMaskToggle" :toggleCallback="onMaskToggle">

View File

@ -9,7 +9,7 @@
*/ */
import { ButtonHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue'; import { ButtonHTMLAttributes, HTMLAttributes, TransitionProps, VNode } from 'vue';
import { ComponentHooks } from '../basecomponent'; import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptionType } from '../button'; import { ButtonPassThroughOptions } from '../button';
import { PassThroughOptions } from '../passthrough'; import { PassThroughOptions } from '../passthrough';
import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
@ -37,12 +37,30 @@ export interface PickListPassThroughMethodOptions {
* Defines current options. * Defines current options.
*/ */
context: PickListContext; context: PickListContext;
/**
* Defines parent options.
*/
parent: any;
/** /**
* Defines passthrough(pt) options in global config. * Defines passthrough(pt) options in global config.
*/ */
global: object | undefined; global: object | undefined;
} }
/**
* Custom shared passthrough(pt) option method.
*/
export interface PickListSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: PickListProps;
/**
* Defines current inline state.
*/
state: PickListState;
}
/** /**
* Custom reorder event. * Custom reorder event.
* @see {@link PickListEmits.reorder} * @see {@link PickListEmits.reorder}
@ -133,19 +151,19 @@ export interface PickListPassThroughOptions {
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
sourceMoveUpButton?: ButtonPassThroughOptionType; sourceMoveUpButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
sourceMoveTopButton?: ButtonPassThroughOptionType; sourceMoveTopButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
sourceMoveDownButton?: ButtonPassThroughOptionType; sourceMoveDownButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
sourceMoveBottomButton?: ButtonPassThroughOptionType; sourceMoveBottomButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the source wrapper's DOM element. * Used to pass attributes to the source wrapper's DOM element.
*/ */
@ -165,19 +183,19 @@ export interface PickListPassThroughOptions {
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
moveToTargetButton?: ButtonPassThroughOptionType; moveToTargetButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
moveAllToTargetButton?: ButtonPassThroughOptionType; moveAllToTargetButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
moveToSourceButton?: ButtonPassThroughOptionType; moveToSourceButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
moveAllToSourceButton?: ButtonPassThroughOptionType; moveAllToSourceButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the target wrapper's DOM element. * Used to pass attributes to the target wrapper's DOM element.
*/ */
@ -201,19 +219,19 @@ export interface PickListPassThroughOptions {
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
targetMoveUpButton?: ButtonPassThroughOptionType; targetMoveUpButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
targetMoveTopButton?: ButtonPassThroughOptionType; targetMoveTopButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
targetMoveDownButton?: ButtonPassThroughOptionType; targetMoveDownButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to pass attributes to the Button component. * Used to pass attributes to the Button component.
*/ */
targetMoveBottomButton?: ButtonPassThroughOptionType; targetMoveBottomButton?: ButtonPassThroughOptions<PickListSharedPassThroughMethodOptions>;
/** /**
* Used to manage all lifecycle hooks. * Used to manage all lifecycle hooks.
* @see {@link BaseComponent.ComponentHooks} * @see {@link BaseComponent.ComponentHooks}

Some files were not shown because too many files have changed in this diff Show More