Skip to content

Class: SettingsDialogHelper ​

Defined in: src/helpers/settingsDialog.ts:7

Settings dialog helper. Extends DialogHelper with setting management capabilities.

Extends ​

Constructors ​

Constructor ​

ts
new SettingsDialogHelper(): SettingsDialogHelper;

Defined in: src/helpers/settingsDialog.ts:23

Create a settings dialog helper. Uses a 2-column grid layout by default (label column + control column)

Returns ​

SettingsDialogHelper

Overrides ​

DialogHelper.constructor

Properties ​

_basicOptions ​

ts
protected _basicOptions: UIOptions;

Defined in: src/tools/ui.ts:11

UITool options

Inherited from ​

DialogHelper._basicOptions


_console? ​

ts
protected optional _console: Console;

Defined in: src/basic.ts:13

Inherited from ​

DialogHelper._console


dialogData ​

ts
dialogData: DialogData;

Defined in: src/helpers/dialog.ts:11

Passed to dialog window for data-binding and lifecycle controls. See DialogHelper.setDialogData

Inherited from ​

DialogHelper.dialogData


elementCache ​

ts
protected elementCache: WeakRef<Element>[];

Defined in: src/tools/ui.ts:26

Store elements created with this instance

Remarks ​

What is this for?

In bootstrap plugins, elements must be manually maintained and removed on exiting.

This API does this for you.

Inherited from ​

DialogHelper.elementCache


elementProps ​

ts
protected elementProps: ElementProps & object;

Defined in: src/helpers/dialog.ts:16

Type declaration ​

tag ​
ts
tag: string;

Inherited from ​

DialogHelper.elementProps


window ​

ts
window: Window;

Defined in: src/helpers/dialog.ts:15

Dialog window instance

Inherited from ​

DialogHelper.window


_version ​

ts
static _version: string = version;

Defined in: src/basic.ts:15

Inherited from ​

DialogHelper._version

Accessors ​

_version ​

Get Signature ​

ts
get _version(): string;

Defined in: src/basic.ts:20

Get version - checks subclass first, then falls back to parent

Returns ​

string

Inherited from ​

DialogHelper._version


basicOptions ​

Get Signature ​

ts
get basicOptions(): UIOptions;

Defined in: src/tools/ui.ts:13

Returns ​

UIOptions

Inherited from ​

DialogHelper.basicOptions

Methods ​

_ensureMainWindowListener() ​

ts
protected _ensureMainWindowListener(): void;

Defined in: src/basic.ts:323

Ensure the main window listener is registered.

Returns ​

void

Inherited from ​

DialogHelper._ensureMainWindowListener


_ensurePluginListener() ​

ts
protected _ensurePluginListener(): void;

Defined in: src/basic.ts:373

Ensure the plugin listener is registered.

Returns ​

void

Inherited from ​

DialogHelper._ensurePluginListener


_ensureRemoveListener() ​

ts
protected _ensureRemoveListener(): void;

Defined in: src/basic.ts:304

Remove all Zotero event listener callbacks when the last callback is removed.

Returns ​

void

Inherited from ​

DialogHelper._ensureRemoveListener


addAutoSaveButton() ​

ts
addAutoSaveButton(
   label,
   id?,
   options?): SettingsDialogHelper;

Defined in: src/helpers/settingsDialog.ts:217

Add a control button that will auto-save settings when clicked.

Parameters ​

label ​

string

Button label

id? ​

string

Button id

options? ​

Button options

callback? ​

(ev) => any

Callback of button click event

noClose? ​

boolean

Don't close window when clicking this button

validate? ​

(data) => string | true | Promise<string | true>

Validation function for settings data

Returns ​

SettingsDialogHelper


addButton() ​

ts
addButton(
   label,
   id?,
   options?): SettingsDialogHelper;

Defined in: src/helpers/dialog.ts:98

Add a control button to the bottom of the dialog.

Parameters ​

label ​

string

Button label

id? ​

string

Button id. The corresponding id of the last button user clicks before window exit will be set to dialogData._lastButtonId.

options? ​

Options

callback? ​

(ev) => any

Callback of button click event.

noClose? ​

boolean

Don't close window when clicking this button.

Returns ​

SettingsDialogHelper

Inherited from ​

DialogHelper.addButton


addCell() ​

ts
addCell(
   row,
   column,
   elementProps,
   cellFlex): SettingsDialogHelper;

Defined in: src/helpers/dialog.ts:65

Add a cell at (row, column). Index starts from 0.

Parameters ​

row ​

number

column ​

number

elementProps ​

TagElementProps

Cell element props. See ElementProps

cellFlex ​

boolean = true

If the cell is flex. Default true.

Returns ​

SettingsDialogHelper

Inherited from ​

DialogHelper.addCell


addListenerCallback() ​

ts
addListenerCallback<T>(type, callback): void;

Defined in: src/basic.ts:274

Add a Zotero event listener callback

Type Parameters ​

T ​

T extends keyof ListenerCallbackMap

Parameters ​

type ​

T

Event type

callback ​

ListenerCallbackMap[T]

Event callback

Returns ​

void

Inherited from ​

DialogHelper.addListenerCallback


addSetting() ​

ts
addSetting(
   label,
   settingKey,
   controlProps,
   options): SettingsDialogHelper;

Defined in: src/helpers/settingsDialog.ts:85

Add a setting row with label and form control.

Parameters ​

label ​

string

Label text for the setting

settingKey ​

string

The key used to store/retrieve the setting

controlProps ​

TagElementProps

Properties for the form control element

options ​

Additional options

condition? ​

() => boolean

Optional condition function to determine if the setting should be added (returns true to add, false to skip)

labelProps? ​

Partial<TagElementProps>

Properties for the label element

valueType? ​

"string" | "number" | "boolean"

Type of the setting value for proper conversion

Returns ​

SettingsDialogHelper

The SettingsDialogHelper instance for chaining


addStaticRow() ​

ts
addStaticRow(
   label,
   staticElementProps,
   options): SettingsDialogHelper;

Defined in: src/helpers/settingsDialog.ts:162

Add a static row (label + static element) to the settings grid. This is not a form control.

Parameters ​

label ​

string

Label text for the row

staticElementProps ​

TagElementProps

Properties for the static element (e.g., text, icon, etc.)

options ​

Additional options

condition? ​

() => boolean

Optional condition function to determine if the row should be added

labelProps? ​

Partial<TagElementProps>

Properties for the label element

Returns ​

SettingsDialogHelper

The SettingsDialogHelper instance for chaining


appendElement() ​

ts
appendElement(properties, container): Node;

Defined in: src/tools/ui.ts:322

Append element(s) to a node.

Parameters ​

properties ​

TagElementProps

See ElementProps

container ​

Element

The parent node to append to.

Returns ​

Node

A Node that is the appended child (aChild), except when aChild is a DocumentFragment, in which case the empty DocumentFragment is returned.

Inherited from ​

