@signalwire/web-components 1.0.0-dev-20260428035205 → 1.0.0-dev-20260428141127

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.
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Embed bundle entry point.
3
+ *
4
+ * Registers all custom elements as side effects and re-exports key SDK
5
+ * classes so script-tag consumers can use them without a separate import.
6
+ *
7
+ * @example
8
+ * ```html
9
+ * <script src="signalwire-web-components-embed.js"></script>
10
+ * <sw-call-widget token="..." destination="/public/my-room"></sw-call-widget>
11
+ *
12
+ * <script>
13
+ * // SDK classes available on the global:
14
+ * const { SignalWire, StaticCredentialProvider } = SignalWireUI;
15
+ * </script>
16
+ * ```
17
+ */
18
+ export * from './index.js';
19
+ export { SignalWire, StaticCredentialProvider, } from '@signalwire/js';
20
+ //# sourceMappingURL=embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,UAAU,EACV,wBAAwB,GAEzB,MAAM,gBAAgB,CAAC"}
package/dist/theme.css ADDED
@@ -0,0 +1,451 @@
1
+ /* SignalWire Design System - Auto-generated from signalwire-tokens.dtcg.json */
2
+ /* Variable names use the prefix-map from the DTCG. */
3
+ /* Do not edit manually. Run: python3 build_design.py */
4
+
5
+ :root {
6
+ --sw-blue: #044EF4;
7
+ --sw-fuchsia: #F72A72;
8
+ --sw-turquoise: #40E0D0;
9
+ --sw-gold: #FFD700;
10
+ --sw-purple: #601BE6;
11
+ --sw-light-bg: #FAFBFC;
12
+ --type-family-heading: 'Instrument Sans', sans-serif;
13
+ --type-family-body: 'Lexend', sans-serif;
14
+ --type-family-code: 'JetBrains Mono', monospace;
15
+ --type-size-h1: clamp(2rem, 4.5vw, 3.25rem);
16
+ --type-size-h2: clamp(1.375rem, 3vw, 2rem);
17
+ --type-size-h3: clamp(1.125rem, 2vw, 1.375rem);
18
+ --type-size-body: 16px;
19
+ --type-size-small: 14px;
20
+ --type-size-caption: 13px;
21
+ --type-size-code: 14px;
22
+ --type-weight-heading: 700;
23
+ --type-weight-body: 400;
24
+ --type-weight-medium: 500;
25
+ --type-weight-semibold: 600;
26
+ --type-line-height-body: 1.7;
27
+ --type-line-height-heading: 1.2;
28
+ --type-line-height-code: 1.75;
29
+ --type-letter-spacing-heading: -0.02em;
30
+ --type-letter-spacing-eyebrow: 0.14em;
31
+ --type-prose-body: 20px;
32
+ --type-prose-body-small: 18px;
33
+ --type-prose-h1: clamp(1.75rem, 3.5vw, 2.5rem);
34
+ --type-prose-h2: clamp(1.375rem, 2.5vw, 1.75rem);
35
+ --type-prose-h3: clamp(1.125rem, 2vw, 1.375rem);
36
+ --type-prose-code: 17px;
37
+ --type-prose-line-height: 1.8;
38
+ --type-prose-measure: 75%;
39
+ --type-prose-measure-mobile: 92%;
40
+ --sp-0: 0;
41
+ --sp-1: 0.25rem;
42
+ --sp-2: 0.5rem;
43
+ --sp-3: 0.75rem;
44
+ --sp-4: 1rem;
45
+ --sp-5: 1.25rem;
46
+ --sp-6: 1.5rem;
47
+ --sp-8: 2rem;
48
+ --sp-10: 2.5rem;
49
+ --sp-12: 3rem;
50
+ --sp-16: 4rem;
51
+ --sp-18: 4.5rem;
52
+ --sp-20: 5rem;
53
+ --radius-none: 0;
54
+ --radius-sm: 4px;
55
+ --radius-md: 8px;
56
+ --radius-lg: 10px;
57
+ --radius-xl: 12px;
58
+ --radius-full: 100px;
59
+ --transition-fast: 0.15s ease;
60
+ --transition-normal: 0.2s ease;
61
+ --transition-slow: 0.25s ease;
62
+ --animation-reveal-duration: 0.5s;
63
+ --animation-reveal-easing: cubic-bezier(0.22, 1, 0.36, 1);
64
+ --animation-gradient-duration: 6s;
65
+ --backgrounds-dots: radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
66
+ --backgrounds-grid: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
67
+ --backgrounds-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
68
+ --backgrounds-hex: url("data:image/svg+xml,%3Csvg width='60' height='52' viewBox='0 0 60 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0 L60 15 L60 37 L30 52 L0 37 L0 15Z' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='0.5'/%3E%3C/svg%3E");
69
+ --backgrounds-diagonal: repeating-linear-gradient(-45deg, transparent, transparent 28px, rgba(255,255,255,0.02) 28px, rgba(255,255,255,0.02) 29px);
70
+ --backgrounds-orbs: radial-gradient(ellipse 600px 400px at 15% 20%, rgba(4,78,244,0.08) 0%, transparent 70%), radial-gradient(ellipse 500px 350px at 85% 70%, rgba(247,42,114,0.06) 0%, transparent 70%), radial-gradient(ellipse 400px 300px at 50% 50%, rgba(96,27,230,0.05) 0%, transparent 70%);
71
+ --backgrounds-rings: radial-gradient(circle 300px at 25% 35%, transparent 60%, rgba(4,78,244,0.04) 60%, rgba(4,78,244,0.04) 61%, transparent 61%), radial-gradient(circle 200px at 75% 60%, transparent 60%, rgba(247,42,114,0.03) 60%, rgba(247,42,114,0.03) 61%, transparent 61%), radial-gradient(circle 250px at 50% 80%, transparent 60%, rgba(96,27,230,0.03) 60%, rgba(96,27,230,0.03) 61%, transparent 61%);
72
+ --z-index-base: 1;
73
+ --z-index-navbar: 100;
74
+ --z-index-overlay: 200;
75
+ --z-index-modal: 300;
76
+ --breakpoint-sm: 400px;
77
+ --breakpoint-md: 768px;
78
+ --breakpoint-lg: 1024px;
79
+ --breakpoint-xl: 1080px;
80
+ --container-max-width: 1080px;
81
+ --container-padding: 2rem;
82
+ --container-padding-mobile: 1.25rem;
83
+ --tok-string: #40E0D0;
84
+ --tok-keyword: #6e9eff;
85
+ --tok-property: #ffffff;
86
+ --tok-operator: #FFD700;
87
+ --tok-comment: #898995;
88
+ --tok-number: #ff6da0;
89
+ --tok-function: #40E0D0;
90
+ --tok-value: #d4d4d8;
91
+ --tok-decorator: #6e9eff;
92
+ --tok-type: #ff6da0;
93
+ --fill-blue: #044EF4;
94
+ --fill-fuchsia: #F72A72;
95
+ --fill-turquoise: #40E0D0;
96
+ --fill-gold: #FFD700;
97
+ --cb-bg: #1e1e1f;
98
+ --cb-fg: #d4d4d8;
99
+ --cb-border: rgba(255, 255, 255, 0.07);
100
+ --cb-label: #73737e;
101
+ --cb-tab-default: #73737e;
102
+ --cb-tab-hover: #e8e8ec;
103
+ --cb-tab-active: #40E0D0;
104
+ }
105
+
106
+ :root, [data-theme='dark'] {
107
+ --sw-white: #ffffff;
108
+ --sw-gray-50: #f5f5f7;
109
+ --sw-gray-100: #e8e8ec;
110
+ --sw-gray-200: #c8c8cf;
111
+ --sw-gray-300: #a0a0aa;
112
+ --sw-gray-400: #73737e;
113
+ --sw-gray-500: #333333;
114
+ --sw-gray-600: #262630;
115
+ --sw-gray-700: #1a1a2e;
116
+ --sw-gray-800: #15152a;
117
+ --sw-gray-900: #111118;
118
+ --sw-black: #0a0a12;
119
+ --bg-page: #0e0e18;
120
+ --bg-surface: #181a28;
121
+ --bg-surface-raised: #222436;
122
+ --bg-overlay: rgba(14, 14, 24, 0.94);
123
+ --bg-subtle: rgba(255, 255, 255, 0.03);
124
+ --bg-gradient: linear-gradient(135deg, #0a0a12 0%, #0e1028 35%, #0c2060 100%);
125
+ --bg-gradient-slide: linear-gradient(90deg, #010915 0%, #102A4A 45%, #274A83 100%);
126
+ --fg-default: #f0f0f4;
127
+ --fg-secondary: #e8e8ec;
128
+ --fg-muted: #a0a0aa;
129
+ --fg-subtle: #73737e;
130
+ --fg-on-color: #ffffff;
131
+ --fg-on-gold: #0a0a12;
132
+ --fg-headings: #f0f0f4;
133
+ --fg-emphasis: #40E0D0;
134
+ --fg-emphasis-small: #40E0D0;
135
+ --border-default: rgba(255, 255, 255, 0.12);
136
+ --border-strong: rgba(255, 255, 255, 0.15);
137
+ --code-bg: rgba(255, 255, 255, 0.06);
138
+ --code-fg: #40E0D0;
139
+ --badge-bg: rgb(23, 14, 23);
140
+ --badge-border: rgba(255, 255, 255, 0.2);
141
+ --badge-text-fuchsia: #ff5a9e;
142
+ --badge-text-blue: #7aabff;
143
+ --badge-text-turquoise: #6aeee0;
144
+ --badge-text-gold: #ffe44d;
145
+ --callout-info-bg: rgba(4, 78, 244, 0.06);
146
+ --callout-info-border: rgba(4, 78, 244, 0.18);
147
+ --callout-warn-bg: rgba(255, 215, 0, 0.04);
148
+ --callout-warn-border: rgba(255, 215, 0, 0.16);
149
+ --callout-danger-bg: rgba(247, 42, 114, 0.06);
150
+ --callout-danger-border: rgba(247, 42, 114, 0.18);
151
+ --callout-success-bg: rgba(64, 224, 208, 0.06);
152
+ --callout-success-border: rgba(64, 224, 208, 0.18);
153
+ --litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, 0.4), 0 0 30px 4px rgba(247, 42, 114, 0.12);
154
+ --litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, 0.06) 0%, transparent 100%);
155
+ --litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, 0.5), 0 0 30px 4px rgba(4, 78, 244, 0.12);
156
+ --litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, 0.07) 0%, transparent 100%);
157
+ --litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, 0.35), 0 0 30px 4px rgba(64, 224, 208, 0.08);
158
+ --litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, 0.05) 0%, transparent 100%);
159
+ --litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, 0.35), 0 0 30px 4px rgba(255, 215, 0, 0.08);
160
+ --litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, 0.04) 0%, transparent 100%);
161
+ --shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, 0.25);
162
+ --shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, 0.08);
163
+ --shadow-glow-blue: 0 0 20px rgba(4, 78, 244, 0.25);
164
+ --shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, 0.08);
165
+ --shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, 0.06);
166
+ --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
167
+ --interactive-button-primary-bg: #044EF4;
168
+ --interactive-button-primary-text: #ffffff;
169
+ --interactive-button-primary-hover: #0342cf;
170
+ --interactive-button-primary-active: #022da8;
171
+ --interactive-button-secondary-bg: transparent;
172
+ --interactive-button-secondary-text: #ffffff;
173
+ --interactive-button-secondary-border: rgba(255, 255, 255, 0.15);
174
+ --interactive-button-secondary-hover: rgba(255, 255, 255, 0.06);
175
+ --interactive-button-ghost-text: #e8e8ec;
176
+ --interactive-button-ghost-hover: rgba(255, 255, 255, 0.06);
177
+ --interactive-button-destructive-bg: #dc2626;
178
+ --interactive-button-destructive-text: #ffffff;
179
+ --interactive-button-destructive-hover: #b91c1c;
180
+ --interactive-button-disabled-bg: #333338;
181
+ --interactive-button-disabled-text: #73737e;
182
+ --interactive-input-bg: #2a2a2e;
183
+ --interactive-input-text: #ffffff;
184
+ --interactive-input-placeholder: #73737e;
185
+ --interactive-input-border: rgba(255, 255, 255, 0.15);
186
+ --interactive-input-border-focus: #044EF4;
187
+ --interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, 0.3);
188
+ --interactive-input-error-border: #ef4444;
189
+ --interactive-input-disabled-bg: #1e1e1f;
190
+ --interactive-input-disabled-text: #73737e;
191
+ --interactive-status-success: #22c55e;
192
+ --interactive-status-success-soft: rgba(34, 197, 94, 0.12);
193
+ --interactive-status-warning: #FFD700;
194
+ --interactive-status-warning-soft: rgba(255, 215, 0, 0.12);
195
+ --interactive-status-error: #ef4444;
196
+ --interactive-status-error-soft: rgba(239, 68, 68, 0.12);
197
+ --interactive-status-info: #044EF4;
198
+ --interactive-status-info-soft: rgba(4, 78, 244, 0.12);
199
+ --interactive-link-default: #40E0D0;
200
+ --interactive-link-hover: #F72A72;
201
+ --interactive-link-visited: #a0a0aa;
202
+ --interactive-toggle-track-off: #333338;
203
+ --interactive-toggle-track-on: #044EF4;
204
+ --interactive-toggle-thumb: #ffffff;
205
+ --interactive-skeleton-base: #2a2a2e;
206
+ --interactive-skeleton-shimmer: #333338;
207
+ --interactive-tooltip-bg: #ffffff;
208
+ --interactive-tooltip-text: #1e1e1f;
209
+ --interactive-dropdown-bg: #2a2a2e;
210
+ --interactive-dropdown-hover: #333338;
211
+ --interactive-dropdown-border: rgba(255, 255, 255, 0.15);
212
+ --interactive-dropdown-separator: rgba(255, 255, 255, 0.07);
213
+ --interactive-table-header-bg: transparent;
214
+ --interactive-table-header-text: #F72A72;
215
+ --interactive-table-row-hover: rgba(255, 255, 255, 0.03);
216
+ --interactive-table-border: rgba(255, 255, 255, 0.07);
217
+ --interactive-tab-default: #a0a0aa;
218
+ --interactive-tab-active: #40E0D0;
219
+ --interactive-tab-hover: #ffffff;
220
+ --interactive-tab-indicator: #044EF4;
221
+ }
222
+
223
+ [data-theme='light'] {
224
+ --sw-white: #ffffff;
225
+ --sw-gray-50: #F6F6F4;
226
+ --sw-gray-100: #ECECEA;
227
+ --sw-gray-200: #D4D4D2;
228
+ --sw-gray-300: #A8A8A6;
229
+ --sw-gray-400: #737371;
230
+ --sw-gray-500: #52524F;
231
+ --sw-gray-600: #3A3A38;
232
+ --sw-gray-700: #272725;
233
+ --sw-gray-800: #1A1A18;
234
+ --sw-black: #0D0D0C;
235
+ --bg-page: #FAFBFC;
236
+ --bg-surface: #F3F4F6;
237
+ --bg-surface-raised: #E8EAF0;
238
+ --bg-overlay: rgba(250, 251, 252, 0.94);
239
+ --bg-subtle: rgba(0, 0, 0, 0.02);
240
+ --fg-default: #1A1A18;
241
+ --fg-secondary: #3A3A38;
242
+ --fg-muted: #737371;
243
+ --fg-subtle: #A8A8A6;
244
+ --fg-on-color: #FAFBFC;
245
+ --fg-on-gold: #1A1A18;
246
+ --fg-headings: #070c2d;
247
+ --fg-emphasis: #F72A72;
248
+ --fg-emphasis-small: #AB0A42;
249
+ --border-default: rgba(0, 0, 0, 0.1);
250
+ --border-strong: rgba(0, 0, 0, 0.18);
251
+ --code-bg: rgba(0, 0, 0, 0.06);
252
+ --code-fg: #044EF4;
253
+ --badge-bg: #ECECEA;
254
+ --badge-border: rgba(0, 0, 0, 0.12);
255
+ --badge-text-fuchsia: #BE1758;
256
+ --badge-text-blue: #0340C0;
257
+ --badge-text-turquoise: #0A6E64;
258
+ --badge-text-gold: #6B5600;
259
+ --shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, 0.15);
260
+ --shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, 0.05);
261
+ --shadow-glow-blue: 0 0 20px rgba(4, 78, 244, 0.15);
262
+ --shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, 0.05);
263
+ --shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, 0.04);
264
+ --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
265
+ --callout-info-bg: rgba(4, 78, 244, 0.06);
266
+ --callout-info-border: rgba(4, 78, 244, 0.18);
267
+ --callout-warn-bg: rgba(255, 215, 0, 0.04);
268
+ --callout-warn-border: rgba(255, 215, 0, 0.16);
269
+ --callout-danger-bg: rgba(247, 42, 114, 0.06);
270
+ --callout-danger-border: rgba(247, 42, 114, 0.18);
271
+ --callout-success-bg: rgba(64, 224, 208, 0.06);
272
+ --callout-success-border: rgba(64, 224, 208, 0.18);
273
+ --litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, 0.4), 0 0 30px 4px rgba(247, 42, 114, 0.12);
274
+ --litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, 0.06) 0%, transparent 100%);
275
+ --litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, 0.5), 0 0 30px 4px rgba(4, 78, 244, 0.12);
276
+ --litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, 0.07) 0%, transparent 100%);
277
+ --litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, 0.35), 0 0 30px 4px rgba(64, 224, 208, 0.08);
278
+ --litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, 0.05) 0%, transparent 100%);
279
+ --litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, 0.35), 0 0 30px 4px rgba(255, 215, 0, 0.08);
280
+ --litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, 0.04) 0%, transparent 100%);
281
+ --interactive-button-primary-bg: #044EF4;
282
+ --interactive-button-primary-text: #ffffff;
283
+ --interactive-button-primary-hover: #0342cf;
284
+ --interactive-button-primary-active: #022da8;
285
+ --interactive-button-secondary-bg: transparent;
286
+ --interactive-button-secondary-text: #1E1D1B;
287
+ --interactive-button-secondary-border: rgba(0, 0, 0, 0.18);
288
+ --interactive-button-secondary-hover: rgba(0, 0, 0, 0.04);
289
+ --interactive-button-ghost-text: #3E3B37;
290
+ --interactive-button-ghost-hover: rgba(0, 0, 0, 0.04);
291
+ --interactive-button-destructive-bg: #dc2626;
292
+ --interactive-button-destructive-text: #ffffff;
293
+ --interactive-button-destructive-hover: #b91c1c;
294
+ --interactive-button-disabled-bg: #ECECEA;
295
+ --interactive-button-disabled-text: #A8A8A6;
296
+ --interactive-input-bg: #ffffff;
297
+ --interactive-input-text: #1A1A18;
298
+ --interactive-input-placeholder: #A8A8A6;
299
+ --interactive-input-border: rgba(0, 0, 0, 0.18);
300
+ --interactive-input-border-focus: #044EF4;
301
+ --interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, 0.2);
302
+ --interactive-input-error-border: #dc2626;
303
+ --interactive-input-disabled-bg: #F6F6F4;
304
+ --interactive-input-disabled-text: #A8A8A6;
305
+ --interactive-status-success: #16a34a;
306
+ --interactive-status-success-soft: rgba(22, 163, 74, 0.08);
307
+ --interactive-status-warning: #a16207;
308
+ --interactive-status-warning-soft: rgba(161, 98, 7, 0.08);
309
+ --interactive-status-error: #dc2626;
310
+ --interactive-status-error-soft: rgba(220, 38, 38, 0.08);
311
+ --interactive-status-info: #044EF4;
312
+ --interactive-status-info-soft: rgba(4, 78, 244, 0.08);
313
+ --interactive-link-default: #044EF4;
314
+ --interactive-link-hover: #F72A72;
315
+ --interactive-link-visited: #737371;
316
+ --interactive-toggle-track-off: #D4D4D2;
317
+ --interactive-toggle-track-on: #044EF4;
318
+ --interactive-toggle-thumb: #ffffff;
319
+ --interactive-skeleton-base: #F6F6F4;
320
+ --interactive-skeleton-shimmer: #ECECEA;
321
+ --interactive-tooltip-bg: #1A1A18;
322
+ --interactive-tooltip-text: #FBFBFA;
323
+ --interactive-dropdown-bg: #ffffff;
324
+ --interactive-dropdown-hover: #F6F6F4;
325
+ --interactive-dropdown-border: rgba(0, 0, 0, 0.1);
326
+ --interactive-dropdown-separator: rgba(0, 0, 0, 0.06);
327
+ --interactive-table-header-bg: #044EF4;
328
+ --interactive-table-header-text: #ffffff;
329
+ --interactive-table-row-hover: rgba(0, 0, 0, 0.02);
330
+ --interactive-table-border: rgba(0, 0, 0, 0.1);
331
+ --interactive-tab-default: #737371;
332
+ --interactive-tab-active: #F72A72;
333
+ --interactive-tab-hover: #1A1A18;
334
+ --interactive-tab-indicator: #044EF4;
335
+ }
336
+
337
+ @media (prefers-color-scheme: light) {
338
+ :root:not([data-theme]) {
339
+ --sw-white: #ffffff;
340
+ --sw-gray-50: #F6F6F4;
341
+ --sw-gray-100: #ECECEA;
342
+ --sw-gray-200: #D4D4D2;
343
+ --sw-gray-300: #A8A8A6;
344
+ --sw-gray-400: #737371;
345
+ --sw-gray-500: #52524F;
346
+ --sw-gray-600: #3A3A38;
347
+ --sw-gray-700: #272725;
348
+ --sw-gray-800: #1A1A18;
349
+ --sw-black: #0D0D0C;
350
+ --bg-page: #FAFBFC;
351
+ --bg-surface: #F3F4F6;
352
+ --bg-surface-raised: #E8EAF0;
353
+ --bg-overlay: rgba(250, 251, 252, 0.94);
354
+ --bg-subtle: rgba(0, 0, 0, 0.02);
355
+ --fg-default: #1A1A18;
356
+ --fg-secondary: #3A3A38;
357
+ --fg-muted: #737371;
358
+ --fg-subtle: #A8A8A6;
359
+ --fg-on-color: #FAFBFC;
360
+ --fg-on-gold: #1A1A18;
361
+ --fg-headings: #070c2d;
362
+ --fg-emphasis: #F72A72;
363
+ --fg-emphasis-small: #AB0A42;
364
+ --border-default: rgba(0, 0, 0, 0.1);
365
+ --border-strong: rgba(0, 0, 0, 0.18);
366
+ --code-bg: rgba(0, 0, 0, 0.06);
367
+ --code-fg: #044EF4;
368
+ --badge-bg: #ECECEA;
369
+ --badge-border: rgba(0, 0, 0, 0.12);
370
+ --badge-text-fuchsia: #BE1758;
371
+ --badge-text-blue: #0340C0;
372
+ --badge-text-turquoise: #0A6E64;
373
+ --badge-text-gold: #6B5600;
374
+ --shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, 0.15);
375
+ --shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, 0.05);
376
+ --shadow-glow-blue: 0 0 20px rgba(4, 78, 244, 0.15);
377
+ --shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, 0.05);
378
+ --shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, 0.04);
379
+ --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
380
+ --callout-info-bg: rgba(4, 78, 244, 0.06);
381
+ --callout-info-border: rgba(4, 78, 244, 0.18);
382
+ --callout-warn-bg: rgba(255, 215, 0, 0.04);
383
+ --callout-warn-border: rgba(255, 215, 0, 0.16);
384
+ --callout-danger-bg: rgba(247, 42, 114, 0.06);
385
+ --callout-danger-border: rgba(247, 42, 114, 0.18);
386
+ --callout-success-bg: rgba(64, 224, 208, 0.06);
387
+ --callout-success-border: rgba(64, 224, 208, 0.18);
388
+ --litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, 0.4), 0 0 30px 4px rgba(247, 42, 114, 0.12);
389
+ --litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, 0.06) 0%, transparent 100%);
390
+ --litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, 0.5), 0 0 30px 4px rgba(4, 78, 244, 0.12);
391
+ --litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, 0.07) 0%, transparent 100%);
392
+ --litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, 0.35), 0 0 30px 4px rgba(64, 224, 208, 0.08);
393
+ --litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, 0.05) 0%, transparent 100%);
394
+ --litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, 0.35), 0 0 30px 4px rgba(255, 215, 0, 0.08);
395
+ --litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, 0.04) 0%, transparent 100%);
396
+ --interactive-button-primary-bg: #044EF4;
397
+ --interactive-button-primary-text: #ffffff;
398
+ --interactive-button-primary-hover: #0342cf;
399
+ --interactive-button-primary-active: #022da8;
400
+ --interactive-button-secondary-bg: transparent;
401
+ --interactive-button-secondary-text: #1E1D1B;
402
+ --interactive-button-secondary-border: rgba(0, 0, 0, 0.18);
403
+ --interactive-button-secondary-hover: rgba(0, 0, 0, 0.04);
404
+ --interactive-button-ghost-text: #3E3B37;
405
+ --interactive-button-ghost-hover: rgba(0, 0, 0, 0.04);
406
+ --interactive-button-destructive-bg: #dc2626;
407
+ --interactive-button-destructive-text: #ffffff;
408
+ --interactive-button-destructive-hover: #b91c1c;
409
+ --interactive-button-disabled-bg: #ECECEA;
410
+ --interactive-button-disabled-text: #A8A8A6;
411
+ --interactive-input-bg: #ffffff;
412
+ --interactive-input-text: #1A1A18;
413
+ --interactive-input-placeholder: #A8A8A6;
414
+ --interactive-input-border: rgba(0, 0, 0, 0.18);
415
+ --interactive-input-border-focus: #044EF4;
416
+ --interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, 0.2);
417
+ --interactive-input-error-border: #dc2626;
418
+ --interactive-input-disabled-bg: #F6F6F4;
419
+ --interactive-input-disabled-text: #A8A8A6;
420
+ --interactive-status-success: #16a34a;
421
+ --interactive-status-success-soft: rgba(22, 163, 74, 0.08);
422
+ --interactive-status-warning: #a16207;
423
+ --interactive-status-warning-soft: rgba(161, 98, 7, 0.08);
424
+ --interactive-status-error: #dc2626;
425
+ --interactive-status-error-soft: rgba(220, 38, 38, 0.08);
426
+ --interactive-status-info: #044EF4;
427
+ --interactive-status-info-soft: rgba(4, 78, 244, 0.08);
428
+ --interactive-link-default: #044EF4;
429
+ --interactive-link-hover: #F72A72;
430
+ --interactive-link-visited: #737371;
431
+ --interactive-toggle-track-off: #D4D4D2;
432
+ --interactive-toggle-track-on: #044EF4;
433
+ --interactive-toggle-thumb: #ffffff;
434
+ --interactive-skeleton-base: #F6F6F4;
435
+ --interactive-skeleton-shimmer: #ECECEA;
436
+ --interactive-tooltip-bg: #1A1A18;
437
+ --interactive-tooltip-text: #FBFBFA;
438
+ --interactive-dropdown-bg: #ffffff;
439
+ --interactive-dropdown-hover: #F6F6F4;
440
+ --interactive-dropdown-border: rgba(0, 0, 0, 0.1);
441
+ --interactive-dropdown-separator: rgba(0, 0, 0, 0.06);
442
+ --interactive-table-header-bg: #044EF4;
443
+ --interactive-table-header-text: #ffffff;
444
+ --interactive-table-row-hover: rgba(0, 0, 0, 0.02);
445
+ --interactive-table-border: rgba(0, 0, 0, 0.1);
446
+ --interactive-tab-default: #737371;
447
+ --interactive-tab-active: #F72A72;
448
+ --interactive-tab-hover: #1A1A18;
449
+ --interactive-tab-indicator: #044EF4;
450
+ }
451
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalwire/web-components",
3
- "version": "1.0.0-dev-20260428035205",
3
+ "version": "1.0.0-dev-20260428141127",
4
4
  "description": "UI components library built with Lit",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -78,7 +78,8 @@
