@nextlyhq/plugin-form-builder 0.0.2-alpha.7 → 0.0.2-alpha.71

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 (39) hide show
  1. package/README.md +29 -17
  2. package/dist/admin/index.d.ts +251 -454
  3. package/dist/admin/index.js +4782 -3985
  4. package/dist/admin/index.js.map +1 -1
  5. package/dist/field-references-BshlgMcn.js +1048 -0
  6. package/dist/field-references-BshlgMcn.js.map +1 -0
  7. package/dist/index.d.ts +341 -615
  8. package/dist/index.js +3893 -2406
  9. package/dist/index.js.map +1 -1
  10. package/dist/types-BHReIA0j.d.ts +986 -0
  11. package/package.json +40 -39
  12. package/dist/CheckboxFieldEditor-K4T6QX52.js +0 -121
  13. package/dist/CheckboxFieldEditor-K4T6QX52.js.map +0 -1
  14. package/dist/DateFieldEditor-JFJFAVOH.js +0 -187
  15. package/dist/DateFieldEditor-JFJFAVOH.js.map +0 -1
  16. package/dist/EmailFieldEditor-MMOXXL7P.js +0 -138
  17. package/dist/EmailFieldEditor-MMOXXL7P.js.map +0 -1
  18. package/dist/NumberFieldEditor-UISAYR6Z.js +0 -175
  19. package/dist/NumberFieldEditor-UISAYR6Z.js.map +0 -1
  20. package/dist/RadioFieldEditor-6UQFH4WT.js +0 -165
  21. package/dist/RadioFieldEditor-6UQFH4WT.js.map +0 -1
  22. package/dist/SelectFieldEditor-PSO4KHV4.js +0 -213
  23. package/dist/SelectFieldEditor-PSO4KHV4.js.map +0 -1
  24. package/dist/TextFieldEditor-5EU64EA5.js +0 -187
  25. package/dist/TextFieldEditor-5EU64EA5.js.map +0 -1
  26. package/dist/TextareaFieldEditor-773G3LNM.js +0 -190
  27. package/dist/TextareaFieldEditor-773G3LNM.js.map +0 -1
  28. package/dist/admin/index.css +0 -934
  29. package/dist/admin/index.css.map +0 -1
  30. package/dist/chunk-ABNZFTQK.js +0 -586
  31. package/dist/chunk-ABNZFTQK.js.map +0 -1
  32. package/dist/chunk-XTCEPJ7B.js +0 -256
  33. package/dist/chunk-XTCEPJ7B.js.map +0 -1
  34. package/dist/components/index.d.ts +0 -3
  35. package/dist/components/index.js +0 -9
  36. package/dist/components/index.js.map +0 -1
  37. package/dist/index-C0kBvYjm.d.ts +0 -1012
  38. package/dist/styles/form-builder.css +0 -1150
  39. package/dist/styles/submissions-filter.css +0 -75