DialogHelper.appendElement


createElement() ​

Call Signature ​

ts
createElement(
   doc,
   tagName,
   props?): DocumentFragment;

Defined in: src/tools/ui.ts:78

Create DocumentFragment.

Parameters ​
doc ​

Document

tagName ​

"fragment"

props? ​

FragmentElementProps

Returns ​

DocumentFragment

Example ​
ts
const frag: DocumentFragment = ui.createElement(document, "fragment", {
  children: [{ tag: "h1", properties: { innerText: "Hello World!" } }],
});
Inherited from ​

DialogHelper.createElement

Call Signature ​

ts
createElement<HTML_TAG, T>(
   doc,
   tagName,
   props?): T;

Defined in: src/tools/ui.ts:113

Create HTMLElement.

Type Parameters ​
HTML_TAG ​

HTML_TAG extends keyof HTMLElementTagNameMap

T ​

T extends | HTMLElement | HTMLSlotElement | HTMLObjectElement | HTMLMapElement | HTMLInputElement | HTMLProgressElement | HTMLSelectElement | HTMLHtmlElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLLinkElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLPictureElement | HTMLPreElement | HTMLScriptElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLUnknownElement | HTMLDirectoryElement | HTMLFontElement | HTMLFrameElement | HTMLFrameSetElement | HTMLMarqueeElement | HTMLParamElement

Parameters ​
doc ​

Document

tagName ​

HTML_TAG

props? ​

HTMLElementProps

See ElementProps

Returns ​

T

Examples ​
ts
const div: HTMLDivElement = ui.createElement(document, "div");

Attributes(for elem.setAttribute()), properties(for elem.prop=), listeners, and children.

ts
const div: HTMLDivElement = ui.createElement(document, "div", {
  id: "hi-div",
  skipIfExists: true,
  listeners: [{ type: "click", listener: (e) => ui.log("Clicked!") }],
  children: [
    { tag: "h1", properties: { innerText: "Hello World!" } },
    { tag: "a", attributes: { href: "https://www.zotero.org" } },
  ],
});
Inherited from ​

DialogHelper.createElement

Call Signature ​

ts
createElement<XUL_TAG, T>(
   doc,
   tagName,
   props?): T;

Defined in: src/tools/ui.ts:128

Create XULElement.

Type Parameters ​
XUL_TAG ​

XUL_TAG extends keyof XULElementTagNameMap

T ​

T extends | XULElement | XULMenuBarElement | XULStatusBarElement | XULToolBarElement | XULWindowElement | XULBrowserElement | XULButtonElement | XULLabelElement | XULMenuElement | XULBoxElement | XULCheckboxElement | XULColorPickerElement | XULCommandElement | XULDeckElement | XULDescriptionElement | XULGrippyElement | XULGroupBoxElement | XULListItemElement | XULMenuItemElement | XULMenuListElement | XULMenuPopupElement | XULPopupElement | XULMenuSeparatorElement | XULProgressMeterElement | XULRadioElement | XULRadioGroupElement | XULScrollBarElement | XULSeparatorElement | XULSpacerElement | XULSplitterElement | XULStatusBarPanelElement | XULTabElement | XULTabBoxElement | XULTabPanelElement | XULTabPanelsElement | XULTabsElement | XULTextBoxElement | XULToolBarButtonElement | XULToolBarGrippyElement | XULToolBarItemElement | XULToolBarPaletteElement | XULToolBarSeparatorElement | XULToolBarSetElement | XULToolBarSpacerElement | XULToolBarSpringElement | XULToolBoxElement | XULTooltipElement | XULTreeElement | XULTreeCellElement | XULTreeChildrenElement | XULTreeColElement | XULTreeColsElement | XULTreeItemElement | XULTreeRowElement | XULTreeSeparatorElement

Parameters ​
doc ​

Document

tagName ​

XUL_TAG

props? ​

XULElementProps

See ElementProps

Returns ​

T

See ​

ElementProps

Example ​
ts
const menuitem: XULMenuItem = ui.createElement(document, "menuitem", {
  attributes: { label: "Click Me!" },
});
Inherited from ​

DialogHelper.createElement

Call Signature ​

ts
createElement<SVG_TAG, T>(
   doc,
   tagName,
   props?): T;

Defined in: src/tools/ui.ts:138

Create SVGElement

Type Parameters ​
SVG_TAG ​

SVG_TAG extends keyof SVGElementTagNameMap

T ​

T extends | SVGSVGElement | SVGSymbolElement | SVGFilterElement | SVGStopElement | SVGAElement | SVGScriptElement | SVGStyleElement | SVGTitleElement | SVGImageElement | SVGAnimateElement | SVGAnimateMotionElement | SVGAnimateTransformElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGForeignObjectElement | SVGGElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGMPathElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGSetElement | SVGSwitchElement | SVGTextElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement

Parameters ​
doc ​

Document

tagName ​

SVG_TAG

props? ​

SVGElementProps

See ElementProps

Returns ​

T

Inherited from ​

DialogHelper.createElement

Call Signature ​

ts
createElement(
   doc,
   tagName,
   props?): XULElement | HTMLElement | SVGElement;

Defined in: src/tools/ui.ts:148

Create Element

Parameters ​
doc ​

Document

tagName ​

string

props? ​

ElementProps

See ElementProps

Returns ​

XULElement | HTMLElement | SVGElement

Inherited from ​

DialogHelper.createElement

Call Signature ​

ts
createElement(
   doc,
   tagName,
   namespace?,
   enableElementRecord?): XULElement | DocumentFragment | HTMLElement | SVGElement;

Defined in: src/tools/ui.ts:160

Parameters ​
doc ​

Document

target document, e.g. Zotero main window.document

tagName ​

string

element tag name, e.g. hbox, div

namespace? ​

default "html"

"html" | "svg" | "xul"

enableElementRecord? ​

boolean

If current element will be recorded and maintained by toolkit. If not set, use this.enableElementRecordGlobal

Returns ​

XULElement | DocumentFragment | HTMLElement | SVGElement

Deprecated ​
Inherited from ​

DialogHelper.createElement


createXULElement() ​

ts
createXULElement(doc, type): XULElement;

Defined in: src/basic.ts:189

Create an XUL element

Parameters ​

doc ​

Document

Document

type ​

string

Element type

Returns ​

XULElement

Example ​

Create a <menuitem>:

ts
const compat = new ZoteroCompat();
const doc = compat.getWindow().document;
const elem = compat.createXULElement(doc, "menuitem");

Inherited from ​

DialogHelper.createXULElement


getAllSettingsData() ​

ts
getAllSettingsData(): Record<string, any>;

Defined in: src/helpers/settingsDialog.ts:276

Collect and return all current setting values from the dialog controls.

Returns ​

Record<string, any>


getGlobal() ​

Call Signature ​

ts
getGlobal(k): typeof Zotero;

Defined in: src/basic.ts:74

Alpha

Parameters ​
k ​

