@yumiai/chat-widget 0.1.2 → 0.2.1

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 (107) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/README.md +119 -22
  3. package/dist/ExcelCore-DJOIVQMI.js +11 -0
  4. package/dist/ExcelCore-DJOIVQMI.js.map +1 -0
  5. package/dist/ExcelViewer-3YLLYYIQ.js +65 -0
  6. package/dist/ExcelViewer-3YLLYYIQ.js.map +1 -0
  7. package/dist/GerberViewerA2UI-7CNT7HX4.css +693 -0
  8. package/dist/GerberViewerA2UI-7CNT7HX4.css.map +1 -0
  9. package/dist/GerberViewerA2UI-X5FWAD5M.js +57 -0
  10. package/dist/GerberViewerA2UI-X5FWAD5M.js.map +1 -0
  11. package/dist/GraphStatsLegend-D5bPeXB_.d.cts +607 -0
  12. package/dist/GraphStatsLegend-D5bPeXB_.d.ts +607 -0
  13. package/dist/JsonRenderStandalone-EIZM62JU.js +18 -0
  14. package/dist/JsonRenderStandalone-EIZM62JU.js.map +1 -0
  15. package/dist/JsonRenderStandalone-POB4Q3N3.css +2384 -0
  16. package/dist/JsonRenderStandalone-POB4Q3N3.css.map +1 -0
  17. package/dist/JsonRenderStandalone-UsTcST4G.d.cts +23 -0
  18. package/dist/JsonRenderStandalone-UsTcST4G.d.ts +23 -0
  19. package/dist/KicadViewer-GV6ZC4AQ.js +124 -0
  20. package/dist/KicadViewer-GV6ZC4AQ.js.map +1 -0
  21. package/dist/KicadViewerCore-U7BWZHKJ.js +11 -0
  22. package/dist/KicadViewerCore-U7BWZHKJ.js.map +1 -0
  23. package/dist/PdfViewer-CHPDRK46.js +51 -0
  24. package/dist/PdfViewer-CHPDRK46.js.map +1 -0
  25. package/dist/PdfViewer-LPYGQETK.css +1899 -0
  26. package/dist/PdfViewer-LPYGQETK.css.map +1 -0
  27. package/dist/PdfViewerCore-HJPEHSRA.js +364 -0
  28. package/dist/PdfViewerCore-HJPEHSRA.js.map +1 -0
  29. package/dist/PowerPointCore-FPDR2BL4.js +11 -0
  30. package/dist/PowerPointCore-FPDR2BL4.js.map +1 -0
  31. package/dist/PowerPointViewer-LQTO6UCU.js +61 -0
  32. package/dist/PowerPointViewer-LQTO6UCU.js.map +1 -0
  33. package/dist/StepViewerCore-7W3L3R4E.js +285 -0
  34. package/dist/StepViewerCore-7W3L3R4E.js.map +1 -0
  35. package/dist/ThreeViewerCore-N3QJD5QI.js +161 -0
  36. package/dist/ThreeViewerCore-N3QJD5QI.js.map +1 -0
  37. package/dist/WordCore-JKSXK2XD.js +11 -0
  38. package/dist/WordCore-JKSXK2XD.js.map +1 -0
  39. package/dist/WordViewer-ZHCQMHOH.js +61 -0
  40. package/dist/WordViewer-ZHCQMHOH.js.map +1 -0
  41. package/dist/chunk-2SKA3F5U.js +88 -0
  42. package/dist/chunk-2SKA3F5U.js.map +1 -0
  43. package/dist/chunk-2UC7YLVX.js +318 -0
  44. package/dist/chunk-2UC7YLVX.js.map +1 -0
  45. package/dist/chunk-3R6T3LBR.js +24 -0
  46. package/dist/chunk-3R6T3LBR.js.map +1 -0
  47. package/dist/chunk-56WRZM3R.js +398 -0
  48. package/dist/chunk-56WRZM3R.js.map +1 -0
  49. package/dist/chunk-7A4FY6FK.js +10226 -0
  50. package/dist/chunk-7A4FY6FK.js.map +1 -0
  51. package/dist/chunk-7D4SUZUM.js +38 -0
  52. package/dist/chunk-7D4SUZUM.js.map +1 -0
  53. package/dist/chunk-7S67DOHQ.js +436 -0
  54. package/dist/chunk-7S67DOHQ.js.map +1 -0
  55. package/dist/chunk-CFKGNAJM.js +14013 -0
  56. package/dist/chunk-CFKGNAJM.js.map +1 -0
  57. package/dist/chunk-GAMA3VA7.js +99 -0
  58. package/dist/chunk-GAMA3VA7.js.map +1 -0
  59. package/dist/chunk-GYXTSY22.js +639 -0
  60. package/dist/chunk-GYXTSY22.js.map +1 -0
  61. package/dist/chunk-K4KGNVL5.js +77 -0
  62. package/dist/chunk-K4KGNVL5.js.map +1 -0
  63. package/dist/chunk-KQV7IKET.js +1621 -0
  64. package/dist/chunk-KQV7IKET.js.map +1 -0
  65. package/dist/chunk-O3NXUM6C.js +1871 -0
  66. package/dist/chunk-O3NXUM6C.js.map +1 -0
  67. package/dist/chunk-PZXSASDY.js +83 -0
  68. package/dist/chunk-PZXSASDY.js.map +1 -0
  69. package/dist/chunk-QLVPIM6R.js +595 -0
  70. package/dist/chunk-QLVPIM6R.js.map +1 -0
  71. package/dist/chunk-VXJWGLZ7.js +21 -0
  72. package/dist/chunk-VXJWGLZ7.js.map +1 -0
  73. package/dist/chunk-XQ562W7I.js +116 -0
  74. package/dist/chunk-XQ562W7I.js.map +1 -0
  75. package/dist/components/JsonRender/standalone.cjs +39368 -0
  76. package/dist/components/JsonRender/standalone.cjs.map +1 -0
  77. package/dist/components/JsonRender/standalone.css +2384 -0
  78. package/dist/components/JsonRender/standalone.css.map +1 -0
  79. package/dist/components/JsonRender/standalone.d.cts +16 -0
  80. package/dist/components/JsonRender/standalone.d.ts +16 -0
  81. package/dist/components/JsonRender/standalone.js +38 -0
  82. package/dist/components/JsonRender/standalone.js.map +1 -0
  83. package/dist/gerber-2d-entry-OQ4SQRBY.js +3950 -0
  84. package/dist/gerber-2d-entry-OQ4SQRBY.js.map +1 -0
  85. package/dist/gerber-3d-entry-DEHDBOO2.js +3679 -0
  86. package/dist/gerber-3d-entry-DEHDBOO2.js.map +1 -0
  87. package/dist/gerber-simulation-entry-EBDX72XE.js +1801 -0
  88. package/dist/gerber-simulation-entry-EBDX72XE.js.map +1 -0
  89. package/dist/index.cjs +60113 -2970
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.css +11342 -1708
  92. package/dist/index.css.map +1 -1
  93. package/dist/index.d.cts +3275 -77
  94. package/dist/index.d.ts +3275 -77
  95. package/dist/index.js +18078 -2540
  96. package/dist/index.js.map +1 -1
  97. package/dist/provenance/index.cjs +2248 -0
  98. package/dist/provenance/index.cjs.map +1 -0
  99. package/dist/provenance/index.css +52 -0
  100. package/dist/provenance/index.css.map +1 -0
  101. package/dist/provenance/index.d.cts +12 -0
  102. package/dist/provenance/index.d.ts +12 -0
  103. package/dist/provenance/index.js +27 -0
  104. package/dist/provenance/index.js.map +1 -0
  105. package/dist/resolveToArrayBuffer-AQIDZHSQ.js +23 -0
  106. package/dist/resolveToArrayBuffer-AQIDZHSQ.js.map +1 -0
  107. package/package.json +98 -17