@@ -1,1150 +0,0 @@
1
- /**
2
- * Form Builder Styles
3
- *
4
- * Styles for the visual drag-and-drop form builder UI.
5
- * Layout is now driven by Tailwind utility classes in:
6
- * - FormBuilderView.tsx (page layout, header, sidebar shell, main tabs)
7
- * - FieldLibrary.tsx (accordion palette)
8
- * - FormCanvas.tsx (field rows, empty state)
9
- *
10
- * This file retains only:
11
- * 1. CSS custom properties + dark mode overrides
12
- * 2. FieldEditor component styles (.field-editor-*)
13
- * 3. FormSettingsTab component styles (.form-settings-*)
14
- * 4. FormNotificationsTab component styles (.form-notifications-*, .form-notification-*)
15
- * 5. Integration modal / card styles (.form-integration-*)
16
- *
17
- * @module styles/form-builder
18
- * @since 0.1.0
19
- */
20
-
21
- /* ============================================================================
22
- CSS Custom Properties
23
- ============================================================================ */
24
-
25
- .form-builder-view {
26
- --fb-primary: hsl(var(--primary));
27
- --fb-primary-hover: hsl(var(--primary) / 0.9);
28
- --fb-primary-light: hsl(var(--primary) / 0.1);
29
- --fb-danger: #ef4444;
30
- --fb-danger-hover: #dc2626;
31
- --fb-success: #22c55e;
32
- --fb-warning: #f59e0b;
33
-
34
- --fb-bg: #ffffff;
35
- --fb-bg-muted: #f8fafc;
36
- --fb-bg-hover: #f1f5f9;
37
- --fb-border: #e2e8f0;
38
- --fb-border-focus: hsl(var(--primary));
39
-
40
- --fb-text: #1e293b;
41
- --fb-text-muted: #64748b;
42
- --fb-text-light: #94a3b8;
43
-
44
- --fb-radius-sm: 0.375rem; /* 6px */
45
- --fb-radius-md: 0.375rem; /* 6px */
46
- --fb-radius-lg: 0.375rem; /* 6px */
47
-
48
- --fb-shadow: none;
49
- --fb-shadow-md: none;
50
- --fb-shadow-lg: none;
51
- }
52
-
53
- /* ============================================================================
54
- Dark Mode Overrides
55
- ============================================================================ */
56
-
57
- .dark .form-builder-view,
58
- [data-theme="dark"] .form-builder-view {
59
- --fb-bg: hsl(222.2, 47.4%, 11.2%);
60
- --fb-bg-muted: hsl(217.2, 32.6%, 17.5%);
61
- --fb-bg-hover: hsl(215.4, 16.3%, 25.9%);
62
- --fb-border: hsl(217.2, 32.6%, 17.5%);
63
-
64
- --fb-text: hsl(210, 40%, 98%);
65
- --fb-text-muted: hsl(215, 20.2%, 65.1%);
66
- --fb-text-light: hsl(215.3, 25%, 36.7%);
67
- }
68
-
69
- /* ============================================================================
70
- Field Editor (Right Panel)
71
- ============================================================================ */
72
-
73
- .field-editor {
74
- padding: 16px;
75
- }
76
-
77
- .field-editor-header {
78
- margin-bottom: 20px;
79
- }
80
-
81
- .field-editor-title {
82
- font-size: 0.875rem;
83
- font-weight: 600;
84
- color: var(--fb-text);
85
- margin: 0 0 4px 0;
86
- display: flex;
87
- align-items: center;
88
- gap: 8px;
89
- }
90
-
91
- .field-editor-type-badge {
92
- font-size: 0.75rem;
93
- font-weight: 500;
94
- color: var(--fb-primary);
95
- background: var(--fb-primary-light);
96
- padding: 2px 8px;
97
- border-radius: 9999px;
98
- }
99
-
100
- .field-editor-actions {
101
- display: flex;
102
- gap: 8px;
103
- margin-top: 12px;
104
- }
105
-
106
- .field-editor-action-btn {
107
- display: flex;
108
- align-items: center;
109
- gap: 6px;
110
- padding: 6px 12px;
111
- font-size: 0.75rem;
112
- font-weight: 500;
113
- border: 1px solid var(--fb-border);
114
- border-radius: var(--fb-radius-sm);
115
- background: var(--fb-bg);
116
- cursor: pointer;
117
- transition: all 0.15s ease;
118
- color: var(--fb-text-muted);
119
- }
120
-
121
- .field-editor-action-btn:hover {
122
- border-color: var(--fb-text-light);
123
- color: var(--fb-text);
124
- }
125
-
126
- .field-editor-action-btn--danger:hover {
127
- border-color: var(--fb-danger);
128
- color: var(--fb-danger);
129
- background: #fef2f2;
130
- }
131
-
132
- .field-editor-section {
133
- margin-bottom: 20px;
134
- }
135
-
136
- .field-editor-section-title {
137
- font-size: 0.75rem;
138
- font-weight: 600;
139
- color: var(--fb-text-muted);
140
- text-transform: uppercase;
141
- letter-spacing: 0.05em;
142
- margin: 0 0 12px 0;
143
- }
144
-
145
- .field-editor-row {
146
- margin-bottom: 14px;
147
- }
148
-
149
- .field-editor-row:last-child {
150
- margin-bottom: 0;
151
- }
152
-
153
- .field-editor-row--checkbox {
154
- display: flex;
155
- align-items: center;
156
- }
157
-
158
- .field-editor-field {
159
- margin-bottom: 16px;
160
- }
161
-
162
- .field-editor-field:last-child {
163
- margin-bottom: 0;
164
- }
165
-
166
- .field-editor-label {
167
- display: block;
168
- font-size: 0.8125rem;
169
- font-weight: 500;
170
- color: var(--fb-text);
171
- margin-bottom: 6px;
172
- }
173
-
174
- .field-editor-input {
175
- width: 100%;
176
- padding: 8px 12px;
177
- font-size: 0.875rem;
178
- color: var(--fb-text);
179
- background: var(--fb-bg);
180
- border: 1px solid var(--fb-border);
181
- border-radius: var(--fb-radius-sm);
182
- transition: all 0.15s ease;
183
- }
184
-
185
- .field-editor-input:focus {
186
- outline: none;
187
- border-color: var(--fb-border-focus);
188
- }
189
-
190
- .field-editor-input::placeholder {
191
- color: var(--fb-text-light);
192
- }
193
-
194
- .field-editor-input--small {
195
- width: 120px;
196
- }
197
-
198
- .field-editor-textarea {
199
- min-height: 80px;
200
- resize: vertical;
201
- }
202
-
203
- .field-editor-select {
204
- width: 100%;
205
- padding: 8px 12px;
206
- font-size: 0.875rem;
207
- color: var(--fb-text);
208
- background: var(--fb-bg);
209
- border: 1px solid var(--fb-border);
210
- border-radius: var(--fb-radius-sm);
211
- transition: all 0.15s ease;
212
- cursor: pointer;
213
- }
214
-
215
- .field-editor-select:focus {
216
- outline: none;
217
- border-color: var(--fb-border-focus);
218
- }
219
-
220
- .field-editor-checkbox-row {
221
- display: flex;
222
- align-items: center;
223
- gap: 8px;
224
- }
225
-
226
- .field-editor-checkbox {
227
- width: 16px;
228
- height: 16px;
229
- accent-color: var(--fb-primary);
230
- }
231
-
232
- .field-editor-checkbox-label {
233
- display: flex;
234
- align-items: center;
235
- gap: 8px;
236
- cursor: pointer;
237
- font-size: 0.8125rem;
238
- color: var(--fb-text);
239
- }
240
-
241
- .field-editor-help {
242
- display: block;
243
- font-size: 0.6875rem;
244
- color: var(--fb-text-muted);
245
- margin-top: 4px;
246
- }
247
-
248
- .field-editor-warning {
249
- display: block;
250
- font-size: 0.6875rem;
251
- color: var(--fb-warning);
252
- margin-top: 4px;
253
- }
254
-
255
- .field-editor-info {
256
- padding: 10px 14px;
257
- background: var(--fb-bg-muted);
258
- border-radius: var(--fb-radius-sm);
259
- font-size: 0.8125rem;
260
- color: var(--fb-text-muted);
261
- }
262
-
263
- .field-editor-options {
264
- margin-bottom: 14px;
265
- }
266
-
267
- .field-editor-options-empty {
268
- padding: 12px;
269
- background: var(--fb-bg-muted);
270
- border-radius: var(--fb-radius-sm);
271
- font-size: 0.8125rem;
272
- color: var(--fb-text-muted);
273
- text-align: center;
274
- margin-bottom: 8px;
275
- }
276
-
277
- .field-editor-options-list {
278
- display: flex;
279
- flex-direction: column;
280
- gap: 6px;
281
- margin-bottom: 8px;
282
- }
283
-
284
- .field-editor-option-row {
285
- display: flex;
286
- align-items: center;
287
- gap: 6px;
288
- }
289
-
290
- .field-editor-option-remove {
291
- display: flex;
292
- align-items: center;
293
- justify-content: center;
294
- width: 24px;
295
- height: 24px;
296
- background: none;
297
- border: 1px solid var(--fb-border);
298
- border-radius: var(--fb-radius-sm);
299
- cursor: pointer;
300
- font-size: 1rem;
301
- color: var(--fb-text-muted);
302
- transition: all 0.15s ease;
303
- flex-shrink: 0;
304
- }
305
-
306
- .field-editor-option-remove:hover {
307
- color: var(--fb-danger);
308
- border-color: var(--fb-danger);
309
- background: #fef2f2;
310
- }
311
-
312
- .field-editor-add-option-btn {
313
- padding: 6px 12px;
314
- font-size: 0.75rem;
315
- font-weight: 500;
316
- color: var(--fb-primary);
317
- background: var(--fb-primary-light);
318
- border: 1px dashed var(--fb-primary);
319
- border-radius: var(--fb-radius-sm);
320
- cursor: pointer;
321
- transition: all 0.15s ease;
322
- width: 100%;
323
- }
324
-
325
- .field-editor-add-option-btn:hover {
326
- background: #dbeafe;
327
- }
328
-
329
- .field-editor-tabs {
330
- display: flex;
331
- gap: 0;
332
- background: var(--fb-bg-muted);
333
- border-radius: var(--fb-radius-sm);
334
- padding: 3px;
335
- margin-bottom: 16px;
336
- }
337
-
338
- .field-editor-tab {
339
- flex: 1;
340
- padding: 5px 10px;
341
- font-size: 0.75rem;
342
- font-weight: 500;
343
- color: var(--fb-text-muted);
344
- background: transparent;
345
- border: none;
346
- border-radius: 4px;
347
- cursor: pointer;
348
- transition: all 0.15s ease;
349
- }
350
-
351
- .field-editor-tab--active {
352
- color: var(--fb-text);
353
- background: var(--fb-bg);
354
- }
355
-
356
- .field-editor-footer {
357
- display: flex;
358
- gap: 8px;
359
- margin-top: 20px;
360
- padding-top: 16px;
361
- border-top: 1px solid var(--fb-border);
362
- }
363
-
364
- .field-editor-btn {
365
- display: inline-flex;
366
- align-items: center;
367
- justify-content: center;
368
- gap: 6px;
369
- padding: 7px 14px;
370
- font-size: 0.8125rem;
371
- font-weight: 500;
372
- border-radius: var(--fb-radius-sm);
373
- cursor: pointer;
374
- transition: all 0.15s ease;
375
- border: 1px solid var(--fb-border);
376
- background: var(--fb-bg);
377
- color: var(--fb-text-muted);
378
- }
379
-
380
- .field-editor-btn:hover {
381
- color: var(--fb-text);
382
- border-color: var(--fb-text-light);
383
- }
384
-
385
- .field-editor-btn--secondary {
386
- color: var(--fb-text-muted);
387
- }
388
-
389
- .field-editor-btn--danger {
390
- color: var(--fb-danger);
391
- border-color: #fecaca;
392
- background: #fef2f2;
393
- }
394
-
395
- .field-editor-btn--danger:hover {
396
- background: #fee2e2;
397
- border-color: var(--fb-danger);
398
- }
399
-
400
- /* ============================================================================
401
- Form Settings Tab
402
- ============================================================================ */
403
-
404
- .form-settings-tab {
405
- max-width: 640px;
406
- }
407
-
408
- .form-settings-section {
409
- margin-bottom: 32px;
410
- padding-bottom: 24px;
411
- border-bottom: 1px solid var(--fb-border);
412
- }
413
-
414
- .form-settings-section:last-child {
415
- margin-bottom: 0;
416
- padding-bottom: 0;
417
- border-bottom: none;
418
- }
419
-
420
- .form-settings-section-title {
421
- font-size: 1rem;
422
- font-weight: 600;
423
- color: var(--fb-text);
424
- margin: 0 0 16px 0;
425
- }
426
-
427
- .form-settings-field {
428
- margin-bottom: 16px;
429
- }
430
-
431
- .form-settings-field:last-child {
432
- margin-bottom: 0;
433
- }
434
-
435
- .form-settings-field--checkbox {
436
- margin-bottom: 12px;
437
- }
438
-
439
- .form-settings-label {
440
- display: block;
441
- font-size: 0.875rem;
442
- font-weight: 500;
443
- color: var(--fb-text);
444
- margin-bottom: 6px;
445
- }
446
-
447
- .form-settings-input,
448
- .form-settings-textarea {
449
- width: 100%;
450
- padding: 10px 14px;
451
- font-size: 0.875rem;
452
- color: var(--fb-text);
453
- background: var(--fb-bg);
454
- border: 1px solid var(--fb-border);
455
- border-radius: var(--fb-radius-md);
456
- transition: all 0.15s ease;
457
- }
458
-
459
- .form-settings-input:focus,
460
- .form-settings-textarea:focus {
461
- outline: none;
462
- border-color: var(--fb-border-focus);
463
- }
464
-
465
- .form-settings-input::placeholder,
466
- .form-settings-textarea::placeholder {
467
- color: var(--fb-text-light);
468
- }
469
-
470
- .form-settings-textarea {
471
- min-height: 80px;
472
- resize: vertical;
473
- }
474
-
475
- .form-settings-checkbox-label {
476
- display: flex;
477
- align-items: center;
478
- gap: 10px;
479
- cursor: pointer;
480
- font-size: 0.875rem;
481
- color: var(--fb-text);
482
- }
483
-
484
- .form-settings-checkbox {
485
- width: 18px;
486
- height: 18px;
487
- accent-color: var(--fb-primary);
488
- cursor: pointer;
489
- }
490
-
491
- .form-settings-hint {
492
- font-size: 0.75rem;
493
- color: var(--fb-text-muted);
494
- margin: 6px 0 0 0;
495
- }
496
-
497
- .form-settings-field--checkbox .form-settings-hint {
498
- margin-left: 28px;
499
- }
500
-
501
- /* ============================================================================
502
- Form Notifications Tab
503
- ============================================================================ */
504
-
505
- .form-notifications-tab {
506
- max-width: 800px;
507
- }
508
-
509
- .form-notifications-header {
510
- display: flex;
511
- align-items: flex-start;
512
- justify-content: space-between;
513
- gap: 24px;
514
- margin-bottom: 24px;
515
- }
516
-
517
- .form-notifications-header-content {
518
- flex: 1;
519
- }
520
-
521
- .form-notifications-title {
522
- font-size: 1.125rem;
523
- font-weight: 600;
524
- color: var(--fb-text);
525
- margin: 0 0 4px 0;
526
- }
527
-
528
- .form-notifications-description {
529
- font-size: 0.875rem;
530
- color: var(--fb-text-muted);
531
- margin: 0;
532
- }
533
-
534
- .form-notifications-actions {
535
- display: flex;
536
- gap: 8px;
537
- }
538
-
539
- .form-notifications-add-btn {
540
- padding: 8px 14px;
541
- font-size: 0.8125rem;
542
- font-weight: 500;
543
- color: #ffffff;
544
- background: var(--fb-primary);
545
- border: none;
546
- border-radius: var(--fb-radius-md);
547
- cursor: pointer;
548
- transition: all 0.15s ease;
549
- white-space: nowrap;
550
- }
551
-
552
- .form-notifications-add-btn:hover {
553
- background: var(--fb-primary-hover);
554
- }
555
-
556
- .form-notifications-add-btn--secondary {
557
- color: var(--fb-text);
558
- background: var(--fb-bg);
559
- border: 1px solid var(--fb-border);
560
- }
561
-
562
- .form-notifications-add-btn--secondary:hover {
563
- background: var(--fb-bg-hover);
564
- border-color: var(--fb-text-light);
565
- }
566
-
567
- /* Empty State */
568
- .form-notifications-empty {
569
- display: flex;
570
- flex-direction: column;
571
- align-items: center;
572
- justify-content: center;
573
- padding: 48px 24px;
574
- background: var(--fb-bg-muted);
575
- border: 2px dashed var(--fb-border);
576
- border-radius: var(--fb-radius-lg);
577
- text-align: center;
578
- }
579
-
580
- .form-notifications-empty-icon {
581
- font-size: 3rem;
582
- margin-bottom: 16px;
583
- opacity: 0.5;
584
- }
585
-
586
- .form-notifications-empty-title {
587
- font-size: 1rem;
588
- font-weight: 600;
589
- color: var(--fb-text);
590
- margin: 0 0 8px 0;
591
- }
592
-
593
- .form-notifications-empty-hint {
594
- font-size: 0.875rem;
595
- color: var(--fb-text-muted);
596
- margin: 0 0 20px 0;
597
- max-width: 400px;
598
- }
599
-
600
- .form-notifications-empty-actions {
601
- display: flex;
602
- gap: 8px;
603
- }
604
-
605
- /* Notifications List */
606
- .form-notifications-list {
607
- display: flex;
608
- flex-direction: column;
609
- gap: 16px;
610
- }
611
-
612
- /* Notification Card */
613
- .form-notification-card {
614
- background: var(--fb-bg);
615
- border: 1px solid var(--fb-border);
616
- border-radius: var(--fb-radius-lg);
617
- overflow: hidden;
618
- }
619
-
620
- .form-notification-card--disabled {
621
- opacity: 0.6;
622
- }
623
-
624
- .form-notification-header {
625
- display: flex;
626
- align-items: center;
627
- justify-content: space-between;
628
- gap: 12px;
629
- padding: 12px 16px;
630
- background: var(--fb-bg-muted);
631
- border-bottom: 1px solid var(--fb-border);
632
- }
633
-
634
- .form-notification-header-left {
635
- display: flex;
636
- align-items: center;
637
- gap: 12px;
638
- flex: 1;
639
- min-width: 0;
640
- }
641
-
642
- /* Toggle Switch */
643
- .form-notification-toggle {
644
- position: relative;
645
- display: inline-block;
646
- width: 40px;
647
- height: 22px;
648
- flex-shrink: 0;
649
- }
650
-
651
- .form-notification-toggle input {
652
- opacity: 0;
653
- width: 0;
654
- height: 0;
655
- }
656
-
657
- .form-notification-toggle-slider {
658
- position: absolute;
659
- cursor: pointer;
660
- top: 0;
661
- left: 0;
662
- right: 0;
663
- bottom: 0;
664
- background-color: var(--fb-border);
665
- transition: 0.2s;
666
- border-radius: 22px;
667
- }
668
-
669
- .form-notification-toggle-slider:before {
670
- position: absolute;
671
- content: "";
672
- height: 16px;
673
- width: 16px;
674
- left: 3px;
675
- bottom: 3px;
676
- background-color: white;
677
- transition: 0.2s;
678
- border-radius: 50%;
679
- }
680
-
681
- .form-notification-toggle input:checked + .form-notification-toggle-slider {
682
- background-color: var(--fb-success);
683
- }
684
-
685
- .form-notification-toggle
686
- input:checked
687
- + .form-notification-toggle-slider:before {
688
- transform: translateX(18px);
689
- }
690
-
691
- .form-notification-name {
692
- flex: 1;
693
- min-width: 0;
694
- padding: 6px 10px;
695
- font-size: 0.875rem;
696
- font-weight: 500;
697
- color: var(--fb-text);
698
- background: var(--fb-bg);
699
- border: 1px solid transparent;
700
- border-radius: var(--fb-radius-sm);
701
- transition: all 0.15s ease;
702
- }
703
-
704
- .form-notification-name:focus {
705
- outline: none;
706
- border-color: var(--fb-border-focus);
707
- }
708
-
709
- .form-notification-badge {
710
- padding: 3px 8px;
711
- font-size: 0.6875rem;
712
- font-weight: 600;
713
- text-transform: uppercase;
714
- letter-spacing: 0.05em;
715
- border-radius: 9999px;
716
- flex-shrink: 0;
717
- }
718
-
719
- .form-notification-badge--admin {
720
- color: #7c3aed;
721
- background: #ede9fe;
722
- }
723
-
724
- .form-notification-badge--autoReply {
725
- color: #059669;
726
- background: #d1fae5;
727
- }
728
-
729
- .form-notification-delete {
730
- padding: 6px 12px;
731
- font-size: 0.75rem;
732
- font-weight: 500;
733
- color: var(--fb-text-muted);
734
- background: transparent;
735
- border: 1px solid var(--fb-border);
736
- border-radius: var(--fb-radius-sm);
737
- cursor: pointer;
738
- transition: all 0.15s ease;
739
- }
740
-
741
- .form-notification-delete:hover {
742
- color: var(--fb-danger);
743
- border-color: var(--fb-danger);
744
- background: #fef2f2;
745
- }
746
-
747
- .form-notification-body {
748
- padding: 16px;
749
- }
750
-
751
- .form-notification-row {
752
- margin-bottom: 16px;
753
- }
754
-
755
- .form-notification-row:last-child {
756
- margin-bottom: 0;
757
- }
758
-
759
- .form-notification-row--two-col {
760
- display: grid;
761
- grid-template-columns: 1fr 1fr;
762
- gap: 16px;
763
- }
764
-
765
- .form-notification-field {
766
- display: flex;
767
- flex-direction: column;
768
- gap: 6px;
769
- }
770
-
771
- .form-notification-label {
772
- font-size: 0.8125rem;
773
- font-weight: 500;
774
- color: var(--fb-text);
775
- }
776
-
777
- .form-notification-input,
778
- .form-notification-textarea {
779
- padding: 10px 14px;
780
- font-size: 0.875rem;
781
- color: var(--fb-text);
782
- background: var(--fb-bg);
783
- border: 1px solid var(--fb-border);
784
- border-radius: var(--fb-radius-md);
785
- transition: all 0.15s ease;
786
- }
787
-
788
- .form-notification-input:focus,
789
- .form-notification-textarea:focus {
790
- outline: none;
791
- border-color: var(--fb-border-focus);
792
- }
793
-
794
- .form-notification-input::placeholder,
795
- .form-notification-textarea::placeholder {
796
- color: var(--fb-text-light);
797
- }
798
-
799
- .form-notification-textarea {
800
- min-height: 120px;
801
- resize: vertical;
802
- font-family: inherit;
803
- }
804
-
805
- .form-notification-hint {
806
- font-size: 0.75rem;
807
- color: var(--fb-text-muted);
808
- }
809
-
810
- .form-notification-hint p {
811
- margin: 0 0 4px 0;
812
- }
813
-
814
- .form-notification-placeholders {
815
- margin: 0;
816
- padding-left: 16px;
817
- list-style: none;
818
- }
819
-
820
- .form-notification-placeholders li {
821
- margin-bottom: 2px;
822
- }
823
-
824
- .form-notification-placeholders code {
825
- font-size: 0.6875rem;
826
- color: var(--fb-primary);
827
- background: var(--fb-primary-light);
828
- padding: 1px 4px;
829
- border-radius: 3px;
830
- }
831
-
832
- /* Help Section */
833
- .form-notifications-help {
834
- margin-top: 32px;
835
- padding: 16px 20px;
836
- background: var(--fb-bg-muted);
837
- border-radius: var(--fb-radius-md);
838
- }
839
-
840
- .form-notifications-help h4 {
841
- font-size: 0.875rem;
842
- font-weight: 600;
843
- color: var(--fb-text);
844
- margin: 0 0 12px 0;
845
- }
846
-
847
- .form-notifications-help ul {
848
- margin: 0;
849
- padding-left: 20px;
850
- font-size: 0.8125rem;
851
- color: var(--fb-text-muted);
852
- line-height: 1.6;
853
- }
854
-
855
- .form-notifications-help li {
856
- margin-bottom: 6px;
857
- }
858
-
859
- .form-notifications-help li:last-child {
860
- margin-bottom: 0;
861
- }
862
-
863
- .form-notifications-help strong {
864
- color: var(--fb-text);
865
- }
866
-
867
- /* ============================================================================
868
- Email Integration Cards
869
- ============================================================================ */
870
-
871
- .form-integration-card {
872
- display: flex;
873
- align-items: center;
874
- justify-content: space-between;
875
- gap: 16px;
876
- padding: 14px 16px;
877
- background: var(--fb-bg);
878
- border: 1px solid var(--fb-border);
879
- border-radius: var(--fb-radius-lg);
880
- transition: border-color 0.15s ease;
881
- }
882
-
883
- .form-integration-card:hover {
884
- border-color: var(--fb-text-light);
885
- }
886
-
887
- .form-integration-card--disabled {
888
- opacity: 0.55;
889
- }
890
-
891
- .form-integration-card-left {
892
- display: flex;
893
- align-items: center;
894
- gap: 12px;
895
- flex: 1;
896
- min-width: 0;
897
- }
898
-
899
- .form-integration-card-info {
900
- display: flex;
901
- flex-direction: column;
902
- gap: 4px;
903
- min-width: 0;
904
- }
905
-
906
- .form-integration-card-name {
907
- font-size: 0.9375rem;
908
- font-weight: 600;
909
- color: var(--fb-text);
910
- white-space: nowrap;
911
- overflow: hidden;
912
- text-overflow: ellipsis;
913
- }
914
-
915
- .form-integration-provider-badge {
916
- font-size: 0.75rem;
917
- color: var(--fb-text-muted);
918
- }
919
-
920
- .form-integration-card-actions {
921
- display: flex;
922
- gap: 8px;
923
- flex-shrink: 0;
924
- }
925
-
926
- .form-integration-btn {
927
- padding: 6px 12px;
928
- font-size: 0.75rem;
929
- font-weight: 500;
930
- border-radius: var(--fb-radius-sm);
931
- cursor: pointer;
932
- transition: all 0.15s ease;
933
- border: 1px solid var(--fb-border);
934
- background: transparent;
935
- }
936
-
937
- .form-integration-btn--edit {
938
- color: var(--fb-text-muted);
939
- }
940
-
941
- .form-integration-btn--edit:hover {
942
- color: var(--fb-primary);
943
- border-color: var(--fb-primary);
944
- background: var(--fb-primary-light);
945
- }
946
-
947
- .form-integration-btn--delete {
948
- color: var(--fb-text-muted);
949
- }
950
-
951
- .form-integration-btn--delete:hover {
952
- color: var(--fb-danger);
953
- border-color: var(--fb-danger);
954
- background: #fef2f2;
955
- }
956
-
957
- /* ============================================================================
958
- Email Integration Modal
959
- ============================================================================ */
960
-
961
- .form-integration-modal-overlay {
962
- position: fixed;
963
- inset: 0;
964
- background: rgba(0, 0, 0, 0.45);
965
- display: flex;
966
- align-items: center;
967
- justify-content: center;
968
- z-index: 1000;
969
- padding: 24px;
970
- }
971
-
972
- .form-integration-modal {
973
- background: var(--fb-bg);
974
- border: 1px solid var(--fb-border);
975
- border-radius: var(--fb-radius-lg);
976
- width: 100%;
977
- max-width: 560px;
978
- max-height: calc(100vh - 48px);
979
- display: flex;
980
- flex-direction: column;
981
- box-shadow:
982
- 0 20px 60px rgba(0, 0, 0, 0.15),
983
- 0 4px 16px rgba(0, 0, 0, 0.1);
984
- }
985
-
986
- .form-integration-modal-header {
987
- padding: 20px 24px 16px;
988
- border-bottom: 1px solid var(--fb-border);
989
- flex-shrink: 0;
990
- }
991
-
992
- .form-integration-modal-title {
993
- font-size: 1.0625rem;
994
- font-weight: 600;
995
- color: var(--fb-text);
996
- margin: 0;
997
- }
998
-
999
- .form-integration-modal-body {
1000
- padding: 20px 24px;
1001
- overflow-y: auto;
1002
- display: flex;
1003
- flex-direction: column;
1004
- gap: 16px;
1005
- flex: 1;
1006
- }
1007
-
1008
- .form-integration-modal-footer {
1009
- padding: 16px 24px;
1010
- border-top: 1px solid var(--fb-border);
1011
- display: flex;
1012
- justify-content: flex-end;
1013
- gap: 8px;
1014
- flex-shrink: 0;
1015
- }
1016
-
1017
- /* Modal select */
1018
- .form-integration-select {
1019
- padding: 10px 14px;
1020
- font-size: 0.875rem;
1021
- color: var(--fb-text);
1022
- background: var(--fb-bg);
1023
- border: 1px solid var(--fb-border);
1024
- border-radius: var(--fb-radius-md);
1025
- transition: all 0.15s ease;
1026
- appearance: none;
1027
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
1028
- background-repeat: no-repeat;
1029
- background-position: right 12px center;
1030
- padding-right: 36px;
1031
- cursor: pointer;
1032
- }
1033
-
1034
- .form-integration-select:focus {
1035
- outline: none;
1036
- border-color: var(--fb-border-focus);
1037
- box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1038
- }
1039
-
1040
- /* Recipient list */
1041
- .form-integration-recipient-list {
1042
- display: flex;
1043
- flex-direction: column;
1044
- gap: 6px;
1045
- margin-bottom: 8px;
1046
- }
1047
-
1048
- .form-integration-recipient-item {
1049
- display: flex;
1050
- align-items: center;
1051
- justify-content: space-between;
1052
- padding: 6px 10px;
1053
- background: var(--fb-bg-muted);
1054
- border: 1px solid var(--fb-border);
1055
- border-radius: var(--fb-radius-sm);
1056
- font-size: 0.8125rem;
1057
- color: var(--fb-text);
1058
- }
1059
-
1060
- .form-integration-recipient-remove {
1061
- background: transparent;
1062
- border: none;
1063
- color: var(--fb-text-light);
1064
- cursor: pointer;
1065
- font-size: 1rem;
1066
- line-height: 1;
1067
- padding: 0 2px;
1068
- transition: color 0.15s ease;
1069
- }
1070
-
1071
- .form-integration-recipient-remove:hover {
1072
- color: var(--fb-danger);
1073
- }
1074
-
1075
- .form-integration-recipient-add {
1076
- display: flex;
1077
- gap: 8px;
1078
- }
1079
-
1080
- .form-integration-recipient-add .form-notification-input {
1081
- flex: 1;
1082
- }
1083
-
1084
- .form-integration-add-recipient-btn {
1085
- padding: 10px 14px;
1086
- font-size: 0.8125rem;
1087
- font-weight: 500;
1088
- color: var(--fb-text);
1089
- background: var(--fb-bg);
1090
- border: 1px solid var(--fb-border);
1091
- border-radius: var(--fb-radius-md);
1092
- cursor: pointer;
1093
- white-space: nowrap;
1094
- transition: all 0.15s ease;
1095
- flex-shrink: 0;
1096
- }
1097
-
1098
- .form-integration-add-recipient-btn:hover {
1099
- background: var(--fb-bg-hover);
1100
- border-color: var(--fb-text-light);
1101
- }
1102
-
1103
- /* Active row */
1104
- .form-integration-active-row {
1105
- display: flex;
1106
- align-items: center;
1107
- justify-content: space-between;
1108
- padding: 12px 0 4px;
1109
- border-top: 1px solid var(--fb-border);
1110
- }
1111
-
1112
- .form-integration-active-label {
1113
- font-size: 0.875rem;
1114
- font-weight: 500;
1115
- color: var(--fb-text);
1116
- }
1117
-
1118
- /* Modal footer buttons */
1119
- .form-integration-cancel-btn {
1120
- padding: 9px 18px;
1121
- font-size: 0.875rem;
1122
- font-weight: 500;
1123
- color: var(--fb-text);
1124
- background: var(--fb-bg);
1125
- border: 1px solid var(--fb-border);
1126
- border-radius: var(--fb-radius-md);
1127
- cursor: pointer;
1128
- transition: all 0.15s ease;
1129
- }
1130
-
1131
- .form-integration-cancel-btn:hover {
1132
- background: var(--fb-bg-hover);
1133
- border-color: var(--fb-text-light);
1134
- }
1135
-
1136
- .form-integration-save-btn {
1137
- padding: 9px 18px;
1138
- font-size: 0.875rem;
1139
- font-weight: 500;
1140
- color: #ffffff;
1141
- background: var(--fb-primary);
1142
- border: none;
1143
- border-radius: var(--fb-radius-md);
1144
- cursor: pointer;
1145
- transition: background 0.15s ease;
1146
- }
1147
-
1148
- .form-integration-save-btn:hover {
1149
- background: var(--fb-primary-hover);
1150
- }