
Security News
Vite Releases Technical Preview of Rolldown-Vite, a Rust-Based Bundler
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.
@mulesoft-labs/design-system-primitive-tokens
Advanced tools
Primitive tokens are an abstraction of Salesforce's UI into name and value design properties
git clone https://github.com/salesforce-ux/design-system-primitive-tokens.git
npm install
in the root design-system-primitive-tokens folder.npm run build
npm run lint
npm run test
npm run publish-package
- Increments version, builds and pushes to NPM package
Within the design-tokens
folder you will find an aliases
folder. This is where re-usable aliases will reside. Aliases can be imported into any token YAML file and referenced as a value with {!ALIAS_NAME}
syntax. Note Aliases cannot be consumed outside of a tokens YAML file.
imports:
- ../aliases/colors.yml
props:
COLOR_BACKGROUND:
value: '{!PALETTE_GRAY_2}'
Within the design-tokens
folder you will find a primitive
folder. This is where consumable named tokens reside. They can either reference an alias as its value or a string value.
## primitive/background-color.yml
global:
type: color
category: background-color
cssProperties:
- 'background*'
- 'border*'
- box-shadow
imports:
- ../aliases/colors.yml
props:
COLOR_BACKGROUND:
value: '{!PALETTE_GRAY_2}'
comment: Default background color for the whole app.
The naming convention for a primitive token is:
CATEGORY_PROPERTY_ATTRIBUTE_RELATIONSHIP_STATE
Usage combinations
## Category + Property
COLOR_BACKGROUND
## Category + Property + Attribute
SIZING_WIDTH_SMALL
## Category + Property + State
COLOR_BACKGROUND_SELECTED
## Category + Property + Theme
COLOR_BACKGROUND_INVERSE
## Category + Property + Attribute + State
COLOR_BORDER_DESTRUCTIVE_HOVER
## Category + Property + Attribute + Relationship
COLOR_TEXT_LINK_WEAK_SECONDARY
## Category + Property + Attribute + Relationship + State
COLOR_TEXT_LINK_WEAK_SECONDAY_HOVER
Categories
Categories => Properties | Token Prefix | Usage Description |
---|---|---|
Color | COLOR | Generic UI color |
└── Brand | COLOR_BRAND | Brand color associated to theming algorithm |
└── Background | COLOR_BACKGROUND | Generic UI background colors |
└── Border | COLOR_BORDER | Generic UI border colors |
└── Gradient | COLOR_GRADIENT | Generic UI gradient colors |
└── Text | COLOR_TEXT | Generic UI text colors |
└── Text Link | COLOR_TEXT_LINK | Generic UI text link colors |
Font | FONT | Salesforce font family declarations |
└── Style | FONT_STYLE | Supported font family styles |
└── Size | FONT_SIZE | Generic typographic scale for fonts |
└── Weight | FONT_WEIGHT | Supported font family weights |
Opacity | OPACITY | Generic opacity levels |
Line-height | LINE-HEIGHT | Relative line-height declarations |
Spacing | SPACING | Box-model spacing declarations, padding and margin |
Radius | RADIUS | Generic UI radius values |
Sizing | SIZING | Generic UI sizing, can be used on box-model |
└── Border | SIZING_BORDER | Generic UI border widths |
└── Square | SIZING_SQUARE | Generic UI dimensions to output a 1:1 square |
└── Width | SIZING_WIDTH | Generic UI widths |
Shadow | SHADOW | Generic shadows used for depth |
Duration | DURATION | Generic timing durations for animations |
Touch | TOUCH | Touch specific values |
Media Query | MQ | Supported media queries |
Depth | DEPTH | Z-index declarations for stacking context |
Variable | VAR | Dynamic values that change based on user prefs |
└── Spacing | VAR_SPACING | Dynamic box-model spacing declarations |
└── Font-size | VAR_FONT_SIZE | Dynamic font-size declarations |
If you need to add a new token category that does not currently exist, create a YAML file associated with the category you'd like to have a reference to.
primitive/
└── new_category.yml
Once the file is created, you will need to import its reference into base.yml
inside of the primitive
folder. After the file and its content have been created, it would be a good idea to run npm run test -- -u
to update tests to reflect your additions.
## primitive/base.yml
imports:
- ./new_category.yml
FAQs
Primitive tokens are an abstraction of Salesforce's UI into name and value design properties
The npm package @mulesoft-labs/design-system-primitive-tokens receives a total of 0 weekly downloads. As such, @mulesoft-labs/design-system-primitive-tokens popularity was classified as not popular.
We found that @mulesoft-labs/design-system-primitive-tokens demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.
Research
Security News
A malicious npm typosquat uses remote commands to silently delete entire project directories after a single mistyped install.
Research
Security News
Malicious PyPI package semantic-types steals Solana private keys via transitive dependency installs using monkey patching and blockchain exfiltration.