@visns-studio/visns-components 5.8.14 → 5.8.17
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.
|
@@ -130,6 +130,24 @@
|
|
|
130
130
|
margin: 0 0 30px;
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
+
|
|
134
|
+
&__fullwidth {
|
|
135
|
+
width: 100%;
|
|
136
|
+
background: white;
|
|
137
|
+
border-radius: var(--br);
|
|
138
|
+
border: 1px solid var(--border-color);
|
|
139
|
+
box-sizing: border-box;
|
|
140
|
+
padding: 0;
|
|
141
|
+
margin: 5px;
|
|
142
|
+
height: auto;
|
|
143
|
+
position: relative;
|
|
144
|
+
|
|
145
|
+
h2 {
|
|
146
|
+
color: var(--primary-color);
|
|
147
|
+
font-size: 1.35em;
|
|
148
|
+
margin: 0 0 30px;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
133
151
|
}
|
|
134
152
|
|
|
135
153
|
.gridtxt {
|
|
@@ -176,10 +194,51 @@
|
|
|
176
194
|
.modalForm {
|
|
177
195
|
width: 100%;
|
|
178
196
|
display: flex;
|
|
179
|
-
align-items:
|
|
197
|
+
align-items: stretch;
|
|
180
198
|
flex-wrap: wrap;
|
|
199
|
+
gap: 0.35em;
|
|
200
|
+
position: relative;
|
|
201
|
+
min-height: 200px;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// Separate class for modal forms (add/edit field modal)
|
|
205
|
+
.modalFieldForm {
|
|
206
|
+
width: 100%;
|
|
207
|
+
display: flex;
|
|
208
|
+
align-items: stretch;
|
|
209
|
+
flex-wrap: wrap;
|
|
210
|
+
gap: 0.35em;
|
|
211
|
+
position: relative;
|
|
212
|
+
|
|
213
|
+
// Ensure form items in modal display in rows
|
|
214
|
+
.formItem {
|
|
215
|
+
width: calc(50% - 0.175em) !important;
|
|
216
|
+
flex: 0 0 calc(50% - 0.175em);
|
|
217
|
+
box-sizing: border-box;
|
|
218
|
+
|
|
219
|
+
// Full-width items within modal
|
|
220
|
+
&.fwItem {
|
|
221
|
+
width: 100% !important;
|
|
222
|
+
flex: 0 0 100%;
|
|
223
|
+
margin-top: 0.5em;
|
|
224
|
+
|
|
225
|
+
// Add visual separation for full-width elements
|
|
226
|
+
&:not(:last-child) {
|
|
227
|
+
margin-bottom: 0.5em;
|
|
228
|
+
padding-bottom: 0.5em;
|
|
229
|
+
border-bottom: 1px solid rgba(var(--primary-rgb), 0.1);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.formItemFull {
|
|
235
|
+
width: 100% !important;
|
|
236
|
+
flex: 0 0 100%;
|
|
237
|
+
box-sizing: border-box;
|
|
238
|
+
}
|
|
181
239
|
}
|
|
182
240
|
|
|
241
|
+
// Modal form items (for the add/edit field modal)
|
|
183
242
|
.formItem {
|
|
184
243
|
width: 50%;
|
|
185
244
|
padding: 0.35em;
|
|
@@ -187,11 +246,153 @@
|
|
|
187
246
|
box-sizing: border-box;
|
|
188
247
|
}
|
|
189
248
|
|
|
190
|
-
|
|
249
|
+
// Full width form items for modal
|
|
250
|
+
.formItemFull {
|
|
251
|
+
width: 100%;
|
|
252
|
+
padding: 0.35em;
|
|
253
|
+
position: relative;
|
|
254
|
+
box-sizing: border-box;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.formItem .fi__label,
|
|
258
|
+
.formItemFull .fi__label {
|
|
191
259
|
position: relative;
|
|
192
260
|
display: block;
|
|
193
261
|
}
|
|
194
262
|
|
|
263
|
+
// Compact table styling for modal options
|
|
264
|
+
.optionsTable {
|
|
265
|
+
width: 100%;
|
|
266
|
+
border-collapse: collapse;
|
|
267
|
+
margin: 0.5rem 0;
|
|
268
|
+
font-size: 0.9rem;
|
|
269
|
+
background: white;
|
|
270
|
+
border-radius: var(--br);
|
|
271
|
+
overflow: hidden;
|
|
272
|
+
box-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.1);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.optionsTable thead {
|
|
276
|
+
background: var(--primary-color);
|
|
277
|
+
color: white;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.optionsTable th,
|
|
281
|
+
.optionsTable td {
|
|
282
|
+
padding: 0.5rem 0.75rem;
|
|
283
|
+
text-align: left;
|
|
284
|
+
border-bottom: 1px solid rgba(var(--primary-rgb), 0.1);
|
|
285
|
+
vertical-align: middle;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
// Special styling for action column
|
|
289
|
+
.optionsTable td:last-child {
|
|
290
|
+
text-align: center;
|
|
291
|
+
padding: 0.3rem;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.optionsTable th {
|
|
295
|
+
font-weight: 600;
|
|
296
|
+
font-size: 0.85rem;
|
|
297
|
+
text-transform: uppercase;
|
|
298
|
+
letter-spacing: 0.5px;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.optionsTable tbody tr {
|
|
302
|
+
transition: background-color 0.2s ease;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.optionsTable tbody tr:hover {
|
|
306
|
+
background-color: rgba(var(--primary-rgb), 0.02);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.optionsTable tbody tr:last-child td {
|
|
310
|
+
border-bottom: none;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Compact input styling for table cells
|
|
314
|
+
.optionsTable input {
|
|
315
|
+
width: 100%;
|
|
316
|
+
padding: 0.4rem 0.6rem !important;
|
|
317
|
+
border: 1px solid rgba(var(--primary-rgb), 0.2) !important;
|
|
318
|
+
border-radius: 4px !important;
|
|
319
|
+
font-size: 0.85rem !important;
|
|
320
|
+
background: white !important;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.optionsTable input:focus {
|
|
324
|
+
border-color: var(--primary-color) !important;
|
|
325
|
+
box-shadow: 0 0 0 2px rgba(var(--primary-rgb), 0.1) !important;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
// Action buttons in tables
|
|
329
|
+
.tableActionBtn {
|
|
330
|
+
padding: 0.4rem 0.6rem;
|
|
331
|
+
border: none;
|
|
332
|
+
border-radius: 4px;
|
|
333
|
+
cursor: pointer;
|
|
334
|
+
font-size: 0.8rem;
|
|
335
|
+
font-weight: 500;
|
|
336
|
+
transition: all 0.2s ease;
|
|
337
|
+
display: inline-flex;
|
|
338
|
+
align-items: center;
|
|
339
|
+
justify-content: center;
|
|
340
|
+
gap: 0.3rem;
|
|
341
|
+
min-height: 32px; // Match input field height
|
|
342
|
+
width: 100%;
|
|
343
|
+
max-width: 70px;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.tableActionBtn.add {
|
|
347
|
+
background: var(--primary-color);
|
|
348
|
+
color: white;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
.tableActionBtn.add:hover {
|
|
352
|
+
background: var(--secondary-color);
|
|
353
|
+
transform: translateY(-1px);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.tableActionBtn.delete {
|
|
357
|
+
background: #dc3545;
|
|
358
|
+
color: white;
|
|
359
|
+
padding: 0.2rem 0.4rem;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.tableActionBtn.delete:hover {
|
|
363
|
+
background: #c82333;
|
|
364
|
+
transform: translateY(-1px);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
// Modal-specific overrides to prevent conflicts with form builder styles
|
|
368
|
+
.modal .formItem,
|
|
369
|
+
.modal .formItemFull {
|
|
370
|
+
// Reset any form builder specific styles that might interfere
|
|
371
|
+
min-height: auto;
|
|
372
|
+
|
|
373
|
+
.fi__label {
|
|
374
|
+
height: auto;
|
|
375
|
+
min-height: auto;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
input,
|
|
379
|
+
select,
|
|
380
|
+
textarea {
|
|
381
|
+
// Ensure modal form fields have proper styling
|
|
382
|
+
min-height: 48px;
|
|
383
|
+
font-size: 0.9rem;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
// Ensure modal tables don't inherit preview field styles
|
|
388
|
+
.modal .optionsTable {
|
|
389
|
+
// Override any conflicting styles
|
|
390
|
+
.fi__label {
|
|
391
|
+
height: auto;
|
|
392
|
+
display: block;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
195
396
|
.formItem textarea,
|
|
196
397
|
.formItem select,
|
|
197
398
|
.formItem
|
|
@@ -257,10 +458,18 @@ input[type='file']:hover {
|
|
|
257
458
|
}
|
|
258
459
|
|
|
259
460
|
.formBuilderItem {
|
|
260
|
-
width: 50
|
|
461
|
+
width: calc(50% - 0.175em);
|
|
261
462
|
padding: 0.35em;
|
|
262
463
|
position: relative;
|
|
263
464
|
box-sizing: border-box;
|
|
465
|
+
display: flex;
|
|
466
|
+
flex-direction: column;
|
|
467
|
+
min-height: 80px;
|
|
468
|
+
|
|
469
|
+
// Ensure consistent layout during drag operations
|
|
470
|
+
&:not(.sortingHelper) {
|
|
471
|
+
transition: transform 0.2s ease;
|
|
472
|
+
}
|
|
264
473
|
}
|
|
265
474
|
|
|
266
475
|
.formBuilderItem .fi__label {
|
|
@@ -318,15 +527,48 @@ input[type='file']:hover {
|
|
|
318
527
|
}
|
|
319
528
|
|
|
320
529
|
.qtrBuilderItem {
|
|
321
|
-
flex-basis: 50
|
|
530
|
+
flex-basis: calc(50% - 0.175em);
|
|
531
|
+
display: flex;
|
|
532
|
+
flex-direction: column;
|
|
533
|
+
min-height: 80px;
|
|
534
|
+
position: relative;
|
|
535
|
+
box-sizing: border-box;
|
|
536
|
+
padding: 0.35em;
|
|
537
|
+
|
|
538
|
+
// Ensure consistent layout during drag operations
|
|
539
|
+
&:not(.sortingHelper) {
|
|
540
|
+
transition: transform 0.2s ease;
|
|
541
|
+
}
|
|
322
542
|
}
|
|
323
543
|
|
|
324
544
|
.halfBuilderItem {
|
|
325
|
-
flex-basis: 50
|
|
545
|
+
flex-basis: calc(50% - 0.175em);
|
|
546
|
+
display: flex;
|
|
547
|
+
flex-direction: column;
|
|
548
|
+
min-height: 80px;
|
|
549
|
+
position: relative;
|
|
550
|
+
box-sizing: border-box;
|
|
551
|
+
padding: 0.35em;
|
|
552
|
+
|
|
553
|
+
// Ensure consistent layout during drag operations
|
|
554
|
+
&:not(.sortingHelper) {
|
|
555
|
+
transition: transform 0.2s ease;
|
|
556
|
+
}
|
|
326
557
|
}
|
|
327
558
|
|
|
328
559
|
.fwBuilderItem {
|
|
329
|
-
flex-basis: 100
|
|
560
|
+
flex-basis: calc(100% - 0.35em);
|
|
561
|
+
display: flex;
|
|
562
|
+
flex-direction: column;
|
|
563
|
+
min-height: 80px;
|
|
564
|
+
position: relative;
|
|
565
|
+
box-sizing: border-box;
|
|
566
|
+
padding: 0.35em;
|
|
567
|
+
|
|
568
|
+
// Ensure consistent layout during drag operations
|
|
569
|
+
&:not(.sortingHelper) {
|
|
570
|
+
transition: transform 0.2s ease;
|
|
571
|
+
}
|
|
330
572
|
}
|
|
331
573
|
|
|
332
574
|
input:not(:placeholder-shown) + .fi__span,
|
|
@@ -451,6 +693,7 @@ select:not(:placeholder-shown) + .fi__span {
|
|
|
451
693
|
bottom: 20px;
|
|
452
694
|
right: 20px;
|
|
453
695
|
width: auto;
|
|
696
|
+
z-index: 500;
|
|
454
697
|
|
|
455
698
|
button {
|
|
456
699
|
display: block;
|
|
@@ -876,6 +1119,500 @@ select:not(:placeholder-shown) + .fi__span {
|
|
|
876
1119
|
background-color: rgba(var(--primary-rgb), 0.02);
|
|
877
1120
|
}
|
|
878
1121
|
|
|
1122
|
+
/* Interactive Field Styles */
|
|
1123
|
+
.interactiveField {
|
|
1124
|
+
position: relative;
|
|
1125
|
+
border: 2px solid transparent;
|
|
1126
|
+
border-radius: var(--br);
|
|
1127
|
+
transition: all 0.2s ease;
|
|
1128
|
+
display: flex;
|
|
1129
|
+
flex-direction: column;
|
|
1130
|
+
min-height: 100px;
|
|
1131
|
+
height: 100%;
|
|
1132
|
+
|
|
1133
|
+
// Ensure proper layout during sorting
|
|
1134
|
+
&.sortableHelper {
|
|
1135
|
+
position: fixed !important;
|
|
1136
|
+
z-index: 99999 !important;
|
|
1137
|
+
pointer-events: none !important;
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
&:hover:not(.sortableHelper) {
|
|
1141
|
+
border-color: rgba(var(--primary-rgb), 0.3);
|
|
1142
|
+
background-color: rgba(var(--primary-rgb), 0.02);
|
|
1143
|
+
|
|
1144
|
+
.fieldControls {
|
|
1145
|
+
opacity: 1;
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
// Add visual feedback during drag operations
|
|
1150
|
+
&.isDragging {
|
|
1151
|
+
opacity: 0.5;
|
|
1152
|
+
transform: scale(0.98);
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
.fieldControls {
|
|
1157
|
+
position: absolute;
|
|
1158
|
+
top: 4px;
|
|
1159
|
+
left: 4px;
|
|
1160
|
+
right: 4px;
|
|
1161
|
+
display: flex;
|
|
1162
|
+
justify-content: space-between;
|
|
1163
|
+
align-items: flex-start;
|
|
1164
|
+
opacity: 0;
|
|
1165
|
+
transition: opacity 0.2s ease;
|
|
1166
|
+
z-index: 10000;
|
|
1167
|
+
pointer-events: none;
|
|
1168
|
+
|
|
1169
|
+
> * {
|
|
1170
|
+
pointer-events: auto;
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
.fieldInfo {
|
|
1175
|
+
position: absolute;
|
|
1176
|
+
top: 4px;
|
|
1177
|
+
left: 50%;
|
|
1178
|
+
transform: translateX(-50%);
|
|
1179
|
+
background: rgba(var(--primary-rgb), 0.9);
|
|
1180
|
+
color: white;
|
|
1181
|
+
padding: 4px 12px;
|
|
1182
|
+
border-radius: 12px;
|
|
1183
|
+
font-size: 0.75rem;
|
|
1184
|
+
font-weight: 500;
|
|
1185
|
+
white-space: nowrap;
|
|
1186
|
+
box-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.25);
|
|
1187
|
+
z-index: 10001;
|
|
1188
|
+
pointer-events: none;
|
|
1189
|
+
opacity: 1; // Always visible
|
|
1190
|
+
transition: all 0.2s ease;
|
|
1191
|
+
max-width: calc(100% - 120px); // Leave space for drag handle and actions
|
|
1192
|
+
overflow: hidden;
|
|
1193
|
+
text-overflow: ellipsis;
|
|
1194
|
+
|
|
1195
|
+
// Ensure it's visible even when field controls are hidden
|
|
1196
|
+
.interactiveField:not(:hover) & {
|
|
1197
|
+
opacity: 0.8;
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
.interactiveField:hover & {
|
|
1201
|
+
opacity: 1;
|
|
1202
|
+
background: var(--primary-color);
|
|
1203
|
+
box-shadow: 0 4px 12px rgba(var(--primary-rgb), 0.4);
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
// Responsive behavior for smaller fields
|
|
1207
|
+
@media (max-width: 768px) {
|
|
1208
|
+
font-size: 0.7rem;
|
|
1209
|
+
padding: 3px 8px;
|
|
1210
|
+
max-width: calc(100% - 100px);
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
.fieldInfoText {
|
|
1215
|
+
display: block;
|
|
1216
|
+
line-height: 1.2;
|
|
1217
|
+
letter-spacing: 0.025em;
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
.dragHandle {
|
|
1221
|
+
color: var(--primary-color) !important;
|
|
1222
|
+
cursor: grab;
|
|
1223
|
+
padding: 8px;
|
|
1224
|
+
border-radius: 8px;
|
|
1225
|
+
background: white;
|
|
1226
|
+
border: 2px solid var(--primary-color);
|
|
1227
|
+
box-shadow: 0 4px 12px rgba(var(--primary-rgb), 0.25);
|
|
1228
|
+
transition: all 0.2s ease;
|
|
1229
|
+
font-weight: bold;
|
|
1230
|
+
display: flex !important;
|
|
1231
|
+
align-items: center;
|
|
1232
|
+
justify-content: center;
|
|
1233
|
+
min-width: 40px;
|
|
1234
|
+
min-height: 40px;
|
|
1235
|
+
position: relative;
|
|
1236
|
+
z-index: 10001;
|
|
1237
|
+
|
|
1238
|
+
svg {
|
|
1239
|
+
display: block !important;
|
|
1240
|
+
width: 24px !important;
|
|
1241
|
+
height: 24px !important;
|
|
1242
|
+
stroke: currentColor !important;
|
|
1243
|
+
fill: none !important;
|
|
1244
|
+
}
|
|
1245
|
+
|
|
1246
|
+
&:hover {
|
|
1247
|
+
background: var(--primary-color);
|
|
1248
|
+
color: white;
|
|
1249
|
+
border-color: var(--primary-color);
|
|
1250
|
+
transform: scale(1.1);
|
|
1251
|
+
box-shadow: 0 6px 16px rgba(var(--primary-rgb), 0.4);
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1254
|
+
&:active {
|
|
1255
|
+
cursor: grabbing;
|
|
1256
|
+
transform: scale(0.95);
|
|
1257
|
+
}
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
.fieldActions {
|
|
1261
|
+
display: flex;
|
|
1262
|
+
gap: 6px;
|
|
1263
|
+
align-items: center;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
.editIcon,
|
|
1267
|
+
.deleteIcon {
|
|
1268
|
+
padding: 8px;
|
|
1269
|
+
border-radius: 8px;
|
|
1270
|
+
background: white;
|
|
1271
|
+
border: 2px solid;
|
|
1272
|
+
cursor: pointer;
|
|
1273
|
+
transition: all 0.2s ease;
|
|
1274
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
1275
|
+
font-weight: bold;
|
|
1276
|
+
display: flex !important;
|
|
1277
|
+
align-items: center;
|
|
1278
|
+
justify-content: center;
|
|
1279
|
+
min-width: 36px;
|
|
1280
|
+
min-height: 36px;
|
|
1281
|
+
position: relative;
|
|
1282
|
+
z-index: 10001;
|
|
1283
|
+
|
|
1284
|
+
svg {
|
|
1285
|
+
display: block !important;
|
|
1286
|
+
width: 20px !important;
|
|
1287
|
+
height: 20px !important;
|
|
1288
|
+
stroke: currentColor !important;
|
|
1289
|
+
fill: none !important;
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
.editIcon {
|
|
1294
|
+
color: var(--primary-color) !important;
|
|
1295
|
+
border-color: var(--primary-color);
|
|
1296
|
+
|
|
1297
|
+
&:hover {
|
|
1298
|
+
background: var(--primary-color);
|
|
1299
|
+
color: white !important;
|
|
1300
|
+
border-color: var(--primary-color);
|
|
1301
|
+
transform: scale(1.1);
|
|
1302
|
+
box-shadow: 0 6px 16px rgba(var(--primary-rgb), 0.4);
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
.deleteIcon {
|
|
1307
|
+
color: #d32f2f !important;
|
|
1308
|
+
border-color: #d32f2f;
|
|
1309
|
+
|
|
1310
|
+
&:hover {
|
|
1311
|
+
background: #d32f2f;
|
|
1312
|
+
color: white !important;
|
|
1313
|
+
border-color: #d32f2f;
|
|
1314
|
+
transform: scale(1.1);
|
|
1315
|
+
box-shadow: 0 6px 16px rgba(211, 47, 47, 0.4);
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
/* Preview Field Styling - Visual distinction from regular sections */
|
|
1320
|
+
.previewField {
|
|
1321
|
+
background: linear-gradient(
|
|
1322
|
+
135deg,
|
|
1323
|
+
rgba(var(--primary-rgb), 0.02),
|
|
1324
|
+
rgba(var(--primary-rgb), 0.05)
|
|
1325
|
+
);
|
|
1326
|
+
border-left: 4px solid rgba(var(--primary-rgb), 0.3);
|
|
1327
|
+
position: relative;
|
|
1328
|
+
|
|
1329
|
+
&::before {
|
|
1330
|
+
content: '';
|
|
1331
|
+
position: absolute;
|
|
1332
|
+
top: 0;
|
|
1333
|
+
left: 0;
|
|
1334
|
+
right: 0;
|
|
1335
|
+
height: 2px;
|
|
1336
|
+
background: linear-gradient(
|
|
1337
|
+
90deg,
|
|
1338
|
+
rgba(var(--primary-rgb), 0.3),
|
|
1339
|
+
rgba(var(--primary-rgb), 0.1),
|
|
1340
|
+
rgba(var(--primary-rgb), 0.3)
|
|
1341
|
+
);
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
&:hover {
|
|
1345
|
+
background: linear-gradient(
|
|
1346
|
+
135deg,
|
|
1347
|
+
rgba(var(--primary-rgb), 0.05),
|
|
1348
|
+
rgba(var(--primary-rgb), 0.08)
|
|
1349
|
+
);
|
|
1350
|
+
border-left-color: rgba(var(--primary-rgb), 0.6);
|
|
1351
|
+
box-shadow: 0 4px 12px rgba(var(--primary-rgb), 0.1);
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
// Override section styling when in preview mode
|
|
1355
|
+
.gridtxt__header {
|
|
1356
|
+
background: linear-gradient(
|
|
1357
|
+
135deg,
|
|
1358
|
+
rgba(var(--primary-rgb), 0.1),
|
|
1359
|
+
rgba(var(--primary-rgb), 0.15)
|
|
1360
|
+
);
|
|
1361
|
+
border-left: 3px solid var(--primary-color);
|
|
1362
|
+
position: relative;
|
|
1363
|
+
|
|
1364
|
+
&::after {
|
|
1365
|
+
content: 'PREVIEW';
|
|
1366
|
+
position: absolute;
|
|
1367
|
+
right: 10px;
|
|
1368
|
+
top: 50%;
|
|
1369
|
+
transform: translateY(-50%);
|
|
1370
|
+
font-size: 0.7rem;
|
|
1371
|
+
color: rgba(var(--primary-rgb), 0.7);
|
|
1372
|
+
font-weight: 600;
|
|
1373
|
+
letter-spacing: 1px;
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
// Dragging state for @dnd-kit
|
|
1379
|
+
.dragging {
|
|
1380
|
+
opacity: 0.5;
|
|
1381
|
+
transform: rotate(2deg) scale(1.02);
|
|
1382
|
+
z-index: 1000;
|
|
1383
|
+
|
|
1384
|
+
// Ensure dragged items maintain their natural size during drag
|
|
1385
|
+
&.halfBuilderItem {
|
|
1386
|
+
width: min(
|
|
1387
|
+
300px,
|
|
1388
|
+
45vw
|
|
1389
|
+
) !important; // Responsive width for half items during drag
|
|
1390
|
+
max-width: 400px !important;
|
|
1391
|
+
flex-basis: auto !important;
|
|
1392
|
+
flex-shrink: 0 !important;
|
|
1393
|
+
flex-grow: 0 !important;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
&.fwBuilderItem {
|
|
1397
|
+
width: min(
|
|
1398
|
+
600px,
|
|
1399
|
+
90vw
|
|
1400
|
+
) !important; // Responsive width for full items during drag
|
|
1401
|
+
max-width: 800px !important;
|
|
1402
|
+
flex-basis: auto !important;
|
|
1403
|
+
flex-shrink: 0 !important;
|
|
1404
|
+
flex-grow: 0 !important;
|
|
1405
|
+
}
|
|
1406
|
+
|
|
1407
|
+
// Remove flexbox behavior during drag
|
|
1408
|
+
display: block !important;
|
|
1409
|
+
|
|
1410
|
+
// Hide field controls and info during drag for cleaner appearance
|
|
1411
|
+
.fieldControls {
|
|
1412
|
+
opacity: 0 !important;
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
.fieldInfo {
|
|
1416
|
+
opacity: 0 !important;
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1419
|
+
// Ensure content doesn't stretch
|
|
1420
|
+
.fieldContent {
|
|
1421
|
+
width: 100%;
|
|
1422
|
+
box-sizing: border-box;
|
|
1423
|
+
padding-top: 10px !important; // Reduce padding since controls are hidden
|
|
1424
|
+
|
|
1425
|
+
// Ensure form elements maintain proper sizing
|
|
1426
|
+
.fi__label {
|
|
1427
|
+
width: 100%;
|
|
1428
|
+
max-width: 100%;
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
input,
|
|
1432
|
+
select,
|
|
1433
|
+
textarea,
|
|
1434
|
+
table {
|
|
1435
|
+
width: 100%;
|
|
1436
|
+
max-width: 100%;
|
|
1437
|
+
box-sizing: border-box;
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1440
|
+
// Ensure tables don't overflow during drag
|
|
1441
|
+
table {
|
|
1442
|
+
table-layout: fixed;
|
|
1443
|
+
word-wrap: break-word;
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
|
|
1447
|
+
// Add a subtle border to make the drag preview more defined
|
|
1448
|
+
border: 2px solid rgba(var(--primary-rgb), 0.3) !important;
|
|
1449
|
+
border-radius: var(--br) !important;
|
|
1450
|
+
background: white !important;
|
|
1451
|
+
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
.fieldContent {
|
|
1455
|
+
position: relative;
|
|
1456
|
+
z-index: 1;
|
|
1457
|
+
padding-top: 50px; /* Add space for the larger controls */
|
|
1458
|
+
flex-grow: 1;
|
|
1459
|
+
display: flex;
|
|
1460
|
+
flex-direction: column;
|
|
1461
|
+
justify-content: flex-start;
|
|
1462
|
+
|
|
1463
|
+
// Ensure form elements take full height
|
|
1464
|
+
.fi__label {
|
|
1465
|
+
height: 100%;
|
|
1466
|
+
display: flex;
|
|
1467
|
+
flex-direction: column;
|
|
1468
|
+
justify-content: flex-start;
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
// Handle different field types
|
|
1472
|
+
select,
|
|
1473
|
+
input,
|
|
1474
|
+
textarea {
|
|
1475
|
+
flex-grow: 1;
|
|
1476
|
+
}
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1479
|
+
.emptyState {
|
|
1480
|
+
padding: 3rem;
|
|
1481
|
+
text-align: center;
|
|
1482
|
+
color: rgba(var(--paragraph-color-rgb), 0.7);
|
|
1483
|
+
font-size: 1rem;
|
|
1484
|
+
background: rgba(var(--primary-rgb), 0.02);
|
|
1485
|
+
border-radius: var(--br);
|
|
1486
|
+
margin: 1rem;
|
|
1487
|
+
|
|
1488
|
+
p {
|
|
1489
|
+
margin: 0;
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
.sortingHelper {
|
|
1494
|
+
z-index: 99999 !important;
|
|
1495
|
+
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
|
|
1496
|
+
transform: rotate(2deg) scale(1.05) !important;
|
|
1497
|
+
pointer-events: none !important;
|
|
1498
|
+
opacity: 0.9 !important;
|
|
1499
|
+
background: white !important;
|
|
1500
|
+
border: 2px solid var(--primary-color) !important;
|
|
1501
|
+
border-radius: 8px !important;
|
|
1502
|
+
|
|
1503
|
+
// Hide field controls during drag
|
|
1504
|
+
.fieldControls {
|
|
1505
|
+
display: none !important;
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
// Ensure field content is visible
|
|
1509
|
+
.fieldContent {
|
|
1510
|
+
opacity: 1 !important;
|
|
1511
|
+
visibility: visible !important;
|
|
1512
|
+
}
|
|
1513
|
+
min-height: 80px !important;
|
|
1514
|
+
|
|
1515
|
+
// Ensure proper flex layout is maintained
|
|
1516
|
+
&.formBuilderItem {
|
|
1517
|
+
display: flex !important;
|
|
1518
|
+
flex-direction: column !important;
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1521
|
+
&.halfBuilderItem {
|
|
1522
|
+
flex-basis: auto !important;
|
|
1523
|
+
width: auto !important;
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
&.fwBuilderItem {
|
|
1527
|
+
flex-basis: auto !important;
|
|
1528
|
+
width: auto !important;
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1531
|
+
// Ensure the helper is visible and styled
|
|
1532
|
+
&::before {
|
|
1533
|
+
content: '';
|
|
1534
|
+
position: absolute;
|
|
1535
|
+
top: -2px;
|
|
1536
|
+
left: -2px;
|
|
1537
|
+
right: -2px;
|
|
1538
|
+
bottom: -2px;
|
|
1539
|
+
background: linear-gradient(
|
|
1540
|
+
45deg,
|
|
1541
|
+
var(--primary-color),
|
|
1542
|
+
var(--secondary-color)
|
|
1543
|
+
);
|
|
1544
|
+
border-radius: var(--br);
|
|
1545
|
+
z-index: -1;
|
|
1546
|
+
opacity: 0.1;
|
|
1547
|
+
}
|
|
1548
|
+
|
|
1549
|
+
// Disable all interactions during drag
|
|
1550
|
+
* {
|
|
1551
|
+
pointer-events: none !important;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
// Hide field controls during drag but keep content visible
|
|
1555
|
+
.fieldControls {
|
|
1556
|
+
opacity: 0 !important;
|
|
1557
|
+
visibility: hidden !important;
|
|
1558
|
+
display: none !important;
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
// Ensure field content is visible during drag
|
|
1562
|
+
.fieldContent {
|
|
1563
|
+
opacity: 1 !important;
|
|
1564
|
+
visibility: visible !important;
|
|
1565
|
+
display: flex !important;
|
|
1566
|
+
flex-direction: column !important;
|
|
1567
|
+
flex-grow: 1 !important;
|
|
1568
|
+
padding-top: 10px !important; // Reduce padding since controls are hidden
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
// Ensure form elements are visible
|
|
1572
|
+
.fi__label {
|
|
1573
|
+
display: flex !important;
|
|
1574
|
+
flex-direction: column !important;
|
|
1575
|
+
opacity: 1 !important;
|
|
1576
|
+
visibility: visible !important;
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
// Ensure inputs, selects, textareas are visible
|
|
1580
|
+
input,
|
|
1581
|
+
select,
|
|
1582
|
+
textarea,
|
|
1583
|
+
button,
|
|
1584
|
+
table,
|
|
1585
|
+
img,
|
|
1586
|
+
h2,
|
|
1587
|
+
div {
|
|
1588
|
+
opacity: 1 !important;
|
|
1589
|
+
visibility: visible !important;
|
|
1590
|
+
display: block !important;
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1593
|
+
// Special handling for table elements
|
|
1594
|
+
table {
|
|
1595
|
+
display: table !important;
|
|
1596
|
+
}
|
|
1597
|
+
|
|
1598
|
+
thead {
|
|
1599
|
+
display: table-header-group !important;
|
|
1600
|
+
}
|
|
1601
|
+
|
|
1602
|
+
tbody {
|
|
1603
|
+
display: table-row-group !important;
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
tr {
|
|
1607
|
+
display: table-row !important;
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
td,
|
|
1611
|
+
th {
|
|
1612
|
+
display: table-cell !important;
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
|
|
879
1616
|
.dragitem {
|
|
880
1617
|
list-style: none;
|
|
881
1618
|
display: flex;
|