testomatio-editor-blocks 0.4.0 → 0.4.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.
@@ -28,7 +28,7 @@
28
28
  --color-selection: #f4d35e;
29
29
 
30
30
  /* Semantic tokens - these reference the palette above */
31
- --text-primary: var(--color-slate-900);
31
+ --text-primary: #262626;
32
32
  --text-muted: rgba(15, 23, 42, 0.65);
33
33
 
34
34
  --border-light: rgba(15, 23, 42, 0.1);
@@ -44,22 +44,35 @@
44
44
  --bg-muted: rgba(15, 23, 42, 0.05);
45
45
 
46
46
  /* Step block colors */
47
- --step-border: rgba(59, 130, 246, 0.65);
48
- --step-bg: rgba(59, 130, 246, 0.12);
49
- --step-shadow: rgba(37, 99, 235, 0.08);
50
- --step-border-light: rgba(37, 99, 235, 0.25);
51
- --step-border-medium: rgba(37, 99, 235, 0.35);
52
- --step-border-strong: rgba(37, 99, 235, 0.55);
53
- --step-border-focus: rgba(37, 99, 235, 0.7);
54
- --step-bg-hover: rgba(59, 130, 246, 0.18);
55
- --step-bg-light: rgba(59, 130, 246, 0.1);
56
- --step-bg-button: rgba(37, 99, 235, 0.12);
57
- --step-bg-button-hover: rgba(37, 99, 235, 0.2);
58
- --step-focus-ring: rgba(59, 130, 246, 0.2);
59
- --step-focus-outline: rgba(37, 99, 235, 0.4);
60
- --step-underline: rgba(37, 99, 235, 0.7);
61
- --step-shadow-hover: rgba(37, 99, 235, 0.18);
62
- --step-shadow-focus: rgba(37, 99, 235, 0.2);
47
+ --step-card-bg: #f7f7f8;
48
+ --step-card-border: #e5e7eb;
49
+ --step-card-shadow: rgba(15, 23, 42, 0.06);
50
+ --step-input-border: #d1d5db;
51
+ --step-input-border-focus: #4f46e5;
52
+ --step-input-shadow: rgba(79, 70, 229, 0.25);
53
+ --step-text: #1f2937;
54
+ --step-muted: #6b7280;
55
+ --step-action: #374151;
56
+ --step-bg-button: #ffffff;
57
+ --step-bg-button-hover: #f3f4f6;
58
+ --step-border-focus: rgba(79, 70, 229, 0.4);
59
+ --step-border-light: rgba(15, 23, 42, 0.12);
60
+ --step-bg-light: rgba(15, 23, 42, 0.04);
61
+ --step-shadow-hover: rgba(15, 23, 42, 0.1);
62
+
63
+ /* Step timeline design tokens */
64
+ --step-number-size: 24px;
65
+ --step-number-bg: #e5e5e5;
66
+ --step-number-text: #0a0a0a;
67
+ --step-label-color: #404040;
68
+ --step-column-gap: 16px;
69
+ --step-section-gap: 16px;
70
+ --step-input-radius: 8px;
71
+ --step-input-border: #d4d4d4;
72
+ --step-input-border-focus: #4f46e5;
73
+ --snippet-dropdown-bg: #fafafa;
74
+ --snippet-content-bg: #fafafa;
75
+ --snippet-content-border: #e5e5e5;
63
76
 
64
77
  /* Snippet block colors */
65
78
  --snippet-border: rgba(16, 185, 129, 0.75);
@@ -176,70 +189,173 @@
176
189
  background: var(--status-blocked-bg);
177
190
  }
178
191
 
192
+ .bn-teststep,
193
+ .bn-teststep button,
194
+ .bn-teststep input,
195
+ .bn-teststep textarea,
196
+ .bn-teststep select {
197
+ font-family: "Inter", system-ui, -apple-system, sans-serif;
198
+ }
199
+
179
200
  .bn-teststep {
180
- border-radius: 0.85rem;
181
- border-left: 5px solid var(--step-border);
182
- background: var(--step-bg);
183
- padding: 0.85rem 1.1rem 1rem;
184
201
  display: grid;
185
- gap: 0.75rem;
202
+ grid-template-columns: var(--step-number-size) 1fr;
203
+ gap: 0 var(--step-column-gap);
186
204
  position: relative;
187
205
  width: 100%;
188
206
  }
