pr360-questionnaire 2.1.11 → 2.3.0

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.
@@ -0,0 +1,103 @@
1
+ // Dropdown menu component
2
+ .dropdown {
3
+ position: relative;
4
+ display: inline-block;
5
+
6
+ &__toggle {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ padding: $space-xs $space-sm;
11
+ background-color: $white;
12
+ border: 1px solid $gray-lighter;
13
+ border-radius: $border-radius;
14
+ color: $gray-dark;
15
+ cursor: pointer;
16
+ transition: $transition;
17
+ min-width: 80px;
18
+ font-size: 14px;
19
+ gap: $space-xs;
20
+
21
+ &:hover {
22
+ background-color: $gray-lightest;
23
+ border-color: $gray-light;
24
+ color: $color-primary;
25
+ }
26
+
27
+ .icon-text {
28
+ font-size: 12px;
29
+ line-height: 1;
30
+ }
31
+ }
32
+
33
+ &__menu {
34
+ display: none;
35
+ position: absolute;
36
+ right: 0;
37
+ top: 100%;
38
+ margin-top: $space-xs;
39
+ background-color: $white;
40
+ border: 1px solid $gray-lighter;
41
+ border-radius: $border-radius;
42
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
43
+ min-width: 180px;
44
+ z-index: 1000;
45
+ padding: $space-xs 0;
46
+
47
+ &--show {
48
+ display: block;
49
+ }
50
+ }
51
+
52
+ &__item {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: $space-sm;
56
+ padding: $space-sm $space-md;
57
+ color: $gray-dark;
58
+ text-decoration: none;
59
+ cursor: pointer;
60
+ transition: $transition;
61
+ border: none;
62
+ background: none;
63
+ width: 100%;
64
+ text-align: left;
65
+ font-size: 14px;
66
+
67
+ .icon-text {
68
+ font-size: 16px;
69
+ line-height: 1;
70
+ width: 20px;
71
+ display: flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+ }
75
+
76
+ &:hover:not(&--danger) {
77
+ background-color: $gray-lightest;
78
+ color: $color-primary;
79
+ }
80
+
81
+ &--danger {
82
+ color: $gray-dark;
83
+
84
+ &:hover {
85
+ background-color: lighten($danger, 45%) !important;
86
+ color: $danger !important;
87
+ }
88
+ }
89
+
90
+ &--disabled {
91
+ opacity: 0.5;
92
+ cursor: not-allowed;
93
+ pointer-events: none;
94
+ }
95
+ }
96
+
97
+ &__divider {
98
+ height: 1px;
99
+ background-color: $gray-lighter;
100
+ margin: $space-xs 0;
101
+ }
102
+ }
103
+
@@ -25,4 +25,84 @@
25
25
  &:last-child {
26
26
  border-bottom: none;
27
27
  }
