UNPKG

photoeditorsdk

Version:

The most comprehensive photo editor SDK for HTML5

539 lines (509 loc) 14.4 kB
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> {}