Toolkit – Cocoa - microsoft/FigmaSharp GitHub Wiki

Index

Component libraries

Toolkit Component library Version Font family Maintainer(s)
macOS Catalina FigmaSharp Toolkit: macOS Catalina 1.2.0 SF Pro @hbons, @vancura
macOS Big Sur WIP FigmaSharp Toolkit: macOS Big Sur 2.0.0 SF Pro @hbons, @vancura

Components

When a component is described as "accepting content" it means that it can be used together with the !content keyword to place other components inside of it.

Layer names inside components using Sentence Case have functional meaning. Changes made to these layers will affect how the component is converted. Layer names using lower case are decorative.

🔷 Alert

[todo]

🔷 Box

This component can be used for grouping components or as decoration. The Title text layer can be changed or hidden.

Resizable: horizontally and vertically Accepts content: Yes

Introduced in FigmaSharp 1.0

🔷 Box/Custom

This is the recommended component for drawing custom layouts. The Fill and Stroke values of the bg layer can be changed to a different color style or fixed color value.

Resizable: horizontally and vertically Accepts content: Yes

Introduced in FigmaSharp 1.0

🔷 Button, 🔷 Button/RoundRect

Set the button's state by unhiding the appropriate State: layer group. The Title text layer can be changed.

Resizable: horizontally Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Button/Help

Set the button's state by unhiding the appropriate State: layer group. The text layer of this button cannot be changed.

Resizable: No Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Button/Symbol

Use this component when you need a clickable icon. Change the Symbol text layer to a symbol from Apple's SF Symbols app. The font style and color style of this layer can also be changed.

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 ColorWell

The Fill of the Value layer can be changed to a different color style. This color style will be the default value for the ColorWell control.

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 ComboBox

The Title text layer can be changed.

Resizable: horizontally Accepts content: No

Introduced in FigmaSharp 1.0

🔷 DisclosureView

[todo]

🔷 Label

The text style of the Title layer can be changed to a different text style. The Title layer may also be left empty or hidden.

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Label/Group, 🔷 Label/Header

See 🔷 Label.

Notes: The color of the Title layer can be changed to a different color style or fixed color value. The font style of this of component is fixed.

🔷 Label/Secondary

See 🔷 Label.

Notes: The font and color styles of this component are fixed.

🔷 PopUpButton

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 PopUpButton/PullDown

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 ProgressIndicator/Bar

The Style: Determinate or Style: Indeterminate can be unhidden to set the respective bar style.

Resizable: horizontally Accepts content: No

Introduced in FigmaSharp 1.0

🔷 ProgressIndicator/Circular

The Style: Determinate or Style: Indeterminate can be unhidden to set the respective circle style.

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Radio

Radios placed inside the same group will be considered related (only one of them can be selected at a time). The text style of the Title layer can be changed to a different text style. The Title layer may also be left empty or hidden.

Resizable: horizontally Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Slider/Circular

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Slider/Linear/Vertical

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Slider/Linear/Horizontal

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 SearchField

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 SegmentedControl

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Separator/Horizontal

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Separator/Vertical

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Stepper

Resizable: No Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Switch

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 TextField

Title, Placeholder, Password

Resizable: horizontally Accepts content: No

Introduced in FigmaSharp 1.0

🔷 TextView

Text

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 TableView

[todo]

🔷 TabView

Resizable: horizontally and vertically Accepts content: No

Introduced in FigmaSharp 1.0

🔷 Window

[close], [min], [max], [title], [resize]

Resizable: horizontally and vertically Accepts content: Yes

Introduced in FigmaSharp 1.0

🔷 Window/Sheet

See 🔷 Window.

🔷 Window/Popover

See 🔷 Window.

Groups

Groups or frames are converted to a View. Groups or frames with an AutoLayout are converted to a StackView.

Color styles

Use the default set of named color styles to customize components that support it, such as 🔷 Label, 🔷 Box/Custom, and 🔷 Button/Symbol. These color styles are converted to the NSColor with the same name. By keeping to the named color styles a layout benefits from automatic theming by macOS.

  • Black, White

  • System/Red, System/Green, System/Blue, System/Orange, System/Yellow, System/Brown, System/Pink, System/Purple, System/Teal, System/Indigo, System/Gray

  • Text/Text, Text/Label, Text/Label Secondary, Text/Label Tertiary, Text/Label Quaternary, Text/Link, Text/Placeholder, Text/Window Frame, Text/MenuItem Selected, Text/Control Alternate Selected, Text/Header, Text/Selected, Text/Selected Unemphasized, Text/Control, Text/Control Selected, Text/Control Disabled

  • Chrome/Text BG, Chrome/Text Selected BG, Chrome/Text Selected Unemphasized BG, Chrome/Window BG, Chrome/Under Page BG, Chrome/Control BG, Chrome/Content Selected BG, Chrome/Content Selected Unemphasized BG, Chrome/Content Alternating BG, Chrome/Control, Chrome/Control Selected, Chrome/Control Accent

  • Misc/Keyboard Focus Indicator, Misc/Find Highlight

  • Textfield/Background, Textfield/Stroke

Text styles

  • Label
  • Label Disabled
  • Label Small
  • Label Small Disabled
  • Label Large
  • Label/Group
  • Label/Header
  • Label/Link
  • Label/Link Small