Socket
Socket
Sign inDemoInstall

@types/zeroclipboard

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@types/zeroclipboard - npm Package Compare versions

Comparing version 2.0.34 to 2.0.35

932

zeroclipboard/index.d.ts

@@ -8,476 +8,484 @@ // Type definitions for ZeroClipboard 2.0

declare namespace ZC {
// Basic collection types for shorthands and interoperation
interface List<T> { [index: number]: T; length: number; }
interface Dictionary<T> { [key: string]: T; }
// Basic collection types for shorthands and interoperation
interface List<T> {
[index: number]: T;
length: number;
}
interface Dictionary<T> {
[key: string]: T;
}
// Generic version EventHandler containers.
// Mimicking native interfaces in lib.dom.d.ts of the same name.
interface EventListener<T extends ZeroClipboardEvent> { (ev: T): void; }
interface EventListenerObject<T extends ZeroClipboardEvent> { handleEvent(ev: T): void; }
type EventListenerOrEventListenerObject<T extends ZeroClipboardEvent> = EventListener<T> | EventListenerObject<T>;
// Generic version EventHandler containers.
// Mimicking native interfaces in lib.dom.d.ts of the same name.
interface EventListener<T extends ZeroClipboardEvent> {
(ev: T): void;
}
interface EventListenerObject<T extends ZeroClipboardEvent> {
handleEvent(ev: T): void;
}
type EventListenerOrEventListenerObject<T extends ZeroClipboardEvent> = EventListener<T> | EventListenerObject<T>;
export interface ZeroClipboardStatic extends ZeroClipboardCommon {
new(elements?: Element | List<Element>): ZeroClipboardClient;
export interface ZeroClipboardStatic extends ZeroClipboardCommon {
new(elements?: Element | List<Element>): ZeroClipboardClient;
/**
* The version of the ZeroClipboard library being used, e.g. "2.0.0".
*/
version: string;
/**
* Get a copy of the active configuration for ZeroClipboard.
* @return {ZeroClipboardConfig}
*/
config(): ZeroClipboardConfig;
/**
* Get a copy of the actively configured value for this configuration property for ZeroClipboard.
* @param {string} propName
* @return {any}
*/
config(propName: string): any;
config(propName: "swfPath"): string;
config(propName: "trustedDomains"): string[];
config(propName: "cacheBust"): boolean;
config(propName: "forceEnhancedClipboard"): boolean;
config(propName: "flashLoadTimeout"): number;
config(propName: "autoActivate"): boolean;
config(propName: "bubbleEvents"): boolean;
config(propName: "fixLineEndings"): boolean;
config(propName: "containerId"): string;
config(propName: "containerClass"): string;
config(propName: "swfObjectId"): string;
config(propName: "hoverClass"): string;
config(propName: "activeClass"): string;
config(propName: "forceHandCursor"): boolean;
config(propName: "title"): string;
config(propName: "zIndex"): number;
/**
* Set the active configuration for ZeroClipboard. Returns a copy of the updated active configuration.
* @param {ZeroClipboardConfig} config
* @return {ZeroClipboardConfig}
*/
config(config: ZeroClipboardConfig): ZeroClipboardConfig;
/**
* Create the Flash bridge SWF object.
* IMPORTANT: This method should be considered private.
*/
create(): void;
/**
* Emit the "destroy" event, remove all event handlers, and destroy the Flash bridge.
*/
destroy(): void;
/**
* Focus/"activate" the provided element by moving the Flash SWF object in front of it.
* @param {Element} element
* @since 2.1.0
*/
focus(element: Element): void;
/**
* Focus/"activate" the provided element by moving the Flash SWF object in front of it.
* @param {Element} element
* @deprecated The preferred method to use is focus but the alias activate is available for backward compatibility's sake.
*/
activate(element: Element): void;
/**
* Blur/"deactivate" the currently focused/"activated" element, moving the Flash SWF object off the screen.
* @since 2.1.0
*/
blur(): void;
/**
* Blur/"deactivate" the currently focused/"activated" element, moving the Flash SWF object off the screen.
* @deprecated The preferred method to use is blur but the alias deactivate is available for backward compatibility's sake.
*/
deactivate(): void;
/**
* Return the currently "activated" element that the Flash SWF object is in front of it.
* @return {HTMLElement} or {null}
*/
activeElement(): HTMLElement;
/**
* Diagnostic method that describes the state of the browser, Flash Player, and ZeroClipboard.
* @return {Object}
*/
state(): Object;
/**
* Indicates if Flash Player is definitely unusable (disabled, outdated, unavailable, or deactivated).
* IMPORTANT: This method should be considered private.
* @return {boolean}
*/
isFlashUnusable(): boolean;
}
/**
* The version of the ZeroClipboard library being used, e.g. "2.0.0".
*/
version: string;
/**
* Get a copy of the active configuration for ZeroClipboard.
* @return {ZeroClipboardConfig}
*/
config(): ZeroClipboardConfig;
/**
* Get a copy of the actively configured value for this configuration property for ZeroClipboard.
* @param {string} propName
* @return {any}
*/
config(propName: string): any;
config(propName: "swfPath"): string;
config(propName: "trustedDomains"): string[];
config(propName: "cacheBust"): boolean;
config(propName: "forceEnhancedClipboard"): boolean;
config(propName: "flashLoadTimeout"): number;
config(propName: "autoActivate"): boolean;
config(propName: "bubbleEvents"): boolean;
config(propName: "fixLineEndings"): boolean;
config(propName: "containerId"): string;
config(propName: "containerClass"): string;
config(propName: "swfObjectId"): string;
config(propName: "hoverClass"): string;
config(propName: "activeClass"): string;
config(propName: "forceHandCursor"): boolean;
config(propName: "title"): string;
config(propName: "zIndex"): number;
/**
* Set the active configuration for ZeroClipboard. Returns a copy of the updated active configuration.
* @param {ZeroClipboardConfig} config
* @return {ZeroClipboardConfig}
*/
config(config: ZeroClipboardConfig): ZeroClipboardConfig;
/**
* Create the Flash bridge SWF object.
* IMPORTANT: This method should be considered private.
*/
create(): void;
/**
* Emit the "destroy" event, remove all event handlers, and destroy the Flash bridge.
*/
destroy(): void;
/**
* Focus/"activate" the provided element by moving the Flash SWF object in front of it.
* @param {Element} element
* @since 2.1.0
*/
focus(element: Element): void;
/**
* Focus/"activate" the provided element by moving the Flash SWF object in front of it.
* @param {Element} element
* @deprecated The preferred method to use is focus but the alias activate is available for backward compatibility's sake.
*/
activate(element: Element): void;
/**
* Blur/"deactivate" the currently focused/"activated" element, moving the Flash SWF object off the screen.
* @since 2.1.0
*/
blur(): void;
/**
* Blur/"deactivate" the currently focused/"activated" element, moving the Flash SWF object off the screen.
* @deprecated The preferred method to use is blur but the alias deactivate is available for backward compatibility's sake.
*/
deactivate(): void;
/**
* Return the currently "activated" element that the Flash SWF object is in front of it.
* @return {HTMLElement} or {null}
*/
activeElement(): HTMLElement;
/**
* Diagnostic method that describes the state of the browser, Flash Player, and ZeroClipboard.
* @return {Object}
*/
state(): Object;
/**
* Indicates if Flash Player is definitely unusable (disabled, outdated, unavailable, or deactivated).
* IMPORTANT: This method should be considered private.
* @return {boolean}
*/
isFlashUnusable(): boolean;
}
interface ZeroClipboardClient extends ZeroClipboardCommon {
/**
* A unique identifier for this ZeroClipboard client instance.
*/
id: string;
/**
* Remove all event handlers and unclip all clipped elements.
*/
destroy(): void;
/**
* Set the pending data of type "text/plain" for clipboard injection.
* @param {string} data
*/
setText(data: string): void;
/**
* Set the pending data of type "text/html" for clipboard injection.
* @param {string} data
*/
setHtml(data: string): void;
/**
* Set the pending data of type "application/rtf" for clipboard injection.
* @param {string} data
*/
setRichText(data: string): void;
/**
* Register clipboard actions for new element(s) to the client. This includes automatically invoking
* ZeroClipboard.focus on the current element when it is hovered over, unless the autoActivate configuration
* property is set to false.
* @param {Element[]} elements
* @return {ZeroClipboardClient}
*/
clip(elements: List<Element>): ZeroClipboardClient;
/**
* Register clipboard actions for new element(s) to the client. This includes automatically invoking
* ZeroClipboard.focus on the current element when it is hovered over, unless the autoActivate configuration
* property is set to false.
* @param {Element} element
* @return {ZeroClipboardClient}
*/
clip(element: Element): ZeroClipboardClient;
/**
* Unregister the clipboard actions of previously registered element(s) on the page. If no elements are provided,
* ALL clipped/registered elements will be unregistered.
* @param {Element[]} elements
* @return {ZeroClipboardClient}
*/
unclip(elements: List<Element>): ZeroClipboardClient;
/**
* Unregister the clipboard actions of previously registered element(s) on the page. If no elements are provided,
* ALL clipped/registered elements will be unregistered.
* @param {Element} element
* @return {ZeroClipboardClient}
*/
unclip(elements?: Element): ZeroClipboardClient;
/**
* Get all of the elements to which this client is clipped/registered.
* @return {HTMLElement[]}
*/
elements(): HTMLElement[];
}
interface ZeroClipboardClient extends ZeroClipboardCommon {
/**
* A unique identifier for this ZeroClipboard client instance.
*/
id: string;
/**
* Remove all event handlers and unclip all clipped elements.
*/
destroy(): void;
/**
* Set the pending data of type "text/plain" for clipboard injection.
* @param {string} data
*/
setText(data: string): void;
/**
* Set the pending data of type "text/html" for clipboard injection.
* @param {string} data
*/
setHtml(data: string): void;
/**
* Set the pending data of type "application/rtf" for clipboard injection.
* @param {string} data
*/
setRichText(data: string): void;
/**
* Register clipboard actions for new element(s) to the client. This includes automatically invoking
* ZeroClipboard.focus on the current element when it is hovered over, unless the autoActivate configuration
* property is set to false.
* @param {Element[]} elements
* @return {ZeroClipboardClient}
*/
clip(elements: List<Element>): ZeroClipboardClient;
/**
* Register clipboard actions for new element(s) to the client. This includes automatically invoking
* ZeroClipboard.focus on the current element when it is hovered over, unless the autoActivate configuration
* property is set to false.
* @param {Element} element
* @return {ZeroClipboardClient}
*/
clip(element: Element): ZeroClipboardClient;
/**
* Unregister the clipboard actions of previously registered element(s) on the page. If no elements are provided,
* ALL clipped/registered elements will be unregistered.
* @param {Element[]} elements
* @return {ZeroClipboardClient}
*/
unclip(elements: List<Element>): ZeroClipboardClient;
/**
* Unregister the clipboard actions of previously registered element(s) on the page. If no elements are provided,
* ALL clipped/registered elements will be unregistered.
* @param {Element} element
* @return {ZeroClipboardClient}
*/
unclip(elements?: Element): ZeroClipboardClient;
/**
* Get all of the elements to which this client is clipped/registered.
* @return {HTMLElement[]}
*/
elements(): HTMLElement[];
}
interface ZeroClipboardEvent {
client?: ZeroClipboardClient | undefined;
type: string;
target: HTMLElement;
relatedTarget: HTMLElement;
currentTarget: HTMLObjectElement;
timeStamp: number;
}
interface ZeroClipboardEvent {
client?: ZeroClipboardClient | undefined;
type: string;
target: HTMLElement;
relatedTarget: HTMLElement;
currentTarget: HTMLObjectElement;
timeStamp: number;
}
interface ZeroClipboardReadyEvent extends ZeroClipboardEvent {
message: string;
version: string;
}
interface ZeroClipboardReadyEvent extends ZeroClipboardEvent {
message: string;
version: string;
}
interface ZeroClipboardBeforeCopyEvent extends ZeroClipboardEvent {
interface ZeroClipboardBeforeCopyEvent extends ZeroClipboardEvent {
}
}
interface ZeroClipboardCopyEvent extends ZeroClipboardEvent {
clipboardData: {
setData(format: string, data: string): void;
setData(data: Dictionary<string>): void;
clearData(mimeType?: string): void;
};
}
interface ZeroClipboardCopyEvent extends ZeroClipboardEvent {
clipboardData: {
setData(format: string, data: string): void;
setData(data: Dictionary<string>): void;
clearData(mimeType?: string): void;
};
}
interface ZeroClipboardAfterCopyEvent extends ZeroClipboardEvent {
success: Dictionary<boolean>;
data: Dictionary<string>;
errors: any[];
}
interface ZeroClipboardAfterCopyEvent extends ZeroClipboardEvent {
success: Dictionary<boolean>;
data: Dictionary<string>;
errors: any[];
}
interface ZeroClipboardDestroyEvent extends ZeroClipboardEvent {
success: Dictionary<boolean>;
data: Dictionary<string>;
}
interface ZeroClipboardDestroyEvent extends ZeroClipboardEvent {
success: Dictionary<boolean>;
data: Dictionary<string>;
}
interface ZeroClipboardErrorEvent extends ZeroClipboardEvent {
name: string;
message: string;
minimumVersion?: string | undefined;
version?: string | undefined;
jsVersion?: string | undefined;
swfVersion?: string | undefined;
property?: string | undefined;
configuredValue?: string | undefined;
actualValue?: string | undefined;
data?: Dictionary<string> | undefined;
errors?: any[] | undefined;
}
interface ZeroClipboardErrorEvent extends ZeroClipboardEvent {
name: string;
message: string;
minimumVersion?: string | undefined;
version?: string | undefined;
jsVersion?: string | undefined;
swfVersion?: string | undefined;
property?: string | undefined;
configuredValue?: string | undefined;
actualValue?: string | undefined;
data?: Dictionary<string> | undefined;
errors?: any[] | undefined;
}
interface ZeroClipboardCommon {
/**
* Set the pending data of type format for clipboard injection.
* @param {string} format
* @param {string} data
*/
setData(format: string, data: string): void;
/**
* Set the pending data of various formats for clipboard injection. This particular function signature (passing in
* an Object) will implicitly clear out any existing pending data.
* @param {Dictionary<string>} data
*/
setData(data: Dictionary<string>): void;
/**
* Clear the pending data of type format for clipboard injection.
* @param {string} mimeType
*/
clearData(mimeType: string): void;
/**
* Clear the pending data of ALL formats for clipboard injection.
*/
clearData(): void;
/**
* Get the pending data of type format for clipboard injection.
* @param {string} format
* @return {string}
* @since 2.1.0
*/
getData(format: string): string;
/**
* Get a copy of the pending data of ALL formats for clipboard injection.
* @return {Dictionary<string>}
* @since 2.1.0
*/
getData(): Dictionary<string>;
/**
* Add a listener function/object for an eventType. If called as a client method will be within the client instance.
* @param {string} eventType
* @param {EventListener<ZeroClipboardEvent>} listener
*/
on(eventType: string, listener: EventListenerOrEventListenerObject<ZeroClipboardEvent>): void;
/**
* The ready event is fired when the Flash SWF completes loading and is ready for action. Please note that you need
* to set most configuration options [with ZeroClipboard.config(...)] before ZeroClipboard.create() is invoked.
* @param {"ready"} eventType
* @param {EventListener<ZeroClipboardReadyEvent>} listener
*/
on(eventType: "ready", listener: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent>): void;
/**
* On click, the Flash object will fire off a beforecopy event. This event is generally only used for "UI
* preparation" if you want to alter anything before the copy event fires.
* IMPORTANT: Handlers of this event are expected to operate synchronously if they intend to be finished before
* the "copy" event is triggered.
* @param {"beforecopy"} eventType
* @param {EventListener<ZeroClipboardBeforeCopyEvent>} listener
*/
on(eventType: "beforecopy", listener: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent>): void;
/**
* On click (and after the beforecopy event), the Flash object will fire off a copy event. If the HTML object has
* data-clipboard-text or data-clipboard-target, then ZeroClipboard will take care of getting an initial set of
* data. It will then invoke any copy event handlers, in which you can call event.clipboardData.setData to set the
* text, which will complete the loop.
* IMPORTANT: If a handler of this event intends to modify the pending data for clipboard injection, it MUST
* operate synchronously in order to maintain the temporarily elevated permissions granted by the user's click
* event. The most common "gotcha" for this restriction is if someone wants to make an asynchronous XMLHttpRequest
* in response to the copy event to get the data to inject - this won't work; make it a synchronous XMLHttpRequest
* instead, or do the work in advance before the copy event is fired.
* @param {"copy"} eventType
* @param {EventListener<ZeroClipboardCopyEvent>} listener
*/
on(eventType: "copy", listener: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent>): void;
/**
* The aftercopy event is fired when the text is copied [or failed to copy] to the clipboard.
* @param {"aftercopy"} eventType
* @param {EventListener<ZeroClipboardAfterCopyEvent>} listener
*/
on(eventType: "aftercopy", listener: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent>): void;
/**
* The destroy event is fired when ZeroClipboard.destroy() is invoked.
* IMPORTANT: Handlers of this event are expected to operate synchronously if they intend to be finished before the
* destruction is complete.
* @param {"destroy"} eventType
* @param {EventListener<ZeroClipboardDestroyEvent>} listener
*/
on(eventType: "destroy", listener: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent>): void;
/**
* The error event is fired under a number of conditions, which will be detailed as sub-sections. Some consumers
* may not consider all error types to be critical, and thus ZeroClipboard does not take it upon itself to implode
* by calling ZeroClipboard.destroy() under error conditions. However, many consumers may want to do just that.
* @param {"error"} eventType
* @param {EventListener<ZeroClipboardErrorEvent>} listener
*/
on(eventType: "error", listener: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent>): void;
/**
* Add a set of eventType to listener function/object mappings.
* @param {EventListener<ZeroClipboardErrorEvent>} listenerObj
*/
on(listenerObj: {
ready?: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent> | undefined;
beforecopy?: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent> | undefined;
copy?: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent> | undefined;
aftercopy?: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent> | undefined;
destroy?: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent> | undefined;
error?: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent> | undefined;
}): void;
/**
* Remove a listener function/object for an eventType.
* @param {string} eventType
* @param {EventListener<ZeroClipboardEvent>} listener
*/
off(eventType: "ready", listener: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent>): void;
off(eventType: "beforecopy", listener: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent>): void;
off(eventType: "copy", listener: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent>): void;
off(eventType: "aftercopy", listener: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent>): void;
off(eventType: "destroy", listener: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent>): void;
off(eventType: "error", listener: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent>): void;
off(eventType: string, listener: EventListenerOrEventListenerObject<ZeroClipboardEvent>): void;
/**
* Remove a set of eventType to listener function/object mappings.
* @param {EventListener<ZeroClipboardErrorEvent>} listenerObj
*/
off(listenerObj: {
ready?: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent> | undefined;
beforecopy?: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent> | undefined;
copy?: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent> | undefined;
aftercopy?: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent> | undefined;
destroy?: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent> | undefined;
error?: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent> | undefined;
}): void;
/**
* Remove a set of eventType to listener function/object mappings.
*/
off(eventType: "ready"): void;
off(eventType: "beforecopy"): void;
off(eventType: "copy"): void;
off(eventType: "aftercopy"): void;
off(eventType: "destroy"): void;
off(eventType: "error"): void;
off(eventType: string): void;
/**
* Remove ALL listener functions/objects for ALL registered event types.
*/
off(): void;
/**
* Dispatch an event to all registered listeners. The emission of some types of events will result in side effects.
* @param {string} eventType
* @return {any}
*/
emit(eventType: string): any;
emit(eventType: "ready"): void;
emit(eventType: "beforecopy"): void;
emit(eventType: "copy"): any;
emit(eventType: "aftercopy"): void;
emit(eventType: "destroy"): void;
emit(eventType: "error"): void;
/**
* Dispatch an event to all registered listeners. The emission of some types of events will result in side effects.
* @param {string} data
* @param {string} name
* @return {any}
*/
emit(data: { type: string; name: string }): any;
/**
* Retrieves a copy of the registered listener functions/objects for the given eventType.
* @param {string} eventType
* @return {EventListener<ZeroClipboardEvent>}
*/
handlers(eventType: string): EventListenerOrEventListenerObject<ZeroClipboardEvent>[];
handlers(eventType: "ready"): EventListenerOrEventListenerObject<ZeroClipboardReadyEvent>[];
handlers(eventType: "beforecopy"): EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent>[];
handlers(eventType: "copy"): EventListenerOrEventListenerObject<ZeroClipboardCopyEvent>[];
handlers(eventType: "aftercopy"): EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent>[];
handlers(eventType: "destroy"): EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent>[];
handlers(eventType: "error"): EventListenerOrEventListenerObject<ZeroClipboardErrorEvent>[];
/**
* Retrieves a copy of the map of registered listener functions/objects for ALL event types.
* @return {Object}
*/
handlers(): {
ready?: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent>[] | undefined;
beforecopy?: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent>[] | undefined;
copy?: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent>[] | undefined;
aftercopy?: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent>[] | undefined;
destroy?: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent>[] | undefined;
error?: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent>[] | undefined;
};
}
interface ZeroClipboardCommon {
/**
* Set the pending data of type format for clipboard injection.
* @param {string} format
* @param {string} data
*/
setData(format: string, data: string): void;
/**
* Set the pending data of various formats for clipboard injection. This particular function signature (passing in
* an Object) will implicitly clear out any existing pending data.
* @param {Dictionary<string>} data
*/
setData(data: Dictionary<string>): void;
/**
* Clear the pending data of type format for clipboard injection.
* @param {string} mimeType
*/
clearData(mimeType: string): void;
/**
* Clear the pending data of ALL formats for clipboard injection.
*/
clearData(): void;
/**
* Get the pending data of type format for clipboard injection.
* @param {string} format
* @return {string}
* @since 2.1.0
*/
getData(format: string): string;
/**
* Get a copy of the pending data of ALL formats for clipboard injection.
* @return {Dictionary<string>}
* @since 2.1.0
*/
getData(): Dictionary<string>;
/**
* Add a listener function/object for an eventType. If called as a client method will be within the client instance.
* @param {string} eventType
* @param {EventListener<ZeroClipboardEvent>} listener
*/
on(eventType: string, listener: EventListenerOrEventListenerObject<ZeroClipboardEvent>): void;
/**
* The ready event is fired when the Flash SWF completes loading and is ready for action. Please note that you need
* to set most configuration options [with ZeroClipboard.config(...)] before ZeroClipboard.create() is invoked.
* @param {"ready"} eventType
* @param {EventListener<ZeroClipboardReadyEvent>} listener
*/
on(eventType: "ready", listener: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent>): void;
/**
* On click, the Flash object will fire off a beforecopy event. This event is generally only used for "UI
* preparation" if you want to alter anything before the copy event fires.
* IMPORTANT: Handlers of this event are expected to operate synchronously if they intend to be finished before
* the "copy" event is triggered.
* @param {"beforecopy"} eventType
* @param {EventListener<ZeroClipboardBeforeCopyEvent>} listener
*/
on(eventType: "beforecopy", listener: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent>): void;
/**
* On click (and after the beforecopy event), the Flash object will fire off a copy event. If the HTML object has
* data-clipboard-text or data-clipboard-target, then ZeroClipboard will take care of getting an initial set of
* data. It will then invoke any copy event handlers, in which you can call event.clipboardData.setData to set the
* text, which will complete the loop.
* IMPORTANT: If a handler of this event intends to modify the pending data for clipboard injection, it MUST
* operate synchronously in order to maintain the temporarily elevated permissions granted by the user's click
* event. The most common "gotcha" for this restriction is if someone wants to make an asynchronous XMLHttpRequest
* in response to the copy event to get the data to inject - this won't work; make it a synchronous XMLHttpRequest
* instead, or do the work in advance before the copy event is fired.
* @param {"copy"} eventType
* @param {EventListener<ZeroClipboardCopyEvent>} listener
*/
on(eventType: "copy", listener: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent>): void;
/**
* The aftercopy event is fired when the text is copied [or failed to copy] to the clipboard.
* @param {"aftercopy"} eventType
* @param {EventListener<ZeroClipboardAfterCopyEvent>} listener
*/
on(eventType: "aftercopy", listener: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent>): void;
/**
* The destroy event is fired when ZeroClipboard.destroy() is invoked.
* IMPORTANT: Handlers of this event are expected to operate synchronously if they intend to be finished before the
* destruction is complete.
* @param {"destroy"} eventType
* @param {EventListener<ZeroClipboardDestroyEvent>} listener
*/
on(eventType: "destroy", listener: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent>): void;
/**
* The error event is fired under a number of conditions, which will be detailed as sub-sections. Some consumers
* may not consider all error types to be critical, and thus ZeroClipboard does not take it upon itself to implode
* by calling ZeroClipboard.destroy() under error conditions. However, many consumers may want to do just that.
* @param {"error"} eventType
* @param {EventListener<ZeroClipboardErrorEvent>} listener
*/
on(eventType: "error", listener: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent>): void;
/**
* Add a set of eventType to listener function/object mappings.
* @param {EventListener<ZeroClipboardErrorEvent>} listenerObj
*/
on(listenerObj: {
ready?: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent> | undefined;
beforecopy?: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent> | undefined;
copy?: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent> | undefined;
aftercopy?: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent> | undefined;
destroy?: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent> | undefined;
error?: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent> | undefined;
}): void;
/**
* Remove a listener function/object for an eventType.
* @param {string} eventType
* @param {EventListener<ZeroClipboardEvent>} listener
*/
off(eventType: "ready", listener: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent>): void;
off(eventType: "beforecopy", listener: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent>): void;
off(eventType: "copy", listener: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent>): void;
off(eventType: "aftercopy", listener: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent>): void;
off(eventType: "destroy", listener: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent>): void;
off(eventType: "error", listener: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent>): void;
off(eventType: string, listener: EventListenerOrEventListenerObject<ZeroClipboardEvent>): void;
/**
* Remove a set of eventType to listener function/object mappings.
* @param {EventListener<ZeroClipboardErrorEvent>} listenerObj
*/
off(listenerObj: {
ready?: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent> | undefined;
beforecopy?: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent> | undefined;
copy?: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent> | undefined;
aftercopy?: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent> | undefined;
destroy?: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent> | undefined;
error?: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent> | undefined;
}): void;
/**
* Remove a set of eventType to listener function/object mappings.
*/
off(eventType: "ready"): void;
off(eventType: "beforecopy"): void;
off(eventType: "copy"): void;
off(eventType: "aftercopy"): void;
off(eventType: "destroy"): void;
off(eventType: "error"): void;
off(eventType: string): void;
/**
* Remove ALL listener functions/objects for ALL registered event types.
*/
off(): void;
/**
* Dispatch an event to all registered listeners. The emission of some types of events will result in side effects.
* @param {string} eventType
* @return {any}
*/
emit(eventType: string): any;
emit(eventType: "ready"): void;
emit(eventType: "beforecopy"): void;
emit(eventType: "copy"): any;
emit(eventType: "aftercopy"): void;
emit(eventType: "destroy"): void;
emit(eventType: "error"): void;
/**
* Dispatch an event to all registered listeners. The emission of some types of events will result in side effects.
* @param {string} data
* @param {string} name
* @return {any}
*/
emit(data: {type: string, name: string}): any;
/**
* Retrieves a copy of the registered listener functions/objects for the given eventType.
* @param {string} eventType
* @return {EventListener<ZeroClipboardEvent>}
*/
handlers(eventType: string): EventListenerOrEventListenerObject<ZeroClipboardEvent>[];
handlers(eventType: "ready"): EventListenerOrEventListenerObject<ZeroClipboardReadyEvent>[];
handlers(eventType: "beforecopy"): EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent>[];
handlers(eventType: "copy"): EventListenerOrEventListenerObject<ZeroClipboardCopyEvent>[];
handlers(eventType: "aftercopy"): EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent>[];
handlers(eventType: "destroy"): EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent>[];
handlers(eventType: "error"): EventListenerOrEventListenerObject<ZeroClipboardErrorEvent>[];
/**
* Retrieves a copy of the map of registered listener functions/objects for ALL event types.
* @return {Object}
*/
handlers(): {
ready?: EventListenerOrEventListenerObject<ZeroClipboardReadyEvent>[] | undefined;
beforecopy?: EventListenerOrEventListenerObject<ZeroClipboardBeforeCopyEvent>[] | undefined;
copy?: EventListenerOrEventListenerObject<ZeroClipboardCopyEvent>[] | undefined;
aftercopy?: EventListenerOrEventListenerObject<ZeroClipboardAfterCopyEvent>[] | undefined;
destroy?: EventListenerOrEventListenerObject<ZeroClipboardDestroyEvent>[] | undefined;
error?: EventListenerOrEventListenerObject<ZeroClipboardErrorEvent>[] | undefined;
};
}
interface ZeroClipboardConfig {
/**
* SWF URL, relative to the page. Default value will be "ZeroClipboard.swf" under the same path as the ZeroClipboard JS file.
*/
swfPath?: string | undefined;
/**
* SWF inbound scripting policy: page domains that the SWF should trust. (single string, or array of strings)
*/
trustedDomains?: string[] | undefined;
/**
* Include a "noCache" query parameter on requests for the SWF.
*/
cacheBust?: boolean | undefined;
/**
* Enable use of the fancy "Desktop" clipboard, even on Linux where it is known to suck.
*/
forceEnhancedClipboard?: boolean | undefined;
/**
* How many milliseconds to wait for the Flash SWF to load and respond before assuming that
* Flash is deactivated (e.g. click-to-play) in the user's browser. If you don't care about
* how long it takes to load the SWF, you can set this to `null`.
*/
flashLoadTimeout?: number | undefined;
/**
* Setting this to `false` would allow users to handle calling `ZeroClipboard.focus(...);`
* themselves instead of relying on our per-element `mouseover` handler.
*/
autoActivate?: boolean | undefined;
/**
* Bubble synthetic events in JavaScript after they are received by the Flash object.
*/
bubbleEvents?: boolean | undefined;
/**
* Ensure OS-compliant line endings, i.e. "\r\n" on Windows, "\n" elsewhere
*/
fixLineEndings?: boolean | undefined;
/**
* Sets the ID of the `div` encapsulating the Flash object.
* Value is validated against the [HTML4 spec for `ID` tokens][valid_ids].
*/
containerId?: string | undefined;
/**
* Sets the class of the `div` encapsulating the Flash object.
*/
containerClass?: string | undefined;
/**
* Sets the ID and name of the Flash `object` element.
* Value is validated against the [HTML4 spec for `ID` and `Name` tokens][valid_ids].
*/
swfObjectId?: string | undefined;
/**
* The class used to indicate that a clipped element is being hovered over.
*/
hoverClass?: string | undefined;
/**
* The class used to indicate that a clipped element is active (is being clicked).
*/
activeClass?: string | undefined;
/**
* Forcibly set the hand cursor ("pointer") for all clipped elements.
* IMPORTANT: This configuration value CAN be modified while a SWF is actively embedded.
*/
forceHandCursor?: boolean | undefined;
/**
* Sets the title of the `div` encapsulating the Flash object.
* IMPORTANT: This configuration value CAN be modified while a SWF is actively embedded.
*/
title?: string | undefined;
/**
* The z-index used by the Flash object.
* Max value (32-bit): 2147483647.
* IMPORTANT: This configuration value CAN be modified while a SWF is actively embedded.
*/
zIndex?: number | undefined;
}
interface ZeroClipboardConfig {
/**
* SWF URL, relative to the page. Default value will be "ZeroClipboard.swf" under the same path as the ZeroClipboard JS file.
*/
swfPath?: string | undefined;
/**
* SWF inbound scripting policy: page domains that the SWF should trust. (single string, or array of strings)
*/
trustedDomains?: string[] | undefined;
/**
* Include a "noCache" query parameter on requests for the SWF.
*/
cacheBust?: boolean | undefined;
/**
* Enable use of the fancy "Desktop" clipboard, even on Linux where it is known to suck.
*/
forceEnhancedClipboard?: boolean | undefined;
/**
* How many milliseconds to wait for the Flash SWF to load and respond before assuming that
* Flash is deactivated (e.g. click-to-play) in the user's browser. If you don't care about
* how long it takes to load the SWF, you can set this to `null`.
*/
flashLoadTimeout?: number | undefined;
/**
* Setting this to `false` would allow users to handle calling `ZeroClipboard.focus(...);`
* themselves instead of relying on our per-element `mouseover` handler.
*/
autoActivate?: boolean | undefined;
/**
* Bubble synthetic events in JavaScript after they are received by the Flash object.
*/
bubbleEvents?: boolean | undefined;
/**
* Ensure OS-compliant line endings, i.e. "\r\n" on Windows, "\n" elsewhere
*/
fixLineEndings?: boolean | undefined;
/**
* Sets the ID of the `div` encapsulating the Flash object.
* Value is validated against the [HTML4 spec for `ID` tokens][valid_ids].
*/
containerId?: string | undefined;
/**
* Sets the class of the `div` encapsulating the Flash object.
*/
containerClass?: string | undefined;
/**
* Sets the ID and name of the Flash `object` element.
* Value is validated against the [HTML4 spec for `ID` and `Name` tokens][valid_ids].
*/
swfObjectId?: string | undefined;
/**
* The class used to indicate that a clipped element is being hovered over.
*/
hoverClass?: string | undefined;
/**
* The class used to indicate that a clipped element is active (is being clicked).
*/
activeClass?: string | undefined;
/**
* Forcibly set the hand cursor ("pointer") for all clipped elements.
* IMPORTANT: This configuration value CAN be modified while a SWF is actively embedded.
*/
forceHandCursor?: boolean | undefined;
/**
* Sets the title of the `div` encapsulating the Flash object.
* IMPORTANT: This configuration value CAN be modified while a SWF is actively embedded.
*/
title?: string | undefined;
/**
* The z-index used by the Flash object.
* Max value (32-bit): 2147483647.
* IMPORTANT: This configuration value CAN be modified while a SWF is actively embedded.
*/
zIndex?: number | undefined;
}
}

@@ -495,3 +503,3 @@

declare module "zeroclipboard" {
export = ZeroClipboard;
export = ZeroClipboard;
}
{
"name": "@types/zeroclipboard",
"version": "2.0.34",
"version": "2.0.35",
"description": "TypeScript definitions for ZeroClipboard",

@@ -38,4 +38,4 @@ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/zeroclipboard",

"dependencies": {},
"typesPublisherContentHash": "fe92bc09f96870497c4ffc452b2aaf90e9a155e052b9ba9af6ce2b2a6ee51c43",
"typesPublisherContentHash": "e4af07cf1f2a8ace6ce902a988690f8ae4a42c96c8df59b3537e22a6d5f4df21",
"typeScriptVersion": "4.3"
}

@@ -11,3 +11,3 @@ # Installation

### Additional Details
* Last updated: Thu, 25 May 2023 20:34:59 GMT
* Last updated: Wed, 30 Aug 2023 21:05:45 GMT
* Dependencies: none

@@ -14,0 +14,0 @@ * Global values: `ZeroClipboard`

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc