@contember/react-devbar 2.0.0-alpha.9 → 2.0.0-beta.2

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.
Files changed (64) hide show
  1. package/dist/development/src/DevErrorManager.cjs.map +1 -1
  2. package/dist/development/src/DevErrorManager.js.map +1 -1
  3. package/dist/development/src/errorHandling.cjs.map +1 -1
  4. package/dist/development/src/errorHandling.js.map +1 -1
  5. package/dist/development/src/hooks/useParsedStacktrace.cjs +6 -1
  6. package/dist/development/src/hooks/useParsedStacktrace.cjs.map +1 -1
  7. package/dist/development/src/hooks/useParsedStacktrace.js +6 -1
  8. package/dist/development/src/hooks/useParsedStacktrace.js.map +1 -1
  9. package/dist/development/src/ui/DevBar/DevBar.cjs +128 -174
  10. package/dist/development/src/ui/DevBar/DevBar.cjs.map +1 -1
  11. package/dist/development/src/ui/DevBar/DevBar.js +130 -176
  12. package/dist/development/src/ui/DevBar/DevBar.js.map +1 -1
  13. package/dist/development/src/ui/DevError/DevError.cjs +5 -5
  14. package/dist/development/src/ui/DevError/DevError.cjs.map +1 -1
  15. package/dist/development/src/ui/DevError/DevError.js +5 -5
  16. package/dist/development/src/ui/DevError/DevError.js.map +1 -1
  17. package/dist/development/src/ui/DevError/DevErrorInner.cjs +1 -1
  18. package/dist/development/src/ui/DevError/DevErrorInner.cjs.map +1 -1
  19. package/dist/development/src/ui/DevError/DevErrorInner.js +1 -1
  20. package/dist/development/src/ui/DevError/DevErrorInner.js.map +1 -1
  21. package/dist/development/src/ui/DevError/DevErrorList.cjs +28 -17
  22. package/dist/development/src/ui/DevError/DevErrorList.cjs.map +1 -1
  23. package/dist/development/src/ui/DevError/DevErrorList.js +28 -17
  24. package/dist/development/src/ui/DevError/DevErrorList.js.map +1 -1
  25. package/dist/development/src/ui/DevError/StackTrace.cjs.map +1 -1
  26. package/dist/development/src/ui/DevError/StackTrace.js.map +1 -1
  27. package/dist/production/src/errorHandling.cjs.map +1 -1
  28. package/dist/production/src/errorHandling.js.map +1 -1
  29. package/dist/production/src/hooks/useParsedStacktrace.cjs +6 -1
  30. package/dist/production/src/hooks/useParsedStacktrace.cjs.map +1 -1
  31. package/dist/production/src/hooks/useParsedStacktrace.js +6 -1
  32. package/dist/production/src/hooks/useParsedStacktrace.js.map +1 -1
  33. package/dist/production/src/ui/DevBar/DevBar.cjs +74 -112
  34. package/dist/production/src/ui/DevBar/DevBar.cjs.map +1 -1
  35. package/dist/production/src/ui/DevBar/DevBar.js +77 -115
  36. package/dist/production/src/ui/DevBar/DevBar.js.map +1 -1
  37. package/dist/production/src/ui/DevError/DevError.cjs.map +1 -1
  38. package/dist/production/src/ui/DevError/DevError.js.map +1 -1
  39. package/dist/production/src/ui/DevError/DevErrorBadge.cjs.map +1 -1
  40. package/dist/production/src/ui/DevError/DevErrorBadge.js.map +1 -1
  41. package/dist/production/src/ui/DevError/DevErrorInner.cjs +1 -1
  42. package/dist/production/src/ui/DevError/DevErrorInner.cjs.map +1 -1
  43. package/dist/production/src/ui/DevError/DevErrorInner.js +1 -1
  44. package/dist/production/src/ui/DevError/DevErrorInner.js.map +1 -1
  45. package/dist/production/src/ui/DevError/DevErrorList.cjs +11 -4
  46. package/dist/production/src/ui/DevError/DevErrorList.cjs.map +1 -1
  47. package/dist/production/src/ui/DevError/DevErrorList.js +11 -4
  48. package/dist/production/src/ui/DevError/DevErrorList.js.map +1 -1
  49. package/dist/production/src/ui/DevError/StackTrace.cjs.map +1 -1
  50. package/dist/production/src/ui/DevError/StackTrace.js.map +1 -1
  51. package/dist/types/hooks/useParsedStacktrace.d.ts +1 -1
  52. package/dist/types/hooks/useParsedStacktrace.d.ts.map +1 -1
  53. package/dist/types/tsconfig.tsbuildinfo +1 -1
  54. package/dist/types/ui/DevBar/DevBar.d.ts +5 -4
  55. package/dist/types/ui/DevBar/DevBar.d.ts.map +1 -1
  56. package/dist/types/ui/DevError/DevError.d.ts.map +1 -1
  57. package/dist/types/ui/DevError/DevErrorList.d.ts.map +1 -1
  58. package/package.json +7 -6
  59. package/src/hooks/useParsedStacktrace.ts +6 -1
  60. package/src/index.css +290 -227
  61. package/src/ui/DevBar/DevBar.tsx +72 -97
  62. package/src/ui/DevError/DevError.tsx +0 -1
  63. package/src/ui/DevError/DevErrorInner.tsx +1 -1
  64. package/src/ui/DevError/DevErrorList.tsx +14 -5
