@spectrum-web-components/story-decorator 0.5.3 → 0.5.4-express.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/custom-elements.json +40 -1
- package/package.json +6 -6
- package/src/StoryDecorator.d.ts +7 -3
- package/src/StoryDecorator.js +111 -76
- package/src/StoryDecorator.js.map +1 -1
- package/src/types.d.ts +2 -1
- package/src/types.js.map +1 -1
package/custom-elements.json
CHANGED
|
@@ -79,6 +79,13 @@
|
|
|
79
79
|
"text": "'ltr' | 'rtl'"
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
|
+
{
|
|
83
|
+
"kind": "variable",
|
|
84
|
+
"name": "theme",
|
|
85
|
+
"type": {
|
|
86
|
+
"text": "ThemeVariant"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
82
89
|
{
|
|
83
90
|
"kind": "variable",
|
|
84
91
|
"name": "color",
|
|
@@ -102,6 +109,15 @@
|
|
|
102
109
|
"description": "",
|
|
103
110
|
"name": "StoryDecorator",
|
|
104
111
|
"members": [
|
|
112
|
+
{
|
|
113
|
+
"kind": "field",
|
|
114
|
+
"name": "theme",
|
|
115
|
+
"type": {
|
|
116
|
+
"text": "ThemeVariant"
|
|
117
|
+
},
|
|
118
|
+
"privacy": "public",
|
|
119
|
+
"attribute": "theme"
|
|
120
|
+
},
|
|
105
121
|
{
|
|
106
122
|
"kind": "field",
|
|
107
123
|
"name": "color",
|
|
@@ -150,7 +166,7 @@
|
|
|
150
166
|
},
|
|
151
167
|
{
|
|
152
168
|
"kind": "field",
|
|
153
|
-
"name": "
|
|
169
|
+
"name": "themeRoot",
|
|
154
170
|
"type": {
|
|
155
171
|
"text": "Theme"
|
|
156
172
|
},
|
|
@@ -263,6 +279,14 @@
|
|
|
263
279
|
},
|
|
264
280
|
"privacy": "private"
|
|
265
281
|
},
|
|
282
|
+
{
|
|
283
|
+
"kind": "field",
|
|
284
|
+
"name": "themeControl",
|
|
285
|
+
"type": {
|
|
286
|
+
"text": "TemplateResult"
|
|
287
|
+
},
|
|
288
|
+
"privacy": "private"
|
|
289
|
+
},
|
|
266
290
|
{
|
|
267
291
|
"kind": "field",
|
|
268
292
|
"name": "colorControl",
|
|
@@ -297,6 +321,13 @@
|
|
|
297
321
|
}
|
|
298
322
|
],
|
|
299
323
|
"attributes": [
|
|
324
|
+
{
|
|
325
|
+
"name": "theme",
|
|
326
|
+
"type": {
|
|
327
|
+
"text": "ThemeVariant"
|
|
328
|
+
},
|
|
329
|
+
"fieldName": "theme"
|
|
330
|
+
},
|
|
300
331
|
{
|
|
301
332
|
"name": "color",
|
|
302
333
|
"type": {
|
|
@@ -348,6 +379,14 @@
|
|
|
348
379
|
"module": "src/StoryDecorator.ts"
|
|
349
380
|
}
|
|
350
381
|
},
|
|
382
|
+
{
|
|
383
|
+
"kind": "js",
|
|
384
|
+
"name": "theme",
|
|
385
|
+
"declaration": {
|
|
386
|
+
"name": "theme",
|
|
387
|
+
"module": "src/StoryDecorator.ts"
|
|
388
|
+
}
|
|
389
|
+
},
|
|
351
390
|
{
|
|
352
391
|
"kind": "js",
|
|
353
392
|
"name": "color",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spectrum-web-components/story-decorator",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4-express.0+7a2be85d7",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -47,11 +47,11 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@spectrum-web-components/base": "^0.5.3",
|
|
49
49
|
"@spectrum-web-components/field-label": "^0.7.5",
|
|
50
|
-
"@spectrum-web-components/menu": "^0.12.
|
|
51
|
-
"@spectrum-web-components/overlay": "^0.15.0",
|
|
52
|
-
"@spectrum-web-components/picker": "^0.10.
|
|
50
|
+
"@spectrum-web-components/menu": "^0.12.3-express.0+7a2be85d7",
|
|
51
|
+
"@spectrum-web-components/overlay": "^0.15.1-express.0+7a2be85d7",
|
|
52
|
+
"@spectrum-web-components/picker": "^0.10.4-express.0+7a2be85d7",
|
|
53
53
|
"@spectrum-web-components/switch": "^0.9.5",
|
|
54
|
-
"@spectrum-web-components/theme": "^0.10.0",
|
|
54
|
+
"@spectrum-web-components/theme": "^0.10.1-express.0+7a2be85d7",
|
|
55
55
|
"tslib": "^2.0.0"
|
|
56
56
|
},
|
|
57
57
|
"types": "./src/index.d.ts",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"./sp-*.js",
|
|
61
61
|
"./sp-*.ts"
|
|
62
62
|
],
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "7a2be85d7e231dcf4141a86b7056f6c139a43851"
|
|
64
64
|
}
|
package/src/StoryDecorator.d.ts
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import { SpectrumElement, TemplateResult } from '@spectrum-web-components/base';
|
|
2
2
|
import '@spectrum-web-components/theme/sp-theme.js';
|
|
3
3
|
import '@spectrum-web-components/theme/src/themes.js';
|
|
4
|
+
import '@spectrum-web-components/theme/src/express/themes.js';
|
|
4
5
|
import '@spectrum-web-components/field-label/sp-field-label.js';
|
|
5
6
|
import '@spectrum-web-components/picker/sp-picker.js';
|
|
6
7
|
import '@spectrum-web-components/menu/sp-menu.js';
|
|
7
8
|
import '@spectrum-web-components/menu/sp-menu-item.js';
|
|
8
9
|
import '@spectrum-web-components/switch/sp-switch.js';
|
|
9
|
-
import { Color, Scale } from '@spectrum-web-components/theme';
|
|
10
|
+
import { Color, Scale, ThemeVariant } from '@spectrum-web-components/theme';
|
|
10
11
|
import './types.js';
|
|
11
12
|
export declare let dir: 'ltr' | 'rtl';
|
|
13
|
+
export declare let theme: ThemeVariant;
|
|
12
14
|
export declare let color: Color;
|
|
13
15
|
export declare let scale: Scale;
|
|
14
16
|
export declare let reduceMotion: boolean;
|
|
15
17
|
export declare class StoryDecorator extends SpectrumElement {
|
|
16
|
-
static styles: import("@spectrum-web-components/base").CSSResult[];
|
|
18
|
+
static get styles(): import("@spectrum-web-components/base").CSSResult[];
|
|
19
|
+
theme: ThemeVariant;
|
|
17
20
|
color: Color;
|
|
18
21
|
scale: Scale;
|
|
19
22
|
direction: 'ltr' | 'rtl';
|
|
20
23
|
reduceMotion: boolean;
|
|
21
24
|
screenshot: boolean;
|
|
22
|
-
private
|
|
25
|
+
private themeRoot;
|
|
23
26
|
ready: boolean;
|
|
24
27
|
startManagingContentDirection(el: HTMLElement): Promise<void>;
|
|
25
28
|
stopManagingContentDirection(el: HTMLElement): Promise<void>;
|
|
@@ -30,6 +33,7 @@ export declare class StoryDecorator extends SpectrumElement {
|
|
|
30
33
|
target: HTMLSlotElement;
|
|
31
34
|
}): Promise<void>;
|
|
32
35
|
private get manageTheme();
|
|
36
|
+
private get themeControl();
|
|
33
37
|
private get colorControl();
|
|
34
38
|
private get scaleControl();
|
|
35
39
|
private get dirControl();
|
package/src/StoryDecorator.js
CHANGED
|
@@ -15,6 +15,7 @@ import { property, queryAsync, } from '@spectrum-web-components/base/src/decorat
|
|
|
15
15
|
import { ifDefined } from '@spectrum-web-components/base/src/directives.js';
|
|
16
16
|
import '@spectrum-web-components/theme/sp-theme.js';
|
|
17
17
|
import '@spectrum-web-components/theme/src/themes.js';
|
|
18
|
+
import '@spectrum-web-components/theme/src/express/themes.js';
|
|
18
19
|
import '@spectrum-web-components/field-label/sp-field-label.js';
|
|
19
20
|
import '@spectrum-web-components/picker/sp-picker.js';
|
|
20
21
|
import '@spectrum-web-components/menu/sp-menu.js';
|
|
@@ -25,10 +26,12 @@ import './types.js';
|
|
|
25
26
|
const queryString = window.location.search;
|
|
26
27
|
const urlParams = new URLSearchParams(queryString);
|
|
27
28
|
export let dir = urlParams.get('sp_dir') || 'ltr';
|
|
29
|
+
export let theme = urlParams.get('sp_theme') || 'spectrum';
|
|
28
30
|
export let color = urlParams.get('sp_color') || 'light';
|
|
29
31
|
export let scale = urlParams.get('sp_scale') || 'medium';
|
|
30
32
|
export let reduceMotion = urlParams.get('sp_reduceMotion') === 'true';
|
|
31
33
|
window.__swc_hack_knobs__ = window.__swc_hack_knobs__ || {
|
|
34
|
+
defaultThemeVariant: theme,
|
|
32
35
|
defaultColor: color,
|
|
33
36
|
defaultScale: scale,
|
|
34
37
|
defaultDirection: dir,
|
|
@@ -51,7 +54,7 @@ const reduceMotionProperties = css `
|
|
|
51
54
|
--swc-test-duration: 1ms;
|
|
52
55
|
`;
|
|
53
56
|
ActiveOverlay.prototype.renderTheme = function (content) {
|
|
54
|
-
const { color, scale, lang } = this.theme;
|
|
57
|
+
const { color, scale, theme, lang } = this.theme;
|
|
55
58
|
return html `
|
|
56
59
|
${window.__swc_hack_knobs__.defaultReduceMotion
|
|
57
60
|
? html `
|
|
@@ -63,6 +66,7 @@ ActiveOverlay.prototype.renderTheme = function (content) {
|
|
|
63
66
|
`
|
|
64
67
|
: html ``}
|
|
65
68
|
<sp-theme
|
|
69
|
+
theme=${ifDefined(theme)}
|
|
66
70
|
color=${ifDefined(color)}
|
|
67
71
|
scale=${ifDefined(scale)}
|
|
68
72
|
lang=${ifDefined(lang)}
|
|
@@ -75,6 +79,7 @@ ActiveOverlay.prototype.renderTheme = function (content) {
|
|
|
75
79
|
export class StoryDecorator extends SpectrumElement {
|
|
76
80
|
constructor() {
|
|
77
81
|
super(...arguments);
|
|
82
|
+
this.theme = window.__swc_hack_knobs__.defaultThemeVariant;
|
|
78
83
|
this.color = window.__swc_hack_knobs__.defaultColor;
|
|
79
84
|
this.scale = window.__swc_hack_knobs__.defaultScale;
|
|
80
85
|
this.direction = window.__swc_hack_knobs__.defaultDirection;
|
|
@@ -82,17 +87,98 @@ export class StoryDecorator extends SpectrumElement {
|
|
|
82
87
|
this.screenshot = false;
|
|
83
88
|
this.ready = false;
|
|
84
89
|
}
|
|
90
|
+
static get styles() {
|
|
91
|
+
return [
|
|
92
|
+
css `
|
|
93
|
+
:host(:focus) {
|
|
94
|
+
outline: none;
|
|
95
|
+
}
|
|
96
|
+
sp-theme {
|
|
97
|
+
overflow-x: hidden;
|
|
98
|
+
display: block;
|
|
99
|
+
box-sizing: border-box;
|
|
100
|
+
width: 100%;
|
|
101
|
+
min-height: 100vh;
|
|
102
|
+
padding: var(--spectrum-global-dimension-size-100)
|
|
103
|
+
var(--spectrum-global-dimension-size-100)
|
|
104
|
+
calc(
|
|
105
|
+
2 * var(--spectrum-alias-focus-ring-size) +
|
|
106
|
+
var(--spectrum-alias-item-height-m)
|
|
107
|
+
);
|
|
108
|
+
box-sizing: border-box;
|
|
109
|
+
background-color: var(--spectrum-global-color-gray-100);
|
|
110
|
+
color: var(
|
|
111
|
+
--spectrum-body-text-color,
|
|
112
|
+
var(--spectrum-alias-text-color)
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
:host([screenshot]) sp-theme {
|
|
116
|
+
padding: var(--spectrum-global-dimension-size-100);
|
|
117
|
+
--swc-test-caret-color: transparent;
|
|
118
|
+
}
|
|
119
|
+
:host([reduce-motion]) sp-theme {
|
|
120
|
+
${reduceMotionProperties}
|
|
121
|
+
}
|
|
122
|
+
.manage-theme {
|
|
123
|
+
position: fixed;
|
|
124
|
+
bottom: 0;
|
|
125
|
+
left: var(--spectrum-global-dimension-size-200);
|
|
126
|
+
right: var(--spectrum-global-dimension-size-200);
|
|
127
|
+
display: flex;
|
|
128
|
+
align-items: center;
|
|
129
|
+
justify-content: flex-end;
|
|
130
|
+
box-sizing: border-box;
|
|
131
|
+
background-color: var(--spectrum-global-color-gray-100);
|
|
132
|
+
padding-bottom: calc(
|
|
133
|
+
2 * var(--spectrum-alias-focus-ring-size)
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
[dir='ltr'] sp-field-label {
|
|
137
|
+
padding-left: 0;
|
|
138
|
+
padding-right: var(
|
|
139
|
+
--spectrum-fieldlabel-side-padding-x,
|
|
140
|
+
var(--spectrum-global-dimension-size-100)
|
|
141
|
+
);
|
|
142
|
+
margin-left: var(--spectrum-global-dimension-size-400);
|
|
143
|
+
}
|
|
144
|
+
[dir='ltr'] sp-switch {
|
|
145
|
+
margin-left: var(--spectrum-global-dimension-size-400);
|
|
146
|
+
margin-right: 0;
|
|
147
|
+
padding: 0;
|
|
148
|
+
}
|
|
149
|
+
[dir='rtl'] sp-field-label {
|
|
150
|
+
padding-right: 0;
|
|
151
|
+
padding-left: var(
|
|
152
|
+
--spectrum-fieldlabel-side-padding-x,
|
|
153
|
+
var(--spectrum-global-dimension-size-100)
|
|
154
|
+
);
|
|
155
|
+
margin-right: var(--spectrum-global-dimension-size-400);
|
|
156
|
+
}
|
|
157
|
+
[dir='rtl'] sp-switch {
|
|
158
|
+
margin-right: var(--spectrum-global-dimension-size-400);
|
|
159
|
+
margin-left: 0;
|
|
160
|
+
padding: 0;
|
|
161
|
+
}
|
|
162
|
+
`,
|
|
163
|
+
];
|
|
164
|
+
}
|
|
85
165
|
async startManagingContentDirection(el) {
|
|
86
|
-
(await this.
|
|
166
|
+
(await this.themeRoot).startManagingContentDirection(el);
|
|
87
167
|
}
|
|
88
168
|
async stopManagingContentDirection(el) {
|
|
89
|
-
(await this.
|
|
169
|
+
(await this.themeRoot).stopManagingContentDirection(el);
|
|
90
170
|
}
|
|
91
171
|
updateTheme({ target }) {
|
|
92
172
|
const { id } = target;
|
|
93
173
|
const { value } = target;
|
|
94
174
|
const { checked } = target;
|
|
95
175
|
switch (id) {
|
|
176
|
+
case 'theme':
|
|
177
|
+
this.theme =
|
|
178
|
+
theme =
|
|
179
|
+
window.__swc_hack_knobs__.defaultThemeVariant =
|
|
180
|
+
value;
|
|
181
|
+
break;
|
|
96
182
|
case 'color':
|
|
97
183
|
this.color =
|
|
98
184
|
color =
|
|
@@ -130,6 +216,7 @@ export class StoryDecorator extends SpectrumElement {
|
|
|
130
216
|
render() {
|
|
131
217
|
return html `
|
|
132
218
|
<sp-theme
|
|
219
|
+
theme=${this.theme}
|
|
133
220
|
color=${this.color}
|
|
134
221
|
scale=${this.scale}
|
|
135
222
|
dir=${this.direction}
|
|
@@ -160,11 +247,26 @@ export class StoryDecorator extends SpectrumElement {
|
|
|
160
247
|
get manageTheme() {
|
|
161
248
|
return html `
|
|
162
249
|
<div class="manage-theme" part="controls">
|
|
163
|
-
${this.
|
|
164
|
-
${this.reduceMotionControl}
|
|
250
|
+
${this.themeControl} ${this.colorControl} ${this.scaleControl}
|
|
251
|
+
${this.dirControl} ${this.reduceMotionControl}
|
|
165
252
|
</div>
|
|
166
253
|
`;
|
|
167
254
|
}
|
|
255
|
+
get themeControl() {
|
|
256
|
+
return html `
|
|
257
|
+
<sp-field-label for="theme">Spectrum</sp-field-label>
|
|
258
|
+
<sp-picker
|
|
259
|
+
id="theme"
|
|
260
|
+
placement="top"
|
|
261
|
+
quiet
|
|
262
|
+
.value=${this.theme}
|
|
263
|
+
@change=${this.updateTheme}
|
|
264
|
+
>
|
|
265
|
+
<sp-menu-item value="spectrum">Classic</sp-menu-item>
|
|
266
|
+
<sp-menu-item value="express">Express</sp-menu-item>
|
|
267
|
+
</sp-picker>
|
|
268
|
+
`;
|
|
269
|
+
}
|
|
168
270
|
get colorControl() {
|
|
169
271
|
return html `
|
|
170
272
|
<sp-field-label for="color">Theme</sp-field-label>
|
|
@@ -226,76 +328,9 @@ export class StoryDecorator extends SpectrumElement {
|
|
|
226
328
|
`;
|
|
227
329
|
}
|
|
228
330
|
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
outline: none;
|
|
233
|
-
}
|
|
234
|
-
sp-theme {
|
|
235
|
-
overflow-x: hidden;
|
|
236
|
-
display: block;
|
|
237
|
-
box-sizing: border-box;
|
|
238
|
-
width: 100%;
|
|
239
|
-
min-height: 100vh;
|
|
240
|
-
padding: var(--spectrum-global-dimension-size-100)
|
|
241
|
-
var(--spectrum-global-dimension-size-100)
|
|
242
|
-
calc(
|
|
243
|
-
2 * var(--spectrum-alias-focus-ring-size) +
|
|
244
|
-
var(--spectrum-alias-item-height-m)
|
|
245
|
-
);
|
|
246
|
-
background-color: var(--spectrum-global-color-gray-100);
|
|
247
|
-
color: var(
|
|
248
|
-
--spectrum-body-text-color,
|
|
249
|
-
var(--spectrum-alias-text-color)
|
|
250
|
-
);
|
|
251
|
-
}
|
|
252
|
-
:host([screenshot]) sp-theme {
|
|
253
|
-
padding: var(--spectrum-global-dimension-size-100);
|
|
254
|
-
--swc-test-caret-color: transparent;
|
|
255
|
-
}
|
|
256
|
-
:host([reduce-motion]) sp-theme {
|
|
257
|
-
${reduceMotionProperties}
|
|
258
|
-
}
|
|
259
|
-
.manage-theme {
|
|
260
|
-
position: fixed;
|
|
261
|
-
bottom: 0;
|
|
262
|
-
left: var(--spectrum-global-dimension-size-200);
|
|
263
|
-
right: var(--spectrum-global-dimension-size-200);
|
|
264
|
-
display: flex;
|
|
265
|
-
align-items: center;
|
|
266
|
-
justify-content: flex-end;
|
|
267
|
-
box-sizing: border-box;
|
|
268
|
-
background-color: var(--spectrum-global-color-gray-100);
|
|
269
|
-
padding-bottom: calc(2 * var(--spectrum-alias-focus-ring-size));
|
|
270
|
-
}
|
|
271
|
-
[dir='ltr'] sp-field-label {
|
|
272
|
-
padding-left: 0;
|
|
273
|
-
padding-right: var(
|
|
274
|
-
--spectrum-fieldlabel-side-padding-x,
|
|
275
|
-
var(--spectrum-global-dimension-size-100)
|
|
276
|
-
);
|
|
277
|
-
margin-left: var(--spectrum-global-dimension-size-400);
|
|
278
|
-
}
|
|
279
|
-
[dir='ltr'] sp-switch {
|
|
280
|
-
margin-left: var(--spectrum-global-dimension-size-400);
|
|
281
|
-
margin-right: 0;
|
|
282
|
-
padding: 0;
|
|
283
|
-
}
|
|
284
|
-
[dir='rtl'] sp-field-label {
|
|
285
|
-
padding-right: 0;
|
|
286
|
-
padding-left: var(
|
|
287
|
-
--spectrum-fieldlabel-side-padding-x,
|
|
288
|
-
var(--spectrum-global-dimension-size-100)
|
|
289
|
-
);
|
|
290
|
-
margin-right: var(--spectrum-global-dimension-size-400);
|
|
291
|
-
}
|
|
292
|
-
[dir='rtl'] sp-switch {
|
|
293
|
-
margin-right: var(--spectrum-global-dimension-size-400);
|
|
294
|
-
margin-left: 0;
|
|
295
|
-
padding: 0;
|
|
296
|
-
}
|
|
297
|
-
`,
|
|
298
|
-
];
|
|
331
|
+
__decorate([
|
|
332
|
+
property({ type: String })
|
|
333
|
+
], StoryDecorator.prototype, "theme", void 0);
|
|
299
334
|
__decorate([
|
|
300
335
|
property({ type: String })
|
|
301
336
|
], StoryDecorator.prototype, "color", void 0);
|
|
@@ -313,5 +348,5 @@ __decorate([
|
|
|
313
348
|
], StoryDecorator.prototype, "screenshot", void 0);
|
|
314
349
|
__decorate([
|
|
315
350
|
queryAsync('sp-theme')
|
|
316
|
-
], StoryDecorator.prototype, "
|
|
351
|
+
], StoryDecorator.prototype, "themeRoot", void 0);
|
|
317
352
|
//# sourceMappingURL=StoryDecorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoryDecorator.js","sourceRoot":"","sources":["StoryDecorator.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n css,\n html,\n nothing,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n property,\n queryAsync,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\nimport '@spectrum-web-components/theme/sp-theme.js';\nimport '@spectrum-web-components/theme/src/themes.js';\nimport '@spectrum-web-components/field-label/sp-field-label.js';\nimport '@spectrum-web-components/picker/sp-picker.js';\nimport '@spectrum-web-components/menu/sp-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/switch/sp-switch.js';\nimport { Picker } from '@spectrum-web-components/picker';\nimport { Switch } from '@spectrum-web-components/switch';\nimport { Color, Scale, Theme } from '@spectrum-web-components/theme';\nimport { ActiveOverlay } from '@spectrum-web-components/overlay';\nimport './types.js';\n\nconst queryString = window.location.search;\nconst urlParams = new URLSearchParams(queryString);\n\nexport let dir: 'ltr' | 'rtl' =\n (urlParams.get('sp_dir') as 'ltr' | 'rtl') || 'ltr';\nexport let color: Color = (urlParams.get('sp_color') as Color) || 'light';\nexport let scale: Scale = (urlParams.get('sp_scale') as Scale) || 'medium';\nexport let reduceMotion = urlParams.get('sp_reduceMotion') === 'true';\n\nwindow.__swc_hack_knobs__ = window.__swc_hack_knobs__ || {\n defaultColor: color,\n defaultScale: scale,\n defaultDirection: dir,\n defaultReduceMotion: reduceMotion,\n};\n\nconst reduceMotionProperties = css`\n --spectrum-global-animation-duration-100: 0ms;\n --spectrum-global-animation-duration-200: 0ms;\n --spectrum-global-animation-duration-300: 0ms;\n --spectrum-global-animation-duration-400: 0ms;\n --spectrum-global-animation-duration-500: 0ms;\n --spectrum-global-animation-duration-600: 0ms;\n --spectrum-global-animation-duration-700: 0ms;\n --spectrum-global-animation-duration-800: 0ms;\n --spectrum-global-animation-duration-900: 0ms;\n --spectrum-global-animation-duration-1000: 0ms;\n --spectrum-global-animation-duration-2000: 0ms;\n --spectrum-global-animation-duration-4000: 0ms;\n --spectrum-coachmark-animation-indicator-ring-duration: 0ms;\n --swc-test-duration: 1ms;\n`;\n\nActiveOverlay.prototype.renderTheme = function (\n content: TemplateResult\n): TemplateResult {\n const { color, scale, lang } = this.theme;\n return html`\n ${window.__swc_hack_knobs__.defaultReduceMotion\n ? html`\n <style>\n sp-theme {\n ${reduceMotionProperties}\n }\n </style>\n `\n : html``}\n <sp-theme\n color=${ifDefined(color)}\n scale=${ifDefined(scale)}\n lang=${ifDefined(lang)}\n part=\"theme\"\n >\n ${content}\n </sp-theme>\n `;\n};\n\nexport class StoryDecorator extends SpectrumElement {\n static styles = [\n css`\n :host(:focus) {\n outline: none;\n }\n sp-theme {\n overflow-x: hidden;\n display: block;\n box-sizing: border-box;\n width: 100%;\n min-height: 100vh;\n padding: var(--spectrum-global-dimension-size-100)\n var(--spectrum-global-dimension-size-100)\n calc(\n 2 * var(--spectrum-alias-focus-ring-size) +\n var(--spectrum-alias-item-height-m)\n );\n background-color: var(--spectrum-global-color-gray-100);\n color: var(\n --spectrum-body-text-color,\n var(--spectrum-alias-text-color)\n );\n }\n :host([screenshot]) sp-theme {\n padding: var(--spectrum-global-dimension-size-100);\n --swc-test-caret-color: transparent;\n }\n :host([reduce-motion]) sp-theme {\n ${reduceMotionProperties}\n }\n .manage-theme {\n position: fixed;\n bottom: 0;\n left: var(--spectrum-global-dimension-size-200);\n right: var(--spectrum-global-dimension-size-200);\n display: flex;\n align-items: center;\n justify-content: flex-end;\n box-sizing: border-box;\n background-color: var(--spectrum-global-color-gray-100);\n padding-bottom: calc(2 * var(--spectrum-alias-focus-ring-size));\n }\n [dir='ltr'] sp-field-label {\n padding-left: 0;\n padding-right: var(\n --spectrum-fieldlabel-side-padding-x,\n var(--spectrum-global-dimension-size-100)\n );\n margin-left: var(--spectrum-global-dimension-size-400);\n }\n [dir='ltr'] sp-switch {\n margin-left: var(--spectrum-global-dimension-size-400);\n margin-right: 0;\n padding: 0;\n }\n [dir='rtl'] sp-field-label {\n padding-right: 0;\n padding-left: var(\n --spectrum-fieldlabel-side-padding-x,\n var(--spectrum-global-dimension-size-100)\n );\n margin-right: var(--spectrum-global-dimension-size-400);\n }\n [dir='rtl'] sp-switch {\n margin-right: var(--spectrum-global-dimension-size-400);\n margin-left: 0;\n padding: 0;\n }\n `,\n ];\n\n @property({ type: String })\n public color: Color = window.__swc_hack_knobs__.defaultColor;\n\n @property({ type: String })\n public scale: Scale = window.__swc_hack_knobs__.defaultScale;\n\n @property({ type: String, reflect: true, attribute: 'dir' })\n public direction: 'ltr' | 'rtl' =\n window.__swc_hack_knobs__.defaultDirection;\n\n @property({ type: Boolean, attribute: 'reduce-motion', reflect: true })\n public reduceMotion = window.__swc_hack_knobs__.defaultReduceMotion;\n\n @property({ type: Boolean, reflect: true })\n public screenshot = false;\n\n @queryAsync('sp-theme')\n private theme!: Theme;\n\n public ready = false;\n\n public async startManagingContentDirection(el: HTMLElement): Promise<void> {\n (await this.theme).startManagingContentDirection(el);\n }\n\n public async stopManagingContentDirection(el: HTMLElement): Promise<void> {\n (await this.theme).stopManagingContentDirection(el);\n }\n\n private updateTheme({ target }: Event & { target: Picker | Switch }): void {\n const { id } = target;\n const { value } = target as Picker;\n const { checked } = target as Switch;\n switch (id) {\n case 'color':\n this.color =\n color =\n window.__swc_hack_knobs__.defaultColor =\n value as Color;\n break;\n case 'scale':\n this.scale =\n scale =\n window.__swc_hack_knobs__.defaultScale =\n value as Scale;\n break;\n case 'dir':\n this.direction =\n dir =\n window.__swc_hack_knobs__.defaultDirection =\n value as 'ltr' | 'rtl';\n document.documentElement.dir = dir;\n break;\n case 'reduceMotion':\n this.reduceMotion =\n reduceMotion =\n window.__swc_hack_knobs__.defaultReduceMotion =\n checked as boolean;\n break;\n }\n }\n\n protected handleKeydown(event: KeyboardEvent): void {\n const path = event.composedPath();\n const hasInput = path.some((node) => node instanceof HTMLInputElement);\n if (hasInput) {\n event.stopPropagation();\n }\n }\n\n protected render(): TemplateResult {\n return html`\n <sp-theme\n color=${this.color}\n scale=${this.scale}\n dir=${this.direction}\n part=\"container\"\n @keydown=${this.handleKeydown}\n >\n <slot @slotchange=${this.checkReady}></slot>\n ${this.screenshot ? nothing : this.manageTheme}\n </sp-theme>\n `;\n }\n\n protected async checkReady({\n target,\n }: Event & { target: HTMLSlotElement }): Promise<void> {\n this.ready = false;\n const descendents = target.assignedElements({\n flatten: true,\n }) as SpectrumElement[];\n const litElementDescendents = descendents.filter(\n (el) =>\n el.tagName.search('-') !== -1 &&\n typeof el.updateComplete !== 'undefined'\n );\n const updates = litElementDescendents.map((el) => el.updateComplete);\n await Promise.all(updates);\n new Promise((res) => {\n setTimeout(res);\n }).then(async () => {\n await (document.fonts ? document.fonts.ready : Promise.resolve());\n setTimeout(() => (this.ready = true));\n });\n }\n\n private get manageTheme(): TemplateResult {\n return html`\n <div class=\"manage-theme\" part=\"controls\">\n ${this.colorControl} ${this.scaleControl} ${this.dirControl}\n ${this.reduceMotionControl}\n </div>\n `;\n }\n\n private get colorControl(): TemplateResult {\n return html`\n <sp-field-label for=\"color\">Theme</sp-field-label>\n <sp-picker\n id=\"color\"\n placement=\"top\"\n quiet\n .value=${this.color}\n @change=${this.updateTheme}\n >\n <sp-menu-item value=\"lightest\">Lightest</sp-menu-item>\n <sp-menu-item value=\"light\">Light</sp-menu-item>\n <sp-menu-item value=\"dark\">Dark</sp-menu-item>\n <sp-menu-item value=\"darkest\">Darkest</sp-menu-item>\n </sp-picker>\n `;\n }\n\n private get scaleControl(): TemplateResult {\n return html`\n <sp-field-label for=\"scale\">Scale</sp-field-label>\n <sp-picker\n id=\"scale\"\n label=\"Scale\"\n placement=\"top\"\n quiet\n .value=${this.scale}\n @change=${this.updateTheme}\n >\n <sp-menu-item value=\"medium\">Medium</sp-menu-item>\n <sp-menu-item value=\"large\">Large</sp-menu-item>\n </sp-picker>\n `;\n }\n\n private get dirControl(): TemplateResult {\n return html`\n <sp-field-label for=\"dir\">Direction</sp-field-label>\n <sp-picker\n id=\"dir\"\n label=\"Direction\"\n placement=\"top\"\n quiet\n .value=${this.direction}\n @change=${this.updateTheme}\n >\n <sp-menu-item value=\"ltr\">LTR</sp-menu-item>\n <sp-menu-item value=\"rtl\">RTL</sp-menu-item>\n </sp-picker>\n `;\n }\n\n private get reduceMotionControl(): TemplateResult {\n return html`\n <sp-switch\n id=\"reduceMotion\"\n ?checked=${this.reduceMotion}\n @change=${this.updateTheme}\n >\n Reduce Motion\n </sp-switch>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StoryDecorator.js","sourceRoot":"","sources":["StoryDecorator.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n css,\n html,\n nothing,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n property,\n queryAsync,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\nimport '@spectrum-web-components/theme/sp-theme.js';\nimport '@spectrum-web-components/theme/src/themes.js';\nimport '@spectrum-web-components/theme/src/express/themes.js';\nimport '@spectrum-web-components/field-label/sp-field-label.js';\nimport '@spectrum-web-components/picker/sp-picker.js';\nimport '@spectrum-web-components/menu/sp-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/switch/sp-switch.js';\nimport { Picker } from '@spectrum-web-components/picker';\nimport { Switch } from '@spectrum-web-components/switch';\nimport {\n Color,\n Scale,\n Theme,\n ThemeVariant,\n} from '@spectrum-web-components/theme';\nimport { ActiveOverlay } from '@spectrum-web-components/overlay';\nimport './types.js';\n\nconst queryString = window.location.search;\nconst urlParams = new URLSearchParams(queryString);\n\nexport let dir: 'ltr' | 'rtl' =\n (urlParams.get('sp_dir') as 'ltr' | 'rtl') || 'ltr';\nexport let theme: ThemeVariant =\n (urlParams.get('sp_theme') as ThemeVariant) || 'spectrum';\nexport let color: Color = (urlParams.get('sp_color') as Color) || 'light';\nexport let scale: Scale = (urlParams.get('sp_scale') as Scale) || 'medium';\nexport let reduceMotion = urlParams.get('sp_reduceMotion') === 'true';\n\nwindow.__swc_hack_knobs__ = window.__swc_hack_knobs__ || {\n defaultThemeVariant: theme,\n defaultColor: color,\n defaultScale: scale,\n defaultDirection: dir,\n defaultReduceMotion: reduceMotion,\n};\n\nconst reduceMotionProperties = css`\n --spectrum-global-animation-duration-100: 0ms;\n --spectrum-global-animation-duration-200: 0ms;\n --spectrum-global-animation-duration-300: 0ms;\n --spectrum-global-animation-duration-400: 0ms;\n --spectrum-global-animation-duration-500: 0ms;\n --spectrum-global-animation-duration-600: 0ms;\n --spectrum-global-animation-duration-700: 0ms;\n --spectrum-global-animation-duration-800: 0ms;\n --spectrum-global-animation-duration-900: 0ms;\n --spectrum-global-animation-duration-1000: 0ms;\n --spectrum-global-animation-duration-2000: 0ms;\n --spectrum-global-animation-duration-4000: 0ms;\n --spectrum-coachmark-animation-indicator-ring-duration: 0ms;\n --swc-test-duration: 1ms;\n`;\n\nActiveOverlay.prototype.renderTheme = function (\n content: TemplateResult\n): TemplateResult {\n const { color, scale, theme, lang } = this.theme;\n return html`\n ${window.__swc_hack_knobs__.defaultReduceMotion\n ? html`\n <style>\n sp-theme {\n ${reduceMotionProperties}\n }\n </style>\n `\n : html``}\n <sp-theme\n theme=${ifDefined(theme)}\n color=${ifDefined(color)}\n scale=${ifDefined(scale)}\n lang=${ifDefined(lang)}\n part=\"theme\"\n >\n ${content}\n </sp-theme>\n `;\n};\n\nexport class StoryDecorator extends SpectrumElement {\n static get styles() {\n return [\n css`\n :host(:focus) {\n outline: none;\n }\n sp-theme {\n overflow-x: hidden;\n display: block;\n box-sizing: border-box;\n width: 100%;\n min-height: 100vh;\n padding: var(--spectrum-global-dimension-size-100)\n var(--spectrum-global-dimension-size-100)\n calc(\n 2 * var(--spectrum-alias-focus-ring-size) +\n var(--spectrum-alias-item-height-m)\n );\n box-sizing: border-box;\n background-color: var(--spectrum-global-color-gray-100);\n color: var(\n --spectrum-body-text-color,\n var(--spectrum-alias-text-color)\n );\n }\n :host([screenshot]) sp-theme {\n padding: var(--spectrum-global-dimension-size-100);\n --swc-test-caret-color: transparent;\n }\n :host([reduce-motion]) sp-theme {\n ${reduceMotionProperties}\n }\n .manage-theme {\n position: fixed;\n bottom: 0;\n left: var(--spectrum-global-dimension-size-200);\n right: var(--spectrum-global-dimension-size-200);\n display: flex;\n align-items: center;\n justify-content: flex-end;\n box-sizing: border-box;\n background-color: var(--spectrum-global-color-gray-100);\n padding-bottom: calc(\n 2 * var(--spectrum-alias-focus-ring-size)\n );\n }\n [dir='ltr'] sp-field-label {\n padding-left: 0;\n padding-right: var(\n --spectrum-fieldlabel-side-padding-x,\n var(--spectrum-global-dimension-size-100)\n );\n margin-left: var(--spectrum-global-dimension-size-400);\n }\n [dir='ltr'] sp-switch {\n margin-left: var(--spectrum-global-dimension-size-400);\n margin-right: 0;\n padding: 0;\n }\n [dir='rtl'] sp-field-label {\n padding-right: 0;\n padding-left: var(\n --spectrum-fieldlabel-side-padding-x,\n var(--spectrum-global-dimension-size-100)\n );\n margin-right: var(--spectrum-global-dimension-size-400);\n }\n [dir='rtl'] sp-switch {\n margin-right: var(--spectrum-global-dimension-size-400);\n margin-left: 0;\n padding: 0;\n }\n `,\n ];\n }\n\n @property({ type: String })\n public theme: ThemeVariant = window.__swc_hack_knobs__.defaultThemeVariant;\n\n @property({ type: String })\n public color: Color = window.__swc_hack_knobs__.defaultColor;\n\n @property({ type: String })\n public scale: Scale = window.__swc_hack_knobs__.defaultScale;\n\n @property({ type: String, reflect: true, attribute: 'dir' })\n public direction: 'ltr' | 'rtl' =\n window.__swc_hack_knobs__.defaultDirection;\n\n @property({ type: Boolean, attribute: 'reduce-motion', reflect: true })\n public reduceMotion = window.__swc_hack_knobs__.defaultReduceMotion;\n\n @property({ type: Boolean, reflect: true })\n public screenshot = false;\n\n @queryAsync('sp-theme')\n private themeRoot!: Theme;\n\n public ready = false;\n\n public async startManagingContentDirection(el: HTMLElement): Promise<void> {\n (await this.themeRoot).startManagingContentDirection(el);\n }\n\n public async stopManagingContentDirection(el: HTMLElement): Promise<void> {\n (await this.themeRoot).stopManagingContentDirection(el);\n }\n\n private updateTheme({ target }: Event & { target: Picker | Switch }): void {\n const { id } = target;\n const { value } = target as Picker;\n const { checked } = target as Switch;\n switch (id) {\n case 'theme':\n this.theme =\n theme =\n window.__swc_hack_knobs__.defaultThemeVariant =\n value as ThemeVariant;\n break;\n case 'color':\n this.color =\n color =\n window.__swc_hack_knobs__.defaultColor =\n value as Color;\n break;\n case 'scale':\n this.scale =\n scale =\n window.__swc_hack_knobs__.defaultScale =\n value as Scale;\n break;\n case 'dir':\n this.direction =\n dir =\n window.__swc_hack_knobs__.defaultDirection =\n value as 'ltr' | 'rtl';\n document.documentElement.dir = dir;\n break;\n case 'reduceMotion':\n this.reduceMotion =\n reduceMotion =\n window.__swc_hack_knobs__.defaultReduceMotion =\n checked as boolean;\n break;\n }\n }\n\n protected handleKeydown(event: KeyboardEvent): void {\n const path = event.composedPath();\n const hasInput = path.some((node) => node instanceof HTMLInputElement);\n if (hasInput) {\n event.stopPropagation();\n }\n }\n\n protected render(): TemplateResult {\n return html`\n <sp-theme\n theme=${this.theme}\n color=${this.color}\n scale=${this.scale}\n dir=${this.direction}\n part=\"container\"\n @keydown=${this.handleKeydown}\n >\n <slot @slotchange=${this.checkReady}></slot>\n ${this.screenshot ? nothing : this.manageTheme}\n </sp-theme>\n `;\n }\n\n protected async checkReady({\n target,\n }: Event & { target: HTMLSlotElement }): Promise<void> {\n this.ready = false;\n const descendents = target.assignedElements({\n flatten: true,\n }) as SpectrumElement[];\n const litElementDescendents = descendents.filter(\n (el) =>\n el.tagName.search('-') !== -1 &&\n typeof el.updateComplete !== 'undefined'\n );\n const updates = litElementDescendents.map((el) => el.updateComplete);\n await Promise.all(updates);\n new Promise((res) => {\n setTimeout(res);\n }).then(async () => {\n await (document.fonts ? document.fonts.ready : Promise.resolve());\n setTimeout(() => (this.ready = true));\n });\n }\n\n private get manageTheme(): TemplateResult {\n return html`\n <div class=\"manage-theme\" part=\"controls\">\n ${this.themeControl} ${this.colorControl} ${this.scaleControl}\n ${this.dirControl} ${this.reduceMotionControl}\n </div>\n `;\n }\n\n private get themeControl(): TemplateResult {\n return html`\n <sp-field-label for=\"theme\">Spectrum</sp-field-label>\n <sp-picker\n id=\"theme\"\n placement=\"top\"\n quiet\n .value=${this.theme}\n @change=${this.updateTheme}\n >\n <sp-menu-item value=\"spectrum\">Classic</sp-menu-item>\n <sp-menu-item value=\"express\">Express</sp-menu-item>\n </sp-picker>\n `;\n }\n\n private get colorControl(): TemplateResult {\n return html`\n <sp-field-label for=\"color\">Theme</sp-field-label>\n <sp-picker\n id=\"color\"\n placement=\"top\"\n quiet\n .value=${this.color}\n @change=${this.updateTheme}\n >\n <sp-menu-item value=\"lightest\">Lightest</sp-menu-item>\n <sp-menu-item value=\"light\">Light</sp-menu-item>\n <sp-menu-item value=\"dark\">Dark</sp-menu-item>\n <sp-menu-item value=\"darkest\">Darkest</sp-menu-item>\n </sp-picker>\n `;\n }\n\n private get scaleControl(): TemplateResult {\n return html`\n <sp-field-label for=\"scale\">Scale</sp-field-label>\n <sp-picker\n id=\"scale\"\n label=\"Scale\"\n placement=\"top\"\n quiet\n .value=${this.scale}\n @change=${this.updateTheme}\n >\n <sp-menu-item value=\"medium\">Medium</sp-menu-item>\n <sp-menu-item value=\"large\">Large</sp-menu-item>\n </sp-picker>\n `;\n }\n\n private get dirControl(): TemplateResult {\n return html`\n <sp-field-label for=\"dir\">Direction</sp-field-label>\n <sp-picker\n id=\"dir\"\n label=\"Direction\"\n placement=\"top\"\n quiet\n .value=${this.direction}\n @change=${this.updateTheme}\n >\n <sp-menu-item value=\"ltr\">LTR</sp-menu-item>\n <sp-menu-item value=\"rtl\">RTL</sp-menu-item>\n </sp-picker>\n `;\n }\n\n private get reduceMotionControl(): TemplateResult {\n return html`\n <sp-switch\n id=\"reduceMotion\"\n ?checked=${this.reduceMotion}\n @change=${this.updateTheme}\n >\n Reduce Motion\n </sp-switch>\n `;\n }\n}\n"]}
|
package/src/types.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Color, Scale } from '@spectrum-web-components/theme';
|
|
1
|
+
import { Color, Scale, ThemeVariant } from '@spectrum-web-components/theme';
|
|
2
2
|
declare global {
|
|
3
3
|
interface Window {
|
|
4
4
|
__swc_hack_knobs__: {
|
|
5
|
+
defaultThemeVariant: ThemeVariant;
|
|
5
6
|
defaultColor: Color;
|
|
6
7
|
defaultScale: Scale;
|
|
7
8
|
defaultDirection: 'ltr' | 'rtl';
|
package/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { Color, Scale } from '@spectrum-web-components/theme';\n\ndeclare global {\n interface Window {\n __swc_hack_knobs__: {\n defaultColor: Color;\n defaultScale: Scale;\n defaultDirection: 'ltr' | 'rtl';\n defaultReduceMotion: boolean;\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { Color, Scale, ThemeVariant } from '@spectrum-web-components/theme';\n\ndeclare global {\n interface Window {\n __swc_hack_knobs__: {\n defaultThemeVariant: ThemeVariant;\n defaultColor: Color;\n defaultScale: Scale;\n defaultDirection: 'ltr' | 'rtl';\n defaultReduceMotion: boolean;\n };\n }\n}\n"]}
|