Skip to content

Commit 01edbc7

Browse files
committed
feat: let storybook build the addon
1 parent d9f1fdf commit 01edbc7

File tree

6 files changed

+34
-93
lines changed

6 files changed

+34
-93
lines changed

1st-gen/package.json

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -232,19 +232,6 @@
232232
"command": "node ./scripts/watch-css.js",
233233
"service": true
234234
},
235-
"build:screen-reader-addon": {
236-
"command": "yarn workspace @spectrum-web-components/screen-reader-addon build",
237-
"files": [
238-
"projects/screen-reader-addon/src/**/*.ts",
239-
"projects/screen-reader-addon/src/**/*.tsx",
240-
"projects/screen-reader-addon/tsconfig.json",
241-
"projects/screen-reader-addon/package.json",
242-
"projects/screen-reader-addon/manager.js"
243-
],
244-
"output": [
245-
"projects/screen-reader-addon/dist/**"
246-
]
247-
},
248235
"build:ts": {
249236
"clean": "if-file-deleted",
250237
"command": "node ./scripts/build-ts.js",
@@ -282,8 +269,7 @@
282269
"!projects/example-project-rollup",
283270
"!projects/example-project-webpack",
284271
"!projects/templates",
285-
"!projects/screen-reader-addon/manager.js",
286-
"!projects/screen-reader-addon/dist/**",
272+
"!projects/screen-reader-addon/**",
287273
"tools/**/*.js",
288274
"tools/**/*.js.map",
289275
"!**/build.js",
@@ -396,8 +382,7 @@
396382
"prestorybook": {
397383
"command": "cem analyze --outdir storybook/",
398384
"dependencies": [
399-
"build:ts",
400-
"build:screen-reader-addon"
385+
"build:ts"
401386
],
402387
"files": [
403388
"packages/**/*.ts",

1st-gen/projects/screen-reader-addon/manager.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@
1111
*/
1212

1313
// Storybook manager addon entry point
14-
import './dist/register.js';
14+
// Imports TypeScript source directly - Storybook's esbuild compiles on the fly
15+
import './src/register.tsx';

1st-gen/projects/screen-reader-addon/package.json

Lines changed: 11 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,7 @@
88
"dom-accessibility-api": "^0.7.0",
99
"query-selector-shadow-dom": "^1.0.0"
1010
},
11-
"peerDependencies": {
12-
"@lit/react": ">=1.0.0",
13-
"@spectrum-web-components/switch": ">=1.0.0",
14-
"@spectrum-web-components/theme": ">=1.0.0",
15-
"@storybook/components": ">=8.0.0",
16-
"@storybook/core-events": ">=8.0.0",
17-
"@storybook/manager-api": ">=8.0.0",
18-
"lit": "^2.5.0 || ^3.1.3",
19-
"react": ">=18.0.0"
20-
},
2111
"description": "A Screen Reader Storybook addon for accessibility testing",
22-
"devDependencies": {
23-
"esbuild": "0.21.5",
24-
"typescript": "5.3.3"
25-
},
26-
"files": [
27-
"dist/**/*"
28-
],
2912
"homepage": "https://opensource.adobe.com/spectrum-web-components/",
3013
"keywords": [
3114
"storybook",
@@ -37,32 +20,22 @@
3720
"wcag"
3821
],
3922
"license": "Apache-2.0",
40-
"main": "dist/register.js",
41-
"module": "dist/register.js",
4223
"name": "@spectrum-web-components/screen-reader-addon",
24+
"peerDependencies": {
25+
"@lit/react": ">=1.0.0",
26+
"@spectrum-web-components/switch": ">=1.0.0",
27+
"@spectrum-web-components/theme": ">=1.0.0",
28+
"@storybook/components": ">=8.0.0",
29+
"@storybook/core-events": ">=8.0.0",
30+
"@storybook/manager-api": ">=8.0.0",
31+
"lit": "^2.5.0 || ^3.1.3",
32+
"react": ">=18.0.0"
33+
},
4334
"private": true,
4435
"repository": {
4536
"directory": "1st-gen/projects/screen-reader-addon",
4637
"type": "git",
4738
"url": "https://github.com/adobe/spectrum-web-components.git"
4839
},
49-
"scripts": {
50-
"build": "esbuild src/register.tsx --bundle --outfile=dist/register.js --format=esm \"--external:@storybook/*\" \"--external:@spectrum-web-components/*\" \"--external:@lit/*\" --external:react --external:lit --platform=browser",
51-
"typecheck": "tsc --noEmit"
52-
},
53-
"version": "1.0.0",
54-
"wireit": {
55-
"build": {
56-
"clean": "if-file-deleted",
57-
"command": "esbuild src/register.tsx --bundle --outfile=dist/register.js --format=esm \"--external:@storybook/*\" \"--external:@spectrum-web-components/*\" \"--external:@lit/*\" --external:react --external:lit --platform=browser",
58-
"files": [
59-
"src/**/*.ts",
60-
"src/**/*.tsx",
61-
"tsconfig.json"
62-
],
63-
"output": [
64-
"dist/**"
65-
]
66-
}
67-
}
40+
"version": "1.0.0"
6841
}

1st-gen/projects/screen-reader-addon/src/components/screen-reader-panel.ts

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
*/
1212

1313
import { css, html, LitElement } from 'lit';
14-
import { property } from 'lit/decorators.js';
1514
import { addons, type Channel } from '@storybook/manager-api';
1615
import { STORY_CHANGED } from '@storybook/core-events';
1716

@@ -29,17 +28,20 @@ interface ScreenReaderTextEvent extends CustomEvent {
2928
}
3029

3130
export class ScreenReaderPanel extends LitElement {
32-
@property({ type: Boolean })
33-
voice = false;
34-
35-
@property({ type: Boolean })
36-
text = false;
37-
38-
@property({ type: Boolean })
39-
isActive = false;
31+
// Using static properties instead of decorators for compatibility
32+
// with Storybook's internal esbuild (no decorator compilation needed)
33+
static override properties = {
34+
voice: { type: Boolean },
35+
text: { type: Boolean },
36+
isActive: { type: Boolean },
37+
screenReaderText: { type: String },
38+
};
4039

41-
@property({ type: String })
42-
screenReaderText = '';
40+
// Use 'declare' to avoid class field definition overriding Lit's reactive properties
41+
declare voice: boolean;
42+
declare text: boolean;
43+
declare isActive: boolean;
44+
declare screenReaderText: string;
4345

4446
private screenReader: ScreenReader | null = null;
4547
private channel: Channel | null = null;
@@ -91,6 +93,12 @@ export class ScreenReaderPanel extends LitElement {
9193

9294
constructor() {
9395
super();
96+
// Initialize reactive properties
97+
this.voice = false;
98+
this.text = false;
99+
this.isActive = false;
100+
this.screenReaderText = '';
101+
// Bind event handlers
94102
this.handleTextChange = this.handleTextChange.bind(this);
95103
this.handleStoryChange = this.handleStoryChange.bind(this);
96104
}

1st-gen/projects/screen-reader-addon/tsconfig.json

Lines changed: 0 additions & 24 deletions
This file was deleted.

yarn.lock

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6228,9 +6228,7 @@ __metadata:
62286228
dependencies:
62296229
aria-query: "npm:^5.3.0"
62306230
dom-accessibility-api: "npm:^0.7.0"
6231-
esbuild: "npm:0.21.5"
62326231
query-selector-shadow-dom: "npm:^1.0.0"
6233-
typescript: "npm:5.3.3"
62346232
peerDependencies:
62356233
"@lit/react": ">=1.0.0"
62366234
"@spectrum-web-components/switch": ">=1.0.0"

0 commit comments

Comments
 (0)