@agentforge4j/workflow-builder-react 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.
package/dist/index.css ADDED
@@ -0,0 +1,699 @@
1
+ /* src/styles/tokens.css */
2
+ :root,
3
+ .workflow-builder {
4
+ --builder-color-bg: var(--color-surface, var(--surface-bg));
5
+ --builder-color-fg: var(--color-text, var(--text-primary));
6
+ --builder-color-border: var(--color-border, var(--border-default));
7
+ --builder-color-muted: var(--color-text-muted, var(--text-secondary));
8
+ --builder-color-accent: var(--color-accent, var(--accent-primary));
9
+ --builder-color-accent-fg: var(--color-accent-fg, var(--text-on-accent));
10
+ --builder-color-danger: var(--color-danger, var(--status-error));
11
+ --builder-color-success: var(--color-success, var(--status-success));
12
+ --builder-color-warning: var(--color-warning, var(--status-warning));
13
+ --builder-color-card: var(--color-card, var(--surface-raised));
14
+ --builder-color-canvas: var(--color-canvas, var(--canvas-surface));
15
+ --builder-color-canvas-dot: var(--canvas-dot);
16
+ --builder-color-edge: var(--canvas-edge);
17
+ --builder-color-edge-approval: var(--canvas-edge-approval);
18
+ --builder-color-edge-review: var(--canvas-edge-review);
19
+ --builder-space-xs: var(--space-xs, 0.25rem);
20
+ --builder-space-sm: var(--space-sm, 0.5rem);
21
+ --builder-space-md: var(--space-md, 1rem);
22
+ --builder-space-lg: var(--space-lg, 1.5rem);
23
+ --builder-radius: var(--radius-md, 0.375rem);
24
+ --builder-radius-lg: var(--radius-lg, 0.75rem);
25
+ --builder-font-size-sm: 0.875rem;
26
+ --builder-font-size-xs: 0.75rem;
27
+ --builder-shadow: 0 1px 2px rgb(0 0 0 / 0.06);
28
+ --builder-shadow-lg: 0 4px 12px rgb(0 0 0 / 0.12);
29
+ }
30
+
31
+ /* src/api/workflow-builder.css */
32
+ .workflow-builder {
33
+ display: flex;
34
+ flex-direction: column;
35
+ min-height: 24rem;
36
+ height: 100%;
37
+ background: var(--builder-color-bg);
38
+ color: var(--builder-color-fg);
39
+ border: 1px solid var(--builder-color-border);
40
+ border-radius: var(--builder-radius);
41
+ font-family: inherit;
42
+ position: relative;
43
+ overflow: hidden;
44
+ }
45
+ .workflow-builder__header {
46
+ display: flex;
47
+ flex-wrap: wrap;
48
+ align-items: center;
49
+ gap: var(--builder-space-sm);
50
+ padding: var(--builder-space-sm) var(--builder-space-md);
51
+ border-bottom: 1px solid var(--builder-color-border);
52
+ background: var(--builder-color-card);
53
+ z-index: 2;
54
+ }
55
+ .workflow-builder__name-input,
56
+ .workflow-builder__id-input {
57
+ border: 1px solid transparent;
58
+ background: transparent;
59
+ color: var(--builder-color-fg);
60
+ font: inherit;
61
+ border-radius: var(--builder-radius);
62
+ padding: var(--builder-space-xs) var(--builder-space-sm);
63
+ }
64
+ .workflow-builder__name-input {
65
+ flex: 1;
66
+ min-width: 8rem;
67
+ max-width: 16rem;
68
+ font-weight: 600;
69
+ font-size: 1rem;
70
+ }
71
+ .workflow-builder__id-input {
72
+ max-width: 10rem;
73
+ font-size: var(--builder-font-size-xs);
74
+ }
75
+ .workflow-builder__name-input:focus-visible,
76
+ .workflow-builder__id-input:focus-visible {
77
+ outline: none;
78
+ border-color: var(--builder-color-border);
79
+ background: var(--builder-color-bg);
80
+ }
81
+ .workflow-builder__mode-toggle {
82
+ display: flex;
83
+ gap: var(--builder-space-xs);
84
+ border: 1px solid var(--builder-color-border);
85
+ border-radius: var(--builder-radius);
86
+ padding: 2px;
87
+ }
88
+ .workflow-builder__subtitle {
89
+ flex-basis: 100%;
90
+ margin: 0;
91
+ color: var(--builder-color-muted);
92
+ font-size: var(--builder-font-size-xs);
93
+ }
94
+ .workflow-builder__workspace {
95
+ position: relative;
96
+ flex: 1;
97
+ min-height: 16rem;
98
+ display: flex;
99
+ flex-direction: column;
100
+ }
101
+ .workflow-builder__guided {
102
+ position: absolute;
103
+ top: var(--builder-space-sm);
104
+ left: 3.5rem;
105
+ right: var(--builder-space-md);
106
+ z-index: 2;
107
+ pointer-events: none;
108
+ }
109
+ .workflow-builder__guided > * {
110
+ pointer-events: auto;
111
+ }
112
+ .workflow-builder__canvas {
113
+ flex: 1;
114
+ min-height: 16rem;
115
+ position: relative;
116
+ }
117
+ .workflow-builder__canvas .react-flow {
118
+ background: var(--builder-color-canvas);
119
+ }
120
+ .workflow-builder__actions {
121
+ display: flex;
122
+ flex-wrap: wrap;
123
+ gap: var(--builder-space-sm);
124
+ padding: var(--builder-space-sm) var(--builder-space-md);
125
+ border-top: 1px solid var(--builder-color-border);
126
+ }
127
+ .workflow-builder__button {
128
+ padding: var(--builder-space-sm) var(--builder-space-md);
129
+ border: 1px solid var(--builder-color-border);
130
+ border-radius: var(--builder-radius);
131
+ background: var(--builder-color-bg);
132
+ color: var(--builder-color-fg);
133
+ cursor: pointer;
134
+ font: inherit;
135
+ }
136
+ .workflow-builder__button:disabled {
137
+ opacity: 0.6;
138
+ cursor: not-allowed;
139
+ }
140
+ .workflow-builder__status {
141
+ padding: 0 var(--builder-space-md) var(--builder-space-md);
142
+ font-size: var(--builder-font-size-sm);
143
+ color: var(--builder-color-muted);
144
+ }
145
+ .workflow-builder__status--error {
146
+ color: var(--builder-color-danger);
147
+ }
148
+ .workflow-builder__banner {
149
+ padding: var(--builder-space-sm) var(--builder-space-md);
150
+ border-bottom: 1px solid var(--builder-color-border);
151
+ font-size: var(--builder-font-size-sm);
152
+ }
153
+ .workflow-builder__banner--warning {
154
+ background: color-mix(in srgb, var(--builder-color-warning) 12%, transparent);
155
+ border-color: color-mix(in srgb, var(--builder-color-warning) 35%, transparent);
156
+ }
157
+ .workflow-builder__banner-title {
158
+ margin: 0;
159
+ font-weight: 600;
160
+ }
161
+ .workflow-builder__banner-list {
162
+ margin: var(--builder-space-xs) 0 0;
163
+ padding-left: 1.25rem;
164
+ font-size: var(--builder-font-size-xs);
165
+ color: var(--builder-color-muted);
166
+ }
167
+ .wf-button {
168
+ display: inline-flex;
169
+ align-items: center;
170
+ justify-content: center;
171
+ gap: var(--builder-space-xs);
172
+ padding: var(--builder-space-xs) var(--builder-space-sm);
173
+ border: 1px solid var(--builder-color-border);
174
+ border-radius: var(--builder-radius);
175
+ background: var(--builder-color-bg);
176
+ color: var(--builder-color-fg);
177
+ font: inherit;
178
+ font-size: var(--builder-font-size-sm);
179
+ cursor: pointer;
180
+ line-height: 1.25;
181
+ }
182
+ .wf-button:disabled {
183
+ opacity: 0.55;
184
+ cursor: not-allowed;
185
+ }
186
+ .wf-button--primary {
187
+ background: var(--builder-color-accent);
188
+ border-color: var(--builder-color-accent);
189
+ color: var(--builder-color-accent-fg, var(--builder-color-bg));
190
+ }
191
+ .wf-button--secondary {
192
+ background: var(--builder-color-card);
193
+ }
194
+ .wf-button--ghost {
195
+ background: transparent;
196
+ border-color: transparent;
197
+ }
198
+ .wf-button--icon {
199
+ min-width: 2rem;
200
+ min-height: 2rem;
201
+ padding: 0;
202
+ }
203
+ .wf-panel {
204
+ background: var(--builder-color-card);
205
+ border: 1px solid var(--builder-color-border);
206
+ border-radius: var(--builder-radius-lg);
207
+ box-shadow: var(--builder-shadow-lg);
208
+ }
209
+ .wf-panel__header {
210
+ padding: var(--builder-space-md);
211
+ border-bottom: 1px solid var(--builder-color-border);
212
+ position: relative;
213
+ }
214
+ .wf-panel__title {
215
+ margin: 0;
216
+ font-size: var(--builder-font-size-sm);
217
+ font-weight: 600;
218
+ }
219
+ .wf-panel__description {
220
+ margin: var(--builder-space-xs) 0 0;
221
+ font-size: var(--builder-font-size-xs);
222
+ color: var(--builder-color-muted);
223
+ }
224
+ .wf-panel__close {
225
+ position: absolute;
226
+ top: var(--builder-space-sm);
227
+ right: var(--builder-space-sm);
228
+ }
229
+ .wf-panel__body {
230
+ padding: var(--builder-space-md);
231
+ overflow: auto;
232
+ }
233
+ .wf-flow-node {
234
+ position: relative;
235
+ }
236
+ .wf-handle {
237
+ width: 0.625rem !important;
238
+ height: 0.625rem !important;
239
+ border: 2px solid var(--builder-color-card) !important;
240
+ background: var(--builder-color-accent) !important;
241
+ }
242
+ .wf-handle--selected {
243
+ background: var(--builder-color-accent) !important;
244
+ }
245
+ .wf-node {
246
+ min-width: 13.75rem;
247
+ max-width: 17.5rem;
248
+ border: 1px solid var(--builder-color-border);
249
+ border-radius: var(--builder-radius-lg);
250
+ background: var(--builder-color-card);
251
+ box-shadow: var(--builder-shadow);
252
+ }
253
+ .wf-node--selected {
254
+ border-color: var(--builder-color-accent);
255
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--builder-color-accent) 25%, transparent);
256
+ }
257
+ .wf-node--loop {
258
+ min-width: 18.75rem;
259
+ max-width: none;
260
+ border-style: dashed;
261
+ border-color: color-mix(in srgb, var(--builder-color-accent) 35%, transparent);
262
+ background: color-mix(in srgb, var(--builder-color-canvas) 80%, var(--builder-color-card));
263
+ }
264
+ .wf-node__header {
265
+ display: flex;
266
+ gap: var(--builder-space-sm);
267
+ align-items: center;
268
+ padding: var(--builder-space-sm) var(--builder-space-md);
269
+ border-bottom: 1px solid var(--builder-color-border);
270
+ }
271
+ .wf-node__icon {
272
+ display: inline-flex;
273
+ align-items: center;
274
+ justify-content: center;
275
+ width: 2rem;
276
+ height: 2rem;
277
+ border-radius: var(--builder-radius);
278
+ background: color-mix(in srgb, var(--builder-color-muted) 15%, transparent);
279
+ font-size: var(--builder-font-size-xs);
280
+ font-weight: 700;
281
+ }
282
+ .wf-node__titles {
283
+ min-width: 0;
284
+ flex: 1;
285
+ }
286
+ .wf-node__kind {
287
+ margin: 0;
288
+ font-size: 0.625rem;
289
+ font-weight: 600;
290
+ text-transform: uppercase;
291
+ letter-spacing: 0.04em;
292
+ color: var(--builder-color-muted);
293
+ }
294
+ .wf-node__title {
295
+ margin: 0;
296
+ font-size: var(--builder-font-size-sm);
297
+ font-weight: 600;
298
+ overflow: hidden;
299
+ text-overflow: ellipsis;
300
+ white-space: nowrap;
301
+ }
302
+ .wf-node__body {
303
+ padding: var(--builder-space-sm) var(--builder-space-md);
304
+ }
305
+ .wf-node__subtitle {
306
+ margin: 0 0 var(--builder-space-xs);
307
+ font-size: var(--builder-font-size-xs);
308
+ color: var(--builder-color-muted);
309
+ display: -webkit-box;
310
+ -webkit-line-clamp: 2;
311
+ -webkit-box-orient: vertical;
312
+ overflow: hidden;
313
+ }
314
+ .wf-node-badge {
315
+ display: inline-flex;
316
+ align-items: center;
317
+ gap: 0.25rem;
318
+ padding: 0.125rem 0.5rem;
319
+ border-radius: 999px;
320
+ font-size: 0.625rem;
321
+ font-weight: 600;
322
+ }
323
+ .wf-node-badge--success {
324
+ background: color-mix(in srgb, var(--builder-color-success) 12%, transparent);
325
+ color: var(--builder-color-success);
326
+ }
327
+ .wf-node-badge--warning {
328
+ background: color-mix(in srgb, var(--builder-color-warning) 15%, transparent);
329
+ color: var(--builder-color-warning);
330
+ }
331
+ .wf-node-badge--error {
332
+ background: color-mix(in srgb, var(--builder-color-danger) 12%, transparent);
333
+ color: var(--builder-color-danger);
334
+ }
335
+ .wf-node__branches {
336
+ border-top: 1px solid var(--builder-color-border);
337
+ padding: var(--builder-space-xs) var(--builder-space-md) var(--builder-space-sm);
338
+ }
339
+ .wf-node__branch {
340
+ position: relative;
341
+ display: flex;
342
+ align-items: center;
343
+ justify-content: flex-end;
344
+ min-height: 1.75rem;
345
+ font-size: var(--builder-font-size-xs);
346
+ }
347
+ .wf-node__branch-label {
348
+ padding-right: var(--builder-space-sm);
349
+ color: var(--builder-color-muted);
350
+ }
351
+ .wf-edge-label {
352
+ position: absolute;
353
+ pointer-events: none;
354
+ padding: 0.125rem 0.5rem;
355
+ border-radius: 999px;
356
+ border: 1px solid var(--builder-color-border);
357
+ background: var(--builder-color-card);
358
+ font-size: 0.625rem;
359
+ font-weight: 600;
360
+ text-transform: uppercase;
361
+ letter-spacing: 0.04em;
362
+ }
363
+ .wf-palette {
364
+ position: absolute;
365
+ left: 0;
366
+ top: 0;
367
+ z-index: 3;
368
+ display: flex;
369
+ flex-direction: column;
370
+ height: 100%;
371
+ border-right: 1px solid var(--builder-color-border);
372
+ background: color-mix(in srgb, var(--builder-color-card) 95%, transparent);
373
+ box-shadow: var(--builder-shadow-lg);
374
+ transition: width 0.2s ease;
375
+ }
376
+ .wf-palette--expanded {
377
+ width: 15rem;
378
+ }
379
+ .wf-palette--collapsed {
380
+ width: 3.5rem;
381
+ }
382
+ .wf-palette__header {
383
+ display: flex;
384
+ align-items: center;
385
+ justify-content: space-between;
386
+ padding: var(--builder-space-sm) var(--builder-space-md);
387
+ border-bottom: 1px solid var(--builder-color-border);
388
+ }
389
+ .wf-palette__title {
390
+ font-size: var(--builder-font-size-sm);
391
+ font-weight: 600;
392
+ }
393
+ .wf-palette__body {
394
+ flex: 1;
395
+ overflow: auto;
396
+ padding: var(--builder-space-sm);
397
+ }
398
+ .wf-palette__section-label {
399
+ margin: 0 0 var(--builder-space-xs);
400
+ padding: 0 var(--builder-space-xs);
401
+ font-size: var(--builder-font-size-xs);
402
+ font-weight: 600;
403
+ text-transform: uppercase;
404
+ letter-spacing: 0.04em;
405
+ color: var(--builder-color-muted);
406
+ }
407
+ .wf-palette__list {
408
+ display: flex;
409
+ flex-direction: column;
410
+ gap: 2px;
411
+ }
412
+ .wf-palette__item {
413
+ display: flex;
414
+ align-items: flex-start;
415
+ gap: var(--builder-space-sm);
416
+ width: 100%;
417
+ padding: var(--builder-space-sm);
418
+ border: 1px solid transparent;
419
+ border-radius: var(--builder-radius);
420
+ background: transparent;
421
+ color: inherit;
422
+ text-align: left;
423
+ cursor: grab;
424
+ font: inherit;
425
+ }
426
+ .wf-palette__item:hover {
427
+ border-color: var(--builder-color-border);
428
+ background: color-mix(in srgb, var(--builder-color-muted) 8%, transparent);
429
+ }
430
+ .wf-palette__item--compact {
431
+ justify-content: center;
432
+ padding: var(--builder-space-sm) 0;
433
+ }
434
+ .wf-palette__item-icon {
435
+ flex-shrink: 0;
436
+ width: 1.25rem;
437
+ text-align: center;
438
+ font-size: var(--builder-font-size-xs);
439
+ font-weight: 700;
440
+ color: var(--builder-color-muted);
441
+ }
442
+ .wf-palette__item-text {
443
+ display: flex;
444
+ flex-direction: column;
445
+ min-width: 0;
446
+ }
447
+ .wf-palette__item-label {
448
+ font-size: var(--builder-font-size-sm);
449
+ font-weight: 600;
450
+ }
451
+ .wf-palette__item-description {
452
+ margin-top: 2px;
453
+ font-size: var(--builder-font-size-xs);
454
+ color: var(--builder-color-muted);
455
+ }
456
+ .wf-palette__advanced-toggle {
457
+ display: flex;
458
+ align-items: center;
459
+ gap: var(--builder-space-xs);
460
+ width: 100%;
461
+ margin-top: var(--builder-space-md);
462
+ padding: 0 var(--builder-space-xs);
463
+ border: none;
464
+ background: transparent;
465
+ color: inherit;
466
+ font: inherit;
467
+ font-size: var(--builder-font-size-xs);
468
+ font-weight: 600;
469
+ cursor: pointer;
470
+ }
471
+ .wf-palette__panel--hidden {
472
+ display: none;
473
+ }
474
+ .wf-palette__collapsed-list {
475
+ flex: 1;
476
+ overflow: auto;
477
+ padding: var(--builder-space-xs) 0;
478
+ }
479
+ .wf-palette__collapsed-header {
480
+ display: flex;
481
+ justify-content: center;
482
+ padding: var(--builder-space-sm) 0;
483
+ border-bottom: 1px solid var(--builder-color-border);
484
+ }
485
+ .wf-inspector {
486
+ position: absolute;
487
+ top: 0;
488
+ right: 0;
489
+ z-index: 3;
490
+ width: min(100%, 22rem);
491
+ height: 100%;
492
+ display: flex;
493
+ flex-direction: column;
494
+ border-left: 1px solid var(--builder-color-border);
495
+ background: var(--builder-color-card);
496
+ box-shadow: var(--builder-shadow-lg);
497
+ }
498
+ .wf-inspector__header {
499
+ display: flex;
500
+ align-items: center;
501
+ justify-content: space-between;
502
+ padding: var(--builder-space-sm) var(--builder-space-md);
503
+ border-bottom: 1px solid var(--builder-color-border);
504
+ }
505
+ .wf-inspector__title {
506
+ margin: 0;
507
+ font-size: var(--builder-font-size-sm);
508
+ font-weight: 600;
509
+ }
510
+ .wf-inspector__body {
511
+ flex: 1;
512
+ overflow: auto;
513
+ padding: var(--builder-space-md);
514
+ }
515
+ .wf-field {
516
+ display: block;
517
+ margin-bottom: var(--builder-space-md);
518
+ }
519
+ .wf-field__label {
520
+ display: block;
521
+ margin-bottom: var(--builder-space-xs);
522
+ font-size: var(--builder-font-size-xs);
523
+ font-weight: 600;
524
+ color: var(--builder-color-muted);
525
+ }
526
+ .wf-input,
527
+ .wf-select,
528
+ .wf-textarea {
529
+ width: 100%;
530
+ padding: var(--builder-space-xs) var(--builder-space-sm);
531
+ border: 1px solid var(--builder-color-border);
532
+ border-radius: var(--builder-radius);
533
+ background: var(--builder-color-bg);
534
+ color: var(--builder-color-fg);
535
+ font: inherit;
536
+ font-size: var(--builder-font-size-sm);
537
+ }
538
+ .wf-textarea {
539
+ min-height: 5rem;
540
+ resize: vertical;
541
+ }
542
+ .wf-section {
543
+ margin-bottom: var(--builder-space-md);
544
+ }
545
+ .wf-section__title {
546
+ margin: 0 0 var(--builder-space-sm);
547
+ font-size: var(--builder-font-size-xs);
548
+ font-weight: 600;
549
+ text-transform: uppercase;
550
+ letter-spacing: 0.04em;
551
+ color: var(--builder-color-muted);
552
+ }
553
+ .wf-notice {
554
+ padding: var(--builder-space-sm);
555
+ border: 1px solid color-mix(in srgb, var(--builder-color-warning) 40%, transparent);
556
+ border-radius: var(--builder-radius);
557
+ background: color-mix(in srgb, var(--builder-color-warning) 10%, transparent);
558
+ font-size: var(--builder-font-size-xs);
559
+ }
560
+ .wf-empty-state {
561
+ display: flex;
562
+ flex-direction: column;
563
+ align-items: center;
564
+ justify-content: center;
565
+ gap: var(--builder-space-sm);
566
+ padding: var(--builder-space-lg);
567
+ text-align: center;
568
+ max-width: 24rem;
569
+ background: var(--builder-color-card);
570
+ border: 1px solid var(--builder-color-border);
571
+ border-radius: var(--builder-radius-lg);
572
+ box-shadow: var(--builder-shadow-lg);
573
+ }
574
+ .wf-empty-state__title {
575
+ margin: 0;
576
+ font-size: var(--builder-font-size-sm);
577
+ font-weight: 600;
578
+ }
579
+ .wf-empty-state__description {
580
+ margin: 0;
581
+ font-size: var(--builder-font-size-xs);
582
+ color: var(--builder-color-muted);
583
+ }
584
+ .wf-empty-state__actions {
585
+ display: flex;
586
+ flex-wrap: wrap;
587
+ gap: var(--builder-space-sm);
588
+ justify-content: center;
589
+ }
590
+ .wf-guided-stepper__list {
591
+ display: flex;
592
+ flex-direction: column;
593
+ gap: var(--builder-space-sm);
594
+ margin: 0;
595
+ padding: var(--builder-space-sm);
596
+ list-style: none;
597
+ }
598
+ @media (min-width: 64rem) {
599
+ .wf-guided-stepper__list {
600
+ flex-direction: row;
601
+ align-items: center;
602
+ }
603
+ }
604
+ .wf-guided-stepper__item {
605
+ display: flex;
606
+ align-items: center;
607
+ gap: var(--builder-space-sm);
608
+ flex: 1;
609
+ min-width: 0;
610
+ }
611
+ .wf-guided-stepper__marker {
612
+ flex-shrink: 0;
613
+ width: 1rem;
614
+ height: 1rem;
615
+ border-radius: 999px;
616
+ border: 2px solid var(--builder-color-muted);
617
+ }
618
+ .wf-guided-stepper__marker--done {
619
+ border-color: var(--builder-color-success);
620
+ background: var(--builder-color-success);
621
+ }
622
+ .wf-guided-stepper__marker--active {
623
+ border-color: var(--builder-color-accent);
624
+ }
625
+ .wf-guided-stepper__text {
626
+ font-size: var(--builder-font-size-sm);
627
+ color: var(--builder-color-muted);
628
+ }
629
+ .wf-guided-stepper__text--done {
630
+ color: var(--builder-color-fg);
631
+ }
632
+ .wf-validation-pill__glyph {
633
+ font-weight: 700;
634
+ }
635
+ .wf-validation-pill__label-mobile {
636
+ display: inline;
637
+ }
638
+ .wf-validation-pill__label-desktop {
639
+ display: none;
640
+ }
641
+ @media (min-width: 40rem) {
642
+ .wf-validation-pill__label-mobile {
643
+ display: none;
644
+ }
645
+ .wf-validation-pill__label-desktop {
646
+ display: inline;
647
+ }
648
+ }
649
+ .wf-validation-pill__overlay {
650
+ position: fixed;
651
+ inset: 0;
652
+ z-index: 50;
653
+ background: color-mix(in srgb, var(--builder-color-fg) 25%, transparent);
654
+ display: flex;
655
+ justify-content: flex-end;
656
+ }
657
+ .wf-validation-pill__drawer {
658
+ width: min(100%, 24rem);
659
+ height: 100%;
660
+ display: flex;
661
+ flex-direction: column;
662
+ border-radius: 0;
663
+ }
664
+ .wf-validation-group {
665
+ margin-bottom: var(--builder-space-md);
666
+ }
667
+ .wf-validation-group__title {
668
+ margin: 0 0 var(--builder-space-sm);
669
+ font-size: var(--builder-font-size-xs);
670
+ font-weight: 600;
671
+ text-transform: uppercase;
672
+ color: var(--builder-color-muted);
673
+ }
674
+ .wf-validation-issue {
675
+ display: flex;
676
+ flex-direction: column;
677
+ gap: var(--builder-space-sm);
678
+ padding: var(--builder-space-sm);
679
+ border: 1px solid var(--builder-color-border);
680
+ border-radius: var(--builder-radius);
681
+ margin-bottom: var(--builder-space-sm);
682
+ font-size: var(--builder-font-size-sm);
683
+ }
684
+ .wf-validation-issue__fix {
685
+ align-self: flex-start;
686
+ padding: 0;
687
+ border: none;
688
+ background: none;
689
+ color: var(--builder-color-accent);
690
+ font: inherit;
691
+ font-size: var(--builder-font-size-xs);
692
+ font-weight: 600;
693
+ cursor: pointer;
694
+ }
695
+ .wf-validation-issue__fix:disabled {
696
+ color: var(--builder-color-muted);
697
+ cursor: not-allowed;
698
+ }
699
+ /*# sourceMappingURL=index.css.map */