MediaMasher

MediaMasher component.

interface MediaMasher 
extends Plugins {
  mediaFromId: (id?: string) => Media | undefined
  options: PluginsOptions
  plugin: (plugin: ID) => PluginType<ID>
  pluginPromise: (plugin: ID, location?: string) => Promise<PluginType<ID>>
  uncache: (ids: OrArray<string>) => void
}
interface MediaMasherComponent  {
  mediaMasher: MediaMasherNode
}
interface MediaMasherDetail  {
  element?: MediaMasherNode
}
interface MediaMasherNode 
extends MediaMasherSimple, EventTarget {
  clipMove: (location: ClipLocation, clipId?: string) => Promise<void>
  dispatchCustom: (typeOrEvent: CustomEvent | Event) => boolean
  error?: NamedError
  find: (detail: ApiFindRequest) => Promise<DataOrError<Array<Media>>>
  icon: (args: WithId) => Promise<DataOrError<Element>>
  immutable: boolean
  loadMedia: (media: unknown) => Promise<DataOrError<ClientMash>>
  mash: () => Promise<DataOrError<ClientMash>>
  mashMedia: ClientMash
  mashOrNot: ClientMash | undefined
  masherMedia?: MasherMedia
  mediaCreate: (object: Array<(StorableMedia|Media)>) => Promise<DataOrError<Array<Media>>>
  mediaFromId: (id?: string) => Media | undefined
  options: PluginsOptions
  plugin: (plugin: ID) => PluginType<ID>
  pluginPromise: (plugin: ID, location?: string) => Promise<PluginType<ID>>
  propertiedForTarget: (target: string | SignalId) => Propertied | undefined
  signal: (arg: string | SignalId | PropertyObject, nameOrTarget?: string, type?: string) => Signal
  signals: SignalsRecord
  string: (args: ElementPhraseArgs) => Promise<DataOrError<string>>
  subscribe: (hander: SignalFunction, arg: string | SignalId | PropertyObject, name?: string, type?: string) => Signal
  uncache: (ids: OrArray<string>) => void
  variableSet: (nameOrSignal: Signal | string, value?: Scalar, suffix?: string) => void
}
interface MediaMasherOptions 
extends PluginsOptions {
  apis: ApisPluginOptions
  context: ClientOrServer
  data: DataPluginOptions
  importUrl: FetchUrl
  media: MediaPluginOptions
  plugins: Record<string, OrArray<string>>
}
interface MediaMasherSimple 
extends MediaMasher {
  find: (detail: ApiFindRequest) => Promise<DataOrError<Array<Media>>>
  mediaFromId: (id?: string) => Media | undefined
  options: PluginsOptions
  plugin: (plugin: ID) => PluginType<ID>
  pluginPromise: (plugin: ID, location?: string) => Promise<PluginType<ID>>
  uncache: (ids: OrArray<string>) => void
}
/**
 * @implements Plugins
 * @implements MediaMasher
 */
class MediaMasherClass {
  mediaFromId: (id?: string) => Media | undefined
  options: PluginsOptions
  plugin: (plugin: ID) => PluginType<ID>
  pluginPromise: (plugin: ID, location?: string) => Promise<PluginType<ID>>
  uncache: (ids: OrArray<string>) => void
}
/**
 * @implements MediaMasherNode
 * @implements CssReactive
 */
class MediaMasherElement
extends SlottedElementBase {
  clipMove: (location: ClipLocation, clipId?: string) => Promise<void>
  connectedCallback: () => void
  cssBorderBoxSizing: CSSResult
  cssHostDropping: CSSResult
  cssHostFlex: CSSResult
  cssProperties: Array<Property>
  defaultContent: () => OptionalContent
  disconnectedCallback: () => void
  dispatchCustom: (typeOrEvent: CustomEvent | Event) => boolean
  error?: NamedError
  find: (detail: ApiFindRequest) => Promise<DataOrError<Array<Media>>>
  icon: (args: WithId) => Promise<DataOrError<Element>>
  immutable: boolean
  loadMedia: (media: unknown) => Promise<DataOrError<ClientMash>>
  mash: () => Promise<DataOrError<ClientMash>>
  mashMedia: ClientMash
  mashOrNot: ClientMash | undefined
  masherMedia?: MasherMedia
  mediaCreate: (object: Array<(StorableMedia|Media)>) => Promise<DataOrError<Array<Media>>>
  mediaFromId: (id?: string) => Media | undefined
  options: PluginsOptions
  partContent: (part: string, slots: Array<Element>) => OptionalContent
  partSeparator: string
  plugin: (plugin: ID) => PluginType<ID>
  pluginPromise: (plugin: ID, location?: string) => Promise<PluginType<ID>>
  pluginsNeeded: Array<PluginId>
  propertiedForTarget: (target: string | SignalId) => Propertied | undefined
  properties: PropertyDeclarations
  refreshParts: () => string
  signal: (arg: string | SignalId | PropertyObject, nameOrTarget?: string, type?: string) => Signal
  signals: SignalsRecord
  string: (args: ElementPhraseArgs) => Promise<DataOrError<string>>
  styles: CSSResult
  subscribe: (hander: SignalFunction, arg: string | SignalId | PropertyObject, name?: string, type?: string) => Signal
  target: string
  templateContent: (contents: TemplateContents) => TemplateContent
  timeout: Timeout | undefined
  uncache: (ids: OrArray<string>) => void
  unload: () => void
  unsubscribe: (arg: string | SignalId | PropertyObject, name?: string, type?: string) => void
  variable: (name: string) => number
  variableSet: (nameOrSignal: Signal | string, value?: Scalar, suffix?: string) => void
  variableString: (name: string) => string
}