189
207
 
190
208
  .bn-teststep::after {
191
- content: "";
192
- position: absolute;
193
- inset: 0;
194
- border-radius: inherit;
195
- pointer-events: none;
196
- box-shadow: 0 0 0 1px var(--step-shadow);
209
+ display: none;
210
+ }
211
+
212
+ .bn-block-content.ProseMirror-selectednode > .bn-teststep,
213
+ .ProseMirror-selectednode > .bn-block-content > .bn-teststep {
214
+ outline: none;
197
215
  }
198
216
 
199
217
  .bn-snippet {
200
- border-left-color: var(--snippet-border);
218
+ border-color: var(--snippet-border);
201
219
  background: var(--snippet-bg);
202
220
  }
203
221
 
204
222
  .bn-snippet::after {
205
- box-shadow: 0 0 0 1px var(--snippet-shadow);
223
+ box-shadow: none;
206
224
  }
207
225
 
208
- .bn-snippet .bn-teststep__toggle {
209
- border-color: rgba(16, 185, 129, 0.45);
210
- background: var(--snippet-bg-light);
226
+ .bn-snippet .bn-step-field__label {
211
227
  color: var(--color-accent-700);
212
228
  }
213
229
 
214
- .bn-snippet .bn-teststep__toggle:hover {
215
- background: var(--snippet-bg-hover);
216
- border-color: var(--snippet-border-strong);
217
- box-shadow: 0 0 0 1px var(--snippet-focus-ring);
230
+ .bn-teststep__timeline {
231
+ grid-row: 1 / -1;
232
+ display: flex;
233
+ flex-direction: column;
234
+ align-items: center;
235
+ gap: 10px;
236
+ padding-top: 2px;
218
237
  }
219
238
 
220
- .bn-snippet .bn-step-field__label {
221
- color: var(--color-accent-700);
239
+ .bn-teststep__line {
240
+ flex: 1;
241
+ width: 1px;
242
+ background: var(--step-number-bg);
222
243
  }
223
244
 
224
- .bn-snippet .bn-step-toolbar__button {
225
- border-color: var(--snippet-border-medium);
226
- color: var(--color-accent-700);
245
+ .bn-teststep__content {
246
+ display: flex;
247
+ flex-direction: column;
248
+ gap: var(--step-section-gap);
249
+ padding-bottom: 8px;
227
250
  }
228
251
 
229
- .bn-snippet .bn-step-toolbar__button:hover {
230
- background: var(--snippet-bg);
231
- border-color: var(--snippet-border-strong);
252
+ .bn-teststep__header + .bn-step-field {
253
+ margin-top: calc(8px - var(--step-section-gap));
254
+ }
255
+
256
+ .bn-teststep__header {
257
+ display: flex;
258
+ align-items: center;
259
+ justify-content: space-between;
260
+ gap: 1rem;
261
+ min-height: 28px;
262
+ }
263
+
264
+ .bn-teststep__meta {
265
+ display: flex;
266
+ align-items: center;
267
+ gap: 0.75rem;
268
+ }
269
+
270
+ .bn-teststep__number {
271
+ width: var(--step-number-size);
272
+ height: var(--step-number-size);
273
+ border-radius: 999px;
274
+ background: var(--step-number-bg);
275
+ color: var(--step-number-text);
276
+ font-weight: 500;
277
+ font-size: 14px;
278
+ line-height: 20px;
279
+ display: inline-flex;
280
+ align-items: center;
281
+ justify-content: center;
282
+ flex-shrink: 0;
283
+ }
284
+
285
+ .bn-teststep__title {
286
+ font-size: 14px;
287
+ font-weight: 600;
288
+ line-height: 20px;
289
+ color: var(--step-label-color);
290
+ }
291
+
292
+ .bn-teststep__view-toggle {
293
+ border: none;
294
+ background: transparent;
295
+ width: 28px;
296
+ height: 28px;
297
+ padding: 0;
298
+ border-radius: 8px;
299
+ cursor: pointer;
300
+ display: inline-flex;
301
+ align-items: center;
302
+ justify-content: center;
303
+ opacity: 0;
304
+ transition:
305
+ background-color 120ms ease,
306
+ opacity 120ms ease;
307
+ }
308
+
309
+ .bn-teststep:hover .bn-teststep__view-toggle,
310
+ .bn-teststep__view-toggle:focus-visible {
311
+ opacity: 1;
312
+ }
313
+
314
+ .bn-teststep__view-toggle:hover {
315
+ background: var(--step-bg-button-hover);
316
+ }
317
+
318
+ .bn-teststep__view-toggle svg {
319
+ display: block;
320
+ color: #0a0a0a;
321
+ }
322
+
323
+ .bn-teststep__view-toggle--horizontal {
324
+ transform: rotate(90deg);
325
+ }
326
+
327
+ .bn-teststep__horizontal-fields {
328
+ display: flex;
329
+ gap: 16px;
330
+ }
331
+
332
+ .bn-teststep__horizontal-col {
333
+ flex: 1 0 0%;
334
+ min-width: 0;
335
+ display: flex;
336
+ flex-direction: column;
337
+ gap: 4px;
338
+ }
339
+
340
+ @media (max-width: 860px) {
341
+ .bn-teststep__horizontal-fields {
342
+ flex-direction: column;
343
+ }
232
344
  }
233
345
 
234
- .bn-snippet .bn-step-editor {
346
+ .bn-snippet .bn-step-field__input {
235
347
  border-color: var(--snippet-border-light);
236
348
  }
237
349
 
238
- .bn-snippet .bn-step-editor.bn-step-editor--focused {
350
+ .bn-snippet .bn-step-field__input--focused {
239
351
  border-color: var(--snippet-border-focus);
240
352
  box-shadow: 0 0 0 3px var(--snippet-focus-ring);
241
353
  }
242
354
 
355
+ .bn-snippet .bn-step-toolbar__button {
356
+ color: var(--color-accent-700);
357
+ }
358
+
243
359
  .bn-snippet .bn-step-suggestions {
244
360
  border-color: var(--snippet-border-light);
245
361
  }
@@ -253,61 +369,217 @@
253
369
  color: rgba(15, 118, 110, 0.65);
254
370
  }
255
371
 
372
+ .bn-snippet {
373
+ display: flex;
374
+ flex-direction: column;
375
+ gap: 12px;
376
+ background: transparent;
377
+ border-color: transparent;
378
+ }
379
+
380
+ .bn-snippet__header {
381
+ display: flex;
382
+ align-items: center;
383
+ gap: 20px;
384
+ }
385
+
386
+ .bn-snippet__label {
387
+ font-size: 14px;
388
+ font-weight: 600;
389
+ line-height: 20px;
390
+ color: var(--step-label-color);
391
+ flex-shrink: 0;
392
+ }
393
+
394
+ .bn-snippet-dropdown {
395
+ position: relative;
396
+ }
397
+
398
+ .bn-snippet-dropdown__trigger {
399
+ display: inline-flex;
400
+ align-items: center;
401
+ gap: 4px;
402
+ height: 28px;
403
+ padding: 0 8px 0 12px;
404
+ background: var(--snippet-dropdown-bg);
405
+ border: 1px solid var(--step-input-border);
406
+ border-radius: 8px;
407
+ cursor: pointer;
408
+ font-family: inherit;
409
+ font-size: 14px;
410
+ font-weight: 500;
411
+ line-height: 20px;
412
+ color: var(--step-label-color);
413
+ transition: border-color 120ms ease;
414
+ }
415
+
416
+ .bn-snippet-dropdown__trigger:hover {
417
+ border-color: var(--snippet-border-medium);
418
+ }
419
+
420
+ .bn-snippet-dropdown__chevron {
421
+ flex-shrink: 0;
422
+ width: 16px;
423
+ height: 16px;
424
+ color: #737373;
425
+ }
426
+
427
+ .bn-snippet-dropdown__text {
428
+ white-space: nowrap;
429
+ overflow: hidden;
430
+ text-overflow: ellipsis;
431
+ max-width: 200px;
432
+ }
433
+
434
+ /* Dropdown panel */
435
+ .bn-snippet-dropdown__panel {
436
+ position: absolute;
437
+ left: 0;
438
+ top: calc(100% + 4px);
439
+ width: 260px;
440
+ background: white;
441
+ border: 1px solid #e5e5e5;
442
+ border-radius: 8px;
443
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
444
+ z-index: 10;
445
+ display: flex;
446
+ flex-direction: column;
447
+ padding: 8px 0;
448
+ }
449
+
450
+ .bn-snippet-dropdown__search {
451
+ display: flex;
452
+ align-items: center;
453
+ gap: 8px;
454
+ height: 32px;
455
+ padding: 0 12px;
456
+ margin: 0 16px 12px;
457
+ border: 1px solid #d4d4d4;
458
+ border-radius: 6px;
459
+ transition: border-color 120ms ease;
460
+ }
461
+
462
+ .bn-snippet-dropdown__search:focus-within {
463
+ border-color: #6366f1;
464
+ }
465
+
466
+ .bn-snippet-dropdown__search-icon {
467
+ flex-shrink: 0;
468
+ width: 24px;
469
+ height: 24px;
470
+ color: #a4a4a4;
471
+ }
472
+
473
+ .bn-snippet-dropdown__search-input {
474
+ border: none;
475
+ outline: none;
476
+ background: transparent;
477
+ font-family: inherit;
478
+ font-size: 14px;
479
+ font-weight: 500;
480
+ line-height: normal;
481
+ color: var(--text-primary);
482
+ width: 100%;
483
+ padding: 0;
484
+ }
485
+
486
+ .bn-snippet-dropdown__search-input::placeholder {
487
+ color: #a4a4a4;
488
+ }
489
+
490
+ .bn-snippet-dropdown__list {
491
+ max-height: 252px;
492
+ overflow-y: auto;
493
+ border-top: 1px solid #e5e5e5;
494
+ }
495
+
496
+ .bn-snippet-dropdown__item {
497
+ display: flex;
498
+ align-items: center;
499
+ gap: 8px;
500
+ width: 100%;
501
+ height: 36px;
502
+ padding: 8px 16px;
503
+ border: none;
504
+ background: transparent;
505
+ font-family: inherit;
506
+ font-size: 14px;
507
+ font-weight: 400;
508
+ line-height: 20px;
509
+ color: var(--text-primary);
510
+ text-align: left;
511
+ cursor: pointer;
512
+ white-space: nowrap;
513
+ overflow: hidden;
514
+ text-overflow: ellipsis;
515
+ }
516
+
517
+ .bn-snippet-dropdown__item:hover {
518
+ background: var(--step-bg-light);
519
+ }
520
+
521
+ .bn-snippet-dropdown__empty {
522
+ padding: 8px 16px;
523
+ font-size: 14px;
524
+ color: var(--text-muted);
525
+ }
526
+
527
+ .bn-snippet__content {
528
+ background: var(--snippet-content-bg);
529
+ border: 1px solid var(--snippet-content-border);
530
+ border-radius: 8px;
531
+ padding: 10px 16px;
532
+ min-height: 92px;
533
+ font-size: 14px;
534
+ font-weight: 400;
535
+ line-height: 24px;
536
+ color: var(--text-primary);
537
+ white-space: pre-wrap;
538
+ word-break: break-word;
539
+ }
540
+
256
541
  .bn-snippet__empty {
257
542
  margin: 0;
258
543
  font-size: 0.9rem;
259
544
  color: var(--text-muted);
260
545
  }
261
546
 
262
- .bn-step-add {
263
- align-self: flex-start;
264
- margin-top: 0.25rem;
547
+ .bn-step-actions {
548
+ display: flex;
549
+ flex-wrap: wrap;
550
+ gap: 0.75rem;
551
+ align-items: center;
552
+ }
553
+
554
+ .bn-step-action-btn {
265
555
  border: none;
266
- background: var(--step-bg-button);
267
- color: var(--color-primary-700);
268
- font-weight: 600;
269
- font-size: 0.85rem;
270
- padding: 0.35rem 0.65rem;
271
- border-radius: 0.5rem;
556
+ background: transparent;
557
+ color: #404040;
558
+ font-weight: 500;
559
+ font-size: 14px;
560
+ line-height: 20px;
561
+ height: 28px;
562
+ padding: 0 12px 0 8px;
563
+ border-radius: 8px;
272
564
  cursor: pointer;
273
- transition:
274
- background-color 120ms ease,
275
- box-shadow 120ms ease;
565
+ display: inline-flex;
566
+ align-items: center;
567
+ gap: 8px;
568
+ transition: background-color 120ms ease;
276
569
  }
277
570
 
278
- .bn-step-add:hover {
571
+ .bn-step-action-btn:hover {
279
572
  background: var(--step-bg-button-hover);
280
- box-shadow: 0 0 0 1px var(--step-shadow-hover);
281
573
  }
282
574
 
283
- .bn-teststep__toggle {
284
- align-self: flex-start;
285
- padding: 0.35rem 0.6rem;
286
- border-radius: 0.5rem;
287
- border: 1px dashed rgba(37, 99, 235, 0.45);
288
- background: var(--step-bg-light);
289
- color: var(--color-primary-700);
290
- font-size: 0.75rem;
291
- font-weight: 700;
292
- letter-spacing: 0.06em;
293
- text-transform: uppercase;
294
- cursor: pointer;
295
- transition:
296
- background-color 120ms ease,
297
- border-color 120ms ease,
298
- box-shadow 120ms ease;
299
- }
300
-
301
- .bn-teststep__toggle:hover {
302
- background: var(--step-bg-hover);
303
- border-color: var(--step-border-strong);
304
- box-shadow: 0 0 0 1px var(--step-shadow-focus);
575
+ .bn-step-action-btn__icon {
576
+ flex-shrink: 0;
305
577
  }
306
578
 
307
579
  .bn-step-field {
308
580
  display: flex;
309
581
  flex-direction: column;
310
- gap: 0.35rem;
582
+ gap: 8px;
311
583
  position: relative;
312
584
  }
313
585
 
@@ -332,11 +604,10 @@
332
604
  display: inline-flex;
333
605
  align-items: center;
334
606
  gap: 0.35rem;
335
- font-size: 0.8rem;
336
- text-transform: uppercase;
337
- letter-spacing: 0.08em;
338
- font-weight: 700;
339
- color: var(--color-primary-700);
607
+ font-size: 14px;
608
+ font-weight: 600;
609
+ line-height: 20px;
610
+ color: var(--step-label-color);
340
611
  }
341
612
 
342
613
  .bn-step-field__label--toggle {
@@ -347,20 +618,46 @@
347
618
  text-decoration-line: underline;
348
619
  text-decoration-style: dashed;
349
620
  text-underline-offset: 0.2em;
350
- text-decoration-color: var(--step-underline);
621
+ text-decoration-color: var(--step-muted);
351
622
  }
352
623
 
353
624
  .bn-step-field__label--toggle:hover {
354
- color: var(--color-primary-900);
625
+ color: var(--step-text);
626
+ }
627
+
628
+ .bn-step-field__label-action {
629
+ display: inline-flex;
630
+ align-items: center;
631
+ }
632
+
633
+ .bn-step-field__dismiss {
634
+ border: none;
635
+ background: transparent;
636
+ color: #737373;
637
+ width: 28px;
638
+ height: 28px;
639
+ display: inline-flex;
640
+ align-items: center;
641
+ justify-content: center;
642
+ border-radius: 8px;
643
+ cursor: pointer;
644
+ padding: 0;
645
+ font-size: 16px;
646
+ line-height: 1;
647
+ }
648
+
649
+ .bn-step-field__dismiss:hover {
650
+ color: var(--step-text);
651
+ background: var(--step-bg-button-hover);
355
652
  }
356
653
 
357
654
  .bn-step-suggestions-toggle {
358
655
  width: 1.75rem;
359
656
  height: 1.75rem;
360
657
  border-radius: 0.4rem;
361
- border: 1px solid var(--step-border-medium);
658
+ border: 1px solid var(--step-border-light);
362
659
  background: transparent;
363
- color: var(--color-primary-700);
660
+ color: var(--step-text);
364
661
  font-weight: 700;
365
662
  font-size: 1rem;
366
663
  display: flex;
@@ -374,49 +671,80 @@
374
671
  }
375
672
 
376
673
  .bn-step-suggestions-toggle:hover {
377
- background: var(--step-bg-button);
378
- border-color: var(--step-border-strong);
674
+ background: var(--step-bg-button-hover);
675
+ border-color: rgba(15, 23, 42, 0.2);
676
+ }
677
+
678
+ .bn-step-field__input {
679
+ position: relative;
680
+ border: 1px solid var(--step-input-border);
681
+ border-radius: var(--step-input-radius);
682
+ background: transparent;
683
+ display: flex;
684
+ flex-direction: column;
685
+ gap: 0.25rem;
686
+ overflow: visible;
687
+ transition:
688
+ border-color 120ms ease,
689
+ box-shadow 120ms ease,
690
+ outline-color 120ms ease;
691
+ }
692
+
693
+ .bn-step-field__input--multiline {
694
+ min-height: 80px;
695
+ }
696
+
697
+ .bn-step-field__input--focused {
698
+ border-color: var(--step-input-border-focus);
699
+ box-shadow: 0 0 0 1px var(--step-input-border-focus);
379
700
  }
380
701
 
381
702
  .bn-step-toolbar {
382
703
  display: flex;
383
- gap: 0.35rem;
704
+ align-items: center;
705
+ gap: 4px;
706
+ padding: 0 16px 4px;
707
+ }
708
+
709
+ .bn-step-toolbar__divider {
710
+ width: 1px;
711
+ align-self: stretch;
712
+ background: #e5e5e5;
713
+ margin: 4px;
384
714
  }
385
715
 
386
716
  .bn-step-toolbar__button {
387
- width: 2rem;
388
- height: 2rem;
389
- border-radius: 0.4rem;
390
- border: 1px solid var(--step-border-medium);
391
- background: var(--bg-white);
392
- color: var(--color-primary-700);
393
- font-weight: 700;
394
- font-size: 0.9rem;
395
- display: flex;
717
+ border: none;
718
+ background: transparent;
719
+ color: #0a0a0a;
720
+ width: 28px;
721
+ height: 28px;
722
+ border-radius: 8px;
723
+ display: inline-flex;
396
724
  align-items: center;
397
725
  justify-content: center;
398
726
  cursor: pointer;
399
- transition:
400
- background-color 120ms ease,
401
- border-color 120ms ease,
402
- box-shadow 120ms ease;
727
+ padding: 0;
728
+ font-weight: 600;
729
+ font-size: 14px;
403
730
  }
404
731
 
405
732
  .bn-step-toolbar__button:hover {
406
- background: var(--step-bg-button);
407
- border-color: var(--step-border-strong);
733
+ background: var(--step-bg-button-hover);
408
734
  }
409
735
 
410
736
  .bn-step-editor {
411
737
  position: relative;
412
738
  border-radius: 0.6rem;
413
- border: 1px solid var(--step-border-light);
414
- background: var(--bg-white-solid);
415
- transition:
416
- border-color 120ms ease,
417
- box-shadow 120ms ease;
739
+ border: none;
740
+ background: transparent;
741
+ transition: none;
418
742
  min-height: 2.5rem;
419
- font-size: 0.95rem;
743
+ font-family: "Inter", system-ui, -apple-system, sans-serif;
744
+ font-size: 14px;
745
+ font-weight: 400;
746
+ line-height: 20px;
747
+ color: #262626;
420
748
  overflow: hidden;
421
749
  }
422
750
 
@@ -426,8 +754,7 @@
426
754
 
427
755
  .bn-step-editor.bn-step-editor--focused {
428
756
  outline: none;
429
- border-color: var(--step-border-focus);
430
- box-shadow: 0 0 0 3px var(--step-focus-ring);
757
+ box-shadow: none;
431
758
  }
432
759
 
433
760
  .bn-step-editor .overtype-container {
@@ -441,14 +768,125 @@
441
768
 
442
769
  .bn-step-editor .overtype-wrapper .overtype-input,
443
770
  .bn-step-editor .overtype-wrapper .overtype-preview {
444
- padding: 0.5rem 0.75rem !important;
771
+ padding: 10px 12px !important;
445
772
  min-height: inherit !important;
773
+ background: transparent !important;
774
+ font-family: "Inter", system-ui, -apple-system, sans-serif !important;
775
+ font-size: inherit !important;
776
+ font-weight: inherit !important;
777
+ line-height: inherit !important;
778
+ }
779
+
780
+ .bn-step-editor .overtype-wrapper .overtype-input {
781
+ color: transparent !important;
782
+ caret-color: #262626 !important;
783
+ }
784
+
785
+ .bn-step-editor .overtype-wrapper .overtype-input.bn-step-caret-hidden {
786
+ caret-color: transparent !important;
787
+ }
788
+
789
+ .bn-step-editor .overtype-wrapper .overtype-preview {
790
+ color: inherit !important;
791
+ }
792
+
793
+ .bn-step-editor .overtype-wrapper textarea.overtype-input::placeholder {
794
+ color: #a1a1a1 !important;
795
+ font-weight: 400 !important;
796
+ opacity: 1 !important;
797
+ }
798
+
799
+ .bn-step-editor .overtype-wrapper textarea.overtype-input::-webkit-input-placeholder {
800
+ color: #a1a1a1 !important;
801
+ font-weight: 400 !important;
446
802
  }
447
803
 
448
804
  .bn-step-editor .overtype-wrapper .overtype-preview {
449
805
  color: var(--text-primary) !important;
450
806
  }
451
807
 
808
+ .bn-step-editor .overtype-wrapper .overtype-preview a.step-preview-link {
809
+ color: #4f46e5 !important;
810
+ text-decoration: underline !important;
811
+ pointer-events: none !important;
812
+ }
813
+
814
+ .bn-step-editor .overtype-wrapper .overtype-preview strong.step-preview-bold {
815
+ font-weight: bold !important;
816
+ color: inherit !important;
817
+ }
818
+
819
+ .bn-step-editor .overtype-wrapper .overtype-preview em.step-preview-italic {
820
+ font-style: italic !important;
821
+ color: inherit !important;
822
+ }
823
+
824
+ .bn-step-custom-caret {
825
+ display: none;
826
+ position: absolute;
827
+ width: 1px;
828
+ background: #262626;
829
+ z-index: 2;
830
+ pointer-events: none;
831
+ animation: bn-step-caret-blink 1s step-end infinite;
832
+ }
833
+
834
+ @keyframes bn-step-caret-blink {
835
+ 0%, 100% { opacity: 1; }
836
+ 50% { opacity: 0; }
837
+ }
838
+
839
+ .bn-step-link-tooltip {
840
+ display: flex;
841
+ align-items: center;
842
+ gap: 6px;
843
+ padding: 4px 8px;
844
+ background: #fff;
845
+ border: 1px solid var(--step-input-border, #d4d4d4);
846
+ border-radius: 8px;
847
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
848
+ font-size: 12px;
849
+ position: absolute;
850
+ z-index: 20;
851
+ bottom: calc(100% + 4px);
852
+ left: 0;
853
+ white-space: nowrap;
854
+ }
855
+
856
+ .bn-step-link-tooltip__url {
857
+ color: #6b7280;
858
+ max-width: 200px;
859
+ overflow: hidden;
860
+ text-overflow: ellipsis;
861
+ white-space: nowrap;
862
+ }
863
+
864
+ .bn-step-link-tooltip__btn {
865
+ display: inline-flex;
866
+ align-items: center;
867
+ gap: 4px;
868
+ padding: 2px 6px;
869
+ border: none;
870
+ background: transparent;
871
+ color: #4f46e5;
872
+ font-size: 12px;
873
+ cursor: pointer;
874
+ border-radius: 4px;
875
+ text-decoration: none;
876
+ }
877
+
878
+ .bn-step-link-tooltip__btn:hover {
879
+ background: rgba(79, 70, 229, 0.08);
880
+ }
881
+
882
+ .bn-step-link-tooltip__btn--danger {
883
+ color: #ef4444;
884
+ }
885
+
886
+ .bn-step-link-tooltip__btn--danger:hover {
887
+ background: rgba(239, 68, 68, 0.08);
888
+ }
889
+
452
890
  .bn-step-editor .overtype-wrapper .overtype-preview img {
453
891
  display: block;
454
892
  max-width: 100%;
@@ -462,7 +900,12 @@
462
900
  }
463
901
 
464
902
  .bn-step-field:focus-within .overtype-wrapper .overtype-input::selection {
465
- background-color: rgba(244, 211, 94, 0.4) !important; /* var(--color-selection) with opacity */
903
+ background-color: rgba(244, 211, 94, 0.4) !important;
904
+ }
905
+
906
+ /* Hide OverType's built-in link tooltip — we use our own */
907
+ .bn-step-editor .overtype-link-tooltip {
908
+ display: none !important;
466
909
  }
467
910
 
468
911
  .bn-step-images {
@@ -605,7 +1048,7 @@
605
1048
  .bn-step-suggestion__meta {
606
1049
  font-size: 0.75rem;
607
1050
  font-weight: 600;
608
- color: var(--text-muted);
1051
+ color: var(--step-muted);
609
1052
  }
610
1053
 
611
1054
  .bn-inline-image {