28
+ }
29
+
30
+ // Questionnaire section styling for forms
31
+ .questionnaire-section {
32
+ margin-top: 16px;
33
+
34
+ label {
35
+ margin-bottom: 8px;
36
+ display: block;
37
+ font-weight: 600;
38
+ color: #374151;
39
+ }
40
+
41
+ // Create a separate scrollable container for the questionnaire items
42
+ .questionnaire-scroll-area {
43
+ max-height: 200px;
44
+ overflow-y: scroll; // Always show scrollbar to make it clear it's scrollable
45
+ border: 1px solid #d1d5db;
46
+ border-radius: 4px;
47
+ padding: 12px;
48
+ background-color: #f9fafb;
49
+ box-sizing: border-box;
50
+
51
+ // Style individual questionnaire items
52
+ .questionnaire-item {
53
+ margin-bottom: 8px;
54
+
55
+ &:last-child {
56
+ margin-bottom: 0;
57
+ }
58
+
59
+ // Improve checkbox and label alignment
60
+ label {
61
+ display: flex !important;
62
+ align-items: center !important;
63
+ gap: 8px !important;
64
+ margin: 0 !important;
65
+ font-weight: normal !important;
66
+ color: #374151;
67
+ line-height: 1.4;
68
+ cursor: pointer;
69
+
70
+ input[type="checkbox"] {
71
+ margin: 0 !important;
72
+ flex-shrink: 0;
73
+ width: 16px;
74
+ height: 16px;
75
+ }
76
+
77
+ // Text content alignment
78
+ span {
79
+ flex: 1;
80
+ line-height: 1.4;
81
+ }
82
+ }
83
+ }
84
+
85
+ // Custom scrollbar styling - make it more visible
86
+ &::-webkit-scrollbar {
87
+ width: 8px;
88
+ }
89
+
90
+ &::-webkit-scrollbar-track {
91
+ background: #f3f4f6;
92
+ border-radius: 4px;
93
+ }
94
+
95
+ &::-webkit-scrollbar-thumb {
96
+ background: #9ca3af;
97
+ border-radius: 4px;
98
+
99
+ &:hover {
100
+ background: #6b7280;
101
+ }
102
+ }
103
+
104
+ // Firefox scrollbar styling
105
+ scrollbar-width: auto; // Make scrollbar always visible in Firefox
106
+ scrollbar-color: #9ca3af #f3f4f6;
107
+ }
28
108
  }
@@ -47,4 +47,9 @@ input {
47
47
  input {
48
48
  height: 15px;
49
49
  }
50
+
51
+ &--inline {
52
+ display: flex;
53
+ gap: 2rem;
54
+ }
50
55
  }
@@ -5,16 +5,18 @@
5
5
  right: 0;
6
6
  bottom: 0;
7
7
  background-color: rgba(0, 0, 0, .2);
8
-
8
+ backdrop-filter: blur(4px);
9
+ -webkit-backdrop-filter: blur(4px);
10
+ z-index: 9998;
9
11
  }
10
12
 
11
13
  .modal--container{
12
14
  background: $white;
13
- width: 650px;
15
+ width: 750px;
14
16
  position: absolute;
15
17
  top: 10%;
16
18
  left: 45%;
17
- margin-left: -240px;
19
+ margin-left: -375px;
18
20
  z-index: 9999;
19
21
  padding: $space-md;
20
22
  -webkit-box-shadow: 3px 3px 15px 3px #ACACAC;
@@ -24,3 +26,21 @@
24
26
  left: 56%;
25
27
  }
26
28
  }
