photoeditorsdk
Version:
The most comprehensive photo editor SDK for HTML5
539 lines (509 loc) • 14.4 kB
TypeScript
import React from 'react';
import { Configuration } from './configuration';
import {
ExportConfiguration,
ExportData,
} from './configuration/feature/export';
import { ImageMimeType } from './configuration/feature/imageMimeType';
import { ConfigurationProps } from './configuration/props';
import { EventEmitter } from './eventEmitter';
import { UIEvent } from './events';
import type { SerialisationSchema } from './serialization/3.12.0/schema';
export class PhotoEditorSDKUIComponent extends React.Component<
ConfigurationProps
> {
ui: EventEmitter<UIEvent>;
/**
* Disposes the PhotoEditor SDK Engine instance
*/
dispose: () => void;
/**
* Resets the PhotoEditor SDK
*/
reset: () => void;
/**
* Closes the PhotoEditor SDK UI and disposes all Engine instance
*/
close: () => void;
/**
* Returns true if there were changes made to the image since it was opened or saved
*/
hasChanges: () => boolean;
/**
* Exports an image
* @param {ExportConfiguration['image']} options
* @return {Promise}
*/
export: (
options?: ExportConfiguration['image'] & {
preventExportEvent?: boolean;
},
) => Promise<ExportData>;
/**
* Dynamically sets the image to the ui
* @param {Image} image
*/
setImage: (image: string | HTMLImageElement) => Promise<void>;
/**
* Returns the width and height of the output image in pixel
*/
getImageDimensions: () => { width: number; height: number };
/**
* Serializes current editor state to the serialization schema
* @param {Object} options
* @param {boolean} options.image
*/
serialize: (options: { image: boolean }) => Promise<SerialisationSchema>;
/**
* Deserializes serialization schema to editor state
* @param {SerializationSchema} data
*/
deserialize: (data: SerialisationSchema) => Promise<void>;
/**
* Returns the original MIME type of the loaded image
*/
getImageMimeType: () => ImageMimeType;
}
export interface EditorApi extends EventEmitter<UIEvent> {
/**
* Disposes the PhotoEditor SDK Engine instance
*/
dispose: () => void;
/**
* Resets the PhotoEditor SDK
*/
reset: () => void;
/**
* Closes the PhotoEditor SDK UI and disposes all Engine instance
*/
close: () => void;
/**
* Returns true if there were changes made to the image since it was opened or saved
*/
hasChanges: () => boolean;
/**
* Exports an image
* @param {ExportConfiguration['image']} options
* @return {Promise}
*/
export: (
options?: ExportConfiguration['image'] & {
preventExportEvent?: boolean;
},
) => Promise<ExportData>;
/**
* Dynamically sets the image to the ui
* @param {Image} image
*/
setImage: (image: string | HTMLImageElement) => Promise<void>;
/**
* Returns the width and height of the output image in pixel
*/
getImageDimensions: () => { width: number; height: number };
/**
* Serializes current editor state to the serialization schema
* @param {Object} options
* @param {boolean} options.image
*/
serialize: (options: { image: boolean }) => Promise<SerialisationSchema>;
/**
* Deserializes serialization schema to editor state
* @param {SerializationSchema} data
*/
deserialize: (data: SerialisationSchema) => Promise<void>;
/**
* Returns the original MIME type of the loaded image
*/
getImageMimeType: () => ImageMimeType;
}
/**
* The UI of PhotoEditor SDK
*/
export const PhotoEditorSDKUI: {
init: (config: Configuration) => Promise<EditorApi>;
};
export * from './common/existingAsset';
export * from './common/canvasAction';
export * from './common/tool';
export * from './common/utils';
export * from './common/float2';
export * from './common/size';
export * from './common/color';
export * from './common/categoryHeaderTypes';
export * from './common/defaultConfig';
export * from './common/deepmergeAll';
export * from './components/advanced/card';
export * from './components/advanced/itemCard';
export * from './components/base/buttons';
export * from './components/advanced/toolbarItem';
export * from './components/advanced/toolbar';
export * from './components/advanced/toolControlBar';
export * from './components/basic/toolbar';
export * from './components/basic/toolControlBar';
export * from './components/basic/toolItemsBar';
export * from './components/base/toolbar';
export * from './components/base/toolControlBar';
export * from './components/base/cardLabel';
export * from './components/base/cardAvatar';
export * from './components/base/color/colorItem';
export * from './components/base/color/colorItemComponents';
export * from './components/base/dialog/dialog';
export * from './components/base/dialog/dialogComponents';
export * from './components/base/dropdown/dropdown';
export * from './components/base/windowContainer';
export * from './components/base/slider/slider';
export * from './components/base/slider/sliderComponents';
export * from './components/base/slider/identifier';
export * from './components/base/checkbox/checkbox';
export * from './components/base/checkbox/checkboxComponents';
export * from './components/base/label';
export * from './configuration/custom';
export * from './configuration/custom/theme';
export * from './configuration/custom/language';
export * from './configuration/custom/measurements';
export * from './configuration/feature/snapping';
export * from './configuration/feature/watermark';
export * from './configuration/feature/export';
export * from './configuration/feature/exportFormat';
export * from './configuration/feature/imageFormat';
export * from './configuration/feature/imageMimeType';
export * from './configuration/engine';
export * from './configuration/engine/fontManager';
export * from './configuration/engine/assetProvider';
export * from './configuration/engine/downscaleOptions';
export * from './configuration';
export * from './configuration/props';
export * from './tools/adjustment';
export * from './tools/custom';
export * from './tools/filter';
export * from './tools/focus';
export * from './tools/frame';
export * from './tools/library';
export * from './tools/overlay';
export * from './tools/sticker';
export * from './tools/text';
export * from './tools/brush';
export * from './tools/textdesign';
export * from './tools/transform';
export * from './events';
export * from './eventEmitter';
export * from './serialization/3.12.0/schema';
export * from './serialization/3.12.0/appSerializableState';
/* eslint-disable max-classes-per-file, react/prefer-stateless-function */
import { CustomCardProps } from './components/advanced/card';
import { CustomItemCardProps } from './components/advanced/itemCard';
import { CustomAdvancedToolbarProps } from './components/advanced/toolbar';
import { CustomToolbarItemProps } from './components/advanced/toolbarItem';
import {
CustomAdvancedToolControlBarProps,
CustomAdvancedToolControlSectionBarProps,
} from './components/advanced/toolControlBar';
import { CustomButtonProps } from './components/base/buttons';
import { CustomCardAvatarProps } from './components/base/cardAvatar';
import { CustomCardLabelProps } from './components/base/cardLabel';
import { CustomCheckboxProps } from './components/base/checkbox/checkbox';
import {
CheckboxBaseProps,
CheckboxCheckMarkProps,
CheckboxInputProps,
} from './components/base/checkbox/checkboxComponents';
import { CustomColorItemProps } from './components/base/color/colorItem';
import {
ColorItemBaseProps,
ColorItemBackgroundProps,
ColorItemTiledBackgroundProps,
ColorItemActiveOverlayProps,
} from './components/base/color/colorItemComponents';
import { CustomDialogProps } from './components/base/dialog/dialog';
import {
DialogBaseProps,
DialogContainerProps,
DialogBackdropProps,
DialogHeaderProps,
DialogBodyProps,
DialogFooterProps,
DialogSpinnerProps,
} from './components/base/dialog/dialogComponents';
import { DropdownProps } from './components/base/dropdown/dropdown';
import { CustomSearchProps } from './components/base/input/search';
import { CustomLabelProps } from './components/base/label';
import { CustomSliderProps } from './components/base/slider/slider';
import {
SliderBaseProps,
SliderContainerProps,
SliderInputProps,
SliderTrackProps,
SliderLabelProps,
} from './components/base/slider/sliderComponents';
import { CustomWindowContainerProps } from './components/base/windowContainer';
import { CustomBasicToolbarProps } from './components/basic/toolbar';
import { CustomBasicToolControlBarProps } from './components/basic/toolControlBar';
import { CustomBasicToolItemsBarProps } from './components/basic/toolItemsBar';
export * from './components/hooks/useSetImage';
export * from './components/hooks/useGetImage';
export * from './components/hooks/useIsLayoutAdvanced';
/**
* @ignore
*/
// @ts-ignore:2686
export class AdvancedUICategoryCard extends React.Component<CustomCardProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class AdvancedUIItemCard extends React.Component<CustomItemCardProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class AdvancedUIToolbarItem extends React.Component<
CustomToolbarItemProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class AdvancedUICardLabel extends React.Component<
CustomCardLabelProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class CardAvatar extends React.Component<CustomCardAvatarProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class CanvasBarTextSecondaryButton extends React.Component<
CustomButtonProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class ContainedPrimaryButton extends React.Component<
CustomButtonProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class OutlinedPrimaryButton extends React.Component<CustomButtonProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class OutlinedSecondaryButton extends React.Component<
CustomButtonProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class TextPrimaryButton extends React.Component<CustomButtonProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class TextSecondaryButton extends React.Component<CustomButtonProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class SpriteActionButton extends React.Component<CustomButtonProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class IconButton extends React.Component<CustomButtonProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class Label extends React.Component<CustomLabelProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class Checkbox extends React.Component<CustomCheckboxProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class CheckboxBase extends React.Component<CheckboxBaseProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class CheckboxCheckMark extends React.Component<
CheckboxCheckMarkProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class CheckboxInput extends React.Component<CheckboxInputProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class ColorItem extends React.Component<CustomColorItemProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class ColorItemBase extends React.Component<ColorItemBaseProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class ColorItemBackground extends React.Component<
ColorItemBackgroundProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class ColorItemTiledBackground extends React.Component<
ColorItemTiledBackgroundProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class ColorItemActiveOverlay extends React.Component<
ColorItemActiveOverlayProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class Dialog extends React.Component<CustomDialogProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class DialogBase extends React.Component<DialogBaseProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class DialogContainer extends React.Component<DialogContainerProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class DialogBackdrop extends React.Component<DialogBackdropProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class DialogHeader extends React.Component<DialogHeaderProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class DialogBody extends React.Component<DialogBodyProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class DialogFooter extends React.Component<DialogFooterProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class DialogSpinner extends React.Component<DialogSpinnerProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class SearchField extends React.Component<CustomSearchProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class AdvancedUIToolbar extends React.Component<
CustomAdvancedToolbarProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class AdvancedUIToolControlBar extends React.Component<
CustomAdvancedToolControlBarProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class BasicUIToolbar extends React.Component<CustomBasicToolbarProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class BasicUIToolControlBar extends React.Component<
CustomBasicToolControlBarProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class BasicUIToolItemsBar extends React.Component<
CustomBasicToolItemsBarProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class Dropdown extends React.Component<DropdownProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class DropdownCaret extends React.Component<DropdownCaretProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class AdvancedUIControlsBarSection extends React.Component<
CustomAdvancedToolControlSectionBarProps & { children: React.ReactNode }
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class WindowContainer extends React.Component<
CustomWindowContainerProps
> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class Slider extends React.Component<CustomSliderProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class SliderContainer extends React.Component<SliderContainerProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class SliderInput extends React.Component<SliderInputProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class SliderTrack extends React.Component<SliderTrackProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class SliderLabel extends React.Component<SliderLabelProps> {}
/**
* @ignore
*/
// @ts-ignore:2686
export class SliderBase extends React.Component<SliderBaseProps> {}