78
78
  },
79
79
  "./react": {
80
80
  "types": "./dist/react.d.ts"
81
- }
81
+ },
82
+ "./theme.css": "./dist/theme.css"
82
83
  },
83
84
  "files": [
84
85
  "dist"
@@ -86,7 +87,8 @@
86
87
  "scripts": {
87
88
  "dev": "vite",
88
89
  "dev:test": "vite --port 3000",
89
- "build": "vite build && tsc --project tsconfig.build.json && cp src/react.d.ts dist/",
90
+ "build": "vite build && vite build --config vite.embed.config.ts && tsc --project tsconfig.build.json && cp src/react.d.ts dist/ && cp src/theme.css dist/theme.css && vite build --config vite.stories.config.ts",
91
+ "build:stories": "vite build --config vite.stories.config.ts",
90
92
  "preview": "vite preview",
91
93
  "type-check": "tsc --noEmit",
92
94
  "lint": "eslint src --ext .ts",
@@ -115,12 +117,13 @@
115
117
  "rxjs": "^7.8.2"
116
118
  },
117
119
  "peerDependencies": {
118
- "@signalwire/js": "4.0.0-dev-20260428035205"
120
+ "@signalwire/js": "4.0.0-dev-20260428141127"
119
121
  },
120
122
  "devDependencies": {
121
123
  "@playwright/test": "^1.56.1",
122
124
  "@types/node": "^20.19.24",
123
125
  "@typescript-eslint/eslint-plugin": "^8.46.3",
126
+ "@vaadin/router": "^2.0.1",
124
127
  "@vitest/coverage-v8": "^3.2.4",
125
128
  "eslint": "^9.39.1",
126
129
  "happy-dom": "^20.4.0",