@visns-studio/visns-components 5.8.16 → 5.8.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"@nivo/core": "^0.99.0",
|
|
12
12
|
"@nivo/line": "^0.99.0",
|
|
13
13
|
"@nivo/pie": "^0.99.0",
|
|
14
|
+
"@tinymce/miniature": "^6.0.0",
|
|
14
15
|
"@tinymce/tinymce-react": "^6.2.0",
|
|
15
16
|
"@visns-studio/visns-datagrid-community": "^1.0.14",
|
|
16
17
|
"@visns-studio/visns-datagrid-enterprise": "^1.0.14",
|
|
@@ -85,7 +86,7 @@
|
|
|
85
86
|
"react-dom": "^17.0.0 || ^18.0.0"
|
|
86
87
|
},
|
|
87
88
|
"name": "@visns-studio/visns-components",
|
|
88
|
-
"version": "5.8.
|
|
89
|
+
"version": "5.8.18",
|
|
89
90
|
"description": "Various packages to assist in the development of our Custom Applications.",
|
|
90
91
|
"main": "src/index.js",
|
|
91
92
|
"files": [
|
|
@@ -118,6 +118,7 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
118
118
|
let info = [];
|
|
119
119
|
|
|
120
120
|
// Always show type
|
|
121
|
+
info.push(field.label);
|
|
121
122
|
info.push(fieldTypeLabel);
|
|
122
123
|
|
|
123
124
|
// Show size if not default
|
|
@@ -151,7 +152,8 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
151
152
|
const fieldTypeLabel =
|
|
152
153
|
fieldTypes.find((type) => type.value === field.type)?.label ||
|
|
153
154
|
field.type;
|
|
154
|
-
let tooltip = `
|
|
155
|
+
let tooltip = `Label: ${field.label}\n`;
|
|
156
|
+
tooltip += `Type: ${fieldTypeLabel}\n`;
|
|
155
157
|
tooltip += `Size: ${field.size || 'Not set'}\n`;
|
|
156
158
|
tooltip += `Required: ${field.required === 'yes' ? 'Yes' : 'No'}\n`;
|
|
157
159
|
|
|
@@ -253,6 +255,14 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
253
255
|
data-tooltip-place="top"
|
|
254
256
|
data-field-size={field.size}
|
|
255
257
|
>
|
|
258
|
+
{/* Field info - always visible */}
|
|
259
|
+
<div className={styles.fieldInfo}>
|
|
260
|
+
<span className={styles.fieldInfoText}>
|
|
261
|
+
{getFieldInfo(field)}
|
|
262
|
+
</span>
|
|
263
|
+
</div>
|
|
264
|
+
|
|
265
|
+
{/* Field controls - only visible on hover */}
|
|
256
266
|
<div className={styles.fieldControls}>
|
|
257
267
|
<div
|
|
258
268
|
{...attributes}
|
|
@@ -264,23 +274,12 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
264
274
|
>
|
|
265
275
|
<ChevronVertical strokeWidth={3} size={24} />
|
|
266
276
|
</div>
|
|
267
|
-
<div className={styles.fieldInfo}>
|
|
268
|
-
<span className={styles.fieldInfoText}>
|
|
269
|
-
{getFieldInfo(field)}
|
|
270
|
-
</span>
|
|
271
|
-
</div>
|
|
272
277
|
<div className={styles.fieldActions}>
|
|
273
278
|
<Pencil
|
|
274
279
|
className={styles.editIcon}
|
|
275
280
|
strokeWidth={3}
|
|
276
281
|
size={20}
|
|
277
282
|
onClick={(e) => {
|
|
278
|
-
console.info(
|
|
279
|
-
'Edit button clicked - field:',
|
|
280
|
-
field,
|
|
281
|
-
'counter:',
|
|
282
|
-
counter
|
|
283
|
-
);
|
|
284
283
|
e.preventDefault();
|
|
285
284
|
e.stopPropagation();
|
|
286
285
|
handleEdit(counter);
|
|
@@ -1130,7 +1129,7 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
1130
1129
|
}, []);
|
|
1131
1130
|
|
|
1132
1131
|
return (
|
|
1133
|
-
|
|
1132
|
+
<div className={modalShow || modalFormShow ? styles.modalOpen : ''}>
|
|
1134
1133
|
<div className={styles.grid}>
|
|
1135
1134
|
<div className={styles.grid__row}>
|
|
1136
1135
|
<div className={`${styles.grid__full} ${styles.crmtitle}`}>
|
|
@@ -1221,6 +1220,7 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
1221
1220
|
onClose={handleCloseModal}
|
|
1222
1221
|
closeOnDocumentClick={false}
|
|
1223
1222
|
>
|
|
1223
|
+
{modalShow && <div className={styles.modalBackdrop} />}
|
|
1224
1224
|
<div className={styles.modalwrap}>
|
|
1225
1225
|
<div className={styles.modal}>
|
|
1226
1226
|
<div className={styles.modal__header}>
|
|
@@ -2254,6 +2254,7 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
2254
2254
|
onClose={handleCloseModalForm}
|
|
2255
2255
|
closeOnDocumentClick={false}
|
|
2256
2256
|
>
|
|
2257
|
+
{modalFormShow && <div className={styles.modalBackdrop} />}
|
|
2257
2258
|
<div className={styles.modalwrap}>
|
|
2258
2259
|
<div className={styles.modal}>
|
|
2259
2260
|
<div className={styles.modal__header}>
|
|
@@ -2314,8 +2315,10 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
2314
2315
|
lineHeight: '1.4',
|
|
2315
2316
|
maxWidth: '300px',
|
|
2316
2317
|
whiteSpace: 'pre-line',
|
|
2317
|
-
zIndex:
|
|
2318
|
+
zIndex: 99999,
|
|
2318
2319
|
}}
|
|
2320
|
+
place="top"
|
|
2321
|
+
offset={10}
|
|
2319
2322
|
/>
|
|
2320
2323
|
<Tooltip
|
|
2321
2324
|
id="action-tooltip"
|
|
@@ -2328,7 +2331,7 @@ function GenericFormBuilder({ setting, urlParam, userProfile }) {
|
|
|
2328
2331
|
zIndex: 9999,
|
|
2329
2332
|
}}
|
|
2330
2333
|
/>
|
|
2331
|
-
|
|
2334
|
+
</div>
|
|
2332
2335
|
);
|
|
2333
2336
|
}
|
|
2334
2337
|
|
|
@@ -599,6 +599,58 @@ select:not(:placeholder-shown) + .fi__span {
|
|
|
599
599
|
overflow: visible;
|
|
600
600
|
border-top-left-radius: var(--br);
|
|
601
601
|
border-top-right-radius: var(--br);
|
|
602
|
+
position: relative;
|
|
603
|
+
z-index: 10000;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
/* Modal backdrop to prevent background interactions */
|
|
607
|
+
.modalBackdrop {
|
|
608
|
+
position: fixed;
|
|
609
|
+
top: 0;
|
|
610
|
+
left: 0;
|
|
611
|
+
right: 0;
|
|
612
|
+
bottom: 0;
|
|
613
|
+
background: rgba(0, 0, 0, 0.5);
|
|
614
|
+
z-index: 9999;
|
|
615
|
+
backdrop-filter: blur(2px);
|
|
616
|
+
-webkit-backdrop-filter: blur(2px);
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
/* Prevent interactions with background content when modal is open */
|
|
620
|
+
.modalOpen {
|
|
621
|
+
.grid,
|
|
622
|
+
.formSplit,
|
|
623
|
+
.polActions {
|
|
624
|
+
pointer-events: none;
|
|
625
|
+
user-select: none;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
// Disable hover effects on interactive fields when modal is open
|
|
629
|
+
.interactiveField {
|
|
630
|
+
&:hover {
|
|
631
|
+
border-color: transparent !important;
|
|
632
|
+
background-color: transparent !important;
|
|
633
|
+
|
|
634
|
+
.fieldControls {
|
|
635
|
+
opacity: 0 !important;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
// Disable hover effects on form elements when modal is open
|
|
641
|
+
.formItem textarea:hover,
|
|
642
|
+
.formItem select:hover,
|
|
643
|
+
.formItem input[type]:hover {
|
|
644
|
+
border: 1px solid rgba(var(--paragraph-color-rgb), 0.15) !important;
|
|
645
|
+
transition: none !important;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
// Disable hover effects on buttons when modal is open
|
|
649
|
+
.btn:hover {
|
|
650
|
+
background: var(--primary-color) !important;
|
|
651
|
+
border: 1px solid rgba(var(--primary-rgb), 1.1) !important;
|
|
652
|
+
color: var(--tertiary-color) !important;
|
|
653
|
+
}
|
|
602
654
|
}
|
|
603
655
|
|
|
604
656
|
.modal {
|
|
@@ -1129,6 +1181,7 @@ select:not(:placeholder-shown) + .fi__span {
|
|
|
1129
1181
|
flex-direction: column;
|
|
1130
1182
|
min-height: 100px;
|
|
1131
1183
|
height: 100%;
|
|
1184
|
+
margin-top: 15px; // Add margin to provide space for tooltip above
|
|
1132
1185
|
|
|
1133
1186
|
// Ensure proper layout during sorting
|
|
1134
1187
|
&.sortableHelper {
|
|
@@ -1171,12 +1224,13 @@ select:not(:placeholder-shown) + .fi__span {
|
|
|
1171
1224
|
}
|
|
1172
1225
|
}
|
|
1173
1226
|
|
|
1227
|
+
// Field info is now separate from field controls and always visible
|
|
1174
1228
|
.fieldInfo {
|
|
1175
1229
|
position: absolute;
|
|
1176
|
-
top: 4px
|
|
1230
|
+
top: 8px; // Increased from 4px to provide more space for tooltip above
|
|
1177
1231
|
left: 50%;
|
|
1178
1232
|
transform: translateX(-50%);
|
|
1179
|
-
background: rgba(var(--primary-rgb), 0.
|
|
1233
|
+
background: rgba(var(--primary-rgb), 0.85);
|
|
1180
1234
|
color: white;
|
|
1181
1235
|
padding: 4px 12px;
|
|
1182
1236
|
border-radius: 12px;
|
|
@@ -1192,15 +1246,12 @@ select:not(:placeholder-shown) + .fi__span {
|
|
|
1192
1246
|
overflow: hidden;
|
|
1193
1247
|
text-overflow: ellipsis;
|
|
1194
1248
|
|
|
1195
|
-
//
|
|
1196
|
-
.interactiveField:not(:hover) & {
|
|
1197
|
-
opacity: 0.8;
|
|
1198
|
-
}
|
|
1199
|
-
|
|
1249
|
+
// Enhanced styling on hover
|
|
1200
1250
|
.interactiveField:hover & {
|
|
1201
1251
|
opacity: 1;
|
|
1202
1252
|
background: var(--primary-color);
|
|
1203
1253
|
box-shadow: 0 4px 12px rgba(var(--primary-rgb), 0.4);
|
|
1254
|
+
transform: translateX(-50%) scale(1.05);
|
|
1204
1255
|
}
|
|
1205
1256
|
|
|
1206
1257
|
// Responsive behavior for smaller fields
|
|
@@ -1241,6 +1292,10 @@ select:not(:placeholder-shown) + .fi__span {
|
|
|
1241
1292
|
height: 24px !important;
|
|
1242
1293
|
stroke: currentColor !important;
|
|
1243
1294
|
fill: none !important;
|
|
1295
|
+
|
|
1296
|
+
&:hover {
|
|
1297
|
+
color: white !important;
|
|
1298
|
+
}
|
|
1244
1299
|
}
|
|
1245
1300
|
|
|
1246
1301
|
&:hover {
|
|
@@ -1454,7 +1509,7 @@ select:not(:placeholder-shown) + .fi__span {
|
|
|
1454
1509
|
.fieldContent {
|
|
1455
1510
|
position: relative;
|
|
1456
1511
|
z-index: 1;
|
|
1457
|
-
padding-top:
|
|
1512
|
+
padding-top: 55px; /* Increased space for field info and controls */
|
|
1458
1513
|
flex-grow: 1;
|
|
1459
1514
|
display: flex;
|
|
1460
1515
|
flex-direction: column;
|