Frontend Plugin API#
NucleI plugins that add user interface run inside the desktop application and
talk to it through a single global object, window.Nuclei. This section
documents that object and the React hooks and helper types that come with it,
generated from the published TypeScript declarations of
@tqt-llc/nuclei-stubs version 1.0.0.
What is documented here#
The stub package's entry point, index.d.ts, re-exports the plugin-facing
surface from plugin-exports.d.ts, and that file is what this reference is
built from:
PluginAPI— the object exposed aswindow.Nuclei, grouping the UI components, registries and helpers a plugin may use.usePluginContext,useSharedPluginState,useFlowAPI— React hooks for plugin state and the flow editor.registerPluginTranslations,usePluginTranslation— plugin localisation.
Those exports, plus every declaration the exports refer to in their signatures,
make up the pages below. Application internals that no exported signature
mentions are left out, as are the protobuf message wrappers under nu-rpc,
which describe the wire protocol rather than the plugin API.
Getting the types in your editor#
Install the stub package as a development dependency of your plugin:
import type { PluginAPI } from '@tqt-llc/nuclei-stubs';
declare global {
interface Window {
Nuclei: typeof PluginAPI;
}
}
Reference#
Start at plugin-exports, or browse the
full module list.
components/bits/AdaptiveButtoncomponents/bits/AppBarcomponents/bits/AppBarLayoutcomponents/bits/CodeInputcomponents/bits/CollapsiblePanelcomponents/bits/CollapsibleSidebarcomponents/bits/ConfirmDialogcomponents/bits/DragNumberInputcomponents/bits/EmptyStatecomponents/bits/HtmlTooltipComponentcomponents/bits/NumberInputcomponents/bits/Pagecomponents/bits/PageActionsBarcomponents/bits/PageContentcomponents/bits/PageSkeletoncomponents/bits/SectionHeadercomponents/bits/SilentErrorBoundarycomponents/bits/SkeletonListcomponents/bits/Spinnercomponents/bits/StandardPageAppBarcomponents/bits/StatusChipcomponents/bits/StatusDotcomponents/bits/SuggestedTextFieldcomponents/bits/TabPanelcomponents/bits/WarningInfocomponents/bits/statusTokencomponents/common/EntityBrowsercomponents/common/KetcherEditorcomponents/common/MonacoEditorWrappercomponents/flow/DeviceAPIcomponents/flow/FlowContextcomponents/flow/FlowIRcomponents/flow/FlowRegistrycomponents/flow/components/FlowCanvascomponents/flow/components/FlowNodeBasecomponents/flow/components/FlowNodeWrappercomponents/flow/components/FlowProvidercomponents/flow/components/FlowSidebarcomponents/flow/typescomponents/flowcomponents/generator/NoiseConfigcomponents/generator/PhaseShiftConfigcomponents/generator/PreviewPlotscomponents/main/app_bar/bits/StyledDialogcomponents/plot/Plotcomponents/sequence/AceEditorcomponents/settings/SettingsFormhooks/useDeviceCapabilitieshooks/useEntityButtonshooks/usePluginAppBarhooks/usePluginContexthooks/useSaveLoadhooks/useSaveLoadButtonsplugin-api/CommandRegistryplugin-api/EntityBrowserRegistryplugin-api/GlobalComponentRegistryplugin-api/PlotActionRegistryplugin-api/ReportSectionRegistryplugin-api/SequenceVisualizationRegistryplugin-api/SettingsPanelRegistryplugin-api/StatusBarRegistryplugin-api/TuneOperationRegistryplugin-exportsstore/debugstore/logsstore/runHistorystore/workspaceLayoutstorestyles/plotly/themeTokenstheming/typesutils/path_setterutils/unitsutils/visualizationRegistry