Skip to content

Commit 1d7def1

Browse files
add composite border token (#1118)
* add composite border token * add changeset * change borderWith values to px * added remaining borders and story * github-actions[bot] Regenerated snapshots --------- Co-authored-by: lukasoppermann <[email protected]>
1 parent d85b9be commit 1d7def1

File tree

228 files changed

+330
-20
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

228 files changed

+330
-20
lines changed

.changeset/shaggy-mails-clean.md

Lines changed: 5 additions & 0 deletions
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import React from 'react'
2+
// eslint-disable-next-line import/extensions
3+
import ColorPreview from '../StorybookComponents/ColorPreview/ColorPreview'
4+
5+
export default {
6+
title: 'Borders/Standard',
7+
parameters: {
8+
storyType: 'swatch',
9+
controls: {hideNoControlsWarning: true},
10+
tags: ['snapshotLight'],
11+
},
12+
}
13+
14+
const borders = ['border-default', 'border-muted', 'border-emphasis', 'border-disabled', 'border-transparent']
15+
16+
export const Standard = () => {
17+
return (
18+
<>
19+
{borders.map(border => (
20+
<ColorPreview key={border} color={border} border canvasColor="bgColor-default" />
21+
))}
22+
</>
23+
)
24+
}
25+
26+
const roleBorders = [
27+
'accent',
28+
'success',
29+
'open',
30+
'danger',
31+
'closed',
32+
'attention',
33+
'severe',
34+
'done',
35+
'upsell',
36+
'sponsors',
37+
'neutral',
38+
].flatMap(border => [`border-${border}-emphasis`, `border-${border}-muted`])
39+
40+
export const Roles = () => {
41+
return (
42+
<>
43+
{roleBorders.map(border => (
44+
<ColorPreview key={border} color={border} border canvasColor="bgColor-default" />
45+
))}
46+
</>
47+
)
48+
}

docs/storybook/stories/Size/Border.stories.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React from 'react'
22
// eslint-disable-next-line import/extensions
3-
import sizeTokens from '../../../../dist/docs/functional/size/border.json'
43
import {SizeTokenSwatch} from '../StorybookComponents/SizeTokenSwatch/SizeTokenSwatch'
54
import {DataTable, Table} from '@primer/react/drafts'
65
import {InlineCode} from '../StorybookComponents/InlineCode/InlineCode'

docs/storybook/stories/StorybookComponents/ColorPreview/ColorPreview.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import './ColorPreview.css'
55
export type ColorPreviewProps = {
66
textColor?: boolean
77
borderColor?: boolean
8+
border?: boolean
89
bgColor?: boolean
910
canvasColor?: string
1011
color?: string
@@ -16,6 +17,7 @@ export type ColorPreviewProps = {
1617

1718
export function ColorPreview({
1819
textColor,
20+
border,
1921
borderColor,
2022
bgColor,
2123
canvasColor,
@@ -34,6 +36,7 @@ export function ColorPreview({
3436
</p>
3537
)}
3638
{borderColor && <div style={{borderColor: `var(--${color})`, ...style}} data-border></div>}
39+
{border && <div style={{border: `var(--${color})`, ...style}} data-border></div>}
3740
{bgColor && (
3841
<div
3942
style={{backgroundColor: `var(--${color})`, border: `solid 1px var(--${bgColorBorder})`, ...style}}

scripts/buildTokens.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ export const buildDesignTokens = async (buildOptions: ConfigGeneratorOptions): P
204204
`src/tokens/functional/shadow/light.json5`,
205205
`src/tokens/functional/border/*.json5`,
206206
],
207-
include: [`src/tokens/base/color/light/light.json5`],
207+
include: [`src/tokens/base/color/light/light.json5`, 'src/tokens/functional/size/border.json5'],
208208
},
209209
// typography
210210
{

scripts/themes.config.ts

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ export const themes: TokenBuildInput[] = [
1010
`src/tokens/functional/border/*.json5`,
1111
`src/tokens/functional/color/components/*.json5`,
1212
],
13-
include: [`src/tokens/base/color/light/light.json5`, `src/tokens/base/color/light/display-light.json5`],
13+
include: [
14+
`src/tokens/functional/size/border.json5`,
15+
`src/tokens/base/color/light/light.json5`,
16+
`src/tokens/base/color/light/display-light.json5`,
17+
],
1418
},
1519
{
1620
filename: 'light-tritanopia',
@@ -22,7 +26,11 @@ export const themes: TokenBuildInput[] = [
2226
`src/tokens/functional/color/components/*.json5`,
2327
`src/tokens/functional/color/light/overrides/light.tritanopia.json5`,
2428
],
25-
include: [`src/tokens/base/color/light/light.json5`, `src/tokens/base/color/light/display-light.json5`],
29+
include: [
30+
`src/tokens/functional/size/border.json5`,
31+
`src/tokens/base/color/light/light.json5`,
32+
`src/tokens/base/color/light/display-light.json5`,
33+
],
2634
},
2735
{
2836
filename: 'light-colorblind',
@@ -34,7 +42,11 @@ export const themes: TokenBuildInput[] = [
3442
`src/tokens/functional/color/components/*.json5`,
3543
`src/tokens/functional/color/light/overrides/light.protanopia-deuteranopia.json5`,
3644
],
37-
include: [`src/tokens/base/color/light/light.json5`, `src/tokens/base/color/light/display-light.json5`],
45+
include: [
46+
`src/tokens/functional/size/border.json5`,
47+
`src/tokens/base/color/light/light.json5`,
48+
`src/tokens/base/color/light/display-light.json5`,
49+
],
3850
},
3951
{
4052
filename: 'light-high-contrast',
@@ -47,6 +59,7 @@ export const themes: TokenBuildInput[] = [
4759
`src/tokens/functional/color/light/overrides/light.high-contrast.json5`,
4860
],
4961
include: [
62+
`src/tokens/functional/size/border.json5`,
5063
`src/tokens/base/color/light/light.json5`,
5164
`src/tokens/base/color/light/light.high-contrast.json5`,
5265
`src/tokens/base/color/light/display-light.json5`,
@@ -61,7 +74,11 @@ export const themes: TokenBuildInput[] = [
6174
`src/tokens/functional/border/*.json5`,
6275
`src/tokens/functional/color/components/*.json5`,
6376
],
64-
include: [`src/tokens/base/color/dark/dark.json5`, `src/tokens/base/color/dark/display-dark.json5`],
77+
include: [
78+
`src/tokens/functional/size/border.json5`,
79+
`src/tokens/base/color/dark/dark.json5`,
80+
`src/tokens/base/color/dark/display-dark.json5`,
81+
],
6582
},
6683
{
6784
filename: 'dark-dimmed',
@@ -74,6 +91,7 @@ export const themes: TokenBuildInput[] = [
7491
`src/tokens/functional/color/components/*.json5`,
7592
],
7693
include: [
94+
`src/tokens/functional/size/border.json5`,
7795
`src/tokens/base/color/dark/dark.json5`,
7896
`src/tokens/base/color/dark/dark.dimmed.json5`,
7997
`src/tokens/base/color/dark/display-dark.json5`,
@@ -90,7 +108,11 @@ export const themes: TokenBuildInput[] = [
90108
`src/tokens/functional/color/components/*.json5`,
91109
`src/tokens/functional/color/dark/overrides/dark.tritanopia.json5`,
92110
],
93-
include: [`src/tokens/base/color/dark/dark.json5`, `src/tokens/base/color/dark/display-dark.json5`],
111+
include: [
112+
`src/tokens/functional/size/border.json5`,
113+
`src/tokens/base/color/dark/dark.json5`,
114+
`src/tokens/base/color/dark/display-dark.json5`,
115+
],
94116
},
95117
{
96118
filename: 'dark-colorblind',
@@ -102,7 +124,11 @@ export const themes: TokenBuildInput[] = [
102124
`src/tokens/functional/color/components/*.json5`,
103125
`src/tokens/functional/color/dark/overrides/dark.protanopia-deuteranopia.json5`,
104126
],
105-
include: [`src/tokens/base/color/dark/dark.json5`, `src/tokens/base/color/dark/display-dark.json5`],
127+
include: [
128+
`src/tokens/functional/size/border.json5`,
129+
`src/tokens/base/color/dark/dark.json5`,
130+
`src/tokens/base/color/dark/display-dark.json5`,
131+
],
106132
},
107133
{
108134
filename: 'dark-high-contrast',
@@ -115,6 +141,7 @@ export const themes: TokenBuildInput[] = [
115141
`src/tokens/functional/color/dark/overrides/dark.high-contrast.json5`,
116142
],
117143
include: [
144+
`src/tokens/functional/size/border.json5`,
118145
`src/tokens/base/color/dark/dark.json5`,
119146
`src/tokens/base/color/dark/dark.high-contrast.json5`,
120147
`src/tokens/base/color/dark/display-dark.json5`,

src/primerStyleDictionary.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,12 @@ import {themeOverrides} from './preprocessors/themeOverrides.js'
4545
* @formats [javascript/esm](https://github.com/primer/primitives/blob/main/config/formats/javascript-esm.ts), [javascript/commonJs](https://github.com/primer/primitives/blob/main/config/formats/javascript-commonJs.ts), [typescript/export-definition](https://github.com/primer/primitives/blob/main/config/formats/typescript-export-defition.ts)
4646
* @transformers [color/rgbAlpha](https://github.com/primer/primitives/blob/main/config/tranformers/color-to-rgb-alpha.ts), [color/hexAlpha](https://github.com/primer/primitives/blob/main/config/tranformers/color-to-hex-alpha.ts), [color/hex](https://github.com/primer/primitives/blob/main/config/tranformers/color-to-hex6.ts), [json/deprecated](https://github.com/primer/primitives/blob/main/config/tranformers/json-deprecated.ts), [name/pathToDotNotation](https://github.com/primer/primitives/blob/main/config/tranformers/name-path-to-dot-notation.ts)
4747
*/
48-
export const PrimerStyleDictionary: StyleDictionary = new StyleDictionary()
48+
export const PrimerStyleDictionary: StyleDictionary = new StyleDictionary({
49+
// these are the defaults
50+
log: {
51+
verbosity: 'default', // 'default' | 'silent' | 'verbose'
52+
},
53+
})
4954

5055
/**
5156
* Formats

0 commit comments

Comments
 (0)