TextStyle
Defined in: figmaPluginTypes.ts:10077
https://www.figma.com/plugin-docs/api/node-properties
optionalboundVariables:object
Defined in: figmaPluginTypes.ts:10133
The variables bound to a particular field on this text style.
optionalfontFamily:VariableAlias
optionalfontSize:VariableAlias
optionalfontStyle:VariableAlias
optionalfontWeight:VariableAlias
optionalletterSpacing:VariableAlias
optionallineHeight:VariableAlias
optionalparagraphIndent:VariableAlias
optionalparagraphSpacing:VariableAlias
readonlyconsumers:StyleConsumers[]
Defined in: figmaPluginTypes.ts:10051
The consumers of this style. The fields in StyleConsumers refers to the field where the style is applied (e.g. a PaintStyle can be applied in setFillStyleIdAsync or setStrokeStyleIdAsync).
Use getStyleConsumersAsync instead. Accessing this property will throw an exception if the plugin manifest contains "documentAccess": "dynamic-page".
description:
string
Defined in: figmaPluginTypes.ts:7052
The plain-text annotation entered by the user for this style/component.
To set a rich-text description using markdown, see PublishableMixin.descriptionMarkdown
Caution:
descriptionMarkdown:
string
Defined in: figmaPluginTypes.ts:7061
The rich-text annotation entered by the user for this style/component.
Caution:
BaseStyleMixin.descriptionMarkdown
documentationLinks: readonly
DocumentationLink[]
Defined in: figmaPluginTypes.ts:7078
The documentation links for this style/component.
This API currently only supports setting a single documentation link. To clear the documentation links, set to the empty list [].
Example:
node.documentationLinks = [{ uri: "https://www.figma.com" }];
// clear documentation links
node.documentationLinks = [];BaseStyleMixin.documentationLinks
fontName:
FontName
Defined in: figmaPluginTypes.ts:10093
Value to replace the text BaseNonResizableTextMixin.fontName with.
fontSize:
number
Defined in: figmaPluginTypes.ts:10085
Value to replace the text BaseNonResizableTextMixin.fontSize with.
hangingList:
boolean
Defined in: figmaPluginTypes.ts:10125
Value to replace the text NonResizableTextMixin.hangingList with.
hangingPunctuation:
boolean
Defined in: figmaPluginTypes.ts:10121
Value to replace the text NonResizableTextMixin.hangingPunctuation with.
readonlyid:string
Defined in: figmaPluginTypes.ts:10040
The unique identifier of the style in the document the plugin is executing from. You can assign this value via setFillStyleIdAsync, setStrokeStyleIdAsync, setTextStyleIdAsync, etc. to make the node properties reflect that of the style node.
readonlykey:string
Defined in: figmaPluginTypes.ts:7086
The key to use with PluginAPI.importComponentByKeyAsync, PluginAPI.importComponentSetByKeyAsync and PluginAPI.importStyleByKeyAsync. Note that while this key is present on local and published components, you can only import components that are already published.
leadingTrim:
LeadingTrim
Defined in: figmaPluginTypes.ts:10105
Value to replace the text NonResizableTextMixin.leadingTrim with.
letterSpacing:
LetterSpacing
Defined in: figmaPluginTypes.ts:10097
Value to replace the text BaseNonResizableTextMixin.letterSpacing with.
lineHeight:
LineHeight
Defined in: figmaPluginTypes.ts:10101
Value to replace the text NonResizableTextMixin.lineHeight with.
listSpacing:
number
Defined in: figmaPluginTypes.ts:10117
Value to replace the text NonResizableTextMixin.listSpacing with.
name:
string
Defined in: figmaPluginTypes.ts:10055
The name of the style node. Note that setting this also sets "autoRename" to false on TextNode.
paragraphIndent:
number
Defined in: figmaPluginTypes.ts:10109
Value to replace the text NonResizableTextMixin.paragraphIndent with.
paragraphSpacing:
number
Defined in: figmaPluginTypes.ts:10113
Value to replace the text NonResizableTextMixin.paragraphSpacing with.
readonlyremote:boolean
Defined in: figmaPluginTypes.ts:7082
Whether this style/component is a remote style/component that doesn't live in the file (i.e. is from the team library). Remote components are read-only: attempts to change their properties will throw.
textCase:
TextCase
Defined in: figmaPluginTypes.ts:10129
Value to replace the text BaseNonResizableTextMixin.textCase with.
textDecoration:
TextDecoration
Defined in: figmaPluginTypes.ts:10089
Value to replace the text NonResizableTextMixin.textDecoration with.
type:
"TEXT"
Defined in: figmaPluginTypes.ts:10081
The string literal "TEXT" representing the style type. Always check the type before reading other properties.
getPluginData(
key):string
Defined in: figmaPluginTypes.ts:5031
Retrieves custom information that was stored on this node or style using PluginDataMixin.setPluginData. If there is no data stored for the provided key, an empty string is returned.
string
string
getPluginDataKeys():
string[]
Defined in: figmaPluginTypes.ts:5053
Retrieves a list of all keys stored on this node or style using using PluginDataMixin.setPluginData. This enables iterating through all data stored privately on a node or style by your plugin.
string[]
BaseStyleMixin.getPluginDataKeys
getPublishStatusAsync():
Promise<PublishStatus>
Defined in: figmaPluginTypes.ts:7090
Gets the status of this style/component in the team library.
Promise<PublishStatus>
BaseStyleMixin.getPublishStatusAsync
getSharedPluginData(
namespace,key):string
Defined in: figmaPluginTypes.ts:5057
Retrieves custom information that was stored on this node or style using PluginDataMixin.setSharedPluginData. If there is no data stored for the provided namespace and key, an empty string is returned.
string
string
string
BaseStyleMixin.getSharedPluginData
getSharedPluginDataKeys(
namespace):string[]
Defined in: figmaPluginTypes.ts:5079
Retrieves a list of all keys stored on this node or style using PluginDataMixin.setSharedPluginData. This enables iterating through all data stored in a given namespace.
string
string[]
BaseStyleMixin.getSharedPluginDataKeys
getStyleConsumersAsync():
Promise<StyleConsumers[]>
Defined in: figmaPluginTypes.ts:10045
The consumers of this style. The fields in StyleConsumers refers to the field where the style is applied (e.g. a PaintStyle can be applied in setFillStyleIdAsync or setStrokeStyleIdAsync).
Promise<StyleConsumers[]>
BaseStyleMixin.getStyleConsumersAsync
remove():
void
Defined in: figmaPluginTypes.ts:10059
Deletes a local style.
void
setBoundVariable(
field,variable):void
Defined in: figmaPluginTypes.ts:10144
Binds the provided field on this node to the given variable. Please see the Working with Variables guide for how to get and set variable bindings.
If null is provided as the variable, the given field will be unbound from any variables.
The field to bind the variable to.
The variable to bind to the field. If null is provided, the field will be unbound from any variables. Make sure to pass a Variable object or null; passing a variable ID is not supported.
null | Variable
void
setPluginData(
key,value):void
Defined in: figmaPluginTypes.ts:5049
Lets you store custom information on any node or style, private to your plugin. The total size of your entry (pluginId, key, value) cannot exceed 100 kB.
string
The key under which to store the data. This is similar to writing to a plain object via obj[key] = value.
string
The data you want to store. If you want to store a value type other than a string, encode it as a JSON string first via JSON.stringify and JSON.parse. If you set the value to the empty string (""), the key/value pair is removed.
void
The data is specific to your plugin ID. Plugins with other IDs won't be able to read this data. You can retrieve it later by calling getPluginData with the same key. To find all data stored on a node or style by your plugin use getPluginDataKeys.
Caution: ⚠ The data is stored privately for stability, not security. It prevents other plugins from accessing with your data. It does not, however, prevent users from seeing the data given sufficient effort. For example, they could export the document as a .fig file and try to decode it.
Caution: ⚠ Data will become inaccessible if your plugin ID changes.
Caution: ⚠ Total entry size cannot exceed 100 kB.
setSharedPluginData(
namespace,key,value):void
Defined in: figmaPluginTypes.ts:5075
Lets you store custom information on any node or style, public to all plugins. The total size of your entry (namespace, key, value) cannot exceed 100 kB.
string
A unique string to identify your plugin and avoid key collisions with other plugins. The namespace must be at least 3 alphanumeric characters.
string
The key under which to store the data. This is similar to writing to a plain object via obj[key] = value.
string
The data you want to store. If you want to store a value type other than a string, encode it as a JSON string first via JSON.stringify and JSON.parse. If you set the value to the empty string (""), the key/value pair is removed.
void
This lets you store custom information on any node or style. You can retrieve it later by calling PluginDataMixin.getSharedPluginData with the same namespace and key. To find all data stored on a node or style in a particular namespace, use PluginDataMixin.getSharedPluginDataKeys.
Any data you write using this API will be readable by any plugin. The intent is to allow plugins to interoperate with each other. Use PluginDataMixin.setPluginData instead if you don't want other plugins to be able to read your data.
You must also provide a namespace argument to avoid key collisions with other plugins. This argument is mandatory to prevent multiple plugins from using generic key names like data and overwriting one another. We recommend passing a value that identifies your plugin. This namespace can be given to authors of other plugins so that they can read data from your plugin.
Caution: ⚠ Total entry size cannot exceed 100 kB.