arengibook 3.1.52-itemWithTooltip → 3.1.53-itemWithTooltip
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/dist/index.js +98 -163
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -37114,7 +37114,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37114
37114
|
_ref$enableItemToolti = _ref.enableItemTooltip,
|
|
37115
37115
|
enableItemTooltip = _ref$enableItemToolti === void 0 ? false : _ref$enableItemToolti,
|
|
37116
37116
|
_ref$tooltipWidth = _ref.tooltipWidth,
|
|
37117
|
-
tooltipWidth = _ref$tooltipWidth === void 0 ? '
|
|
37117
|
+
tooltipWidth = _ref$tooltipWidth === void 0 ? '250px' : _ref$tooltipWidth,
|
|
37118
37118
|
_ref$enableItemLink = _ref.enableItemLink,
|
|
37119
37119
|
enableItemLink = _ref$enableItemLink === void 0 ? false : _ref$enableItemLink,
|
|
37120
37120
|
_ref$openOnHover = _ref.openOnHover,
|
|
@@ -37165,9 +37165,9 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37165
37165
|
// 'panelBottom' : tooltip sous le panel d'options
|
|
37166
37166
|
// 'panelTop' : tooltip au-dessus du panel d'options
|
|
37167
37167
|
var _useState13 = useState('right'),
|
|
37168
|
-
_useState14 = _slicedToArray$d(_useState13, 2)
|
|
37169
|
-
|
|
37170
|
-
setTooltipMode = _useState14[1];
|
|
37168
|
+
_useState14 = _slicedToArray$d(_useState13, 2);
|
|
37169
|
+
_useState14[0];
|
|
37170
|
+
var setTooltipMode = _useState14[1];
|
|
37171
37171
|
var _useState15 = useState(null),
|
|
37172
37172
|
_useState16 = _slicedToArray$d(_useState15, 2),
|
|
37173
37173
|
sortOrder = _useState16[0],
|
|
@@ -37233,51 +37233,35 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37233
37233
|
};
|
|
37234
37234
|
}, [enableItemTooltip]);
|
|
37235
37235
|
|
|
37236
|
-
// ---
|
|
37236
|
+
// --- Repositionnement fin du tooltip ---
|
|
37237
|
+
// Le mode est recalculé à chaque survol pour rester à jour en intégration.
|
|
37237
37238
|
useEffect(function () {
|
|
37238
37239
|
if (!enableItemTooltip) return undefined;
|
|
37240
|
+
var hoveredRow = null;
|
|
37239
37241
|
var computeMode = function computeMode() {
|
|
37240
37242
|
var container = dropdownRef.current;
|
|
37241
|
-
if (!container) return;
|
|
37243
|
+
if (!container) return 'right';
|
|
37242
37244
|
var cRect = container.getBoundingClientRect();
|
|
37243
37245
|
var tooltipPxWidth = parseInt(String(tooltipWidth), 10) || 220;
|
|
37244
37246
|
var spaceRight = window.innerWidth - cRect.right;
|
|
37245
|
-
if (spaceRight >= tooltipPxWidth + 40)
|
|
37246
|
-
setTooltipMode('right');
|
|
37247
|
-
return;
|
|
37248
|
-
}
|
|
37247
|
+
if (spaceRight >= tooltipPxWidth + 40) return 'right';
|
|
37249
37248
|
var panel = document.querySelector('.p-dropdown-panel.p-component');
|
|
37250
37249
|
var anchor = panel || container;
|
|
37251
37250
|
var aRect = anchor.getBoundingClientRect();
|
|
37252
37251
|
var estimateHeight = 120;
|
|
37253
37252
|
var spaceBottom = window.innerHeight - aRect.bottom;
|
|
37254
37253
|
var spaceTop = aRect.top;
|
|
37255
|
-
if (spaceBottom >= estimateHeight + 16)
|
|
37256
|
-
|
|
37257
|
-
|
|
37258
|
-
setTooltipMode('panelTop');
|
|
37259
|
-
} else {
|
|
37260
|
-
setTooltipMode('panelBottom');
|
|
37261
|
-
}
|
|
37254
|
+
if (spaceBottom >= estimateHeight + 16) return 'panelBottom';
|
|
37255
|
+
if (spaceTop >= estimateHeight + 16) return 'panelTop';
|
|
37256
|
+
return 'panelBottom';
|
|
37262
37257
|
};
|
|
37263
|
-
computeMode();
|
|
37264
|
-
window.addEventListener('resize', computeMode);
|
|
37265
|
-
window.addEventListener('scroll', computeMode, true);
|
|
37266
|
-
return function () {
|
|
37267
|
-
window.removeEventListener('resize', computeMode);
|
|
37268
|
-
window.removeEventListener('scroll', computeMode, true);
|
|
37269
|
-
};
|
|
37270
|
-
}, [enableItemTooltip, tooltipWidth]);
|
|
37271
|
-
|
|
37272
|
-
// --- Repositionnement fin du tooltip ---
|
|
37273
|
-
useEffect(function () {
|
|
37274
|
-
if (!enableItemTooltip) return undefined;
|
|
37275
|
-
var hoveredRow = null;
|
|
37276
37258
|
var reposition = function reposition() {
|
|
37277
37259
|
var tooltipEl = document.querySelector('.p-tooltip.p-component');
|
|
37278
37260
|
if (!tooltipEl) return;
|
|
37261
|
+
var mode = computeMode();
|
|
37262
|
+
setTooltipMode(mode);
|
|
37279
37263
|
var arrowEl = tooltipEl.querySelector('.p-tooltip-arrow');
|
|
37280
|
-
if (
|
|
37264
|
+
if (mode === 'right') {
|
|
37281
37265
|
var _hoveredRow;
|
|
37282
37266
|
var iconEl = (_hoveredRow = hoveredRow) === null || _hoveredRow === void 0 ? void 0 : _hoveredRow.querySelector('.dropdown-item-info-icon');
|
|
37283
37267
|
if (!iconEl) return;
|
|
@@ -37295,7 +37279,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37295
37279
|
if (!panel) return;
|
|
37296
37280
|
var pRect = panel.getBoundingClientRect();
|
|
37297
37281
|
var _tt = tooltipEl.getBoundingClientRect();
|
|
37298
|
-
if (
|
|
37282
|
+
if (mode === 'panelBottom') {
|
|
37299
37283
|
tooltipEl.style.top = "".concat(pRect.bottom + 8 + window.scrollY, "px");
|
|
37300
37284
|
} else {
|
|
37301
37285
|
tooltipEl.style.top = "".concat(pRect.top - _tt.height - 8 + window.scrollY, "px");
|
|
@@ -37319,7 +37303,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37319
37303
|
return function () {
|
|
37320
37304
|
return document.removeEventListener('mouseover', trackHover);
|
|
37321
37305
|
};
|
|
37322
|
-
}, [enableItemTooltip,
|
|
37306
|
+
}, [enableItemTooltip, tooltipWidth]);
|
|
37323
37307
|
var optionTemplate = function optionTemplate(option) {
|
|
37324
37308
|
var _ref2 = selectMetaConfig || {},
|
|
37325
37309
|
labelStyle = _ref2.labelStyle,
|
|
@@ -38033,9 +38017,10 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
38033
38017
|
pt: {
|
|
38034
38018
|
text: {
|
|
38035
38019
|
style: {
|
|
38036
|
-
width:
|
|
38020
|
+
width: 'auto',
|
|
38037
38021
|
maxWidth: tooltipWidth,
|
|
38038
|
-
whiteSpace: 'normal'
|
|
38022
|
+
whiteSpace: 'normal',
|
|
38023
|
+
wordBreak: 'break-word'
|
|
38039
38024
|
}
|
|
38040
38025
|
}
|
|
38041
38026
|
}
|
|
@@ -38231,7 +38216,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
38231
38216
|
_props$enableItemTool = props.enableItemTooltip,
|
|
38232
38217
|
enableItemTooltip = _props$enableItemTool === void 0 ? false : _props$enableItemTool,
|
|
38233
38218
|
_props$tooltipWidth = props.tooltipWidth,
|
|
38234
|
-
tooltipWidth = _props$tooltipWidth === void 0 ? '
|
|
38219
|
+
tooltipWidth = _props$tooltipWidth === void 0 ? '250px' : _props$tooltipWidth,
|
|
38235
38220
|
_props$enableItemLink = props.enableItemLink,
|
|
38236
38221
|
enableItemLink = _props$enableItemLink === void 0 ? false : _props$enableItemLink,
|
|
38237
38222
|
_props$openOnHover = props.openOnHover,
|
|
@@ -38288,9 +38273,9 @@ var Dropdown = function Dropdown(props) {
|
|
|
38288
38273
|
// 'panelBottom' : sous le panel d'options (si pas assez de place à droite)
|
|
38289
38274
|
// 'panelTop' : au-dessus du panel d'options (si pas assez de place en bas non plus)
|
|
38290
38275
|
var _useState1 = useState('right'),
|
|
38291
|
-
_useState10 = _slicedToArray$d(_useState1, 2)
|
|
38292
|
-
|
|
38293
|
-
setTooltipMode = _useState10[1];
|
|
38276
|
+
_useState10 = _slicedToArray$d(_useState1, 2);
|
|
38277
|
+
_useState10[0];
|
|
38278
|
+
var setTooltipMode = _useState10[1];
|
|
38294
38279
|
var _useState11 = useState(null),
|
|
38295
38280
|
_useState12 = _slicedToArray$d(_useState11, 2),
|
|
38296
38281
|
sortOrder = _useState12[0],
|
|
@@ -38429,68 +38414,37 @@ var Dropdown = function Dropdown(props) {
|
|
|
38429
38414
|
};
|
|
38430
38415
|
}, [enableItemTooltip]);
|
|
38431
38416
|
|
|
38432
|
-
// ---
|
|
38433
|
-
//
|
|
38434
|
-
//
|
|
38435
|
-
//
|
|
38417
|
+
// --- Repositionnement fin du tooltip ---
|
|
38418
|
+
// La détection du mode ('right' / 'panelBottom' / 'panelTop') est refaite
|
|
38419
|
+
// à chaque survol : la mesure reste à jour en intégration réelle même si
|
|
38420
|
+
// le layout a changé après le montage (scroll ancêtre, resize parent…).
|
|
38436
38421
|
useEffect(function () {
|
|
38437
38422
|
if (!enableItemTooltip) return undefined;
|
|
38423
|
+
var hoveredRow = null;
|
|
38438
38424
|
var computeMode = function computeMode() {
|
|
38439
38425
|
var container = containerRef.current;
|
|
38440
|
-
if (!container) return;
|
|
38426
|
+
if (!container) return 'right';
|
|
38441
38427
|
var cRect = container.getBoundingClientRect();
|
|
38442
38428
|
var tooltipPxWidth = parseInt(String(tooltipWidth), 10) || 220;
|
|
38443
38429
|
var spaceRight = window.innerWidth - cRect.right;
|
|
38444
|
-
if (spaceRight >= tooltipPxWidth + 40)
|
|
38445
|
-
setTooltipMode('right');
|
|
38446
|
-
return;
|
|
38447
|
-
}
|
|
38430
|
+
if (spaceRight >= tooltipPxWidth + 40) return 'right';
|
|
38448
38431
|
var panel = document.querySelector('.p-dropdown-panel.p-component');
|
|
38449
38432
|
var anchor = panel || container;
|
|
38450
38433
|
var aRect = anchor.getBoundingClientRect();
|
|
38451
|
-
var estimateHeight = 120;
|
|
38434
|
+
var estimateHeight = 120;
|
|
38452
38435
|
var spaceBottom = window.innerHeight - aRect.bottom;
|
|
38453
38436
|
var spaceTop = aRect.top;
|
|
38454
|
-
if (spaceBottom >= estimateHeight + 16)
|
|
38455
|
-
|
|
38456
|
-
|
|
38457
|
-
setTooltipMode('panelTop');
|
|
38458
|
-
} else {
|
|
38459
|
-
setTooltipMode('panelBottom');
|
|
38460
|
-
}
|
|
38461
|
-
};
|
|
38462
|
-
computeMode();
|
|
38463
|
-
window.addEventListener('resize', computeMode);
|
|
38464
|
-
window.addEventListener('scroll', computeMode, true);
|
|
38465
|
-
return function () {
|
|
38466
|
-
window.removeEventListener('resize', computeMode);
|
|
38467
|
-
window.removeEventListener('scroll', computeMode, true);
|
|
38468
|
-
};
|
|
38469
|
-
}, [enableItemTooltip, isDropdownOpen, tooltipWidth]);
|
|
38470
|
-
|
|
38471
|
-
// --- Repositionnement fin du tooltip ---
|
|
38472
|
-
// Mode 'right' : la flèche du tooltip pointe précisément sur le picto i.
|
|
38473
|
-
// Modes 'panelBottom' / 'panelTop' : tooltip ancré sous / au-dessus du panel
|
|
38474
|
-
// (une seule position pour tous les items ; flèche masquée).
|
|
38475
|
-
useEffect(function () {
|
|
38476
|
-
if (!enableItemTooltip) return undefined;
|
|
38477
|
-
var hoveredRow = null;
|
|
38478
|
-
var trackHover = function trackHover(e) {
|
|
38479
|
-
var _e$target, _e$target$closest;
|
|
38480
|
-
var row = (_e$target = e.target) === null || _e$target === void 0 || (_e$target$closest = _e$target.closest) === null || _e$target$closest === void 0 ? void 0 : _e$target$closest.call(_e$target, '.dropdown-tooltip-item, .dropdown-tooltip-trigger');
|
|
38481
|
-
if (row) {
|
|
38482
|
-
hoveredRow = row;
|
|
38483
|
-
requestAnimationFrame(reposition);
|
|
38484
|
-
requestAnimationFrame(function () {
|
|
38485
|
-
return requestAnimationFrame(reposition);
|
|
38486
|
-
});
|
|
38487
|
-
}
|
|
38437
|
+
if (spaceBottom >= estimateHeight + 16) return 'panelBottom';
|
|
38438
|
+
if (spaceTop >= estimateHeight + 16) return 'panelTop';
|
|
38439
|
+
return 'panelBottom';
|
|
38488
38440
|
};
|
|
38489
38441
|
var reposition = function reposition() {
|
|
38490
38442
|
var tooltipEl = document.querySelector('.p-tooltip.p-component');
|
|
38491
38443
|
if (!tooltipEl) return;
|
|
38444
|
+
var mode = computeMode();
|
|
38445
|
+
setTooltipMode(mode);
|
|
38492
38446
|
var arrowEl = tooltipEl.querySelector('.p-tooltip-arrow');
|
|
38493
|
-
if (
|
|
38447
|
+
if (mode === 'right') {
|
|
38494
38448
|
var _hoveredRow;
|
|
38495
38449
|
var iconEl = (_hoveredRow = hoveredRow) === null || _hoveredRow === void 0 ? void 0 : _hoveredRow.querySelector('.dropdown-item-info-icon');
|
|
38496
38450
|
if (!iconEl) return;
|
|
@@ -38508,7 +38462,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
38508
38462
|
if (!panel) return;
|
|
38509
38463
|
var pRect = panel.getBoundingClientRect();
|
|
38510
38464
|
var _tt = tooltipEl.getBoundingClientRect();
|
|
38511
|
-
if (
|
|
38465
|
+
if (mode === 'panelBottom') {
|
|
38512
38466
|
tooltipEl.style.top = "".concat(pRect.bottom + 8 + window.scrollY, "px");
|
|
38513
38467
|
} else {
|
|
38514
38468
|
tooltipEl.style.top = "".concat(pRect.top - _tt.height - 8 + window.scrollY, "px");
|
|
@@ -38517,11 +38471,22 @@ var Dropdown = function Dropdown(props) {
|
|
|
38517
38471
|
if (arrowEl) arrowEl.style.display = 'none';
|
|
38518
38472
|
}
|
|
38519
38473
|
};
|
|
38474
|
+
var trackHover = function trackHover(e) {
|
|
38475
|
+
var _e$target, _e$target$closest;
|
|
38476
|
+
var row = (_e$target = e.target) === null || _e$target === void 0 || (_e$target$closest = _e$target.closest) === null || _e$target$closest === void 0 ? void 0 : _e$target$closest.call(_e$target, '.dropdown-tooltip-item, .dropdown-tooltip-trigger');
|
|
38477
|
+
if (row) {
|
|
38478
|
+
hoveredRow = row;
|
|
38479
|
+
requestAnimationFrame(reposition);
|
|
38480
|
+
requestAnimationFrame(function () {
|
|
38481
|
+
return requestAnimationFrame(reposition);
|
|
38482
|
+
});
|
|
38483
|
+
}
|
|
38484
|
+
};
|
|
38520
38485
|
document.addEventListener('mouseover', trackHover);
|
|
38521
38486
|
return function () {
|
|
38522
38487
|
return document.removeEventListener('mouseover', trackHover);
|
|
38523
38488
|
};
|
|
38524
|
-
}, [enableItemTooltip,
|
|
38489
|
+
}, [enableItemTooltip, tooltipWidth]);
|
|
38525
38490
|
|
|
38526
38491
|
// --- Event handlers ---
|
|
38527
38492
|
var handleShow = function handleShow() {
|
|
@@ -39062,9 +39027,10 @@ var Dropdown = function Dropdown(props) {
|
|
|
39062
39027
|
pt: {
|
|
39063
39028
|
text: {
|
|
39064
39029
|
style: {
|
|
39065
|
-
width:
|
|
39030
|
+
width: 'auto',
|
|
39066
39031
|
maxWidth: tooltipWidth,
|
|
39067
|
-
whiteSpace: 'normal'
|
|
39032
|
+
whiteSpace: 'normal',
|
|
39033
|
+
wordBreak: 'break-word'
|
|
39068
39034
|
}
|
|
39069
39035
|
}
|
|
39070
39036
|
}
|
|
@@ -42010,7 +41976,7 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
42010
41976
|
_ref$enableItemToolti = _ref.enableItemTooltip,
|
|
42011
41977
|
enableItemTooltip = _ref$enableItemToolti === void 0 ? false : _ref$enableItemToolti,
|
|
42012
41978
|
_ref$tooltipWidth = _ref.tooltipWidth,
|
|
42013
|
-
tooltipWidth = _ref$tooltipWidth === void 0 ? '
|
|
41979
|
+
tooltipWidth = _ref$tooltipWidth === void 0 ? '250px' : _ref$tooltipWidth,
|
|
42014
41980
|
_ref$enableItemLink = _ref.enableItemLink,
|
|
42015
41981
|
enableItemLink = _ref$enableItemLink === void 0 ? false : _ref$enableItemLink,
|
|
42016
41982
|
_ref$enableSecondaryL = _ref.enableSecondaryLabel,
|
|
@@ -42086,9 +42052,9 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
42086
42052
|
// 'panelBottom' : tooltip sous le panel d'options
|
|
42087
42053
|
// 'panelTop' : tooltip au-dessus du panel d'options
|
|
42088
42054
|
var _useState9 = useState('right'),
|
|
42089
|
-
_useState0 = _slicedToArray$d(_useState9, 2)
|
|
42090
|
-
|
|
42091
|
-
setTooltipMode = _useState0[1];
|
|
42055
|
+
_useState0 = _slicedToArray$d(_useState9, 2);
|
|
42056
|
+
_useState0[0];
|
|
42057
|
+
var setTooltipMode = _useState0[1];
|
|
42092
42058
|
var _useState1 = useState(null),
|
|
42093
42059
|
_useState10 = _slicedToArray$d(_useState1, 2),
|
|
42094
42060
|
sortOrder = _useState10[0],
|
|
@@ -42445,51 +42411,36 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
42445
42411
|
};
|
|
42446
42412
|
}, [enableItemTooltip]);
|
|
42447
42413
|
|
|
42448
|
-
// ---
|
|
42414
|
+
// --- Repositionnement fin du tooltip ---
|
|
42415
|
+
// Le mode est recalculé à chaque survol pour rester à jour même après
|
|
42416
|
+
// intégration dans une page dynamique (scroll ancêtre, resize parent…).
|
|
42449
42417
|
useEffect(function () {
|
|
42450
42418
|
if (!enableItemTooltip) return undefined;
|
|
42419
|
+
var hoveredRow = null;
|
|
42451
42420
|
var computeMode = function computeMode() {
|
|
42452
42421
|
var container = containerRef.current;
|
|
42453
|
-
if (!container) return;
|
|
42422
|
+
if (!container) return 'right';
|
|
42454
42423
|
var cRect = container.getBoundingClientRect();
|
|
42455
42424
|
var tooltipPxWidth = parseInt(String(tooltipWidth), 10) || 220;
|
|
42456
42425
|
var spaceRight = window.innerWidth - cRect.right;
|
|
42457
|
-
if (spaceRight >= tooltipPxWidth + 40)
|
|
42458
|
-
setTooltipMode('right');
|
|
42459
|
-
return;
|
|
42460
|
-
}
|
|
42426
|
+
if (spaceRight >= tooltipPxWidth + 40) return 'right';
|
|
42461
42427
|
var panel = document.querySelector('.p-multiselect-panel.p-component');
|
|
42462
42428
|
var anchor = panel || container;
|
|
42463
42429
|
var aRect = anchor.getBoundingClientRect();
|
|
42464
42430
|
var estimateHeight = 120;
|
|
42465
42431
|
var spaceBottom = window.innerHeight - aRect.bottom;
|
|
42466
42432
|
var spaceTop = aRect.top;
|
|
42467
|
-
if (spaceBottom >= estimateHeight + 16)
|
|
42468
|
-
|
|
42469
|
-
|
|
42470
|
-
setTooltipMode('panelTop');
|
|
42471
|
-
} else {
|
|
42472
|
-
setTooltipMode('panelBottom');
|
|
42473
|
-
}
|
|
42433
|
+
if (spaceBottom >= estimateHeight + 16) return 'panelBottom';
|
|
42434
|
+
if (spaceTop >= estimateHeight + 16) return 'panelTop';
|
|
42435
|
+
return 'panelBottom';
|
|
42474
42436
|
};
|
|
42475
|
-
computeMode();
|
|
42476
|
-
window.addEventListener('resize', computeMode);
|
|
42477
|
-
window.addEventListener('scroll', computeMode, true);
|
|
42478
|
-
return function () {
|
|
42479
|
-
window.removeEventListener('resize', computeMode);
|
|
42480
|
-
window.removeEventListener('scroll', computeMode, true);
|
|
42481
|
-
};
|
|
42482
|
-
}, [enableItemTooltip, tooltipWidth]);
|
|
42483
|
-
|
|
42484
|
-
// --- Repositionnement fin du tooltip ---
|
|
42485
|
-
useEffect(function () {
|
|
42486
|
-
if (!enableItemTooltip) return undefined;
|
|
42487
|
-
var hoveredRow = null;
|
|
42488
42437
|
var reposition = function reposition() {
|
|
42489
42438
|
var tooltipEl = document.querySelector('.p-tooltip.p-component');
|
|
42490
42439
|
if (!tooltipEl) return;
|
|
42440
|
+
var mode = computeMode();
|
|
42441
|
+
setTooltipMode(mode);
|
|
42491
42442
|
var arrowEl = tooltipEl.querySelector('.p-tooltip-arrow');
|
|
42492
|
-
if (
|
|
42443
|
+
if (mode === 'right') {
|
|
42493
42444
|
var _hoveredRow;
|
|
42494
42445
|
var iconEl = (_hoveredRow = hoveredRow) === null || _hoveredRow === void 0 ? void 0 : _hoveredRow.querySelector('.multiselect-item-info-icon');
|
|
42495
42446
|
if (!iconEl) return;
|
|
@@ -42507,7 +42458,7 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
42507
42458
|
if (!panel) return;
|
|
42508
42459
|
var pRect = panel.getBoundingClientRect();
|
|
42509
42460
|
var _tt = tooltipEl.getBoundingClientRect();
|
|
42510
|
-
if (
|
|
42461
|
+
if (mode === 'panelBottom') {
|
|
42511
42462
|
tooltipEl.style.top = "".concat(pRect.bottom + 8 + window.scrollY, "px");
|
|
42512
42463
|
} else {
|
|
42513
42464
|
tooltipEl.style.top = "".concat(pRect.top - _tt.height - 8 + window.scrollY, "px");
|
|
@@ -42531,7 +42482,7 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
42531
42482
|
return function () {
|
|
42532
42483
|
return document.removeEventListener('mouseover', trackHover);
|
|
42533
42484
|
};
|
|
42534
|
-
}, [enableItemTooltip,
|
|
42485
|
+
}, [enableItemTooltip, tooltipWidth]);
|
|
42535
42486
|
var inverseColor = function inverseColor(hexColor) {
|
|
42536
42487
|
if (!hexColor || !hexColor.startsWith('#')) return '#000000';
|
|
42537
42488
|
var hex = hexColor;
|
|
@@ -43215,9 +43166,10 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
43215
43166
|
pt: {
|
|
43216
43167
|
text: {
|
|
43217
43168
|
style: {
|
|
43218
|
-
width:
|
|
43169
|
+
width: 'auto',
|
|
43219
43170
|
maxWidth: tooltipWidth,
|
|
43220
|
-
whiteSpace: 'normal'
|
|
43171
|
+
whiteSpace: 'normal',
|
|
43172
|
+
wordBreak: 'break-word'
|
|
43221
43173
|
}
|
|
43222
43174
|
}
|
|
43223
43175
|
}
|
|
@@ -43561,7 +43513,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
43561
43513
|
_props$enableItemTool = props.enableItemTooltip,
|
|
43562
43514
|
enableItemTooltip = _props$enableItemTool === void 0 ? false : _props$enableItemTool,
|
|
43563
43515
|
_props$tooltipWidth = props.tooltipWidth,
|
|
43564
|
-
tooltipWidth = _props$tooltipWidth === void 0 ? '
|
|
43516
|
+
tooltipWidth = _props$tooltipWidth === void 0 ? '250px' : _props$tooltipWidth,
|
|
43565
43517
|
_props$enableItemLink = props.enableItemLink,
|
|
43566
43518
|
enableItemLink = _props$enableItemLink === void 0 ? false : _props$enableItemLink,
|
|
43567
43519
|
_props$openOnHover = props.openOnHover,
|
|
@@ -43619,9 +43571,9 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
43619
43571
|
// 'panelBottom' : tooltip sous le panel d'options
|
|
43620
43572
|
// 'panelTop' : tooltip au-dessus du panel d'options
|
|
43621
43573
|
var _useState1 = useState('right'),
|
|
43622
|
-
_useState10 = _slicedToArray$d(_useState1, 2)
|
|
43623
|
-
|
|
43624
|
-
setTooltipMode = _useState10[1];
|
|
43574
|
+
_useState10 = _slicedToArray$d(_useState1, 2);
|
|
43575
|
+
_useState10[0];
|
|
43576
|
+
var setTooltipMode = _useState10[1];
|
|
43625
43577
|
var multiSelectRef = useRef(null);
|
|
43626
43578
|
var containerRef = useRef(null);
|
|
43627
43579
|
var didMountRef = useRef(false);
|
|
@@ -44077,56 +44029,38 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
44077
44029
|
};
|
|
44078
44030
|
}, [enableItemTooltip]);
|
|
44079
44031
|
|
|
44080
|
-
// ---
|
|
44081
|
-
//
|
|
44082
|
-
//
|
|
44083
|
-
//
|
|
44032
|
+
// --- Repositionnement fin du tooltip ---
|
|
44033
|
+
// La détection du mode ('right' / 'panelBottom' / 'panelTop') est refaite à
|
|
44034
|
+
// chaque survol : ainsi la mesure de position est toujours à jour même si
|
|
44035
|
+
// le layout a changé après le montage (intégration dans une page réelle,
|
|
44036
|
+
// scroll d'un ancêtre, resize du parent, etc.).
|
|
44084
44037
|
useEffect(function () {
|
|
44085
44038
|
if (!enableItemTooltip) return undefined;
|
|
44039
|
+
var hoveredRow = null;
|
|
44086
44040
|
var computeMode = function computeMode() {
|
|
44087
44041
|
var container = containerRef.current;
|
|
44088
|
-
if (!container) return;
|
|
44042
|
+
if (!container) return 'right';
|
|
44089
44043
|
var cRect = container.getBoundingClientRect();
|
|
44090
44044
|
var tooltipPxWidth = parseInt(String(tooltipWidth), 10) || 220;
|
|
44091
44045
|
var spaceRight = window.innerWidth - cRect.right;
|
|
44092
|
-
if (spaceRight >= tooltipPxWidth + 40)
|
|
44093
|
-
setTooltipMode('right');
|
|
44094
|
-
return;
|
|
44095
|
-
}
|
|
44046
|
+
if (spaceRight >= tooltipPxWidth + 40) return 'right';
|
|
44096
44047
|
var panel = document.querySelector('.p-multiselect-panel.p-component');
|
|
44097
44048
|
var anchor = panel || container;
|
|
44098
44049
|
var aRect = anchor.getBoundingClientRect();
|
|
44099
44050
|
var estimateHeight = 120;
|
|
44100
44051
|
var spaceBottom = window.innerHeight - aRect.bottom;
|
|
44101
44052
|
var spaceTop = aRect.top;
|
|
44102
|
-
if (spaceBottom >= estimateHeight + 16)
|
|
44103
|
-
|
|
44104
|
-
|
|
44105
|
-
setTooltipMode('panelTop');
|
|
44106
|
-
} else {
|
|
44107
|
-
setTooltipMode('panelBottom');
|
|
44108
|
-
}
|
|
44109
|
-
};
|
|
44110
|
-
computeMode();
|
|
44111
|
-
window.addEventListener('resize', computeMode);
|
|
44112
|
-
window.addEventListener('scroll', computeMode, true);
|
|
44113
|
-
return function () {
|
|
44114
|
-
window.removeEventListener('resize', computeMode);
|
|
44115
|
-
window.removeEventListener('scroll', computeMode, true);
|
|
44053
|
+
if (spaceBottom >= estimateHeight + 16) return 'panelBottom';
|
|
44054
|
+
if (spaceTop >= estimateHeight + 16) return 'panelTop';
|
|
44055
|
+
return 'panelBottom';
|
|
44116
44056
|
};
|
|
44117
|
-
}, [enableItemTooltip, tooltipWidth]);
|
|
44118
|
-
|
|
44119
|
-
// --- Repositionnement fin du tooltip ---
|
|
44120
|
-
// Mode 'right' : la flèche pointe précisément sur le picto i survolé.
|
|
44121
|
-
// Modes 'panelBottom' / 'panelTop' : tooltip unique ancré sous / au-dessus du panel.
|
|
44122
|
-
useEffect(function () {
|
|
44123
|
-
if (!enableItemTooltip) return undefined;
|
|
44124
|
-
var hoveredRow = null;
|
|
44125
44057
|
var reposition = function reposition() {
|
|
44126
44058
|
var tooltipEl = document.querySelector('.p-tooltip.p-component');
|
|
44127
44059
|
if (!tooltipEl) return;
|
|
44060
|
+
var mode = computeMode();
|
|
44061
|
+
setTooltipMode(mode);
|
|
44128
44062
|
var arrowEl = tooltipEl.querySelector('.p-tooltip-arrow');
|
|
44129
|
-
if (
|
|
44063
|
+
if (mode === 'right') {
|
|
44130
44064
|
var _hoveredRow;
|
|
44131
44065
|
var iconEl = (_hoveredRow = hoveredRow) === null || _hoveredRow === void 0 ? void 0 : _hoveredRow.querySelector('.multiselect-item-info-icon');
|
|
44132
44066
|
if (!iconEl) return;
|
|
@@ -44144,7 +44078,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
44144
44078
|
if (!panel) return;
|
|
44145
44079
|
var pRect = panel.getBoundingClientRect();
|
|
44146
44080
|
var _tt = tooltipEl.getBoundingClientRect();
|
|
44147
|
-
if (
|
|
44081
|
+
if (mode === 'panelBottom') {
|
|
44148
44082
|
tooltipEl.style.top = "".concat(pRect.bottom + 8 + window.scrollY, "px");
|
|
44149
44083
|
} else {
|
|
44150
44084
|
tooltipEl.style.top = "".concat(pRect.top - _tt.height - 8 + window.scrollY, "px");
|
|
@@ -44168,7 +44102,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
44168
44102
|
return function () {
|
|
44169
44103
|
return document.removeEventListener('mouseover', trackHover);
|
|
44170
44104
|
};
|
|
44171
|
-
}, [enableItemTooltip,
|
|
44105
|
+
}, [enableItemTooltip, tooltipWidth]);
|
|
44172
44106
|
var handleChange = function handleChange(e) {
|
|
44173
44107
|
if (disabled || effectiveReadOnly) return;
|
|
44174
44108
|
var ids = Array.isArray(e.value) ? e.value : [e.value];
|
|
@@ -44632,9 +44566,10 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
44632
44566
|
pt: {
|
|
44633
44567
|
text: {
|
|
44634
44568
|
style: {
|
|
44635
|
-
width:
|
|
44569
|
+
width: 'auto',
|
|
44636
44570
|
maxWidth: tooltipWidth,
|
|
44637
|
-
whiteSpace: 'normal'
|
|
44571
|
+
whiteSpace: 'normal',
|
|
44572
|
+
wordBreak: 'break-word'
|
|
44638
44573
|
}
|
|
44639
44574
|
}
|
|
44640
44575
|
}
|