@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.16",
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 = `Type: ${fieldTypeLabel}\n`;
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: 9999,
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.9);
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
- // Ensure it's visible even when field controls are hidden
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: 50px; /* Add space for the larger controls */
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;