Merge branch 'master' into issue-2948

This commit is contained in:
Tuğçe Küçükoğlu 2023-05-11 15:14:03 +03:00
commit 53d7c04970
885 changed files with 47113 additions and 3600 deletions

View file

@ -9,6 +9,127 @@
*/
import { VNode } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
export declare type ImagePassThroughOptionType = ImagePassThroughAttributes | ((options: ImagePassThroughMethodOptions) => ImagePassThroughAttributes) | null | undefined;
/**
* Custom passthrough(pt) option method.
*/
export interface ImagePassThroughMethodOptions {
props: ImageProps;
state: ImageState;
}
/**
* Custom passthrough(pt) options.
* @see {@link ImageProps.pt}
*/
export interface ImagePassThroughOptions {
/**
* Uses to pass attributes to the root's DOM element.
*/
root?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the image's DOM element.
*/
image?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the button's DOM element.
*/
button?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the icon's DOM element.
*/
icon?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the mask's DOM element.
*/
mask?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the toolbar's DOM element.
*/
toolbar?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the rotate right button's DOM element.
*/
rotateRightButton?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the rotate right icon's DOM element.
*/
rotateRightIcon?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the rotate left button's DOM element.
*/
rotateLeftButton?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the rotate left icon's DOM element.
*/
rotateLeftIcon?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the zoom out button's DOM element.
*/
zoomOutButton?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the zoom out icon's DOM element.
*/
zoomOutIcon?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the zoom in button's DOM element.
*/
zoomInButton?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the zoom in icon's DOM element.
*/
zoomInIcon?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the close button's DOM element.
*/
closeButton?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the close icon's DOM element.
*/
closeIcon?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the preview container's DOM element.
*/
previewContainer?: ImagePassThroughOptionType;
/**
* Uses to pass attributes to the preview's DOM element.
*/
preview?: ImagePassThroughOptionType;
}
/**
* Custom passthrough attributes for each DOM elements
*/
export interface ImagePassThroughAttributes {
[key: string]: any;
}
/**
* Defines current inline state in Image component.
*/
export interface ImageState {
/**
* Mask visible state as a boolean.
* @defaultValue false
*/
maskVisible: boolean;
/**
* Preview visible state as a boolean.
* @defaultValue false
*/
previewVisible: boolean;
/**
* Rotate state as a number.
* @defaultValue 0
*/
rotate: number;
/**
* Scale state as a boolean.
* @defaultValue 1
*/
scale: number;
}
/**
* Defines valid properties in Image component.
@ -29,7 +150,7 @@ export interface ImageProps {
imageClass?: any;
/**
* Custom indicator icon.
* @defaultValue pi pi-eye
* @deprecated since v3.27.0. Use 'indicator' slot.
*/
indicatorIcon?: string;
/**
@ -42,6 +163,11 @@ export interface ImageProps {
* @defaultValue false
*/
zoomOutDisabled?: boolean | undefined;
/**
* Uses to pass attributes to DOM elements inside the component.
* @type {ImagePassThroughOptions}
*/
pt?: ImagePassThroughOptions;
}
/**
@ -72,6 +198,40 @@ export interface ImageSlots {
* Custom close template.
*/
close(): VNode[];
/**
* Custom image template.
*/
image(scope: {
/**
* Style class of the image element.
*/
class: any;
/**
* Style of the image element.
*/
style: any;
/**
* Image error function.
*/
onError: void;
}): VNode[];
/**
* Custom preview template.
*/
preview(scope: {
/**
* Style class of the preview image element.
*/
class: any;
/**
* Style of the preview image element.
*/
style: any;
/**
* Preview click function.
*/
onClick: void;
}): VNode[];
}
export interface ImageEmits {}