package/src/index.css CHANGED
@@ -1,385 +1,448 @@
1
1
  .cui-devBar {
2
- align-items: center;
3
- bottom: 0;
4
- display: flex;
5
- flex-direction: column;
6
- position: fixed;
7
- z-index: 1000;
8
- left: 0;
9
- right: 0;
10
- opacity: 1;
11
- padding: 1rem;
12
- transition-property: opacity, transform;
13
- transition-duration: 200ms;
14
- transition-timing-function: ease-in-out;
2
+ align-items: center;
3
+ bottom: 0;
4
+ display: flex;
5
+ flex-direction: column;
6
+ position: fixed;
7
+ z-index: 50;
8
+ left: 0;
9
+ right: 0;
10
+ opacity: 1;
11
+ padding: 1rem;
12
+ transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
15
13
  }
16
14
 
17
15
  .cui-devBar-content,
18
16
  .cui-devBar-panel-content {
19
- background: #eee;
20
- color: #002251;
17
+ background-color: hsl(0, 0%, 15%);
18
+ color: hsl(0, 0%, 90%);
21
19
  }
22
20
 
23
21
  .cui-devBar-content {
24
- align-self: center;
25
- align-items: center;
26
- border-radius: 1rem;
27
- box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
28
- display: flex;
29
- gap: 1rem;
30
- padding: 0.5rem;
31
- margin: 0 auto;
22
+ align-self: center;
23
+ align-items: center;
24
+ border-radius: 0.75rem;
25
+ box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
26
+ display: flex;
27
+ gap: 0.75rem;
28
+ padding: 0.35rem;
29
+ margin: 0 auto;
30
+ border: 1px solid hsl(0 0 85);
32
31
  }
33
32
 
34
-
35
33
  .cui-devBar-close,
36
34
  .cui-devBar-trigger-label,
37
35
  .cui-devBar-brand {
38
- align-items: center;
39
- height: 2rem;
40
- border-radius: 0.5rem;
41
- justify-content: center;
42
- max-height: 2rem;
43
- min-height: 2rem;
44
- white-space: nowrap;
36
+ align-items: center;
37
+ height: 2.5rem;
38
+ border-radius: 0.5rem;
39
+ justify-content: center;
40
+ max-height: 2.5rem;
41
+ min-height: 2.5rem;
42
+ white-space: nowrap;
45
43
  }
