This is rendered as a React element (<Component {...props}/>), so it is a real component:
hooks are allowed, and it participates in reconciliation like any other component. The host's
ref is delivered as a regular prop (TaskPaneProps.ref, React 19 style) — forward it
to the pane's root element.
OptionalcomponentOptional component for a button that can be placed in the command bar.
OptionalcomponentOptional component to render a custom title for the task pane.
Optional ReadonlycontributionThe command paths to use to open the task pane.
Optional ReadonlykeepIf true, the pane stays mounted (hidden with display: none) while another pane is active,
instead of unmounting on switch. Opt in for panes that are expensive or fragile to (re)mount —
the script editor, whose Monaco/CDN-loader/worker setup is built around a single mount lifecycle
(remounting it re-runs the AMD loader shim + global juggling and re-creates the language workers,
which fails on the way back). Leave unset for ordinary panes so they keep the default
unmount-on-hide behavior (state resets, memory freed).
ReadonlykeyThe unique key for the task pane.
OptionalcreateOptionalgetThe icon to display to identify the task pane: an icon key or a React element.
That record's icon key, if there is one.
OptionalgetThe title to display to identify the task pane. Call t() here to translate it.
That record's label, if there is one, for a title that adjusts it.
The task pane component.