29
+
30
+ // Ensure FullCalendar sticky headers stay below modals
31
+ .fc-col-header-cell,
32
+ .fc-col-header,
33
+ .fc-scrollgrid-sync-table {
34
+ z-index: 1 !important;
35
+ }
36
+
37
+ // Style the onboarding email textarea to match other form fields but with better formatting
38
+ textarea[name="network_form[onboarding_email]"] {
39
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace !important;
40
+ font-size: 13px !important;
41
+ line-height: 1.5 !important;
42
+ min-height: 300px !important;
43
+ resize: vertical !important;
44
+ width: 100% !important;
45
+ box-sizing: border-box !important;
46
+ }
@@ -0,0 +1,210 @@
1
+ // Network Live Component Styles
2
+
3
+ .network-container {
4
+ .modal-content {
5
+ padding: 0;
6
+ }
7
+
8
+ .network-tabs-container {
9
+ display: flex;
10
+ justify-content: flex-start;
11
+ align-items: center;
12
+ border-bottom: 1px solid $gray-lighter;
13
+ padding: 0;
14
+ background-color: $white;
15
+ flex-wrap: wrap;
16
+ gap: 0;
17
+ min-height: auto;
18
+ }
19
+
20
+ .network-tabs {
21
+ display: flex;
22
+ gap: 0;
23
+ flex-wrap: wrap;
24
+ flex: 1;
25
+ min-width: 0;
26
+ align-items: center;
27
+ padding: 0 $space-xs;
28
+ }
29
+
30
+ .network-tab-button {
31
+ padding: 4px 8px;
32
+ border: none;
33
+ background: none;
34
+ color: $gray-dark;
35
+ border-bottom: 2px solid transparent;
36
+ cursor: pointer;
37
+ font-size: 12px;
38
+ font-weight: $body-regular;
39
+ transition: $transition;
40
+ white-space: nowrap;
41
+ flex-shrink: 0;
42
+ min-width: 0;
43
+ line-height: 1.2;
44
+
45
+ &.active {
46
+ color: $black;
47
+ border-bottom-color: $color-primary;
48
+ }
49
+
50
+ &:hover:not(.active) {
51
+ color: $gray-darkest;
52
+ background-color: $gray-lightest;
53
+ }
54
+ }
55
+
56
+ .network-actions {
57
+ display: flex;
58
+ justify-content: flex-end;
59
+ align-items: center;
60
+ gap: 6px;
61
+ padding: 6px $space-xs;
62
+ background-color: $white;
63
+ border-bottom: 1px solid $gray-lighter;
64
+ min-height: auto;
65
+
66
+ .button {
67
+ // Override size but keep standard button styling
68
+ padding: 6px 12px !important;
69
+ font-size: 12px !important;
70
+ font-weight: $body-regular !important;
71
+ border-radius: 4px !important;
72
+ white-space: nowrap;
73
+ line-height: 1.2;
74
+
75
+ // Ensure primary styling is preserved
76
+ &.button--primary {
77
+ background-color: $color-primary !important;
78
+ color: $white !important;
79
+ border: none !important;
80
+
81
+ &:hover {
82
+ background-color: darken($color-primary, 10%) !important;
83
+ color: $white !important;
84
+ }
85
+ }
86
+
87
+ // Secondary button styling (for Edit Network)
88
+ &.button--secondary {
89
+ background-color: $white !important;
90
+ color: $color-primary !important;
91
+ border: 1px solid $color-primary !important;
92
+
93
+ &:hover {
94
+ background-color: $color-primary !important;
95
+ color: $white !important;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ // Simplified table styling - less aggressive overrides
102
+ .table-container {
103
+ padding: 0 $space-sm;
104
+ background-color: $white;
105
+
106
+ table {
107
+ width: 100%;
108
+ border-collapse: collapse;
109
+ background-color: $white;
110
+ border-radius: 0;
111
+ box-shadow: none;
112
+ border: none;
113
+
114
+ thead {
115
+ tr {
116
+ border-bottom: 1px solid $gray-lighter;
117
+
118
+ th {
119
+ text-align: left;
120
+ padding: 12px 16px;
121
+ font-weight: $body-bold;
122
+ color: $gray-darkest;
123
+ background-color: $white;
124
+ border: none;
125
+ font-size: 14px;
126
+ }
127
+ }
128
+ }
129
+
130
+ tbody {
131
+ tr {
132
+ border-bottom: 1px solid $gray-lightest;
133
+ background-color: $white;
134
+
135
+ &:hover {
136
+ background-color: $gray-lightest;
137
+ }
138
+
139
+ td {
140
+ padding: 12px 16px;
141
+ background-color: inherit;
142
+ border: none;
143
+ font-size: 14px;
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+
150
+ .actions {
151
+ text-align: right;
152
+ }
153
+
154
+ .action-link {
155
+ color: $color-primary;
156
+ text-decoration: none;
157
+ margin-left: 12px;
158
+ font-size: 14px;
159
+
160
+ &:hover {
161
+ text-decoration: underline;
162
+ color: $color-primary-hover;
163
+ }
164
+
165
+ &:first-child {
166
+ margin-left: 0;
167
+ }
168
+ }
169
+
170
+
171
+
172
+ .questionnaire-item {
173
+ margin-bottom: $space-xxs;
174
+
175
+ &:last-child {
176
+ margin-bottom: 0;
177
+ }
178
+ }
179
+
180
+ // Responsive adjustments for smaller screens
181
+ @media (max-width: $screen-tablet) {
182
+ .network-tabs-container {
183
+ padding: 0;
184
+ }
185
+
186
+ .network-tab-button {
187
+ padding: 3px 6px;
188
+ font-size: 11px;
189
+ }
190
+
191
+ .network-actions {
192
+ gap: 4px;
193
+ padding: 4px $space-xxs;
194
+
195
+ .button {
196
+ padding: 4px 8px !important;
197
+ font-size: 11px !important;
198
+ }
199
+ }
200
+
201
+ .table-container {
202
+ padding: 0 $space-xs;
203
+ }
204
+
205
+ .questionnaire-grid-container {
206
+ grid-template-columns: 1fr;
207
+ max-height: 250px;
208
+ }
209
+ }
210
+ }
@@ -44,20 +44,7 @@ table {
44
44
  overflow: visible;
45
45
 
46
46
  &_links {
47
- display: flex;
48
- justify-content: space-between;
49
- align-items: baseline;
50
-
51
- & span {
52
- display: flex;
53
- gap: 25px;
54
- }
55
-
56
- & div {
57
- display: flex;
58
- align-items: baseline;
59
- gap: 10px;
60
- }
47
+ margin-bottom: $space-md;
61
48
  }
62
49
 
63
50
  h4 {
@@ -77,6 +64,42 @@ table {
77
64
  }
78
65
  }
79
66
 
67
+ // Prospects toolbar layout
68
+ .prospects-toolbar {
69
+ display: flex;
70
+ justify-content: space-between;
71
+ align-items: center;
72
+ gap: 20px;
73
+ flex-wrap: wrap;
74
+
75
+ &__left {
76
+ display: flex;
77
+ align-items: center;
78
+ gap: 15px;
79
+ flex: 1;
80
+ min-width: 0;
81
+ }
82
+
83
+ &__right {
84
+ display: flex;
85
+ align-items: center;
86
+ gap: 12px;
87
+ flex-shrink: 0;
88
+ }
89
+ }
90
+
91
+ // Toolbar links
92
+ .toolbar-link {
93
+ font-size: 14px;
94
+ color: $color-primary;
95
+ text-decoration: none;
96
+ white-space: nowrap;
97
+
98
+ &:hover {
99
+ text-decoration: underline;
100
+ }
101
+ }
102
+
80
103
  table.org-users {
81
104
  margin-bottom: 10vh;
82
105
  }
@@ -90,7 +113,7 @@ table {
90
113
  border-bottom: 1px solid $gray-lighter;
91
114
 
92
115
  td {
93
- padding: $space-sm 0;
116
+ padding: $space-sm $space-md $space-sm 0;
94
117
  }
95
118
  }
96
119
  }
@@ -98,6 +121,7 @@ table {
98
121
  thead {
99
122
  tr {
100
123
  th {
124
+ padding-right: $space-md;
101
125
  text-align: left;
102
126
  color: $gray;
103
127
  font-weight: 400;
@@ -223,6 +247,15 @@ table {
223
247
  cursor: default !important;
224
248
  }
225
249
 
250
+ // Highlight prospects with nil status in red
251
+ .prospects-table tbody tr.prospect-nil-status {
252
+ background-color: #ffe6e6 !important;
253
+ }
254
+
255
+ .prospects-table--main tbody tr.prospect-nil-status:hover {
256
+ background-color: #ffd1d1 !important;
257
+ }
258
+
226
259
  .prospects-table tr,
227
260
  .prospects-table td {
228
261
  overflow: visible !important;
@@ -396,17 +429,6 @@ table {
396
429
  position: relative !important;
397
430
  }
398
431
 
399
- .modal-blur-overlay {
400
- position: fixed;
401
- top: 0; left: 0; right: 0; bottom: 0;
402
- width: 100vw;
403
- height: 100vh;
404
- z-index: 1000;
405
- pointer-events: none;
406
- backdrop-filter: blur(4px);
407
- -webkit-backdrop-filter: blur(4px);
408
- }
409
-
410
432
  // Fade both tables and their contents when modal is open (robust selector)
411
433
  .prospects-table-wrapper.modal-open table,
412
434
  .prospects-table-wrapper.modal-open .prospects-table--main,
@@ -417,4 +439,79 @@ table {
417
439
  pointer-events: none !important;
418
440
  filter: blur(1px) !important;
419
441
  transition: opacity 0.2s, filter 0.2s;
442
+ }
443
+
444
+ // User table styles
445
+ .user-table {
446
+ tbody {
447
+ tr {
448
+ td:first-child {
449
+ padding-left: 0;
450
+ min-width: 150px;
451
+ }
452
+
453
+ td:nth-child(2) {
454
+ min-width: 200px;
455
+ }
456
+
457
+ td:nth-child(3) {
458
+ min-width: 150px;
459
+ }
460
+ }
461
+ }
462
+ }
463
+
464
+ // Icon buttons for table actions
465
+ .icon-button {
466
+ display: inline-flex;
467
+ align-items: center;
468
+ justify-content: center;
469
+ padding: $space-xs;
470
+ background-color: transparent;
471
+ border: 1px solid $gray-lighter;
472
+ border-radius: $border-radius;
473
+ color: $gray-dark;
474
+ cursor: pointer;
475
+ transition: $transition;
476
+ min-width: 36px;
477
+ min-height: 36px;
478
+ text-decoration: none;
479
+
480
+ .icon-text {
481
+ font-size: 16px;
482
+ line-height: 1;
483
+ display: flex;
484
+ align-items: center;
485
+ justify-content: center;
486
+ width: 20px;
487
+ height: 20px;
488
+ }
489
+
490
+ &:hover {
491
+ background-color: $gray-lightest;
492
+ border-color: $gray-light;
493
+ color: $color-primary;
494
+ transform: translateY(-1px);
495
+ }
496
+
497
+ &:active {
498
+ transform: scale(0.95);
499
+ }
500
+
501
+ &--danger {
502
+ &:hover {
503
+ background-color: lighten($danger, 45%);
504
+ border-color: $danger;
505
+ color: $danger;
506
+ }
507
+ }
508
+ }
509
+
510
+ // Table actions container
511
+ .table-actions {
512
+ display: flex;
513
+ gap: $space-sm;
514
+ align-items: center;
515
+ justify-content: flex-end;
516
+ flex-wrap: nowrap;
420
517
  }
@@ -420,6 +420,54 @@ meter::-webkit-meter-optimum-value {
420
420
  }
421
421
  }
422
422
 
423
+ // Verification Page Styles
424
+ .verification-phone-number {
425
+ font-size: 1rem !important;
426
+ font-weight: 500;
427
+ color: rgba(24, 24, 24, 0.88);
428
+ margin-top: 10px;
429
+ }
430
+
431
+ .verification-form {
432
+ display: flex !important;
433
+ flex-direction: column;
434
+ align-items: center;
435
+ justify-content: center;
436
+ grid-template-columns: 1fr !important;
437
+ }
438
+
439
+ .verification-input-container {
440
+ text-align: center;
441
+ width: 100%;
442
+ display: flex;
443
+ flex-direction: column;
444
+ align-items: center;
445
+
446
+ label {
447
+ text-align: center !important;
448
+ margin-bottom: 5px;
449
+ margin-left: auto !important;
450
+ margin-right: auto !important;
451
+ display: block;
452
+ width: auto !important;
453
+ }
454
+
455
+ input {
456
+ text-align: center;
457
+ width: 300px !important;
458
+ margin-left: auto !important;
459
+ margin-right: auto !important;
460
+ }
461
+ }
462
+
463
+ .verification-resend-button {
464
+ position: static !important;
465
+ margin-top: 10px !important;
466
+ display: block;
467
+ top: auto !important;
468
+ left: auto !important;
469
+ }
470
+
423
471
  // Utilities
424
472
  .u-margin-none--bt {
425
473
  margin-bottom: 0px;