@atlaskit/tokens 11.0.2 → 11.1.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/CHANGELOG.md +7 -0
- package/dist/cjs/artifacts/palettes-raw/motion-palette.js +527 -0
- package/dist/cjs/artifacts/replacement-mapping.js +25 -1
- package/dist/cjs/artifacts/theme-import-map.js +7 -1
- package/dist/cjs/artifacts/themes/atlassian-motion.js +12 -0
- package/dist/cjs/artifacts/token-default-values.js +9 -1
- package/dist/cjs/artifacts/token-names.js +9 -1
- package/dist/cjs/artifacts/tokens-raw/atlassian-motion.js +254 -0
- package/dist/cjs/enable-global-theme.js +4 -0
- package/dist/cjs/get-theme-html-attrs.js +4 -0
- package/dist/cjs/get-theme-styles.js +2 -0
- package/dist/cjs/set-global-theme.js +7 -2
- package/dist/cjs/theme-config.js +15 -1
- package/dist/cjs/theme-state-transformer.js +1 -1
- package/dist/cjs/utils/get-theme-preferences.js +3 -2
- package/dist/es2019/artifacts/palettes-raw/motion-palette.js +521 -0
- package/dist/es2019/artifacts/replacement-mapping.js +25 -1
- package/dist/es2019/artifacts/theme-import-map.js +4 -2
- package/dist/es2019/artifacts/themes/atlassian-motion.js +113 -0
- package/dist/es2019/artifacts/token-default-values.js +9 -1
- package/dist/es2019/artifacts/token-names.js +9 -1
- package/dist/es2019/artifacts/tokens-raw/atlassian-motion.js +248 -0
- package/dist/es2019/enable-global-theme.js +3 -0
- package/dist/es2019/get-theme-html-attrs.js +3 -0
- package/dist/es2019/get-theme-styles.js +2 -0
- package/dist/es2019/set-global-theme.js +4 -0
- package/dist/es2019/theme-config.js +15 -1
- package/dist/es2019/theme-state-transformer.js +1 -1
- package/dist/es2019/utils/get-theme-preferences.js +3 -2
- package/dist/esm/artifacts/palettes-raw/motion-palette.js +521 -0
- package/dist/esm/artifacts/replacement-mapping.js +25 -1
- package/dist/esm/artifacts/theme-import-map.js +5 -1
- package/dist/esm/artifacts/themes/atlassian-motion.js +6 -0
- package/dist/esm/artifacts/token-default-values.js +9 -1
- package/dist/esm/artifacts/token-names.js +9 -1
- package/dist/esm/artifacts/tokens-raw/atlassian-motion.js +248 -0
- package/dist/esm/enable-global-theme.js +4 -0
- package/dist/esm/get-theme-html-attrs.js +4 -0
- package/dist/esm/get-theme-styles.js +2 -0
- package/dist/esm/set-global-theme.js +7 -2
- package/dist/esm/theme-config.js +15 -1
- package/dist/esm/theme-state-transformer.js +1 -1
- package/dist/esm/utils/get-theme-preferences.js +3 -2
- package/dist/types/artifacts/palettes-raw/motion-palette.d.ts +34 -0
- package/dist/types/artifacts/replacement-mapping.d.ts +1 -1
- package/dist/types/artifacts/theme-import-map.d.ts +1 -1
- package/dist/types/artifacts/themes/atlassian-motion.d.ts +7 -0
- package/dist/types/artifacts/token-default-values.d.ts +9 -1
- package/dist/types/artifacts/token-names.d.ts +17 -1
- package/dist/types/artifacts/tokens-raw/atlassian-motion.d.ts +41 -0
- package/dist/types/enable-global-theme.d.ts +2 -1
- package/dist/types/entry-points/css-type-schema.codegen.d.ts +2 -1
- package/dist/types/get-theme-html-attrs.d.ts +2 -1
- package/dist/types/get-theme-styles.d.ts +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/set-global-theme.d.ts +1 -0
- package/dist/types/theme-config.d.ts +10 -7
- package/dist/types/types.d.ts +30 -1
- package/dist/types-ts4.5/artifacts/palettes-raw/motion-palette.d.ts +34 -0
- package/dist/types-ts4.5/artifacts/replacement-mapping.d.ts +1 -1
- package/dist/types-ts4.5/artifacts/theme-import-map.d.ts +1 -1
- package/dist/types-ts4.5/artifacts/themes/atlassian-motion.d.ts +7 -0
- package/dist/types-ts4.5/artifacts/token-default-values.d.ts +9 -1
- package/dist/types-ts4.5/artifacts/token-names.d.ts +17 -1
- package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-motion.d.ts +41 -0
- package/dist/types-ts4.5/enable-global-theme.d.ts +2 -1
- package/dist/types-ts4.5/entry-points/css-type-schema.codegen.d.ts +2 -1
- package/dist/types-ts4.5/get-theme-html-attrs.d.ts +2 -1
- package/dist/types-ts4.5/get-theme-styles.d.ts +1 -0
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/dist/types-ts4.5/set-global-theme.d.ts +1 -0
- package/dist/types-ts4.5/theme-config.d.ts +11 -7
- package/dist/types-ts4.5/types.d.ts +30 -1
- package/figma/atlassian-motion.json +5 -0
- package/package.json +9 -6
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
-
* @codegen <<SignedSource::
|
|
3
|
+
* @codegen <<SignedSource::f76d5451a0ccdab4ce74bc3e952aec8c>>
|
|
4
4
|
* @codegenCommand yarn build tokens
|
|
5
5
|
*/
|
|
6
6
|
const tokens = {
|
|
7
|
+
'motion.content.enter.long': '--ds-content-enter-long',
|
|
8
|
+
'motion.content.enter.medium': '--ds-content-enter-medium',
|
|
9
|
+
'motion.content.enter.short': '--ds-content-enter-short',
|
|
10
|
+
'motion.content.exit.long': '--ds-content-exit-long',
|
|
11
|
+
'motion.content.exit.medium': '--ds-content-exit-medium',
|
|
12
|
+
'motion.content.exit.short': '--ds-content-exit-short',
|
|
13
|
+
'motion.dialog.enter': '--ds-dialog-enter',
|
|
14
|
+
'motion.dialog.exit': '--ds-dialog-exit',
|
|
7
15
|
'color.text': '--ds-text',
|
|
8
16
|
'color.text.accent.lime': '--ds-text-accent-lime',
|
|
9
17
|
'color.text.accent.lime.bolder': '--ds-text-accent-lime-bolder',
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
+
* @codegen <<SignedSource::2a5ddbfd4356a65a3955ab62d7341a46>>
|
|
4
|
+
* @codegenCommand yarn build tokens
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const tokens = [{
|
|
8
|
+
"attributes": {
|
|
9
|
+
"group": "motion",
|
|
10
|
+
"state": "experimental",
|
|
11
|
+
"introduced": "11.1.0",
|
|
12
|
+
"description": ""
|
|
13
|
+
},
|
|
14
|
+
"value": {
|
|
15
|
+
"duration": 400,
|
|
16
|
+
"curve": "cubic-bezier(0.66, 0, 0.34, 1)",
|
|
17
|
+
"keyframes": ["FadeIn"]
|
|
18
|
+
},
|
|
19
|
+
"filePath": "schema/themes/atlassian-motion/motion.tsx",
|
|
20
|
+
"isSource": true,
|
|
21
|
+
"original": {
|
|
22
|
+
"attributes": {
|
|
23
|
+
"group": "motion",
|
|
24
|
+
"state": "experimental",
|
|
25
|
+
"introduced": "11.1.0",
|
|
26
|
+
"description": ""
|
|
27
|
+
},
|
|
28
|
+
"value": {
|
|
29
|
+
"duration": "Duration400",
|
|
30
|
+
"curve": "CubicEaseInOut",
|
|
31
|
+
"keyframes": ["FadeIn"]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"name": "motion.content.enter.long",
|
|
35
|
+
"path": ["motion", "content", "enter", "long"],
|
|
36
|
+
"cleanName": "motion.content.enter.long"
|
|
37
|
+
}, {
|
|
38
|
+
"attributes": {
|
|
39
|
+
"group": "motion",
|
|
40
|
+
"state": "experimental",
|
|
41
|
+
"introduced": "11.1.0",
|
|
42
|
+
"description": ""
|
|
43
|
+
},
|
|
44
|
+
"value": {
|
|
45
|
+
"duration": 200,
|
|
46
|
+
"curve": "cubic-bezier(0.66, 0, 0.34, 1)",
|
|
47
|
+
"keyframes": ["FadeIn"]
|
|
48
|
+
},
|
|
49
|
+
"filePath": "schema/themes/atlassian-motion/motion.tsx",
|
|
50
|
+
"isSource": true,
|
|
51
|
+
"original": {
|
|
52
|
+
"attributes": {
|
|
53
|
+
"group": "motion",
|
|
54
|
+
"state": "experimental",
|
|
55
|
+
"introduced": "11.1.0",
|
|
56
|
+
"description": ""
|
|
57
|
+
},
|
|
58
|
+
"value": {
|
|
59
|
+
"duration": "Duration200",
|
|
60
|
+
"curve": "CubicEaseInOut",
|
|
61
|
+
"keyframes": ["FadeIn"]
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"name": "motion.content.enter.medium",
|
|
65
|
+
"path": ["motion", "content", "enter", "medium"],
|
|
66
|
+
"cleanName": "motion.content.enter.medium"
|
|
67
|
+
}, {
|
|
68
|
+
"attributes": {
|
|
69
|
+
"group": "motion",
|
|
70
|
+
"state": "experimental",
|
|
71
|
+
"introduced": "11.1.0",
|
|
72
|
+
"description": ""
|
|
73
|
+
},
|
|
74
|
+
"value": {
|
|
75
|
+
"duration": 100,
|
|
76
|
+
"curve": "cubic-bezier(0.66, 0, 0.34, 1)",
|
|
77
|
+
"keyframes": ["FadeIn"]
|
|
78
|
+
},
|
|
79
|
+
"filePath": "schema/themes/atlassian-motion/motion.tsx",
|
|
80
|
+
"isSource": true,
|
|
81
|
+
"original": {
|
|
82
|
+
"attributes": {
|
|
83
|
+
"group": "motion",
|
|
84
|
+
"state": "experimental",
|
|
85
|
+
"introduced": "11.1.0",
|
|
86
|
+
"description": ""
|
|
87
|
+
},
|
|
88
|
+
"value": {
|
|
89
|
+
"duration": "Duration100",
|
|
90
|
+
"curve": "CubicEaseInOut",
|
|
91
|
+
"keyframes": ["FadeIn"]
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"name": "motion.content.enter.short",
|
|
95
|
+
"path": ["motion", "content", "enter", "short"],
|
|
96
|
+
"cleanName": "motion.content.enter.short"
|
|
97
|
+
}, {
|
|
98
|
+
"attributes": {
|
|
99
|
+
"group": "motion",
|
|
100
|
+
"state": "experimental",
|
|
101
|
+
"introduced": "11.1.0",
|
|
102
|
+
"description": ""
|
|
103
|
+
},
|
|
104
|
+
"value": {
|
|
105
|
+
"duration": 200,
|
|
106
|
+
"curve": "cubic-bezier(0.66, 0, 0.34, 1)",
|
|
107
|
+
"keyframes": ["FadeOut"]
|
|
108
|
+
},
|
|
109
|
+
"filePath": "schema/themes/atlassian-motion/motion.tsx",
|
|
110
|
+
"isSource": true,
|
|
111
|
+
"original": {
|
|
112
|
+
"attributes": {
|
|
113
|
+
"group": "motion",
|
|
114
|
+
"state": "experimental",
|
|
115
|
+
"introduced": "11.1.0",
|
|
116
|
+
"description": ""
|
|
117
|
+
},
|
|
118
|
+
"value": {
|
|
119
|
+
"duration": "Duration200",
|
|
120
|
+
"curve": "CubicEaseInOut",
|
|
121
|
+
"keyframes": ["FadeOut"]
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"name": "motion.content.exit.long",
|
|
125
|
+
"path": ["motion", "content", "exit", "long"],
|
|
126
|
+
"cleanName": "motion.content.exit.long"
|
|
127
|
+
}, {
|
|
128
|
+
"attributes": {
|
|
129
|
+
"group": "motion",
|
|
130
|
+
"state": "experimental",
|
|
131
|
+
"introduced": "11.1.0",
|
|
132
|
+
"description": ""
|
|
133
|
+
},
|
|
134
|
+
"value": {
|
|
135
|
+
"duration": 100,
|
|
136
|
+
"curve": "cubic-bezier(0.66, 0, 0.34, 1)",
|
|
137
|
+
"keyframes": ["FadeOut"]
|
|
138
|
+
},
|
|
139
|
+
"filePath": "schema/themes/atlassian-motion/motion.tsx",
|
|
140
|
+
"isSource": true,
|
|
141
|
+
"original": {
|
|
142
|
+
"attributes": {
|
|
143
|
+
"group": "motion",
|
|
144
|
+
"state": "experimental",
|
|
145
|
+
"introduced": "11.1.0",
|
|
146
|
+
"description": ""
|
|
147
|
+
},
|
|
148
|
+
"value": {
|
|
149
|
+
"duration": "Duration100",
|
|
150
|
+
"curve": "CubicEaseInOut",
|
|
151
|
+
"keyframes": ["FadeOut"]
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"name": "motion.content.exit.medium",
|
|
155
|
+
"path": ["motion", "content", "exit", "medium"],
|
|
156
|
+
"cleanName": "motion.content.exit.medium"
|
|
157
|
+
}, {
|
|
158
|
+
"attributes": {
|
|
159
|
+
"group": "motion",
|
|
160
|
+
"state": "experimental",
|
|
161
|
+
"introduced": "11.1.0",
|
|
162
|
+
"description": ""
|
|
163
|
+
},
|
|
164
|
+
"value": {
|
|
165
|
+
"duration": 50,
|
|
166
|
+
"curve": "cubic-bezier(0.66, 0, 0.34, 1)",
|
|
167
|
+
"keyframes": ["FadeOut"]
|
|
168
|
+
},
|
|
169
|
+
"filePath": "schema/themes/atlassian-motion/motion.tsx",
|
|
170
|
+
"isSource": true,
|
|
171
|
+
"original": {
|
|
172
|
+
"attributes": {
|
|
173
|
+
"group": "motion",
|
|
174
|
+
"state": "experimental",
|
|
175
|
+
"introduced": "11.1.0",
|
|
176
|
+
"description": ""
|
|
177
|
+
},
|
|
178
|
+
"value": {
|
|
179
|
+
"duration": "Duration050",
|
|
180
|
+
"curve": "CubicEaseInOut",
|
|
181
|
+
"keyframes": ["FadeOut"]
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"name": "motion.content.exit.short",
|
|
185
|
+
"path": ["motion", "content", "exit", "short"],
|
|
186
|
+
"cleanName": "motion.content.exit.short"
|
|
187
|
+
}, {
|
|
188
|
+
"attributes": {
|
|
189
|
+
"group": "motion",
|
|
190
|
+
"state": "experimental",
|
|
191
|
+
"introduced": "11.1.0",
|
|
192
|
+
"description": ""
|
|
193
|
+
},
|
|
194
|
+
"value": {
|
|
195
|
+
"duration": 350,
|
|
196
|
+
"curve": "cubic-bezier(0.66, 0, 0.34, 1)",
|
|
197
|
+
"keyframes": ["ScaleIn80", "FadeIn"]
|
|
198
|
+
},
|
|
199
|
+
"filePath": "schema/themes/atlassian-motion/motion.tsx",
|
|
200
|
+
"isSource": true,
|
|
201
|
+
"original": {
|
|
202
|
+
"attributes": {
|
|
203
|
+
"group": "motion",
|
|
204
|
+
"state": "experimental",
|
|
205
|
+
"introduced": "11.1.0",
|
|
206
|
+
"description": ""
|
|
207
|
+
},
|
|
208
|
+
"value": {
|
|
209
|
+
"duration": "Duration350",
|
|
210
|
+
"curve": "CubicEaseInOut",
|
|
211
|
+
"keyframes": ["ScaleIn80", "FadeIn"]
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"name": "motion.dialog.enter",
|
|
215
|
+
"path": ["motion", "dialog", "enter"],
|
|
216
|
+
"cleanName": "motion.dialog.enter"
|
|
217
|
+
}, {
|
|
218
|
+
"attributes": {
|
|
219
|
+
"group": "motion",
|
|
220
|
+
"state": "experimental",
|
|
221
|
+
"introduced": "11.1.0",
|
|
222
|
+
"description": ""
|
|
223
|
+
},
|
|
224
|
+
"value": {
|
|
225
|
+
"duration": 350,
|
|
226
|
+
"curve": "cubic-bezier(0.66, 0, 0.34, 1)",
|
|
227
|
+
"keyframes": ["ScaleOut80", "FadeOut"]
|
|
228
|
+
},
|
|
229
|
+
"filePath": "schema/themes/atlassian-motion/motion.tsx",
|
|
230
|
+
"isSource": true,
|
|
231
|
+
"original": {
|
|
232
|
+
"attributes": {
|
|
233
|
+
"group": "motion",
|
|
234
|
+
"state": "experimental",
|
|
235
|
+
"introduced": "11.1.0",
|
|
236
|
+
"description": ""
|
|
237
|
+
},
|
|
238
|
+
"value": {
|
|
239
|
+
"duration": "Duration350",
|
|
240
|
+
"curve": "CubicEaseInOut",
|
|
241
|
+
"keyframes": ["ScaleOut80", "FadeOut"]
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"name": "motion.dialog.exit",
|
|
245
|
+
"path": ["motion", "dialog", "exit"],
|
|
246
|
+
"cleanName": "motion.dialog.exit"
|
|
247
|
+
}];
|
|
248
|
+
export default tokens;
|
|
@@ -10,6 +10,7 @@ import { getThemePreferences } from './utils/get-theme-preferences';
|
|
|
10
10
|
* @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.
|
|
11
11
|
* @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.
|
|
12
12
|
* @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.
|
|
13
|
+
* @param {string} themeState.motion The motion theme to be applied.
|
|
13
14
|
* @param {string} themeState.shape The shape theme to be applied.
|
|
14
15
|
* @param {string} themeState.spacing The spacing theme to be applied.
|
|
15
16
|
* @param {string} themeState.typography The typography theme to be applied.
|
|
@@ -28,6 +29,7 @@ const enableGlobalTheme = ({
|
|
|
28
29
|
contrastMode = themeStateDefaults['contrastMode'],
|
|
29
30
|
dark = themeStateDefaults['dark'],
|
|
30
31
|
light = themeStateDefaults['light'],
|
|
32
|
+
motion = themeStateDefaults['motion'](),
|
|
31
33
|
shape = themeStateDefaults['shape'](),
|
|
32
34
|
spacing = themeStateDefaults['spacing'],
|
|
33
35
|
typography = themeStateDefaults['typography'],
|
|
@@ -38,6 +40,7 @@ const enableGlobalTheme = ({
|
|
|
38
40
|
contrastMode,
|
|
39
41
|
dark,
|
|
40
42
|
light,
|
|
43
|
+
motion,
|
|
41
44
|
shape,
|
|
42
45
|
spacing,
|
|
43
46
|
typography,
|
|
@@ -15,6 +15,7 @@ const defaultContrastMode = 'no-preference';
|
|
|
15
15
|
* @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.
|
|
16
16
|
* @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.
|
|
17
17
|
* @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.
|
|
18
|
+
* @param {string} themeState.motion The motion theme to be applied.
|
|
18
19
|
* @param {string} themeState.spacing The spacing theme to be applied.
|
|
19
20
|
* @param {string} themeState.typography The typography theme to be applied.
|
|
20
21
|
* @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation
|
|
@@ -26,6 +27,7 @@ const getThemeHtmlAttrs = ({
|
|
|
26
27
|
dark = themeStateDefaults['dark'],
|
|
27
28
|
light = themeStateDefaults['light'],
|
|
28
29
|
contrastMode = themeStateDefaults['contrastMode'],
|
|
30
|
+
motion = themeStateDefaults['motion'](),
|
|
29
31
|
shape = themeStateDefaults['shape'](),
|
|
30
32
|
spacing = themeStateDefaults['spacing'],
|
|
31
33
|
typography = themeStateDefaults['typography'],
|
|
@@ -34,6 +36,7 @@ const getThemeHtmlAttrs = ({
|
|
|
34
36
|
const themeAttribute = themeObjectToString({
|
|
35
37
|
dark,
|
|
36
38
|
light,
|
|
39
|
+
motion,
|
|
37
40
|
shape,
|
|
38
41
|
spacing,
|
|
39
42
|
typography
|
|
@@ -11,6 +11,7 @@ import { loadThemeCss } from './utils/theme-loading';
|
|
|
11
11
|
* @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.
|
|
12
12
|
* @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.
|
|
13
13
|
* @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.
|
|
14
|
+
* @param {string} themeState.motion The motion theme to be applied.
|
|
14
15
|
* @param {string} themeState.shape The shape theme to be applied.
|
|
15
16
|
* @param {string} themeState.spacing The spacing theme to be applied.
|
|
16
17
|
* @param {string} themeState.typography The typography theme to be applied.
|
|
@@ -35,6 +36,7 @@ const getThemeStyles = async preferences => {
|
|
|
35
36
|
contrastMode: (preferences === null || preferences === void 0 ? void 0 : preferences.contrastMode) || themeStateDefaults['contrastMode'],
|
|
36
37
|
dark: (preferences === null || preferences === void 0 ? void 0 : preferences.dark) || themeStateDefaults['dark'],
|
|
37
38
|
light: (preferences === null || preferences === void 0 ? void 0 : preferences.light) || themeStateDefaults['light'],
|
|
39
|
+
motion: (preferences === null || preferences === void 0 ? void 0 : preferences.motion) || themeStateDefaults['motion'](),
|
|
38
40
|
shape: (preferences === null || preferences === void 0 ? void 0 : preferences.shape) || themeStateDefaults['shape'](),
|
|
39
41
|
spacing: (preferences === null || preferences === void 0 ? void 0 : preferences.spacing) || themeStateDefaults['spacing'],
|
|
40
42
|
typography: (preferences === null || preferences === void 0 ? void 0 : preferences.typography) || themeStateDefaults['typography']
|
|
@@ -15,6 +15,7 @@ import { loadAndAppendThemeCss } from './utils/theme-loading';
|
|
|
15
15
|
* @param {string} themeState.contrastMode The contrast mode theme to be applied. If set to `auto`, the theme applied will be determined by the OS setting.set to `auto`, the theme applied will be determined by the OS setting.
|
|
16
16
|
* @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.
|
|
17
17
|
* @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.
|
|
18
|
+
* @param {string} themeState.motion The motion theme to be applied.
|
|
18
19
|
* @param {string} themeState.shape The shape theme to be applied.
|
|
19
20
|
* @param {string} themeState.spacing The spacing theme to be applied.
|
|
20
21
|
* @param {string} themeState.typography The typography theme to be applied.
|
|
@@ -37,11 +38,13 @@ const setGlobalTheme = async (nextThemeState = {}, themeLoader) => {
|
|
|
37
38
|
shape = themeStateDefaults['shape'](),
|
|
38
39
|
spacing = themeStateDefaults['spacing'],
|
|
39
40
|
typography = themeStateDefaults['typography'],
|
|
41
|
+
motion = themeStateDefaults['motion'](),
|
|
40
42
|
UNSAFE_themeOptions = themeStateDefaults['UNSAFE_themeOptions']
|
|
41
43
|
} = typeof nextThemeState === 'function' ? nextThemeState({
|
|
42
44
|
...themeStateDefaults,
|
|
43
45
|
typography: themeStateDefaults['typography'],
|
|
44
46
|
shape: themeStateDefaults['shape'](),
|
|
47
|
+
motion: themeStateDefaults['motion'](),
|
|
45
48
|
...getGlobalTheme()
|
|
46
49
|
}) : nextThemeState;
|
|
47
50
|
|
|
@@ -63,6 +66,7 @@ const setGlobalTheme = async (nextThemeState = {}, themeLoader) => {
|
|
|
63
66
|
shape,
|
|
64
67
|
spacing,
|
|
65
68
|
typography,
|
|
69
|
+
motion,
|
|
66
70
|
UNSAFE_themeOptions: themeLoader ? undefined : UNSAFE_themeOptions
|
|
67
71
|
};
|
|
68
72
|
|
|
@@ -40,7 +40,7 @@ const themeContrastModes = ['more', 'no-preference', 'auto'];
|
|
|
40
40
|
*
|
|
41
41
|
* These ids must be kebab case
|
|
42
42
|
*/
|
|
43
|
-
export const themeIds = ['light-increased-contrast', 'light', 'light-future', 'dark', 'dark-future', 'dark-increased-contrast', 'spacing', 'shape', 'typography'];
|
|
43
|
+
export const themeIds = ['light-increased-contrast', 'light', 'light-future', 'dark', 'dark-future', 'dark-increased-contrast', 'spacing', 'shape', 'typography', 'motion'];
|
|
44
44
|
/**
|
|
45
45
|
* Theme override ids: the equivalent of themeIds for theme overrides.
|
|
46
46
|
* Theme overrides are temporary and there may not be any defined at times.
|
|
@@ -149,6 +149,14 @@ const themeConfig = {
|
|
|
149
149
|
attributes: {
|
|
150
150
|
type: 'shape'
|
|
151
151
|
}
|
|
152
|
+
},
|
|
153
|
+
'atlassian-motion': {
|
|
154
|
+
id: 'motion',
|
|
155
|
+
displayName: 'Motion',
|
|
156
|
+
palette: 'motionPalette',
|
|
157
|
+
attributes: {
|
|
158
|
+
type: 'motion'
|
|
159
|
+
}
|
|
152
160
|
}
|
|
153
161
|
};
|
|
154
162
|
|
|
@@ -181,6 +189,12 @@ export const themeStateDefaults = {
|
|
|
181
189
|
},
|
|
182
190
|
spacing: 'spacing',
|
|
183
191
|
typography: 'typography',
|
|
192
|
+
motion: () => {
|
|
193
|
+
if (fg('platform-dst-motion-theme-default')) {
|
|
194
|
+
return 'motion';
|
|
195
|
+
}
|
|
196
|
+
return undefined;
|
|
197
|
+
},
|
|
184
198
|
UNSAFE_themeOptions: undefined
|
|
185
199
|
};
|
|
186
200
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { themeIds } from './theme-config';
|
|
2
|
-
const themeKinds = ['light', 'dark', 'spacing', 'typography', 'shape'];
|
|
2
|
+
const themeKinds = ['light', 'dark', 'spacing', 'typography', 'shape', 'motion'];
|
|
3
3
|
const customThemeOptions = 'UNSAFE_themeOptions';
|
|
4
4
|
const isThemeKind = themeKind => {
|
|
5
5
|
return themeKinds.find(kind => kind === themeKind) !== undefined;
|
|
@@ -8,7 +8,8 @@ export const getThemePreferences = themeState => {
|
|
|
8
8
|
light,
|
|
9
9
|
shape,
|
|
10
10
|
spacing,
|
|
11
|
-
typography
|
|
11
|
+
typography,
|
|
12
|
+
motion
|
|
12
13
|
} = themeState;
|
|
13
14
|
const autoColorModeThemes = [light, dark];
|
|
14
15
|
const themePreferences = [];
|
|
@@ -31,7 +32,7 @@ export const getThemePreferences = themeState => {
|
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
|
-
[shape, spacing, typography].forEach(themeId => {
|
|
35
|
+
[shape, spacing, typography, motion].forEach(themeId => {
|
|
35
36
|
if (themeId) {
|
|
36
37
|
themePreferences.push(themeId);
|
|
37
38
|
}
|