molstar
Version:
A comprehensive macromolecular library.
60 lines (59 loc) • 2.28 kB
TypeScript
/**
* Copyright (c) 2018-2025 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
* @author Alexander Rose <alexander.rose@weirdbyte.de>
* @author Ventura Rivera <venturaxrivera@gmail.com>
*/
import { StateTransformParameters } from '../mol-plugin-ui/state/common';
import { PluginSpec } from '../mol-plugin/spec';
import { StateAction, StateTransformer } from '../mol-state';
import { Loci } from '../mol-model/loci';
import { SequenceViewMode } from './sequence';
export { PluginUISpec };
interface PluginUISpec extends PluginSpec {
customParamEditors?: [StateAction | StateTransformer, StateTransformParameters.Class][];
components?: {
controls?: PluginUISpec.LayoutControls;
remoteState?: 'none' | 'default';
structureTools?: React.ComponentClass | React.FC;
viewport?: {
view?: React.ComponentClass | React.FC;
controls?: React.ComponentClass | React.FC;
snapshotDescription?: React.ComponentClass | React.FC;
};
sequenceViewer?: {
view?: React.ComponentClass | React.FC;
modeOptions?: SequenceViewMode[];
defaultMode?: SequenceViewMode;
};
hideTaskOverlay?: boolean;
disableDragOverlay?: boolean;
selectionTools?: {
controls?: React.ComponentClass | React.FC;
granularityOptions?: Loci.Granularity[];
hide?: {
granularity?: boolean;
union?: boolean;
subtract?: boolean;
intersect?: boolean;
set?: boolean;
theme?: boolean;
componentAdd?: boolean;
componentRemove?: boolean;
undo?: boolean;
help?: boolean;
cancel?: boolean;
};
};
};
}
declare namespace PluginUISpec {
interface LayoutControls {
top?: React.ComponentClass | React.FC | 'none';
left?: React.ComponentClass | React.FC | 'none';
right?: React.ComponentClass | React.FC | 'none';
bottom?: React.ComponentClass | React.FC | 'none';
}
}
export declare const DefaultPluginUISpec: () => PluginUISpec;