46
44
 
47
45
  .cui-devBar-close {
48
- background: transparent;
49
- cursor: pointer;
50
- display: flex;
51
- max-width: 2rem;
52
- width: 2rem;
53
- order: 999;
46
+ background: transparent;
47
+ cursor: pointer;
48
+ display: flex;
49
+ max-width: 2.5rem;
50
+ width: 2.5rem;
51
+ order: 999;
52
+ transition: background-color 200ms;
54
53
  }
55
54
 
55
+ .cui-devBar-close:hover {
56
+ background-color: hsl(0 0 96);
57
+ }
56
58
 
57
59
  .cui-devBar-brand {
58
- align-items: center;
59
- display: flex;
60
- gap: 1rem;
61
- text-align: right;
60
+ align-items: center;
61
+ display: flex;
62
+ gap: 0.75rem;
63
+ text-align: right;
62
64
  }
63
65
 
64
- .cui-devBar-brand svg {
65
- max-height: 2rem;
66
+ .cui-devBar-trigger-label {
67
+ align-items: center;
68
+ color: inherit;
69
+ cursor: pointer;
70
+ display: inline-flex;
71
+ font-weight: 500;
72
+ gap: 0.3rem;
73
+ padding: 0 0.75rem;
74
+ transition: background-color 200ms;
66
75
  }
67
76
 
68
-
69
- .cui-devBar-panels {
70
- display: flex;
71
- gap: 1rem;
77
+ .cui-devBar-trigger-label:hover {
78
+ background-color: hsl(0, 0%, 3%);
72
79
  }
73
80
 
74
- .cui-devBar-trigger {
75
- display: flex;
81
+ .cui-devBar-panel-content {
82
+ background: hsl(0 0 100);
83
+ border: 1px solid hsl(0 0 85);
84
+ box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
85
+ border-radius: 0.75rem;
86
+ display: flex;
87
+ min-width: min(20rem, 100%);
88
+ max-width: 100%;
89
+ flex-direction: column;
90
+ flex-shrink: 1;
76
91
  }
77
92
 
78
- .cui-devBar-trigger-label {
79
- align-items: center;
80
- color: inherit;
81
- cursor: pointer;
82
- display: inline-flex;
83
- font-weight: normal;
84
- gap: 0.3rem;
85
- padding: 0 0.2rem;
93
+ .cui-devBar-panel-content h2 {
94
+ font-weight: 600;
95
+ margin-bottom: 0;
96
+ border-radius: 0.75rem 0.75rem 0 0;
97
+ background: #f8f8f8;
86
98
  }
87
99
 
88
- .cui-devBar-trigger-label:hover {
89
- background-color: #e0e0e0;
100
+ .cui-devBar-panel-body {
101
+ border-top: 1px solid hsl(0 0 85);
102
+ display: flex;
103
+ flex-direction: column;
104
+ gap: 1rem;
105
+ padding: 1.25rem;
106
+ color: hsl(0 0 10);
90
107
  }
91
108
 
92
-
93
109
  .cui-devBar-panel {
94
- justify-content: center;
95
- display: flex;
96
- flex-direction: row;
97
- gap: 1rem;
98
- left: 0;
99
- position: absolute;
100
- right: 0;
101
- bottom: 0;
102
- padding: 2rem;
103
- transform: translateY(-1rem);
110
+ padding: 0;
111
+ border: none;
112
+ border-radius: 0.75rem;
113
+ background: transparent;
104
114
  }
105
115
 
106
- .cui-devBar-trigger:not([data-expanded]) > .cui-devBar-panel {
107
- display: none;
116
+ .cui-devBar-panel::backdrop {
117
+ background: hsl(0 0 100 / 0.8);
108
118
  }
109
119
 
110
- .cui-devBar-panel-content {
111
- background: #fff;
112
- border: 1px solid #ccc;
113
- box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
114
- border-radius: 0.5rem;
115
- display: flex;
116
- min-width: min(20rem, 100%);
117
- max-width: 100%;
118
- flex-direction: column;
119
- flex-shrink: 1;
120
+ .cui-devBar-panel[open] {
121
+ animation: dialog-show 150ms cubic-bezier(0.16, 1, 0.3, 1);
120
122
  }
121
123
 
122
- .cui-devBar-panel-content h2 {
123
- font-weight: bold;
124
- margin-bottom: 0;
125
- padding: 0.4rem 1rem;
126
- border-radius: 0.5rem 0.5rem 0 0;
127
- background: #f8f8f8;
124
+ .cui-devBar-panel-header {
125
+ display: flex;
126
+ justify-content: space-between;
127
+ align-items: center;
128
+ padding: 0.75rem 1rem;
129
+ background: #f8f8f8;
130
+ border-radius: 0.75rem 0.75rem 0 0;
131
+ border-bottom: 1px solid hsl(0 0 85);
132
+ color: hsl(0 0 10);
128
133
  }
129
134
 
130
- @media screen and (min-width: 768px) {
131
- .cui-devBar-trigger {
132
- position: relative;
133
- }
135
+ .cui-devBar-close-button {
136
+ padding: 0.25rem 0.5rem;
137
+ background: transparent;
138
+ border: none;
139
+ border-radius: 0.375rem;
140
+ cursor: pointer;
141
+ font-size: 1.25rem;
142
+ line-height: 1;
143
+ color: hsl(0 0 10);
144
+ transition: background-color 200ms;
145
+ }
134
146
 
135
- .cui-devBar-panel-content {
136
- min-width: unset;
137
- max-width: unset;
138
- }
147
+ .cui-devBar-close-button:hover {
148
+ background-color: hsl(0 0 90);
149
+ }
139
150
 
140
- .cui-devBar-panel-body {
141
- min-width: 20rem;
142
- }
151
+ @keyframes dialog-show {
152
+ from {
153
+ opacity: 0;
154
+ transform: translateY(10px);
155
+ }
156
+ to {
157
+ opacity: 1;
158
+ transform: translateY(0);
159
+ }
143
160
  }
144
161
 
145
- .cui-devBar-panel-body {
146
- border-top: 1px solid #ccc;
147
- display: flex;
148
- flex-direction: column;
149
- gap: 1rem;
150
- padding: 1rem;
162
+ /* Media Queries */
163
+ @media screen and (min-width: 768px) {
164
+ .cui-devBar-trigger {
165
+ position: relative;
166
+ }
167
+
168
+ .cui-devBar-panel-content {
169
+ min-width: unset;
170
+ max-width: unset;
171
+ }
172
+
173
+ .cui-devBar-panel-body {
174
+ min-width: 20rem;
175
+ }
151
176
  }
152
177
 
178
+ /* Hidden States */
153
179
  .cui-devBar:not([data-expanded]) {
154
- transform: translateY(2rem);
155
- opacity: 0;
156
- max-width: 5rem;
157
- margin: auto;
180
+ transform: translateY(2rem);
181
+ opacity: 0;
182
+ max-width: 5rem;
183
+ margin: auto;
158
184
  }
159
185
 
160
-
161
186
  .cui-devBar:not([data-expanded]):hover,
162
187
  .cui-devBar:not([data-expanded]):focus-within {
163
- transform: unset;
164
- opacity: unset;
188
+ transform: unset;
189
+ opacity: 1;
165
190
  }
166
191
 
167
192
  [id^="dev-bar-panel"]:not([data-expanded]) > * {
168
- display: none;
193
+ display: none;
169
194
  }
170
195
 
171
196
  .cui-devBar-panel .cui-table-wrapper {
172
- overflow: auto;
197
+ overflow: auto;
173
198
  }
174
199
 
175
200
 
201
+ /* Error styles */
176
202
  .cui-devError {
177
- position: absolute;
178
- top: 0;
179
- right: 0;
180
- bottom: 0;
181
- left: 0;
182
- width: 100vw;
183
- height: 100vh;
184
- z-index: 99;
185
- display: flex;
186
- justify-content: center;
187
- align-items: flex-start;
188
- background: rgba(212, 212, 212, 0.66);
189
- font-family: Poppins, Roboto, sans-serif;
203
+ position: fixed;
204
+ inset: 0;
205
+ width: 100vw;
206
+ height: 100vh;
207
+ z-index: 50;
208
+ display: flex;
209
+ justify-content: center;
210
+ align-items: flex-start;
211
+ background: rgba(212, 212, 212, 0.66);
212
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
190
213
  }
191
214
 
192
215
  .cui-devError-in {
193
- z-index: 100;
194
- width: 100%;
195
- height: 100%;
196
- color: #333;
197
- background: #222;
198
- box-shadow: 3px 3px 10px rgba(50, 50, 50, 0.5);
199
- display: flex;
200
- flex-direction: column;
201
- overflow: auto;
216
+ z-index: 51;
217
+ width: 100%;
218
+ height: 100%;
219
+ color: #333333;
220
+ background: #222222;
221
+ box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
222
+ display: flex;
223
+ flex-direction: column;
224
+ overflow: hidden;
202
225
  }
203
226
 
204
227
  .cui-devError-header {
205
- background: #CD1818;
206
- color: #FFF;
207
- padding: 0.5em 1em;
228
+ position: sticky;
229
+ top: 0;
230
+ background: #cd1818;
231
+ color: #ffffff;
232
+ padding: 0.5em 1em;
233
+ border-bottom: 1px solid #980a0a;
234
+ }
235
+
236
+ .cui-devError-content {
237
+ overflow: auto;
208
238
  }
209
239
 
210
240
  .cui-devError-errorMessage,
211
241
  .cui-devError-errorName,
212
242
  .cui-devError-errorDetails {
213
- margin: 0;
214
- flex: 0 0 auto;
215
- font-weight: 300;
216
- white-space: pre-wrap;
217
- overflow-wrap: break-word;
218
- line-height: 130%;
243
+ margin: 0;
244
+ flex: 0 0 auto;
245
+ font-weight: 400;
246
+ white-space: pre-wrap;
247
+ overflow-wrap: break-word;
248
+ line-height: 1.5;
219
249
  }
220
250
 
221
251
  .cui-devError-errorMessage {
222
- font-family: monospace;
223
- margin-top: 0.5em;
224
- font-size: 1.7em;
252
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
253
+ margin-top: 0.75rem;
254
+ font-size: 1.25rem;
225
255
  }
226
256
 
227
257
  .cui-devError-errorDetails {
228
- font-family: monospace;
229
- margin-top: 0.5em;
230
- font-size: 1em;
231
- white-space: pre;
232
- overflow-x: scroll;
258
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
259
+ margin-top: 0.75rem;
260
+ font-size: 0.875rem;
261
+ white-space: pre;
233
262
  }
234
263
 
235
264
  .cui-devError-causeLink {
236
- color: #FFCC00;
237
- text-decoration: underline;
265
+ color: #ffcc00;
266
+ text-decoration: underline;
267
+ text-underline-offset: 4px;
238
268
  }
239
269
 
240
270
  .cui-devError-stack {
241
- flex: 1 1 auto;
271
+ flex: 1 1 auto;
242
272
  }
243
273
 
244
274
  .cui-devError-stack-dump {
245
- color: #fff;
246
- margin-top: 1em;
247
- padding: 1em;
248
- white-space: pre-wrap;
275
+ color: #ffffff;
276
+ margin-top: 1rem;
277
+ padding: 1rem;
278
+ white-space: pre-wrap;
279
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
280
+ font-size: 0.875rem;
249
281
  }
250
282
 
251
283
  .cui-devError-bar {
252
- padding: 0.2em 0.2em 0.2em 1em;
253
- background: #ac1616;
254
- color: #eee;
255
- display: flex;
284
+ padding: 0.5rem 0.5rem 0.5rem 1rem;
285
+ background: #ac1616;
286
+ color: #eeeeee;
287
+ display: flex;
288
+ align-items: center;
256
289
  }
257
290
 
258
291
  .cui-devError-causedBy {
259
- padding: 0.2em 0.2em 0.2em 1em;
260
- background: #FFCC00;
261
- color: #000;
262
- display: flex;
292
+ padding: 0.5rem 0.5rem 0.5rem 1rem;
293
+ background: #ffcc00;
294
+ color: #000000;
295
+ display: flex;
296
+ align-items: center;
263
297
  }
264
298
 
265
299
  .cui-devError-actions {
266
- margin-left: auto;
267
- display: flex;
300
+ margin-left: auto;
301
+ display: flex;
302
+ gap: 0.5rem;
268
303
  }
269
304
 
270
305
  .cui-devError-actions .cui-button {
271
- color: #fff;
272
- border-color: #cbcbcb;
306
+ color: #ffffff;
307
+ border-color: #cbcbcb;
308
+ padding: 0.5rem 1rem;
309
+ border-radius: 0.375rem;
310
+ font-weight: 500;
311
+ transition: all 200ms;
273
312
  }
274
313
 
275
314
  .cui-devError-actions .cui-button:hover {
276
- color: #fff;
315
+ color: #ffffff;
277
316
  }
278
317
 
279
318
  .cui-devError-close {
280
- margin-left: 1em;
319
+ margin-left: 1rem;
281
320
  }
282
321
 
283
322
  .cui-devError-close .cui-button {
284
- border-color: transparent;
323
+ border-color: transparent;
285
324
  }
286
325
 
287
326
  .cui-devError-switcher {
288
- display: flex;
289
- align-items: center;
290
- margin-left: 2em;
327
+ display: flex;
328
+ align-items: center;
329
+ margin-left: 2rem;
330
+ gap: 0.75rem;
291
331
  }
292
332
 
293
-
294
333
  .cui-devError-switcherButtons {
295
- display: flex;
296
- align-items: center;
297
- gap: 0.5em;
334
+ display: flex;
335
+ align-items: center;
336
+ gap: 0.5rem;
298
337
  }
299
338
 
300
339
  .cui-devError-closeButton,
301
340
  .cui-devError-switcherButton {
302
- border: 1px solid #cbcbcb;
303
- border-radius: 0.2em;
304
- padding: 0.2em 0.5em;
341
+ border: 1px solid #cbcbcb;
342
+ border-radius: 0.375rem;
343
+ padding: 0.375rem 0.75rem;
344
+ font-size: 0.875rem;
345
+ font-weight: 500;
346
+ transition: all 200ms;
347
+ background: transparent;
305
348
  }
306
349
 
307
- .cui-devError-errorCount {
308
- margin: 0;
309
- margin-right: 0.5em;
350
+ .cui-devError-closeButton:hover,
351
+ .cui-devError-switcherButton:hover {
352
+ border-color: #910f0f;
353
+ background: #910f0f;
310
354
  }
311
355
 
312
- .cui-devError-stackFrame {
313
- font-family: monospace;
356
+ .cui-devError-errorCount {
357
+ margin: 0;
358
+ margin-right: 0.75rem;
359
+ font-weight: 500;
314
360
  }
315
361
 
316
- .cui-devError-stackFrame:last-child {
317
- border-bottom: 1px solid #666;
362
+ /* Stack Frame Styles */
363
+ .cui-devError-stackFrame {
364
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
365
+ border-bottom: 1px solid #666666;
318
366
  }
319
367
 
320
368
  .cui-devError-stackFrameHeader {
321
- display: flex;
322
- padding: 0.5em 1em;
323
- background: #333;
324
- color: #fff;
325
- border-bottom: 1px solid #666;
326
- border-top: 1px solid #666;
369
+ display: flex;
370
+ padding: 0.75rem 1rem;
371
+ background: #333333;
372
+ color: #ffffff;
373
+ border-bottom: 1px solid #666666;
327
374
  }
328
375
 
329
376
  .cui-devError-stackFrameSource {
330
- margin-left: 0.2em;
377
+ margin-left: 0.5rem;
378
+ color: hsl(0, 0%, 88%);
331
379
  }
332
380
 
333
381
  .cui-devError-stackFrameCallee {
334
- margin-left: 1em;
335
- color: #a4ffa4;
382
+ margin-left: 1rem;
383
+ color: #a4ffa4
336
384
  }
337
385
 
338
386
  .cui-devError-stackFrameCode {
339
- background: #222;
340
- color: #D5D5D5;
387
+ background: #222222;
388
+ color: #d5d5d5;
341
389
  }
342
390
 
343
391
  .cui-devError-stackFrameLine {
344
- display: flex;
392
+ display: flex;
393
+ transition: all 200ms;
345
394
  }
346
395
 
347
396
  .cui-devError-stackFrameLine.is-active {
348
- color: #fff;
349
- background: #CD1818;
397
+ color: hsl(0, 0%, 100%);
398
+ background: hsl(0, 79%, 45%);
350
399
  }
351
400
 
352
401
  .cui-devError-stackFrameLine.is-active .cui-devError-stackFrameLineNumber {
353
- color: #fff;
402
+ color: hsl(0, 0%, 100%);
354
403
  }
355
404
 
356
405
  .cui-devError-stackFrameLineNumber {
357
- color: #888;
358
- flex: 0 0 50px;
359
- text-align: right;
360
- padding: 0.2em;
406
+ color: hsl(0, 0%, 53%);
407
+ flex: 0 0 50px;
408
+ text-align: right;
409
+ padding: 0.375rem;
410
+ user-select: none;
361
411
  }
362
412
 
363
413
  .cui-devError-stackFrameLineCode {
364
- padding: 0.2em 1em;
365
- white-space: pre-wrap;
366
- tab-size: 4;
414
+ padding: 0.375rem 1rem;
415
+ white-space: pre-wrap;
416
+ tab-size: 4;
367
417
  }
368
418
 
419
+ /* Error Badge Styles */
420
+ .cui-devErrorBadge {
421
+ position: fixed;
422
+ bottom: 1.25rem;
423
+ left: 1.25rem;
424
+ z-index: 50;
425
+ }
426
+
427
+ .cui-devErrorBadge-button {
428
+ display: inline-flex;
429
+ align-items: center;
430
+ background: hsl(0, 79%, 45%);
431
+ color: hsl(0, 0%, 100%);
432
+ font-weight: 600;
433
+ box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
434
+ border-radius: 0.75rem;
435
+ padding: 0.75rem 1.5rem;
436
+ cursor: pointer;
437
+ transition: all 200ms;
438
+ }
369
439
 
370
- :where(.cui-devErrorBadge) {
371
- position: fixed;
372
- bottom: 20px;
373
- left: 20px;
440
+ .cui-devErrorBadge-button:hover {
441
+ background: hsl(0, 79%, 45%);
442
+ color: hsl(0, 0%, 100%);
443
+ transform: translateY(-1px);
374
444
  }
375
445
 
376
- :where(.cui-devErrorBadge-button) {
377
- display: block;
378
- background: #CD1818;
379
- color: #fff;
380
- font-weight: 600;
381
- box-shadow: 3px 3px 7px rgba(50, 50, 50, 0.5);
382
- border-radius: 10px;
383
- padding: 1em 2em;
384
- cursor: pointer;
446
+ .cui-devError-body {
447
+ overflow: hidden;
385
448
  }