"zotero" | "Zotero"

Returns ​

typeof Zotero

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): ZoteroPane;

Defined in: src/basic.ts:79

Alpha

Parameters ​
k ​

"ZoteroPane" | "ZoteroPane_Local"

Returns ​

ZoteroPane

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): Zotero_Tabs;

Defined in: src/basic.ts:84

Alpha

Parameters ​
k ​

"Zotero_Tabs"

Returns ​

Zotero_Tabs

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): any;

Defined in: src/basic.ts:89

Alpha

Parameters ​
k ​

"Zotero_File_Interface"

Returns ​

any

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): any;

Defined in: src/basic.ts:94

Alpha

Parameters ​
k ​

"Zotero_File_Exporter"

Returns ​

any

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): any;

Defined in: src/basic.ts:99

Alpha

Parameters ​
k ​

"Zotero_LocateMenu"

Returns ​

any

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): any;

Defined in: src/basic.ts:104

Alpha

Parameters ​
k ​

"Zotero_Report_Interface"

Returns ​

any

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): any;

Defined in: src/basic.ts:109

Alpha

Parameters ​
k ​

"Zotero_Timeline_Interface"

Returns ​

any

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): any;

Defined in: src/basic.ts:114

Alpha

Parameters ​
k ​

"Zotero_Tooltip"

Returns ​

any

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): ZoteroContextPane;

Defined in: src/basic.ts:119

Alpha

Parameters ​
k ​

"ZoteroContextPane"

Returns ​

ZoteroContextPane

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): any;

Defined in: src/basic.ts:124

Alpha

Parameters ​
k ​

"ZoteroItemPane"

Returns ​

any

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal<K, GLOBAL>(k): GLOBAL[K];

Defined in: src/basic.ts:129

Alpha

Type Parameters ​
K ​

