@uploadcare/file-uploader
Version:
Building blocks for Uploadcare products integration
99 lines • 2.79 kB
TypeScript
/** @typedef {{ externalSourceType: string }} ActivityParams */
/**
* @typedef {{
* type: 'file-selected';
* obj_type: 'selected_file';
* filename: string;
* url: string;
* alternatives?: Record<string, string>;
* }} SelectedFileMessage
*/
/**
* @typedef {{
* type: 'embed-css';
* style: string;
* }} EmbedCssMessage
*/
/** @typedef {SelectedFileMessage | EmbedCssMessage} Message */
export class ExternalSource extends UploaderBlock {
activityType: "external";
init$: {
activityIcon: string;
activityCaption: string;
selectedList: never[];
counter: number;
multiple: boolean;
onDone: () => void;
onCancel: () => void;
'*commonProgress': number;
'*uploadList': never[];
'*uploadQueue': import("@uploadcare/upload-client").Queue;
'*collectionErrors': any[];
'*collectionState': import("../../index.js").OutputCollectionState<import("../../index.js").OutputCollectionStatus, "maybe-has-group"> | null;
'*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
'*uploadTrigger': Set<string>;
'*secureUploadsManager': import("../../abstract/SecureUploadsManager.js").SecureUploadsManager | null;
'*currentActivity': null;
'*currentActivityParams': {};
'*history': never[];
'*historyBack': null;
'*closeModal': () => void;
};
/** @type {ActivityParams} */
get activityParams(): ActivityParams;
/**
* @private
* @type {HTMLIFrameElement | null}
*/
private _iframe;
/**
* @private
* @param {SelectedFileMessage} message
*/
private extractUrlFromMessage;
/**
* @private
* @param {Message} message
*/
private sendMessage;
/**
* @private
* @param {SelectedFileMessage} message
*/
private handleFileSelected;
/** @private */
private handleIframeLoad;
/**
* @private
* @param {string} propName
*/
private getCssValue;
/** @private */
private applyStyles;
/** @private */
private remoteUrl;
/** @private */
private mountIframe;
/** @private */
private unmountIframe;
}
export namespace ExternalSource {
let template: string;
}
export type ActivityParams = {
externalSourceType: string;
};
export type SelectedFileMessage = {
type: 'file-selected';
obj_type: 'selected_file';
filename: string;
url: string;
alternatives?: Record<string, string>;
};
export type EmbedCssMessage = {
type: 'embed-css';
style: string;
};
export type Message = SelectedFileMessage | EmbedCssMessage;
import { UploaderBlock } from '../../abstract/UploaderBlock.js';
//# sourceMappingURL=ExternalSource.d.ts.map