@wordpress/theme 0.2.1-next.dc3f6d3c1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/terrazzo-plugin-inline-alias-values/index.ts +43 -14
- package/build/prebuilt/js/design-tokens.js +5 -4
- package/build/prebuilt/js/design-tokens.js.map +2 -2
- package/build/prebuilt/json/figma.json +24 -8
- package/build/theme-provider.js +3 -1
- package/build/theme-provider.js.map +2 -2
- package/build/types.js.map +1 -1
- package/build-module/prebuilt/js/design-tokens.js +5 -4
- package/build-module/prebuilt/js/design-tokens.js.map +2 -2
- package/build-module/prebuilt/json/figma.json +24 -8
- package/build-module/theme-provider.js +3 -1
- package/build-module/theme-provider.js.map +2 -2
- package/build-types/stories/index.story.d.ts +1 -0
- package/build-types/stories/index.story.d.ts.map +1 -1
- package/build-types/theme-provider.d.ts +1 -1
- package/build-types/theme-provider.d.ts.map +1 -1
- package/build-types/types.d.ts +8 -0
- package/build-types/types.d.ts.map +1 -1
- package/docs/ds-tokens.md +8 -7
- package/package.json +4 -4
- package/src/prebuilt/css/design-tokens.css +30 -4
- package/src/prebuilt/js/design-tokens.js +5 -4
- package/src/prebuilt/json/figma.json +24 -8
- package/src/stories/index.story.tsx +23 -9
- package/src/theme-provider.tsx +2 -0
- package/src/types.ts +9 -0
- package/terrazzo.config.ts +21 -0
- package/tokens/dimension.json +44 -10
- package/tsconfig.bin.tsbuildinfo +1 -1
- package/tsconfig.src.tsbuildinfo +1 -1
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
* Internal dependencies
|
|
19
19
|
*/
|
|
20
20
|
import { ThemeProvider } from '../theme-provider';
|
|
21
|
+
import '../prebuilt/css/design-tokens.css';
|
|
21
22
|
|
|
22
23
|
const meta: Meta< typeof ThemeProvider > = {
|
|
23
24
|
title: 'Design System/Theme Provider',
|
|
@@ -198,10 +199,10 @@ export const WithPicker: StoryObj< typeof ThemeProvider > = {
|
|
|
198
199
|
},
|
|
199
200
|
};
|
|
200
201
|
|
|
201
|
-
const NestingDebug = ( { bg = '', primary = '' } ) => (
|
|
202
|
+
const NestingDebug = ( { bg = '', primary = '', density = '' } ) => (
|
|
202
203
|
<div
|
|
203
204
|
style={ {
|
|
204
|
-
padding: '
|
|
205
|
+
padding: 'var(--wpds-dimension-padding-surface-sm)',
|
|
205
206
|
color: 'var(--wpds-color-fg-content-neutral)',
|
|
206
207
|
backgroundColor: 'var(--wpds-color-bg-surface-neutral)',
|
|
207
208
|
display: 'flex',
|
|
@@ -210,13 +211,13 @@ const NestingDebug = ( { bg = '', primary = '' } ) => (
|
|
|
210
211
|
gap: '1rem',
|
|
211
212
|
} }
|
|
212
213
|
>
|
|
213
|
-
<pre>
|
|
214
|
-
bg: { bg } | primary: { primary }
|
|
214
|
+
<pre style={ { margin: 0 } }>
|
|
215
|
+
bg: { bg } | primary: { primary } | density: { density }
|
|
215
216
|
</pre>
|
|
216
217
|
<span
|
|
217
218
|
style={ {
|
|
218
219
|
display: 'inline-block',
|
|
219
|
-
padding: '
|
|
220
|
+
padding: 'var(--wpds-dimension-padding-surface-xs)',
|
|
220
221
|
borderRadius: '0.25rem',
|
|
221
222
|
backgroundColor:
|
|
222
223
|
'var(--wpds-color-bg-interactive-brand-strong)',
|
|
@@ -229,7 +230,7 @@ const NestingDebug = ( { bg = '', primary = '' } ) => (
|
|
|
229
230
|
style={ {
|
|
230
231
|
display: 'inline-block',
|
|
231
232
|
marginInlineStart: '0.25rem',
|
|
232
|
-
padding: '
|
|
233
|
+
padding: 'var(--wpds-dimension-padding-surface-xs)',
|
|
233
234
|
borderRadius: '0.25rem',
|
|
234
235
|
backgroundColor:
|
|
235
236
|
'var(--wpds-color-bg-interactive-brand-weak-disabled)',
|
|
@@ -245,27 +246,39 @@ export const NestingAndInheriting: StoryObj< typeof ThemeProvider > = {
|
|
|
245
246
|
render: () => {
|
|
246
247
|
return (
|
|
247
248
|
<ThemeProvider>
|
|
248
|
-
<NestingDebug
|
|
249
|
+
<NestingDebug
|
|
250
|
+
bg="inherit (root)"
|
|
251
|
+
primary="inherit (root)"
|
|
252
|
+
density="inherit (root)"
|
|
253
|
+
/>
|
|
249
254
|
<div style={ { paddingInlineStart: '1rem' } }>
|
|
250
255
|
<ThemeProvider
|
|
251
256
|
color={ {
|
|
252
257
|
bg: '#1e1e1e',
|
|
253
258
|
} }
|
|
259
|
+
density="compact"
|
|
254
260
|
>
|
|
255
|
-
<NestingDebug
|
|
261
|
+
<NestingDebug
|
|
262
|
+
bg="#1e1e1e"
|
|
263
|
+
primary="inherit (root)"
|
|
264
|
+
density="compact"
|
|
265
|
+
/>
|
|
256
266
|
<div style={ { paddingInlineStart: '1rem' } }>
|
|
257
267
|
<ThemeProvider>
|
|
258
268
|
<NestingDebug
|
|
259
269
|
bg="inherit (#1e1e1e)"
|
|
260
270
|
primary="inherit (root)"
|
|
271
|
+
density="inherit (compact)"
|
|
261
272
|
/>
|
|
262
273
|
<div style={ { paddingInlineStart: '1rem' } }>
|
|
263
274
|
<ThemeProvider
|
|
264
275
|
color={ { primary: 'hotpink' } }
|
|
276
|
+
density="default"
|
|
265
277
|
>
|
|
266
278
|
<NestingDebug
|
|
267
279
|
bg="inherit (#1e1e1e)"
|
|
268
280
|
primary="hotpink"
|
|
281
|
+
density="default"
|
|
269
282
|
/>
|
|
270
283
|
<div
|
|
271
284
|
style={ {
|
|
@@ -278,6 +291,7 @@ export const NestingAndInheriting: StoryObj< typeof ThemeProvider > = {
|
|
|
278
291
|
<NestingDebug
|
|
279
292
|
bg="#f8f8f8"
|
|
280
293
|
primary="inherit (hotpink)"
|
|
294
|
+
density="inherit (default)"
|
|
281
295
|
/>
|
|
282
296
|
</ThemeProvider>
|
|
283
297
|
</div>
|
|
@@ -397,7 +411,7 @@ export const AcrossIframes: StoryObj< typeof ThemeProvider > = {
|
|
|
397
411
|
<span
|
|
398
412
|
style={ {
|
|
399
413
|
display: 'inline-block',
|
|
400
|
-
padding: '
|
|
414
|
+
padding: 'var(--wpds-dimension-padding-surface-xs)',
|
|
401
415
|
borderRadius: '0.25rem',
|
|
402
416
|
backgroundColor:
|
|
403
417
|
'var(--wpds-color-bg-interactive-brand-strong)',
|
package/src/theme-provider.tsx
CHANGED
|
@@ -49,6 +49,7 @@ export const ThemeProvider = ( {
|
|
|
49
49
|
children,
|
|
50
50
|
color = {},
|
|
51
51
|
isRoot = false,
|
|
52
|
+
density,
|
|
52
53
|
}: ThemeProviderProps ) => {
|
|
53
54
|
const instanceId = useId();
|
|
54
55
|
|
|
@@ -76,6 +77,7 @@ export const ThemeProvider = ( {
|
|
|
76
77
|
<div
|
|
77
78
|
data-wpds-theme-provider-id={ instanceId }
|
|
78
79
|
data-wpds-root-provider={ isRoot }
|
|
80
|
+
data-wpds-density={ density }
|
|
79
81
|
className={ styles.root }
|
|
80
82
|
>
|
|
81
83
|
<ThemeContext.Provider value={ contextValue }>
|
package/src/types.ts
CHANGED
|
@@ -23,6 +23,15 @@ export interface ThemeProviderSettings {
|
|
|
23
23
|
*/
|
|
24
24
|
bg?: string;
|
|
25
25
|
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The density of the theme. If left unspecified, the theme inherits from
|
|
29
|
+
* the density of the closest `ThemeProvider`, or uses the default density
|
|
30
|
+
* if there is no inherited density.
|
|
31
|
+
*
|
|
32
|
+
* @default undefined
|
|
33
|
+
*/
|
|
34
|
+
density?: undefined | 'default' | 'compact' | 'comfortable';
|
|
26
35
|
}
|
|
27
36
|
|
|
28
37
|
export interface ThemeProviderProps extends ThemeProviderSettings {
|
package/terrazzo.config.ts
CHANGED
|
@@ -40,6 +40,27 @@ export default defineConfig( {
|
|
|
40
40
|
makeCSSVar( `wpds.${ publicTokenId( token.id ) }` ),
|
|
41
41
|
baseSelector: ':root',
|
|
42
42
|
modeSelectors: [
|
|
43
|
+
{
|
|
44
|
+
tokens: [ 'dimension.*' ],
|
|
45
|
+
mode: '.',
|
|
46
|
+
selectors: [
|
|
47
|
+
"[data-wpds-theme-provider-id][data-wpds-density='default']",
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
tokens: [ 'dimension.*' ],
|
|
52
|
+
mode: 'compact',
|
|
53
|
+
selectors: [
|
|
54
|
+
"[data-wpds-theme-provider-id][data-wpds-density='compact']",
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
tokens: [ 'dimension.*' ],
|
|
59
|
+
mode: 'comfortable',
|
|
60
|
+
selectors: [
|
|
61
|
+
"[data-wpds-theme-provider-id][data-wpds-density='comfortable']",
|
|
62
|
+
],
|
|
63
|
+
},
|
|
43
64
|
{
|
|
44
65
|
mode: 'high-dpi',
|
|
45
66
|
selectors: [
|
package/tokens/dimension.json
CHANGED
|
@@ -52,21 +52,55 @@
|
|
|
52
52
|
},
|
|
53
53
|
"padding": {
|
|
54
54
|
"surface": {
|
|
55
|
-
"
|
|
56
|
-
"$value": "{dimension.primitive.space.
|
|
57
|
-
"$description": "
|
|
55
|
+
"2xs": {
|
|
56
|
+
"$value": "{dimension.primitive.space.10}",
|
|
57
|
+
"$description": "2x extra small spacing for surfaces",
|
|
58
|
+
"$extensions": {
|
|
59
|
+
"mode": {
|
|
60
|
+
"compact": "{dimension.primitive.space.10}",
|
|
61
|
+
"comfortable": "{dimension.primitive.space.20}"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
58
64
|
},
|
|
59
|
-
"
|
|
60
|
-
"$value": "{dimension.primitive.space.
|
|
61
|
-
"$description": "
|
|
65
|
+
"xs": {
|
|
66
|
+
"$value": "{dimension.primitive.space.20}",
|
|
67
|
+
"$description": "Extra small spacing for surfaces",
|
|
68
|
+
"$extensions": {
|
|
69
|
+
"mode": {
|
|
70
|
+
"compact": "{dimension.primitive.space.10}",
|
|
71
|
+
"comfortable": "{dimension.primitive.space.30}"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
62
74
|
},
|
|
63
|
-
"
|
|
75
|
+
"sm": {
|
|
64
76
|
"$value": "{dimension.primitive.space.40}",
|
|
65
|
-
"$description": "
|
|
77
|
+
"$description": "Small spacing for surfaces",
|
|
78
|
+
"$extensions": {
|
|
79
|
+
"mode": {
|
|
80
|
+
"compact": "{dimension.primitive.space.30}",
|
|
81
|
+
"comfortable": "{dimension.primitive.space.50}"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
66
84
|
},
|
|
67
|
-
"
|
|
85
|
+
"md": {
|
|
68
86
|
"$value": "{dimension.primitive.space.60}",
|
|
69
|
-
"$description": "
|
|
87
|
+
"$description": "Medium spacing for surfaces",
|
|
88
|
+
"$extensions": {
|
|
89
|
+
"mode": {
|
|
90
|
+
"compact": "{dimension.primitive.space.50}",
|
|
91
|
+
"comfortable": "{dimension.primitive.space.70}"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"lg": {
|
|
96
|
+
"$value": "{dimension.primitive.space.70}",
|
|
97
|
+
"$description": "Large spacing for surfaces",
|
|
98
|
+
"$extensions": {
|
|
99
|
+
"mode": {
|
|
100
|
+
"compact": "{dimension.primitive.space.60}",
|
|
101
|
+
"comfortable": "{dimension.primitive.space.80}"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
70
104
|
}
|
|
71
105
|
}
|
|
72
106
|
}
|