K extends | "undefined" | "module" | "length" | "toString" | "Zotero" | "globalThis" | "eval" | "parseInt" | "parseFloat" | "isNaN" | "isFinite" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "unescape" | "NaN" | "Infinity" | "Symbol" | "Object" | "Function" | "String" | "Boolean" | "Number" | "Math" | "Date" | "RegExp" | "Error" | "EvalError" | "RangeError" | "ReferenceError" | "SyntaxError" | "TypeError" | "URIError" | "JSON" | "Array" | "Promise" | "ArrayBuffer" | "DataView" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float32Array" | "Float64Array" | "Intl" | "alert" | "blur" | "cancelIdleCallback" | "captureEvents" | "close" | "confirm" | "focus" | "getComputedStyle" | "getSelection" | "matchMedia" | "moveBy" | "moveTo" | "open" | "postMessage" | "print" | "prompt" | "releaseEvents" | "requestIdleCallback" | "resizeBy" | "resizeTo" | "scroll" | "scrollBy" | "scrollTo" | "stop" | "dispatchEvent" | "cancelAnimationFrame" | "requestAnimationFrame" | "atob" | "btoa" | "clearInterval" | "clearTimeout" | "createImageBitmap" | "fetch" | "queueMicrotask" | "reportError" | "setInterval" | "setTimeout" | "structuredClone" | "addEventListener" | "removeEventListener" | "NodeFilter" | "AbortController" | "AbortSignal" | "AbstractRange" | "AnalyserNode" | "Animation" | "AnimationEffect" | "AnimationEvent" | "AnimationPlaybackEvent" | "AnimationTimeline" | "Attr" | "AudioBuffer" | "AudioBufferSourceNode" | "AudioContext" | "AudioData" | "AudioDecoder" | "AudioDestinationNode" | "AudioEncoder" | "AudioListener" | "AudioNode" | "AudioParam" | "AudioParamMap" | "AudioProcessingEvent" | "AudioScheduledSourceNode" | "AudioWorklet" | "AudioWorkletNode" | "AuthenticatorAssertionResponse" | "AuthenticatorAttestationResponse" | "AuthenticatorResponse" | "BarProp" | "BaseAudioContext" | "BeforeUnloadEvent" | "BiquadFilterNode" | "Blob" | "BlobEvent" | "BroadcastChannel" | "ByteLengthQueuingStrategy" | "CDATASection" | "CSPViolationReportBody" | "CSSAnimation" | "CSSConditionRule" | "CSSContainerRule" | "CSSCounterStyleRule" | "CSSFontFaceRule" | "CSSFontFeatureValuesRule" | "CSSFontPaletteValuesRule" | "CSSGroupingRule" | "CSSImageValue" | "CSSImportRule" | "CSSKeyframeRule" | "CSSKeyframesRule" | "CSSKeywordValue" | "CSSLayerBlockRule" | "CSSLayerStatementRule" | "CSSMathClamp" | "CSSMathInvert" | "CSSMathMax" | "CSSMathMin" | "CSSMathNegate" | "CSSMathProduct" | "CSSMathSum" | "CSSMathValue" | "CSSMatrixComponent" | "CSSMediaRule" | "CSSNamespaceRule" | "CSSNestedDeclarations" | "CSSNumericArray" | "CSSNumericValue" | "CSSPageRule" | "CSSPerspective" | "CSSPropertyRule" | "CSSRotate" | "CSSRule" | "CSSRuleList" | "CSSScale" | "CSSScopeRule" | "CSSSkew" | "CSSSkewX" | "CSSSkewY" | "CSSStartingStyleRule" | "CSSStyleDeclaration" | "CSSStyleRule" | "CSSStyleSheet" | "CSSStyleValue" | "CSSSupportsRule" | "CSSTransformComponent" | "CSSTransformValue" | "CSSTransition" | "CSSTranslate" | "CSSUnitValue" | "CSSUnparsedValue" | "CSSVariableReferenceValue" | "CSSViewTransitionRule" | "Cache" | "CacheStorage" | "CanvasCaptureMediaStreamTrack" | "CanvasGradient" | "CanvasPattern" | "CanvasRenderingContext2D" | "CaretPosition" | "ChannelMergerNode" | "ChannelSplitterNode" | "CharacterData" | "Clipboard" | "ClipboardEvent" | "ClipboardItem" | "CloseEvent" | "Comment" | "CompositionEvent" | "CompressionStream" | "ConstantSourceNode" | "ContentVisibilityAutoStateChangeEvent" | "ConvolverNode" | "CookieChangeEvent" | "CookieStore" | "CookieStoreManager" | "CountQueuingStrategy" | "Credential" | "CredentialsContainer" | "Crypto" | "CryptoKey" | "CustomElementRegistry" | "CustomEvent" | "CustomStateSet" | "DOMException" | "DOMImplementation" | "DOMMatrix" | "SVGMatrix" | "WebKitCSSMatrix" | "DOMMatrixReadOnly" | "DOMParser" | "DOMPoint" | "SVGPoint" | "DOMPointReadOnly" | "DOMQuad" | "DOMRect" | "SVGRect" | "DOMRectList" | "DOMRectReadOnly" | "DOMStringList" | "DOMStringMap" | "DOMTokenList" | "DataTransfer" | "DataTransferItem" | "DataTransferItemList" | "DecompressionStream" | "DelayNode" | "DeviceMotionEvent" | "DeviceOrientationEvent" | "Document" | "DocumentFragment" | "DocumentTimeline" | "DocumentType" | "DragEvent" | "DynamicsCompressorNode" | "Element" | "ElementInternals" | "EncodedAudioChunk" | "EncodedVideoChunk" | "ErrorEvent" | "Event" | "EventCounts" | "EventSource" | "EventTarget" | "External" | "File" | "FileList" | "FileReader" | "FileSystem" | "FileSystemDirectoryEntry" | "FileSystemDirectoryHandle" | "FileSystemDirectoryReader" | "FileSystemEntry" | "FileSystemFileEntry" | "FileSystemFileHandle" | "FileSystemHandle" | "FileSystemWritableFileStream" | "FocusEvent" | "FontFace" | "FontFaceSet" | "FontFaceSetLoadEvent" | "FormData" | "FormDataEvent" | "FragmentDirective" | "GPUError" | "GainNode" | "Gamepad" | "GamepadButton" | "GamepadEvent" | "GamepadHapticActuator" | "Geolocation" | "GeolocationCoordinates" | "GeolocationPosition" | "GeolocationPositionError" | "HTMLAllCollection" | "HTMLAnchorElement" | "HTMLAreaElement" | "HTMLAudioElement" | "HTMLBRElement" | "HTMLBaseElement" | "HTMLBodyElement" | "HTMLButtonElement" | "HTMLCanvasElement" | "HTMLCollection" | "HTMLDListElement" | "HTMLDataElement" | "HTMLDataListElement" | "HTMLDetailsElement" | "HTMLDialogElement" | "HTMLDirectoryElement" | "HTMLDivElement" | "HTMLDocument" | "HTMLElement" | "HTMLEmbedElement" | "HTMLFieldSetElement" | "HTMLFontElement" | "HTMLFormControlsCollection" | "HTMLFormElement" | "HTMLFrameElement" | "HTMLFrameSetElement" | "HTMLHRElement" | "HTMLHeadElement" | "HTMLHeadingElement" | "HTMLHtmlElement" | "HTMLIFrameElement" | "HTMLImageElement" | "HTMLInputElement" | "HTMLLIElement" | "HTMLLabelElement" | "HTMLLegendElement" | "HTMLLinkElement" | "HTMLMapElement" | "HTMLMarqueeElement" | "HTMLMediaElement" | "HTMLMenuElement" | "HTMLMetaElement" | "HTMLMeterElement" | "HTMLModElement" | "HTMLOListElement" | "HTMLObjectElement" | "HTMLOptGroupElement" | "HTMLOptionElement" | "HTMLOptionsCollection" | "HTMLOutputElement" | "HTMLParagraphElement" | "HTMLParamElement" | "HTMLPictureElement" | "HTMLPreElement" | "HTMLProgressElement" | "HTMLQuoteElement" | "HTMLScriptElement" | "HTMLSelectElement" | "HTMLSlotElement" | "HTMLSourceElement" | "HTMLSpanElement" | "HTMLStyleElement" | "HTMLTableCaptionElement" | "HTMLTableCellElement" | "HTMLTableColElement" | "HTMLTableElement" | "HTMLTableRowElement" | "HTMLTableSectionElement" | "HTMLTemplateElement" | "HTMLTextAreaElement" | "HTMLTimeElement" | "HTMLTitleElement" | "HTMLTrackElement" | "HTMLUListElement" | "HTMLUnknownElement" | "HTMLVideoElement" | "HashChangeEvent" | "Headers" | "Highlight" | "HighlightRegistry" | "History" | "IDBCursor" | "IDBCursorWithValue" | "IDBDatabase" | "IDBFactory" | "IDBIndex" | "IDBKeyRange" | "IDBObjectStore" | "IDBOpenDBRequest" | "IDBRequest" | "IDBTransaction" | "IDBVersionChangeEvent" | "IIRFilterNode" | "IdleDeadline" | "ImageBitmap" | "ImageBitmapRenderingContext" | "ImageCapture" | "ImageData" | "ImageDecoder" | "ImageTrack" | "ImageTrackList" | "InputDeviceInfo" | "InputEvent" | "IntersectionObserver" | "IntersectionObserverEntry" | "KeyboardEvent" | "KeyframeEffect" | "LargestContentfulPaint" | "Location" | "Lock" | "LockManager" | "MIDIAccess" | "MIDIConnectionEvent" | "MIDIInput" | "MIDIInputMap" | "MIDIMessageEvent" | "MIDIOutput" | "MIDIOutputMap" | "MIDIPort" | "MathMLElement" | "MediaCapabilities" | "MediaDeviceInfo" | "MediaDevices" | "MediaElementAudioSourceNode" | "MediaEncryptedEvent" | "MediaError" | "MediaKeyMessageEvent" | "MediaKeySession" | "MediaKeyStatusMap" | "MediaKeySystemAccess" | "MediaKeys" | "MediaList" | "MediaMetadata" | "MediaQueryList" | "MediaQueryListEvent" | "MediaRecorder" | "MediaSession" | "MediaSource" | "MediaSourceHandle" | "MediaStream" | "MediaStreamAudioDestinationNode" | "MediaStreamAudioSourceNode" | "MediaStreamTrack" | "MediaStreamTrackEvent" | "MessageChannel" | "MessageEvent" | "MessagePort" | "MimeType" | "MimeTypeArray" | "MouseEvent" | "MutationObserver" | "MutationRecord" | "NamedNodeMap" | "NavigationActivation" | "NavigationHistoryEntry" | "NavigationPreloadManager" | "Navigator" | "NavigatorLogin" | "Node" | "NodeIterator" | "NodeList" | "Notification" | "OfflineAudioCompletionEvent" | "OfflineAudioContext" | "OffscreenCanvas" | "OffscreenCanvasRenderingContext2D" | "OscillatorNode" | "OverconstrainedError" | "PageRevealEvent" | "PageSwapEvent" | "PageTransitionEvent" | "PannerNode" | "Path2D" | "PaymentAddress" | "PaymentMethodChangeEvent" | "PaymentRequest" | "PaymentRequestUpdateEvent" | "PaymentResponse" | "Performance" | "PerformanceEntry" | "PerformanceEventTiming" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceNavigation" | "PerformanceNavigationTiming" | "PerformanceObserver" | "PerformanceObserverEntryList" | "PerformancePaintTiming" | "PerformanceResourceTiming" | "PerformanceServerTiming" | "PerformanceTiming" | "PeriodicWave" | "PermissionStatus" | "Permissions" | "PictureInPictureEvent" | "PictureInPictureWindow" | "Plugin" | "PluginArray" | "PointerEvent" | "PopStateEvent" | "ProcessingInstruction" | "ProgressEvent" | "PromiseRejectionEvent" | "PublicKeyCredential" | "PushManager" | "PushSubscription" | "PushSubscriptionOptions" | "RTCCertificate" | "RTCDTMFSender" | "RTCDTMFToneChangeEvent" | "RTCDataChannel" | "RTCDataChannelEvent" | "RTCDtlsTransport" | "RTCEncodedAudioFrame" | "RTCEncodedVideoFrame" | "RTCError" | "RTCErrorEvent" | "RTCIceCandidate" | "RTCIceTransport" | "RTCPeerConnection" | "RTCPeerConnectionIceErrorEvent" | "RTCPeerConnectionIceEvent" | "RTCRtpReceiver" | "RTCRtpScriptTransform" | "RTCRtpSender" | "RTCRtpTransceiver" | "RTCSctpTransport" | "RTCSessionDescription" | "RTCStatsReport" | "RTCTrackEvent" | "RadioNodeList" | "Range" | "ReadableByteStreamController" | "ReadableStream" | "ReadableStreamBYOBReader" | "ReadableStreamBYOBRequest" | "ReadableStreamDefaultController" | "ReadableStreamDefaultReader" | "RemotePlayback" | "Report" | "ReportBody" | "ReportingObserver" | "Request" | "ResizeObserver" | "ResizeObserverEntry" | "ResizeObserverSize" | "Response" | "SVGAElement" | "SVGAngle" | "SVGAnimateElement" | "SVGAnimateMotionElement" | "SVGAnimateTransformElement" | "SVGAnimatedAngle" | "SVGAnimatedBoolean" | "SVGAnimatedEnumeration" | "SVGAnimatedInteger" | "SVGAnimatedLength" | "SVGAnimatedLengthList" | "SVGAnimatedNumber" | "SVGAnimatedNumberList" | "SVGAnimatedPreserveAspectRatio" | "SVGAnimatedRect" | "SVGAnimatedString" | "SVGAnimatedTransformList" | "SVGAnimationElement" | "SVGCircleElement" | "SVGClipPathElement" | "SVGComponentTransferFunctionElement" | "SVGDefsElement" | "SVGDescElement" | "SVGElement" | "SVGEllipseElement" | "SVGFEBlendElement" | "SVGFEColorMatrixElement" | "SVGFEComponentTransferElement" | "SVGFECompositeElement" | "SVGFEConvolveMatrixElement" | "SVGFEDiffuseLightingElement" | "SVGFEDisplacementMapElement" | "SVGFEDistantLightElement" | "SVGFEDropShadowElement" | "SVGFEFloodElement" | "SVGFEFuncAElement" | "SVGFEFuncBElement" | "SVGFEFuncGElement" | "SVGFEFuncRElement" | "SVGFEGaussianBlurElement" | "SVGFEImageElement" | "SVGFEMergeElement" | "SVGFEMergeNodeElement" | "SVGFEMorphologyElement" | "SVGFEOffsetElement" | "SVGFEPointLightElement" | "SVGFESpecularLightingElement" | "SVGFESpotLightElement" | "SVGFETileElement" | "SVGFETurbulenceElement" | "SVGFilterElement" | "SVGForeignObjectElement" | "SVGGElement" | "SVGGeometryElement" | "SVGGradientElement" | "SVGGraphicsElement" | "SVGImageElement" | "SVGLength" | "SVGLengthList" | "SVGLineElement" | "SVGLinearGradientElement" | "SVGMPathElement" | "SVGMarkerElement" | "SVGMaskElement" | "SVGMetadataElement" | "SVGNumber" | "SVGNumberList" | "SVGPathElement" | "SVGPatternElement" | "SVGPointList" | "SVGPolygonElement" | "SVGPolylineElement" | "SVGPreserveAspectRatio" | "SVGRadialGradientElement" | "SVGRectElement" | "SVGSVGElement" | "SVGScriptElement" | "SVGSetElement" | "SVGStopElement" | "SVGStringList" | "SVGStyleElement" | "SVGSwitchElement" | "SVGSymbolElement" | "SVGTSpanElement" | "SVGTextContentElement" | "SVGTextElement" | "SVGTextPathElement" | "SVGTextPositioningElement" | "SVGTitleElement" | "SVGTransform" | "SVGTransformList" | "SVGUnitTypes" | "SVGUseElement" | "SVGViewElement" | "Screen" | "ScreenOrientation" | "ScriptProcessorNode" | "SecurityPolicyViolationEvent" | "Selection" | "ServiceWorker" | "ServiceWorkerContainer" | "ServiceWorkerRegistration" | "ShadowRoot" | "SharedWorker" | "SourceBuffer" | "SourceBufferList" | "SpeechRecognitionAlternative" | "SpeechRecognitionResult" | "SpeechRecognitionResultList" | "SpeechSynthesis" | "SpeechSynthesisErrorEvent" | "SpeechSynthesisEvent" | "SpeechSynthesisUtterance" | "SpeechSynthesisVoice" | "StaticRange" | "StereoPannerNode" | "Storage" | "StorageEvent" | "StorageManager" | "StylePropertyMap" | "StylePropertyMapReadOnly" | "StyleSheet" | "StyleSheetList" | "SubmitEvent" | "SubtleCrypto" | "Text" | "TextDecoder" | "TextDecoderStream" | "TextEncoder" | "TextEncoderStream" | "TextEvent" | "TextMetrics" | "TextTrack" | "TextTrackCue" | "TextTrackCueList" | "TextTrackList" | "TimeRanges" | "ToggleEvent" | "Touch" | "TouchEvent" | "TouchList" | "TrackEvent" | "TransformStream" | "TransformStreamDefaultController" | "TransitionEvent" | "TreeWalker" | "UIEvent" | "URL" | "webkitURL" | "URLSearchParams" | "UserActivation" | "VTTCue" | "VTTRegion" | "ValidityState" | "VideoColorSpace" | "VideoDecoder" | "VideoEncoder" | "VideoFrame" | "VideoPlaybackQuality" | "ViewTransition" | "ViewTransitionTypeSet" | "VisualViewport" | "WakeLock" | "WakeLockSentinel" | "WaveShaperNode" | "WebGL2RenderingContext" | "WebGLActiveInfo" | "WebGLBuffer" | "WebGLContextEvent" | "WebGLFramebuffer" | "WebGLProgram" | "WebGLQuery" | "WebGLRenderbuffer" | "WebGLRenderingContext" | "WebGLSampler" | "WebGLShader" | "WebGLShaderPrecisionFormat" | "WebGLSync" | "WebGLTexture" | "WebGLTransformFeedback" | "WebGLUniformLocation" | "WebGLVertexArrayObject" | "WebSocket" | "WebTransport" | "WebTransportBidirectionalStream" | "WebTransportDatagramDuplexStream" | "WebTransportError" | "WheelEvent" | "Window" | "Worker" | "Worklet" | "WritableStream" | "WritableStreamDefaultController" | "WritableStreamDefaultWriter" | "XMLDocument" | "XMLHttpRequest" | "XMLHttpRequestEventTarget" | "XMLHttpRequestUpload" | "XMLSerializer" | "XPathEvaluator" | "XPathExpression" | "XPathResult" | "XSLTProcessor" | "CSS" | "WebAssembly" | "console" | "Audio" | "Image" | "Option" | "clientInformation" | "closed" | "cookieStore" | "customElements" | "devicePixelRatio" | "document" | "event" | "external" | "frameElement" | "frames" | "history" | "innerHeight" | "innerWidth" | "location" | "locationbar" | "menubar" | "navigator" | "ondevicemotion" | "ondeviceorientation" | "ondeviceorientationabsolute" | "onorientationchange" | "opener" | "orientation" | "originAgentCluster" | "outerHeight" | "outerWidth" | "pageXOffset" | "pageYOffset" | "parent" | "personalbar" | "screen" | "screenLeft" | "screenTop" | "screenX" | "screenY" | "scrollX" | "scrollY" | "scrollbars" | "self" | "speechSynthesis" | "status" | "statusbar" | "toolbar" | "top" | "visualViewport" | "window" | "onabort" | "onanimationcancel" | "onanimationend" | "onanimationiteration" | "onanimationstart" | "onauxclick" | "onbeforeinput" | "onbeforematch" | "onbeforetoggle" | "onblur" | "oncancel" | "oncanplay" | "oncanplaythrough" | "onchange" | "onclick" | "onclose" | "oncontextlost" | "oncontextmenu" | "oncontextrestored" | "oncopy" | "oncuechange" | "oncut" | "ondblclick" | "ondrag" | "ondragend" | "ondragenter" | "ondragleave" | "ondragover" | "ondragstart" | "ondrop" | "ondurationchange" | "onemptied" | "onended" | "onerror" | "onfocus" | "onformdata" | "ongotpointercapture" | "oninput" | "oninvalid" | "onkeydown" | "onkeypress" | "onkeyup" | "onload" | "onloadeddata" | "onloadedmetadata" | "onloadstart" | "onlostpointercapture" | "onmousedown" | "onmouseenter" | "onmouseleave" | "onmousemove" | "onmouseout" | "onmouseover" | "onmouseup" | "onpaste" | "onpause" | "onplay" | "onplaying" | "onpointercancel" | "onpointerdown" | "onpointerenter" | "onpointerleave" | "onpointermove" | "onpointerout" | "onpointerover" | "onpointerrawupdate" | "onpointerup" | "onprogress" | "onratechange" | "onreset" | "onresize" | "onscroll" | "onscrollend" | "onsecuritypolicyviolation" | "onseeked" | "onseeking" | "onselect" | "onselectionchange" | "onselectstart" | "onslotchange" | "onstalled" | "onsubmit" | "onsuspend" | "ontimeupdate" | "ontoggle" | "ontouchcancel" | "ontouchend" | "ontouchmove" | "ontouchstart" | "ontransitioncancel" | "ontransitionend" | "ontransitionrun" | "ontransitionstart" | "onvolumechange" | "onwaiting" | "onwebkitanimationend" | "onwebkitanimationiteration" | "onwebkitanimationstart" | "onwebkittransitionend" | "onwheel" | "onafterprint" | "onbeforeprint" | "onbeforeunload" | "ongamepadconnected" | "ongamepaddisconnected" | "onhashchange" | "onlanguagechange" | "onmessage" | "onmessageerror" | "onoffline" | "ononline" | "onpagehide" | "onpagereveal" | "onpageshow" | "onpageswap" | "onpopstate" | "onrejectionhandled" | "onstorage" | "onunhandledrejection" | "onunload" | "localStorage" | "caches" | "crossOriginIsolated" | "crypto" | "indexedDB" | "isSecureContext" | "origin" | "performance" | "sessionStorage" | "importScripts" | "Client" | "Clients" | "DedicatedWorkerGlobalScope" | "ExtendableCookieChangeEvent" | "ExtendableEvent" | "ExtendableMessageEvent" | "FetchEvent" | "FileReaderSync" | "FileSystemSyncAccessHandle" | "MediaStreamTrackProcessor" | "NotificationEvent" | "PushEvent" | "PushMessageData" | "PushSubscriptionChangeEvent" | "RTCRtpScriptTransformer" | "RTCTransformEvent" | "ServiceWorkerGlobalScope" | "SharedWorkerGlobalScope" | "WindowClient" | "WorkerGlobalScope" | "WorkerLocation" | "WorkerNavigator" | "onrtctransform" | "fonts" | "Map" | "WeakMap" | "Set" | "WeakSet" | "Iterator" | "Proxy" | "Reflect" | "SharedArrayBuffer" | "Atomics" | "BigInt" | "BigInt64Array" | "BigUint64Array" | "AggregateError" | "WeakRef" | "FinalizationRegistry" | "SuppressedError" | "DisposableStack" | "AsyncDisposableStack" | "Float16Array" | "TrustedHTML" | "React" | "ReactDOM" | "AccessibleNode" | "Addon" | "AddonEvent" | "AddonInstall" | "AddonManager" | "AnonymousContent" | "AudioTrack" | "AudioTrackList" | "BatteryManager" | "BrowsingContext" | "BrowsingContextGroup" | "CSSCustomPropertyRegisteredEvent" | "CSSMarginRule" | "CSSMozDocumentRule" | "CSSPositionTryRule" | "CSSPseudoElement" | "CallbackDebuggerNotification" | "CanonicalBrowsingContext" | "CanvasCaptureMediaStream" | "CaretStateChangedEvent" | "ChannelWrapper" | "CheckerboardReportService" | "ChildProcessMessageManager" | "ChildSHistory" | "ChromeMessageBroadcaster" | "ChromeMessageSender" | "ChromeNodeList" | "ChromeWorker" | "ClonedErrorHolder" | "CloseWatcher" | "CommandEvent" | "ConsoleInstance" | "ContentFrameMessageManager" | "ContentProcessMessageManager" | "CreateOfferRequest" | "DOMLocalization" | "DebuggerNotification" | "DebuggerNotificationObserver" | "DeprecationReportBody" | "DeviceLightEvent" | "Directory" | "DominatorTree" | "EventCallbackDebuggerNotification" | "FeaturePolicyViolationReportBody" | "FetchObserver" | "Flex" | "FlexItemValues" | "FlexLineValues" | "FluentBundle" | "FluentPattern" | "FluentResource" | "FrameCrashedEvent" | "FrameLoader" | "GPU" | "GPUAdapter" | "GPUAdapterInfo" | "GPUBindGroup" | "GPUBindGroupLayout" | "GPUBuffer" | "GPUCanvasContext" | "GPUCommandBuffer" | "GPUCommandEncoder" | "GPUCompilationInfo" | "GPUCompilationMessage" | "GPUComputePassEncoder" | "GPUComputePipeline" | "GPUDevice" | "GPUDeviceLostInfo" | "GPUExternalTexture" | "GPUInternalError" | "GPUOutOfMemoryError" | "GPUPipelineError" | "GPUPipelineLayout" | "GPUQuerySet" | "GPUQueue" | "GPURenderBundle" | "GPURenderBundleEncoder" | "GPURenderPassEncoder" | "GPURenderPipeline" | "GPUSampler" | "GPUShaderModule" | "GPUSupportedFeatures" | "GPUSupportedLimits" | "GPUTexture" | "GPUTextureView" | "GPUUncapturedErrorEvent" | "GPUValidationError" | "GamepadAxisMoveEvent" | "GamepadButtonEvent" | "GamepadLightIndicator" | "GamepadPose" | "GamepadServiceTest" | "GamepadTouch" | "GleanBoolean" | "GleanCategory" | "GleanCounter" | "GleanCustomDistribution" | "GleanDatetime" | "GleanDenominator" | "GleanEvent" | "GleanImpl" | "GleanLabeled" | "GleanMemoryDistribution" | "GleanMetric" | "GleanNumerator" | "GleanObject" | "GleanPingsImpl" | "GleanQuantity" | "GleanRate" | "GleanString" | "GleanStringList" | "GleanText" | "GleanTimespan" | "GleanTimingDistribution" | "GleanUrl" | "GleanUuid" | "Grid" | "GridArea" | "GridDimension" | "GridLine" | "GridLines" | "GridTrack" | "GridTracks" | "HeapSnapshot" | "IdentityCredential" | "ImageCaptureErrorEvent" | "ImageDocument" | "InspectorCSSParser" | "InspectorFontFace" | "InstallTriggerImpl" | "InvokeEvent" | "JSProcessActorChild" | "JSProcessActorParent" | "JSWindowActorChild" | "JSWindowActorParent" | "KeyEvent" | "L10nFileSource" | "L10nRegistry" | "Localization" | "MLS" | "MLSGroupView" | "MatchGlob" | "MatchPattern" | "MatchPatternSet" | "MediaController" | "MediaKeyError" | "MediaRecorderErrorEvent" | "MediaStreamEvent" | "MediaStreamTrackAudioSourceNode" | "MerchantValidationEvent" | "MessageBroadcaster" | "MessageListenerManager" | "MessageSender" | "MouseScrollEvent" | "MozCanvasPrintState" | "MozDocumentMatcher" | "MozDocumentObserver" | "MozQueryInterface" | "MozSharedMap" | "MozSharedMapChangeEvent" | "MozStorageAsyncStatementParams" | "MozStorageStatementParams" | "MozStorageStatementRow" | "MozWritableSharedMap" | "MutationEvent" | "NavigateEvent" | "Navigation" | "NavigationCurrentEntryChangeEvent" | "NavigationDestination" | "NavigationTransition" | "NetworkInformation" | "NotifyPaintEvent" | "PaintRequest" | "PaintRequestList" | "ParentProcessMessageManager" | "PeerConnectionImpl" | "PeerConnectionObserver" | "PerformanceEntryEvent" | "PlacesBookmark" | "PlacesBookmarkAddition" | "PlacesBookmarkChanged" | "PlacesBookmarkGuid" | "PlacesBookmarkKeyword" | "PlacesBookmarkMoved" | "PlacesBookmarkRemoved" | "PlacesBookmarkTags" | "PlacesBookmarkTime" | "PlacesBookmarkTitle" | "PlacesBookmarkUrl" | "PlacesEvent" | "PlacesEventCounts" | "PlacesFavicon" | "PlacesHistoryCleared" | "PlacesPurgeCaches" | "PlacesRanking" | "PlacesVisit" | "PlacesVisitRemoved" | "PlacesVisitTitle" | "PlacesWeakCallbackWrapper" | "PluginCrashedEvent" | "PopupBlockedEvent" | "PopupPositionedEvent" | "PositionStateEvent" | "PrecompiledScript" | "PrivateAttribution" | "ProcessMessageManager" | "PushManagerImpl" | "RTCPeerConnectionStatic" | "Sanitizer" | "Scheduler" | "ScreenLuminance" | "ScrollAreaEvent" | "SessionStoreFormData" | "SessionStoreScrollData" | "SimpleGestureEvent" | "SpeechGrammar" | "SpeechGrammarList" | "SpeechRecognition" | "SpeechRecognitionError" | "SpeechRecognitionEvent" | "StreamFilter" | "StreamFilterDataEvent" | "StructuredCloneHolder" | "StructuredCloneTester" | "StyleSheetApplicableStateChangeEvent" | "StyleSheetRemovedEvent" | "SyncMessageSender" | "TCPServerSocket" | "TCPServerSocketEvent" | "TCPSocket" | "TCPSocketErrorEvent" | "TCPSocketEvent" | "TaskController" | "TaskPriorityChangeEvent" | "TaskSignal" | "TestFunctions" | "TestInterfaceAsyncIterableDouble" | "TestInterfaceAsyncIterableDoubleUnion" | "TestInterfaceAsyncIterableSingle" | "TestInterfaceAsyncIterableSingleWithArgs" | "TestInterfaceIterableDouble" | "TestInterfaceIterableDoubleUnion" | "TestInterfaceIterableSingle" | "TestInterfaceJS" | "TestInterfaceLength" | "TestInterfaceMaplike" | "TestInterfaceMaplikeJSObject" | "TestInterfaceMaplikeObject" | "TestInterfaceObservableArray" | "TestInterfaceSetlike" | "TestInterfaceSetlikeNode" | "TestReflectedHTMLAttribute" | "TestTrialInterface" | "TestingDeprecatedInterface" | "TextClause" | "TimeEvent" | "TreeColumn" | "TreeColumns" | "TreeContentView" | "TrustedScript" | "TrustedScriptURL" | "TrustedTypePolicy" | "TrustedTypePolicyFactory" | "UDPMessageEvent" | "UDPSocket" | "UniFFIPointer" | "UserProximityEvent" | "VRDisplay" | "VRDisplayCapabilities" | "VRDisplayEvent" | "VREyeParameters" | "VRFieldOfView" | "VRFrameData" | "VRMockController" | "VRMockDisplay" | "VRPose" | "VRServiceTest" | "VRStageParameters" | "VideoTrack" | "VideoTrackList" | "WGSLLanguageFeatures" | "WebExtensionContentScript" | "WebExtensionPolicy" | "WebTransportReceiveStream" | "WebTransportSendStream" | "WindowContext" | "WindowGlobalChild" | "WindowGlobalParent" | "WindowRoot" | "WrapperCachedNonISupportsTestInterface" | "XRBoundedReferenceSpace" | "XRFrame" | "XRInputSource" | "XRInputSourceArray" | "XRInputSourceEvent" | "XRInputSourcesChangeEvent" | "XRPose" | "XRReferenceSpace" | "XRReferenceSpaceEvent" | "XRRenderState" | "XRRigidTransform" | "XRSession" | "XRSessionEvent" | "XRSpace" | "XRSystem" | "XRView" | "XRViewerPose" | "XRViewport" | "XRWebGLLayer" | "XULCommandEvent" | "XULElement" | "XULFrameElement" | "XULMenuElement" | "XULPopupElement" | "XULResizerElement" | "XULTextElement" | "XULTreeElement" | "AddonManagerPermissions" | "ChromeUtils" | "FuzzingFunctions" | "IOUtils" | "InspectorUtils" | "L10nOverlays" | "MediaControlService" | "Nyx" | "PathUtils" | "PlacesObservers" | "PromiseDebugging" | "SessionStoreUtils" | "TestUtils" | "UniFFIScaffolding" | "UserInteraction" | "WebrtcGlobalInformation" | "webkitSpeechGrammar" | "webkitSpeechGrammarList" | "webkitSpeechRecognition" | "_ZoteroTypes" | "ePub" | "Buffer" | "global" | "process" | "gc" | "__dirname" | "__filename" | "exports" | "require" | "setImmediate" | "clearImmediate" | "URLPattern"

