@primer/primitives
Version:
Typography, spacing, and color primitives for Primer design system
321 lines (320 loc) • 10.9 kB
JSON
{
"borderWidth-default": {
"key": "{borderWidth.default}",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"filePath": "src/tokens/functional/size/border.json5",
"isSource": true,
"original": {
"$value": "{borderWidth.thin}",
"$description": "Semantic token: preferred default border width for standard component borders. Use this in normal component code unless a specific scale value is required.",
"$type": "dimension",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"key": "{borderWidth.default}"
},
"name": "borderWidth-default",
"attributes": {},
"path": ["borderWidth", "default"],
"value": "0.0625rem",
"type": "dimension",
"description": "Semantic token: preferred default border width for standard component borders. Use this in normal component code unless a specific scale value is required."
},
"borderWidth-thick": {
"key": "{borderWidth.thick}",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
},
"org.primer.llm": {
"usage": ["focus-indicator", "selected-state", "emphasis-border"],
"rules": "MUST use for focus rings on interactive elements. Do NOT use for subtle dividers."
}
},
"filePath": "src/tokens/functional/size/border.json5",
"isSource": true,
"original": {
"$value": {
"value": 2,
"unit": "px"
},
"$description": "Scale token: 2px border width for emphasis or focus states.",
"$type": "dimension",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
},
"org.primer.llm": {
"usage": ["focus-indicator", "selected-state", "emphasis-border"],
"rules": "MUST use for focus rings on interactive elements. Do NOT use for subtle dividers."
}
},
"key": "{borderWidth.thick}"
},
"name": "borderWidth-thick",
"attributes": {},
"path": ["borderWidth", "thick"],
"value": "0.125rem",
"type": "dimension",
"description": "Scale token: 2px border width for emphasis or focus states."
},
"borderWidth-thicker": {
"key": "{borderWidth.thicker}",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"filePath": "src/tokens/functional/size/border.json5",
"isSource": true,
"original": {
"$value": {
"value": 4,
"unit": "px"
},
"$description": "Scale token: 4px border width for strong emphasis.",
"$type": "dimension",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"key": "{borderWidth.thicker}"
},
"name": "borderWidth-thicker",
"attributes": {},
"path": ["borderWidth", "thicker"],
"value": "0.25rem",
"type": "dimension",
"description": "Scale token: 4px border width for strong emphasis."
},
"borderWidth-thin": {
"key": "{borderWidth.thin}",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"filePath": "src/tokens/functional/size/border.json5",
"isSource": true,
"original": {
"$value": {
"value": 1,
"unit": "px"
},
"$description": "Scale token: 1px border width. Use when selecting an explicit size from the border-width scale.",
"$type": "dimension",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"key": "{borderWidth.thin}"
},
"name": "borderWidth-thin",
"attributes": {},
"path": ["borderWidth", "thin"],
"value": "0.0625rem",
"type": "dimension",
"description": "Scale token: 1px border width. Use when selecting an explicit size from the border-width scale."
},
"boxShadow-thick": {
"key": "{boxShadow.thick}",
"filePath": "src/tokens/functional/size/border.json5",
"isSource": true,
"original": {
"$value": "inset 0 0 0 {borderWidth.thick}",
"$description": "Thick shadow (2px) used instead of a border for emphasis without layout shift",
"$type": "custom-string",
"key": "{boxShadow.thick}"
},
"name": "boxShadow-thick",
"attributes": {},
"path": ["boxShadow", "thick"],
"value": "inset 0 0 0 0.125rem",
"type": "custom-string",
"description": "Thick shadow (2px) used instead of a border for emphasis without layout shift"
},
"boxShadow-thicker": {
"key": "{boxShadow.thicker}",
"filePath": "src/tokens/functional/size/border.json5",
"isSource": true,
"original": {
"$value": "inset 0 0 0 {borderWidth.thicker}",
"$description": "Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact",
"$type": "custom-string",
"key": "{boxShadow.thicker}"
},
"name": "boxShadow-thicker",
"attributes": {},
"path": ["boxShadow", "thicker"],
"value": "inset 0 0 0 0.25rem",
"type": "custom-string",
"description": "Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact"
},
"boxShadow-thin": {
"key": "{boxShadow.thin}",
"filePath": "src/tokens/functional/size/border.json5",
"isSource": true,
"original": {
"$value": "inset 0 0 0 {borderWidth.thin}",
"$description": "Thin shadow used instead of a border to prevent layout shift",
"$type": "custom-string",
"key": "{boxShadow.thin}"
},
"name": "boxShadow-thin",
"attributes": {},
"path": ["boxShadow", "thin"],
"value": "inset 0 0 0 0.0625rem",
"type": "custom-string",
"description": "Thin shadow used instead of a border to prevent layout shift"
},
"focus-outline-offset": {
"key": "{focus.outline-offset}",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"filePath": "src/tokens/component/focus.json5",
"isSource": true,
"original": {
"$value": {
"value": -2,
"unit": "px"
},
"$type": "dimension",
"$description": "Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"key": "{focus.outline-offset}"
},
"name": "focus-outline-offset",
"attributes": {},
"path": ["focus", "outline-offset"],
"value": "-0.125rem",
"type": "dimension",
"description": "Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds"
},
"focus-outline-width": {
"key": "{focus.outline-width}",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
},
"org.primer.llm": {
"usage": ["focus-ring", "keyboard-focus", "accessibility"],
"rules": "MUST use for all keyboard focus indicators. Required for WCAG 2.4.7 compliance."
}
},
"filePath": "src/tokens/component/focus.json5",
"isSource": true,
"original": {
"$value": {
"value": 2,
"unit": "px"
},
"$type": "dimension",
"$description": "Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
},
"org.primer.llm": {
"usage": ["focus-ring", "keyboard-focus", "accessibility"],
"rules": "MUST use for all keyboard focus indicators. Required for WCAG 2.4.7 compliance."
}
},
"key": "{focus.outline-width}"
},
"name": "focus-outline-width",
"attributes": {},
"path": ["focus", "outline-width"],
"value": "0.125rem",
"type": "dimension",
"description": "Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements"
},
"outline-focus-offset": {
"key": "{outline.focus.offset}",
"$deprecated": "-0.125rem",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"filePath": "src/tokens/component/focus.json5",
"isSource": true,
"original": {
"$value": "{focus.outline-offset}",
"$type": "dimension",
"$deprecated": "{focus.outline-offset}",
"$description": "Deprecated. Use focus.outline-offset instead.",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"key": "{outline.focus.offset}"
},
"name": "outline-focus-offset",
"attributes": {},
"path": ["outline", "focus", "offset"],
"value": "-0.125rem",
"type": "dimension",
"description": "Deprecated. Use focus.outline-offset instead."
},
"outline-focus-width": {
"key": "{outline.focus.width}",
"$deprecated": "0.125rem",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"filePath": "src/tokens/component/focus.json5",
"isSource": true,
"original": {
"$value": "{focus.outline-width}",
"$type": "dimension",
"$deprecated": "{focus.outline-width}",
"$description": "Deprecated. Use focus.outline-width instead.",
"$extensions": {
"org.primer.figma": {
"collection": "functional/size",
"scopes": ["borderWidth", "effectFloat"]
}
},
"key": "{outline.focus.width}"
},
"name": "outline-focus-width",
"attributes": {},
"path": ["outline", "focus", "width"],
"value": "0.125rem",
"type": "dimension",
"description": "Deprecated. Use focus.outline-width instead."
}
}