This package implements the Carbon Design System from IBM in Framer.
Most of the components from Carbon have already been implemented. Utility components which are not useful for prototyping have been excluded.
The Carbon Design System documentation site is a great place to get started when working with these components. You won't always see a 1:1 mapping of the properties of the underlying components to Framer Property Controls but it should give you a good indication of what's already possible.
If you cannot control a certain property of a component using Framer's Property Controls, you can override the property using Code Overrides. Overrides allow you to change the properties of a component in the preview window (they do not run on the canvas) by using a JavaScript function that returns a new set of props which will then be applied to the underlying React component. This is useful if you want to capture the value of an input element or make components talk to each other using the Data object.
Basic support for the White, G10, G90 and G100 themes is included. Drop the ThemeSwitcher
component on the canvas and use the property controls to select the theme that's used across your prototype.
If you would like to base your Framer package off of this one, you can fork this repository.
By default, when you open the project in Framer Desktop, it will be automaticaly linked to the public Framer package for Carbon. This will mean you'll be unable to publish any updates to it, or publish it to your private team packages.
By executing a small bash script included with this project, you can strip away any metadata that references this project to an existing Framer package, allowing you to publish it yourself to a different location.
- Ensure you have jq installed and in your system's
$PATH
- Fork this repository
- Run
yarn run fork
- This will remove the
framer
,name
andversion
keys frompackage.json
- Open this project in Framer Desktop
- Click File -> Publish Package
- You should now be able to publish this project to a new package
This project is currently being maintained by Iain from the Framer Team. Feel free to create an issue in the GitHub repository if you run into any issues.
- Fixed the currently selected theme not persisting to the preview window or prototype link
- Suppressed warnings in the console from unexpected DOM attributes
- Fixed a bug that caused the
Toggle
component not to set its state correctly
- Locked the version used for
carbon-components-react
to7.11.0
- Fixed a bug that prevented theme stylesheets from loading in some cases on Framer Web
- Added support for the White, G10, G90 and G100 themes. Place the
ThemeSwitcher
component on the canvas of your prototype and switch the theme in the properties panel to preview your components
- Added a color property control to the
Typography
component - Typography styles are now sorted alphabetically
- Added a basic
Typography
component with text styles inherited from@carbon/type
- Added the Carbon color palette as Framer Shared Colors
- Fixed a bug that caused the
Checkbox
component to not change state when clicked - Added some example components to the canvas of this project
- Simplified usage of the
Header
component - Removed the
HeaderGlobalAction
component in favour of setting it via a property control on theHeader
- Fixed a bug that caused the connected content of an
Accordion
to not be positioned correctly - Added a property control to configure the open/closed state of Accordion items
- Added a text area property control to various components
- Renamed/reordered various property controls for brevity
- Added event handlers to the
InlineNotification
,ToastNotification
,Select
,Link
,Tag
,Tabs
,ContentSwitcher
andTextInput
components to be used with Framer's Interactions - Fixed the default size of the
Tag
component when first inserted on the canvas - Components with optional label/caption/subtitle properties now have a property control to configure whether it is shown (previously you would need to clear the input field to achieve this)
- Fixed some rendering glitches on the canvas when certain properties of the
ToastNotification
were changed - Fixed a bug that caused toggling the
Toggle
component on/off to have no effect - Fixed a bug that caused connected content to the
Tooltip
component to render incorrectly - Added a default show/hide property control to the
Tooltip
component. This will not display on the canvas due to it using a React Portal which causes it to be absolutely positioned on the canvas. - Reduced the noise created by components logging events
- Fixed the
onTap
event not firing for theButton
component
- Fixed the label property control for the
Select
component having no effect
- Added support for a password type on the
TextInput
component
- Modified the
carbon-components.css
stylesheet to prevent it overriding Framer's UI
- Initial publish of Framer package