GLOBAL ​

GLOBAL extends typeof globalThis

Parameters ​
k ​

K

Returns ​

GLOBAL[K]

Inherited from ​

DialogHelper.getGlobal

Call Signature ​

ts
getGlobal(k): any;

Defined in: src/basic.ts:137

Get global variables.

Parameters ​
k ​

string

Global variable name, Zotero, ZoteroPane, window, document, etc.

Returns ​

any

Inherited from ​

DialogHelper.getGlobal


insertElementBefore() ​

ts
insertElementBefore(properties, referenceNode): undefined | Node;

Defined in: src/tools/ui.ts:334

Inserts a node before a reference node as a child of its parent node.

Parameters ​

properties ​

TagElementProps

See ElementProps

referenceNode ​

Element

The node before which newNode is inserted.

Returns ​

undefined | Node

Node

Inherited from ​

DialogHelper.insertElementBefore


isXULElement() ​

ts
isXULElement(elem): boolean;

Defined in: src/basic.ts:170

If it's an XUL element

Parameters ​

elem ​

Element

Returns ​

boolean

Inherited from ​

DialogHelper.isXULElement


loadAllSettings() ​

ts
loadAllSettings(): void;

Defined in: src/helpers/settingsDialog.ts:298

Load all settings from the setting handlers.