@@ -0,0 +1,693 @@
1
+ /* src/components/jetPaveGerberViewer/src/styles/page-2d.css */
2
+ .layout-2d-mount {
3
+ width: 100%;
4
+ height: 100%;
5
+ position: relative;
6
+ }
7
+ .layout-2d-error {
8
+ color: var(--ycw-color-error, #dc3545);
9
+ padding: 16px;
10
+ text-align: center;
11
+ font-size: 14px;
12
+ }
13
+ .layout-2d * {
14
+ margin: 0;
15
+ padding: 0;
16
+ box-sizing: border-box;
17
+ }
18
+ .layout-2d {
19
+ font-family:
20
+ -apple-system,
21
+ BlinkMacSystemFont,
22
+ "Segoe UI",
23
+ Roboto,
24
+ "Helvetica Neue",
25
+ Arial,
26
+ sans-serif;
27
+ width: 100%;
28
+ height: 100%;
29
+ }
30
+ .layout-2d .container {
31
+ margin: 0 auto;
32
+ max-width: calc(100% - 4px);
33
+ background: var(--ycw-color-bg-primary, #fff);
34
+ border-radius: 8px;
35
+ overflow: hidden;
36
+ display: flex;
37
+ flex-direction: column;
38
+ height: 100%;
39
+ min-height: 400px;
40
+ }
41
+ .layout-2d .controls {
42
+ padding: 8px 30px;
43
+ background: var(--ycw-color-bg-tertiary, #f8f9fa);
44
+ border-bottom: 1px solid var(--ycw-color-border, #e9ecef);
45
+ display: flex;
46
+ gap: 20px;
47
+ align-items: center;
48
+ flex-wrap: wrap;
49
+ flex-shrink: 0;
50
+ }
51
+ .layout-2d .controls[style*="display: none"] {
52
+ display: none !important;
53
+ }
54
+ .layout-2d .file-input-wrapper {
55
+ position: relative;
56
+ display: inline-block;
57
+ }
58
+ .layout-2d .file-input-wrapper input[type=file] {
59
+ position: absolute;
60
+ opacity: 0;
61
+ width: 100%;
62
+ height: 100%;
63
+ cursor: pointer;
64
+ }
65
+ .layout-2d .file-input-button {
66
+ display: inline-block;
67
+ padding: 6px 14px;
68
+ background: var(--ycw-color-primary, #009688);
69
+ color: var(--ycw-color-bg-primary, #fff);
70
+ border-radius: 4px;
71
+ cursor: pointer;
72
+ font-size: 12px;
73
+ transition: background 0.3s, opacity 0.2s;
74
+ }
75
+ .layout-2d .file-input-button:hover {
76
+ opacity: 0.85;
77
+ }
78
+ .layout-2d .file-info {
79
+ display: none;
80
+ flex-direction: column;
81
+ gap: 5px;
82
+ }
83
+ .layout-2d .file-info.active {
84
+ display: flex;
85
+ }
86
+ .layout-2d .file-name {
87
+ font-weight: bold;
88
+ color: var(--ycw-color-primary, #009688);
89
+ }
90
+ .layout-2d .status {
91
+ display: none;
92
+ padding: 4px 10px;
93
+ border-radius: 4px;
94
+ font-size: 12px;
95
+ }
96
+ .layout-2d .status.success {
97
+ color: #155724;
98
+ background: #d4edda;
99
+ display: block;
100
+ }
101
+ .layout-2d .status.error {
102
+ color: #721c24;
103
+ background: #f8d7da;
104
+ display: block;
105
+ }
106
+ .layout-2d .status.loading {
107
+ color: #0c5460;
108
+ background: #d1ecf1;
109
+ display: block;
110
+ }
111
+ .layout-2d .viewer {
112
+ display: flex;
113
+ flex-direction: column;
114
+ flex: 1;
115
+ min-height: 0;
116
+ overflow: hidden;
117
+ }
118
+ .layout-2d .viewer-title {
119
+ font-size: 1.5em;
120
+ margin-bottom: 20px;
121
+ color: var(--ycw-color-text-primary, #333);
122
+ flex-shrink: 0;
123
+ display: flex;
124
+ align-items: center;
125
+ }
126
+ .layout-2d .viewer-title-left {
127
+ display: flex;
128
+ align-items: center;
129
+ }
130
+ .layout-2d .viewer-title-actions {
131
+ display: flex;
132
+ gap: 10px;
133
+ margin-left: 10px;
134
+ }
135
+ .layout-2d .viewer-content {
136
+ display: flex;
137
+ gap: 10px;
138
+ align-items: stretch;
139
+ flex: 1;
140
+ min-height: 0;
141
+ }
142
+ .layout-2d .table-detail {
143
+ flex-shrink: 0;
144
+ width: 320px;
145
+ height: 100%;
146
+ background: var(--ycw-color-bg-tertiary, #f8f9fa);
147
+ border-radius: 8px;
148
+ border: 1px solid var(--ycw-color-border, #e9ecef);
149
+ overflow: hidden;
150
+ padding: 15px;
151
+ box-sizing: border-box;
152
+ }
153
+ .layout-2d .layer-list-container {
154
+ width: 220px;
155
+ height: 100%;
156
+ background: var(--ycw-color-bg-tertiary, #f8f9fa);
157
+ border: 1px solid var(--ycw-color-border, #e9ecef);
158
+ overflow: hidden;
159
+ flex-shrink: 0;
160
+ display: flex;
161
+ flex-direction: column;
162
+ }
163
+ .layout-2d .layer-list-title {
164
+ padding: 8px 10px;
165
+ background: var(--ycw-color-primary, #009688);
166
+ color: var(--ycw-color-bg-primary, #fff);
167
+ font-weight: 600;
168
+ font-size: 12px;
169
+ flex-shrink: 0;
170
+ }
171
+ .layout-2d .layer-list-header {
172
+ padding: 12px 0;
173
+ background: var(--ycw-color-bg-tertiary, #f8f9fa);
174
+ border-bottom: 1px solid var(--ycw-color-border, #e9ecef);
175
+ flex-shrink: 0;
176
+ }
177
+ .layout-2d .layer-toggle-all {
178
+ display: flex;
179
+ align-items: center;
180
+ cursor: pointer;
181
+ user-select: none;
182
+ padding-left: 26px;
183
+ }
184
+ .layout-2d .layer-toggle-all:hover {
185
+ opacity: 0.8;
186
+ }
187
+ .layout-2d .layer-toggle-all-label {
188
+ margin-left: 8px;
189
+ font-size: 12px;
190
+ color: var(--ycw-color-text-primary, #333);
191
+ font-weight: 500;
192
+ }
193
+ .layout-2d .layer-list {
194
+ flex: 1;
195
+ overflow-y: auto;
196
+ overflow-x: hidden;
197
+ min-height: 0;
198
+ }
199
+ .layout-2d .layer-item {
200
+ display: flex;
201
+ align-items: center;
202
+ padding: 0 15px;
203
+ line-height: 30px;
204
+ border-bottom: 1px solid var(--ycw-color-border, #e9ecef);
205
+ cursor: pointer;
206
+ transition: background 0.2s;
207
+ background: var(--ycw-color-bg-primary, #fff);
208
+ }
209
+ .layout-2d .layer-item .layer-index {
210
+ width: 26px;
211
+ }
212
+ .layout-2d .layer-item:hover {
213
+ background: var(--ycw-color-bg-hover, #f0f0f0);
214
+ }
215
+ .layout-2d .layer-item.disabled {
216
+ background: var(--ycw-color-bg-tertiary, #f5f5f5);
217
+ opacity: 0.6;
218
+ }
219
+ .layout-2d .layer-toggle {
220
+ width: 18px;
221
+ height: 18px;
222
+ border: 2px solid var(--ycw-color-primary, #009688);
223
+ border-radius: 4px;
224
+ cursor: pointer;
225
+ flex-shrink: 0;
226
+ position: relative;
227
+ background: var(--ycw-color-bg-primary, #fff);
228
+ transition: all 0.2s;
229
+ margin-right: 6px;
230
+ }
231
+ .layout-2d .layer-toggle.checked {
232
+ background: var(--ycw-color-primary, #009688);
233
+ }
234
+ .layout-2d .layer-toggle.checked::after {
235
+ content: "\2713";
236
+ position: absolute;
237
+ top: 50%;
238
+ left: 50%;
239
+ transform: translate(-50%, -50%);
240
+ color: white;
241
+ font-size: 12px;
242
+ font-weight: bold;
243
+ }
244
+ .layout-2d .layer-color {
245
+ width: 20px;
246
+ height: 20px;
247
+ border-radius: 4px;
248
+ margin-right: 8px;
249
+ border: 1px solid var(--ycw-color-border, #ddd);
250
+ flex-shrink: 0;
251
+ }
252
+ .layout-2d .layer-name {
253
+ flex: 1;
254
+ font-size: 12px;
255
+ color: var(--ycw-color-text-primary, #333);
256
+ font-weight: 500;
257
+ overflow: hidden;
258
+ text-overflow: ellipsis;
259
+ white-space: nowrap;
260
+ min-width: 0;
261
+ }
262
+ .layout-2d .webgl-canvas-container {
263
+ flex: 1;
264
+ height: 100%;
265
+ min-height: 0;
266
+ border-radius: 8px;
267
+ }
268
+ .layout-2d #canvas {
269
+ width: 100%;
270
+ height: 100%;
271
+ min-height: 0;
272
+ background: #000;
273
+ cursor: grab;
274
+ }
275
+ .layout-2d #canvas:active {
276
+ cursor: grabbing;
277
+ }
278
+ .layout-2d .loading-spinner {
279
+ display: inline-block;
280
+ width: 16px;
281
+ height: 16px;
282
+ border: 2px solid rgba(12, 84, 96, 0.3);
283
+ border-radius: 50%;
284
+ border-top-color: #0c5460;
285
+ animation: layout2d-spin 0.8s linear infinite;
286
+ margin-right: 8px;
287
+ vertical-align: middle;
288
+ }
289
+ @keyframes layout2d-spin {
290
+ to {
291
+ transform: rotate(360deg);
292
+ }
293
+ }
294
+ .layout-2d #loadingOverlay {
295
+ display: none;
296
+ position: fixed;
297
+ top: 0;
298
+ left: 0;
299
+ right: 0;
300
+ bottom: 0;
301
+ background: rgba(0, 0, 0, 0.5);
302
+ color: white;
303
+ z-index: 9999;
304
+ justify-content: center;
305
+ align-items: center;
306
+ font-size: 24px;
307
+ }
308
+ .layout-2d #loadingOverlay.active {
309
+ display: flex;
310
+ }
311
+ .layout-2d .viewer-action-btn {
312
+ font-size: 12px;
313
+ padding: 4px 10px;
314
+ background: var(--ycw-color-bg-primary, #fff);
315
+ border: 1px solid var(--ycw-color-border, #ddd);
316
+ border-radius: 4px;
317
+ cursor: pointer;
318
+ color: var(--ycw-color-text-secondary, #666);
319
+ transition: all 0.2s;
320
+ }
321
+ .layout-2d .viewer-action-btn:hover {
322
+ background: var(--ycw-color-bg-hover, #f0f0f0);
323
+ color: var(--ycw-color-text-primary, #333);
324
+ border-color: var(--ycw-color-border, #ccc);
325
+ }
326
+
327
+ /* src/components/jetPaveGerberViewer/src/styles/page-3d.css */
328
+ .layout-3d-mount {
329
+ width: 100%;
330
+ height: 100%;
331
+ position: relative;
332
+ }
333
+ .layout-3d {
334
+ position: relative;
335
+ width: 100%;
336
+ height: 100%;
337
+ margin: 0;
338
+ overflow: hidden;
339
+ font-family: sans-serif;
340
+ background: #000000;
341
+ }
342
+ .layout-3d .viewer3d-canvas-host {
343
+ position: absolute;
344
+ inset: 0;
345
+ z-index: 0;
346
+ pointer-events: auto;
347
+ }
348
+ .layout-3d #info {
349
+ position: absolute;
350
+ top: 10px;
351
+ left: 10px;
352
+ color: white;
353
+ background: rgba(0, 0, 0, 0.7);
354
+ padding: 10px;
355
+ border-radius: 5px;
356
+ pointer-events: none;
357
+ z-index: 100;
358
+ }
359
+ .layout-3d #gerber-3d-toolbar {
360
+ z-index: 200;
361
+ }
362
+ .layout-3d .btn {
363
+ background: var(--ycw-color-primary, #009688);
364
+ color: var(--ycw-color-bg-primary, #fff);
365
+ padding: 5px 12px;
366
+ border: none;
367
+ border-radius: 4px;
368
+ cursor: pointer;
369
+ font-size: 12px;
370
+ transition: opacity 0.2s;
371
+ }
372
+ .layout-3d .btn:hover {
373
+ opacity: 0.85;
374
+ }
375
+ .layout-3d #loading {
376
+ display: none;
377
+ position: absolute;
378
+ top: 0;
379
+ left: 0;
380
+ right: 0;
381
+ bottom: 0;
382
+ background: rgba(0, 0, 0, 0.5);
383
+ color: white;
384
+ z-index: 300;
385
+ justify-content: center;
386
+ align-items: center;
387
+ font-size: 24px;
388
+ }
389
+ .layout-3d #loading.active {
390
+ display: flex;
391
+ }
392
+ .layout-3d #layer-list {
393
+ position: absolute;
394
+ top: 10px;
395
+ right: 10px;
396
+ background: rgba(0, 0, 0, 0.7);
397
+ color: white;
398
+ padding: 10px;
399
+ border-radius: 5px;
400
+ max-height: 80%;
401
+ overflow-y: auto;
402
+ }
403
+ .layout-3d .layer-item {
404
+ margin: 5px 0;
405
+ font-size: 12px;
406
+ }
407
+ .layout-3d-error {
408
+ color: var(--ycw-color-error, #dc3545);
409
+ padding: 16px;
410
+ text-align: center;
411
+ font-size: 14px;
412
+ position: relative;
413
+ z-index: 500;
414
+ }
415
+
416
+ /* src/components/jetPaveGerberViewer/src/styles/page-simulation.css */
417
+ .layout-simulation-mount {
418
+ width: 100%;
419
+ height: 100%;
420
+ position: relative;
421
+ }
422
+ .layout-simulation * {
423
+ margin: 0;
424
+ padding: 0;
425
+ box-sizing: border-box;
426
+ }
427
+ .layout-simulation {
428
+ font-family:
429
+ -apple-system,
430
+ BlinkMacSystemFont,
431
+ "Segoe UI",
432
+ Roboto,
433
+ "Microsoft YaHei",
434
+ sans-serif;
435
+ background: var(--ycw-color-bg-secondary, #f5f5f5);
436
+ width: 100%;
437
+ height: 100%;
438
+ overflow: hidden;
439
+ }
440
+ .layout-simulation .container {
441
+ display: flex;
442
+ height: 100%;
443
+ background: var(--ycw-color-bg-primary, #fff);
444
+ }
445
+ .layout-simulation .control-panel {
446
+ width: 240px;
447
+ background: var(--ycw-color-bg-tertiary, #f8f9fa);
448
+ border-right: 1px solid var(--ycw-color-border, #e9ecef);
449
+ padding: 10px;
450
+ display: flex;
451
+ flex-direction: column;
452
+ gap: 10px;
453
+ flex-shrink: 0;
454
+ overflow: hidden;
455
+ }
456
+ .layout-simulation .panel-title {
457
+ font-size: 13px;
458
+ font-weight: 600;
459
+ color: var(--ycw-color-text-primary, #333);
460
+ padding-bottom: 8px;
461
+ border-bottom: 2px solid var(--ycw-color-primary, #009688);
462
+ }
463
+ .layout-simulation .control-group {
464
+ display: flex;
465
+ flex-direction: column;
466
+ gap: 6px;
467
+ }
468
+ .layout-simulation .control-row {
469
+ display: flex;
470
+ align-items: center;
471
+ justify-content: space-between;
472
+ gap: 6px;
473
+ }
474
+ .layout-simulation .control-label {
475
+ font-size: 12px;
476
+ color: var(--ycw-color-text-secondary, #555);
477
+ min-width: 50px;
478
+ }
479
+ .layout-simulation select {
480
+ flex: 1;
481
+ padding: 4px 8px;
482
+ border: 1px solid var(--ycw-color-border, #ddd);
483
+ border-radius: 4px;
484
+ background: var(--ycw-color-bg-primary, #fff);
485
+ color: var(--ycw-color-text-primary, #333);
486
+ font-size: 12px;
487
+ cursor: pointer;
488
+ }
489
+ .layout-simulation select:hover,
490
+ .layout-simulation select:focus {
491
+ border-color: var(--ycw-color-primary, #009688);
492
+ outline: none;
493
+ }
494
+ .layout-simulation .file-input-wrapper {
495
+ position: relative;
496
+ display: inline-block;
497
+ width: 100%;
498
+ }
499
+ .layout-simulation .file-input-wrapper input[type=file] {
500
+ position: absolute;
501
+ top: 0;
502
+ left: 0;
503
+ opacity: 0;
504
+ width: 100%;
505
+ height: 100%;
506
+ cursor: pointer;
507
+ z-index: 10;
508
+ }
509
+ .layout-simulation .file-input-button {
510
+ display: block;
511
+ padding: 6px 14px;
512
+ background: var(--ycw-color-primary, #009688);
513
+ color: var(--ycw-color-bg-primary, #fff);
514
+ border-radius: 4px;
515
+ cursor: pointer;
516
+ font-size: 12px;
517
+ text-align: center;
518
+ transition: opacity 0.2s;
519
+ }
520
+ .layout-simulation .file-input-button:hover {
521
+ opacity: 0.85;
522
+ }
523
+ .layout-simulation .btn {
524
+ padding: 5px 12px;
525
+ border: none;
526
+ border-radius: 4px;
527
+ font-size: 12px;
528
+ font-weight: 500;
529
+ cursor: pointer;
530
+ transition: all 0.2s ease;
531
+ width: 100%;
532
+ }
533
+ .layout-simulation .btn-success {
534
+ background: var(--ycw-color-primary, #009688);
535
+ color: var(--ycw-color-bg-primary, #fff);
536
+ }
537
+ .layout-simulation .btn-success:hover {
538
+ opacity: 0.85;
539
+ }
540
+ .layout-simulation .btn-secondary {
541
+ background: var(--ycw-color-text-tertiary, #6c757d);
542
+ color: var(--ycw-color-bg-primary, #fff);
543
+ }
544
+ .layout-simulation .btn-secondary:hover {
545
+ opacity: 0.85;
546
+ }
547
+ .layout-simulation .view-toggle {
548
+ display: flex;
549
+ gap: 0;
550
+ border-radius: 6px;
551
+ overflow: hidden;
552
+ border: 1px solid var(--ycw-color-border, #ddd);
553
+ }
554
+ .layout-simulation .view-toggle button {
555
+ flex: 1;
556
+ padding: 5px 8px;
557
+ border: none;
558
+ background: var(--ycw-color-bg-primary, #fff);
559
+ color: var(--ycw-color-text-secondary, #555);
560
+ font-size: 12px;
561
+ cursor: pointer;
562
+ transition: all 0.2s ease;
563
+ }
564
+ .layout-simulation .view-toggle button.active {
565
+ background: var(--ycw-color-primary, #009688);
566
+ color: var(--ycw-color-bg-primary, #fff);
567
+ }
568
+ .layout-simulation .view-toggle button:hover:not(.active) {
569
+ background: var(--ycw-color-bg-hover, #f0f0f0);
570
+ }
571
+ .layout-simulation .color-preview {
572
+ display: flex;
573
+ align-items: center;
574
+ gap: 8px;
575
+ flex: 1;
576
+ }
577
+ .layout-simulation .color-swatch {
578
+ width: 18px;
579
+ height: 18px;
580
+ border-radius: 4px;
581
+ border: 1px solid var(--ycw-color-border, #ccc);
582
+ flex-shrink: 0;
583
+ }
584
+ .layout-simulation .switch-row {
585
+ display: flex;
586
+ align-items: center;
587
+ justify-content: space-between;
588
+ }
589
+ .layout-simulation .switch {
590
+ position: relative;
591
+ width: 36px;
592
+ height: 20px;
593
+ }
594
+ .layout-simulation .switch input {
595
+ opacity: 0;
596
+ width: 0;
597
+ height: 0;
598
+ }
599
+ .layout-simulation .slider {
600
+ position: absolute;
601
+ cursor: pointer;
602
+ top: 0;
603
+ left: 0;
604
+ right: 0;
605
+ bottom: 0;
606
+ background-color: var(--ycw-color-text-quaternary, #ccc);
607
+ transition: 0.3s;
608
+ border-radius: 20px;
609
+ }
610
+ .layout-simulation .slider:before {
611
+ position: absolute;
612
+ content: "";
613
+ height: 14px;
614
+ width: 14px;
615
+ left: 3px;
616
+ bottom: 3px;
617
+ background-color: var(--ycw-color-bg-primary, #fff);
618
+ transition: 0.3s;
619
+ border-radius: 50%;
620
+ }
621
+ .layout-simulation input:checked + .slider {
622
+ background-color: var(--ycw-color-primary, #009688);
623
+ }
624
+ .layout-simulation input:checked + .slider:before {
625
+ transform: translateX(16px);
626
+ }
627
+ .layout-simulation .main-view {
628
+ flex: 1;
629
+ display: flex;
630
+ flex-direction: column;
631
+ background: var(--ycw-color-bg-primary, #fff);
632
+ }
633
+ .layout-simulation .canvas-container {
634
+ flex: 1;
635
+ position: relative;
636
+ overflow: hidden;
637
+ display: flex;
638
+ align-items: center;
639
+ justify-content: center;
640
+ background: #1a1a1a;
641
+ }
642
+ .layout-simulation #simulationCanvas {
643
+ cursor: grab;
644
+ }
645
+ .layout-simulation #simulationCanvas:active {
646
+ cursor: grabbing;
647
+ }
648
+ .layout-simulation .loading-overlay {
649
+ position: absolute;
650
+ top: 0;
651
+ left: 0;
652
+ right: 0;
653
+ bottom: 0;
654
+ background: rgba(0, 0, 0, 0.8);
655
+ display: flex;
656
+ align-items: center;
657
+ justify-content: center;
658
+ flex-direction: column;
659
+ gap: 15px;
660
+ z-index: 100;
661
+ }
662
+ .layout-simulation .loading-overlay.hidden {
663
+ display: none;
664
+ }
665
+ .layout-simulation .spinner {
666
+ width: 40px;
667
+ height: 40px;
668
+ border: 3px solid var(--ycw-color-text-quaternary, #444);
669
+ border-top-color: var(--ycw-color-primary, #009688);
670
+ border-radius: 50%;
671
+ animation: layoutSim-spin 1s linear infinite;
672
+ }
673
+ @keyframes layoutSim-spin {
674
+ to {
675
+ transform: rotate(360deg);
676
+ }
677
+ }
678
+ .layout-simulation .loading-text {
679
+ font-size: 12px;
680
+ color: var(--ycw-color-text-tertiary, #888);
681
+ }
682
+ .layout-simulation .hidden-status {
683
+ display: none;
684
+ }
685
+ .layout-simulation-error {
686
+ color: var(--ycw-color-error, #dc3545);
687
+ padding: 16px;
688
+ text-align: center;
689
+ font-size: 14px;
690
+ position: relative;
691
+ z-index: 500;
692
+ }
693
+ /*# sourceMappingURL=GerberViewerA2UI-7CNT7HX4.css.map */