Returns ​

void


log() ​

ts
log(...data): void;

Defined in: src/basic.ts:198

Output to both Zotero.debug and console.log

Parameters ​

data ​

...any

e.g. string, number, object, ...

Returns ​

void

Inherited from ​

DialogHelper.log


open() ​

ts
open(title, windowFeatures): SettingsDialogHelper;

Defined in: src/helpers/settingsDialog.ts:322

Override the open method to handle setting loading after window opens.

Parameters ​

title ​

string

windowFeatures ​
alwaysRaised? ​

boolean

centerscreen? ​

boolean

fitContent? ​

boolean

height? ​

number

left? ​

number

noDialogMode? ​

boolean

resizable? ​

boolean

top? ​

number

width? ​

number

Returns ​

SettingsDialogHelper

Overrides ​

DialogHelper.open


parseXHTMLToFragment() ​

ts
parseXHTMLToFragment(
   str,
   entities,
   defaultXUL): DocumentFragment;

Defined in: src/tools/ui.ts:378

Parse XHTML to XUL fragment.

Parameters ​

str ​

string

xhtml raw text

entities ​

string[] = []

dtd file list ("chrome://xxx.dtd")

defaultXUL ​

boolean = true

true for default XUL namespace

Returns ​

DocumentFragment

Inherited from ​

DialogHelper.parseXHTMLToFragment


removeListenerCallback() ​

ts
removeListenerCallback<T>(type, callback): void;

Defined in: src/basic.ts:292

Remove a Zotero event listener callback

Type Parameters ​

T ​

T extends keyof ListenerCallbackMap

Parameters ​

type ​

T

Event type

callback ​

ListenerCallbackMap[T]

Event callback

Returns ​

void

Inherited from ​

DialogHelper.removeListenerCallback


replaceElement() ​

ts
replaceElement(properties, oldNode): undefined | Node;

Defined in: src/tools/ui.ts:358

Replace oldNode with a new one.

Parameters ​

properties ​

ElementProps & object

See ElementProps

oldNode ​

Element

The child to be replaced.

Returns ​

undefined | Node

The replaced Node. This is the same node as oldChild.

Inherited from ​

DialogHelper.replaceElement


saveAllSettings() ​

ts
saveAllSettings(): void;

Defined in: src/helpers/settingsDialog.ts:258

Save all settings using the setting handlers.

Returns ​

void


setDialogData() ​

ts
setDialogData(dialogData): SettingsDialogHelper;

Defined in: src/helpers/dialog.ts:166

Dialog data.

Parameters ​

dialogData ​

DialogData

Returns ​

SettingsDialogHelper

Remarks ​

This object is passed to the dialog window.

The control button id is in dialogData._lastButtonId;

The data-binding values are in dialogData.

ts
interface DialogData {
  [key: string | number | symbol]: any;
  loadLock?: {
    promise: Promise<void>;
    resolve: () => void;
    isResolved: () => boolean;
  }; // resolve after window load (auto-generated)
  loadCallback?: Function; // called after window load
  unloadLock?: { promise: Promise<void>; resolve: () => void }; // resolve after window unload (auto-generated)
  unloadCallback?: Function; // called after window unload
  beforeUnloadCallback?: Function; // called before window unload when elements are accessable.
}

Inherited from ​

DialogHelper.setDialogData


setSettingHandlers() ​

ts
setSettingHandlers(getSetting, setSetting): SettingsDialogHelper;

Defined in: src/helpers/settingsDialog.ts:65

Set the setting handlers for getting and setting values.

Parameters ​

getSetting ​

(key) => any

Function to get a setting value by key

setSetting ​

(key, value) => void

Function to set a setting value by key

Returns ​

SettingsDialogHelper


unregisterAll() ​

ts
unregisterAll(): void;

Defined in: src/tools/ui.ts:50

Remove all elements created by createElement.

Returns ​

void

Remarks ​

What is this for?

In bootstrap plugins, elements must be manually maintained and removed on exiting.

This API does this for you.

Inherited from ​

DialogHelper.unregisterAll


updateOptions() ​

ts
updateOptions(source?): SettingsDialogHelper;

Defined in: src/basic.ts:397

Parameters ​

source? ​

BasicTool | BasicOptions

Returns ​

SettingsDialogHelper

Inherited from ​

DialogHelper.updateOptions


getZotero() ​

ts
static getZotero(): typeof Zotero;

Defined in: src/basic.ts:409

Returns ​

typeof Zotero

Inherited from ​

DialogHelper.getZotero