arengibook 3.3.6-table-required → 3.3.7-main
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 +172 -183
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -83,7 +83,6 @@ var MESSAGES = {
|
|
|
83
83
|
'arengibook.table.reorder.disabledSort': 'Réordonnancement indisponible : tri actif sur « %col% ». Retirez le tri pour réordonner.',
|
|
84
84
|
'arengibook.table.reorder.disabledFilter': 'Réordonnancement indisponible : un filtre est actif. Retirez le filtre pour réordonner.',
|
|
85
85
|
'arengibook.table.bulk.button': 'Actions groupées',
|
|
86
|
-
'arengibook.table.column.readOnly': 'Colonne en lecture seule',
|
|
87
86
|
'arengibook.table.bulk.empty': 'Sélectionnez au moins une ligne',
|
|
88
87
|
'arengibook.table.bulk.count': '%n% ligne(s) sélectionnée(s)',
|
|
89
88
|
'arengibook.table.selectionFilter.tooltip': 'N\'afficher que les lignes cochées ou non cochées',
|
|
@@ -166,7 +165,6 @@ var MESSAGES = {
|
|
|
166
165
|
'arengibook.table.reorder.disabledSort': 'Reordering unavailable: sorted by "%col%". Remove the sort to reorder.',
|
|
167
166
|
'arengibook.table.reorder.disabledFilter': 'Reordering unavailable: a filter is active. Remove the filter to reorder.',
|
|
168
167
|
'arengibook.table.bulk.button': 'Bulk actions',
|
|
169
|
-
'arengibook.table.column.readOnly': 'Read-only column',
|
|
170
168
|
'arengibook.table.bulk.empty': 'Select at least one row',
|
|
171
169
|
'arengibook.table.bulk.count': '%n% row(s) selected',
|
|
172
170
|
'arengibook.table.selectionFilter.tooltip': 'Show only checked or unchecked rows',
|
|
@@ -249,7 +247,6 @@ var MESSAGES = {
|
|
|
249
247
|
'arengibook.table.reorder.disabledSort': 'Reordenamiento no disponible: ordenado por «%col%». Quite el orden para reordenar.',
|
|
250
248
|
'arengibook.table.reorder.disabledFilter': 'Reordenamiento no disponible: hay un filtro activo. Quite el filtro para reordenar.',
|
|
251
249
|
'arengibook.table.bulk.button': 'Acciones masivas',
|
|
252
|
-
'arengibook.table.column.readOnly': 'Columna de solo lectura',
|
|
253
250
|
'arengibook.table.bulk.empty': 'Seleccione al menos una fila',
|
|
254
251
|
'arengibook.table.bulk.count': '%n% fila(s) seleccionada(s)',
|
|
255
252
|
'arengibook.table.selectionFilter.tooltip': 'Mostrar solo las filas marcadas o no marcadas',
|
|
@@ -332,7 +329,6 @@ var MESSAGES = {
|
|
|
332
329
|
'arengibook.table.reorder.disabledSort': 'Neuordnen nicht möglich: sortiert nach „%col%". Sortierung entfernen zum Neuordnen.',
|
|
333
330
|
'arengibook.table.reorder.disabledFilter': 'Neuordnen nicht möglich: ein Filter ist aktiv. Filter entfernen zum Neuordnen.',
|
|
334
331
|
'arengibook.table.bulk.button': 'Sammelaktionen',
|
|
335
|
-
'arengibook.table.column.readOnly': 'Schreibgeschützte Spalte',
|
|
336
332
|
'arengibook.table.bulk.empty': 'Wählen Sie mindestens eine Zeile aus',
|
|
337
333
|
'arengibook.table.bulk.count': '%n% Zeile(n) ausgewählt',
|
|
338
334
|
'arengibook.table.selectionFilter.tooltip': 'Nur markierte oder nicht markierte Zeilen anzeigen',
|
|
@@ -38978,6 +38974,89 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
38978
38974
|
}, errorMessage || (showRequiredError ? ((_window$Translator = window.Translator) === null || _window$Translator === void 0 ? void 0 : _window$Translator.trans('error.required')) || 'Veuillez renseigner ce champ' : ((_window$Translator2 = window.Translator) === null || _window$Translator2 === void 0 ? void 0 : _window$Translator2.trans('error.invalid_selection')) || 'Sélection invalide'))));
|
|
38979
38975
|
};
|
|
38980
38976
|
|
|
38977
|
+
// Outils communs aux infobulles des selects (Dropdown, MultiSelect).
|
|
38978
|
+
//
|
|
38979
|
+
// Une page peut monter plus d'une centaine de selects (questionnaire d'évaluation :
|
|
38980
|
+
// 136). Tout ce qu'un select installe au niveau du document est donc multiplié
|
|
38981
|
+
// d'autant : un MutationObserver par instance sur document.body suffisait à faire
|
|
38982
|
+
// coûter ~50 ms à la moindre modification du DOM. Ce qui est global est ici partagé,
|
|
38983
|
+
// et ce qui est propre à une instance est restreint à ses propres éléments.
|
|
38984
|
+
|
|
38985
|
+
var scopeCounter = 0;
|
|
38986
|
+
|
|
38987
|
+
// Classe CSS unique par instance, posée sur la racine du composant et sur son panneau
|
|
38988
|
+
// (rattaché au body) : les `<Tooltip target>` ne visent plus que les éléments de
|
|
38989
|
+
// l'instance, au lieu de tous ceux de la page (une infobulle par select pour la même
|
|
38990
|
+
// option, et autant d'écouteurs posés sur chaque élément).
|
|
38991
|
+
var useTooltipScope = function useTooltipScope(prefix) {
|
|
38992
|
+
var ref = useRef(null);
|
|
38993
|
+
if (ref.current === null) {
|
|
38994
|
+
scopeCounter += 1;
|
|
38995
|
+
ref.current = "".concat(prefix, "-").concat(scopeCounter);
|
|
38996
|
+
}
|
|
38997
|
+
return ref.current;
|
|
38998
|
+
};
|
|
38999
|
+
|
|
39000
|
+
// `.scope .a, .scope .b` à partir de ['.a', '.b'].
|
|
39001
|
+
var scopeSelector = function scopeSelector(scope, selectors) {
|
|
39002
|
+
return selectors.map(function (s) {
|
|
39003
|
+
return ".".concat(scope, " ").concat(s);
|
|
39004
|
+
}).join(', ');
|
|
39005
|
+
};
|
|
39006
|
+
|
|
39007
|
+
// --- Tooltip HTML support ---
|
|
39008
|
+
// PrimeReact 10 ignore la prop `escape` : sa Tooltip écrit toujours via
|
|
39009
|
+
// createTextNode. Un MutationObserver convertit le texte contenant du HTML en
|
|
39010
|
+
// innerHTML rendu — nécessaire car le tooltip est réutilisé (onShow ne se déclenche
|
|
39011
|
+
// pas lors du changement de cible pendant que le tooltip est déjà visible).
|
|
39012
|
+
// Un seul observer pour toute la page, quel que soit le nombre de selects, et il
|
|
39013
|
+
// n'examine que les nœuds touchés au lieu de rescanner tout le document.
|
|
39014
|
+
var HTML_RE = /<[a-z][\s\S]*>/i;
|
|
39015
|
+
var rewriteTooltipText = function rewriteTooltipText(el) {
|
|
39016
|
+
var raw = el.textContent;
|
|
39017
|
+
if (raw && HTML_RE.test(raw) && el.innerHTML !== raw) {
|
|
39018
|
+
el.innerHTML = raw;
|
|
39019
|
+
}
|
|
39020
|
+
};
|
|
39021
|
+
var handleMutations = function handleMutations(mutations) {
|
|
39022
|
+
mutations.forEach(function (mutation) {
|
|
39023
|
+
var _target$closest;
|
|
39024
|
+
var target = mutation.target.nodeType === 1 ? mutation.target : mutation.target.parentElement;
|
|
39025
|
+
var text = target === null || target === void 0 || (_target$closest = target.closest) === null || _target$closest === void 0 ? void 0 : _target$closest.call(target, '.p-tooltip-text');
|
|
39026
|
+
if (text) {
|
|
39027
|
+
rewriteTooltipText(text);
|
|
39028
|
+
return;
|
|
39029
|
+
}
|
|
39030
|
+
mutation.addedNodes.forEach(function (node) {
|
|
39031
|
+
if (node.nodeType !== 1) return;
|
|
39032
|
+
if (node.matches('.p-tooltip-text')) rewriteTooltipText(node);else node.querySelectorAll('.p-tooltip-text').forEach(rewriteTooltipText);
|
|
39033
|
+
});
|
|
39034
|
+
});
|
|
39035
|
+
};
|
|
39036
|
+
var htmlObserver = null;
|
|
39037
|
+
var htmlObserverUsers = 0;
|
|
39038
|
+
var useTooltipHtmlRewrite = function useTooltipHtmlRewrite(enabled) {
|
|
39039
|
+
useEffect(function () {
|
|
39040
|
+
if (!enabled) return undefined;
|
|
39041
|
+
htmlObserverUsers += 1;
|
|
39042
|
+
if (!htmlObserver) {
|
|
39043
|
+
htmlObserver = new MutationObserver(handleMutations);
|
|
39044
|
+
htmlObserver.observe(document.body, {
|
|
39045
|
+
childList: true,
|
|
39046
|
+
subtree: true,
|
|
39047
|
+
characterData: true
|
|
39048
|
+
});
|
|
39049
|
+
}
|
|
39050
|
+
return function () {
|
|
39051
|
+
htmlObserverUsers -= 1;
|
|
39052
|
+
if (htmlObserverUsers === 0 && htmlObserver) {
|
|
39053
|
+
htmlObserver.disconnect();
|
|
39054
|
+
htmlObserver = null;
|
|
39055
|
+
}
|
|
39056
|
+
};
|
|
39057
|
+
}, [enabled]);
|
|
39058
|
+
};
|
|
39059
|
+
|
|
38981
39060
|
var _excluded$1 = ["class"],
|
|
38982
39061
|
_excluded2$1 = ["style", "className"];
|
|
38983
39062
|
var Dropdown = function Dropdown(props) {
|
|
@@ -39140,13 +39219,12 @@ var Dropdown = function Dropdown(props) {
|
|
|
39140
39219
|
_useState10 = _slicedToArray$b(_useState1, 2),
|
|
39141
39220
|
tooltipKey = _useState10[0],
|
|
39142
39221
|
setTooltipKey = _useState10[1];
|
|
39143
|
-
//
|
|
39144
|
-
|
|
39145
|
-
|
|
39146
|
-
|
|
39147
|
-
|
|
39148
|
-
_useState12[
|
|
39149
|
-
var setTooltipMode = _useState12[1];
|
|
39222
|
+
// Portée des infobulles : cf. useTooltipScope
|
|
39223
|
+
var tooltipScope = useTooltipScope('ab-dd');
|
|
39224
|
+
var _useState11 = useState(false),
|
|
39225
|
+
_useState12 = _slicedToArray$b(_useState11, 2),
|
|
39226
|
+
isPanelOpen = _useState12[0],
|
|
39227
|
+
setIsPanelOpen = _useState12[1];
|
|
39150
39228
|
var _useState13 = useState(null),
|
|
39151
39229
|
_useState14 = _slicedToArray$b(_useState13, 2),
|
|
39152
39230
|
sortOrder = _useState14[0],
|
|
@@ -39262,40 +39340,20 @@ var Dropdown = function Dropdown(props) {
|
|
|
39262
39340
|
return label.slice(0, truncateAt) + '…';
|
|
39263
39341
|
};
|
|
39264
39342
|
|
|
39265
|
-
// --- Tooltip HTML support ---
|
|
39266
|
-
|
|
39267
|
-
// createTextNode. Un MutationObserver global rescande les `.p-tooltip-text`
|
|
39268
|
-
// pour convertir le texte contenant du HTML en innerHTML rendu.
|
|
39269
|
-
// On l'installe une seule fois côté document.body, indépendamment du montage
|
|
39270
|
-
// des composants — car onShow ne se déclenche pas lors du changement de
|
|
39271
|
-
// cible pendant que le tooltip est déjà visible.
|
|
39272
|
-
useEffect(function () {
|
|
39273
|
-
if (!enableItemTooltip) return undefined;
|
|
39274
|
-
var rewrite = function rewrite() {
|
|
39275
|
-
document.querySelectorAll('.p-tooltip .p-tooltip-text').forEach(function (el) {
|
|
39276
|
-
var raw = el.textContent;
|
|
39277
|
-
if (raw && /<[a-z][\s\S]*>/i.test(raw) && el.innerHTML !== raw) {
|
|
39278
|
-
el.innerHTML = raw;
|
|
39279
|
-
}
|
|
39280
|
-
});
|
|
39281
|
-
};
|
|
39282
|
-
var observer = new MutationObserver(rewrite);
|
|
39283
|
-
observer.observe(document.body, {
|
|
39284
|
-
childList: true,
|
|
39285
|
-
subtree: true,
|
|
39286
|
-
characterData: true
|
|
39287
|
-
});
|
|
39288
|
-
return function () {
|
|
39289
|
-
return observer.disconnect();
|
|
39290
|
-
};
|
|
39291
|
-
}, [enableItemTooltip]);
|
|
39343
|
+
// --- Tooltip HTML support --- (un seul observer pour toute la page)
|
|
39344
|
+
useTooltipHtmlRewrite(enableItemTooltip);
|
|
39292
39345
|
|
|
39293
39346
|
// --- Repositionnement fin du tooltip ---
|
|
39294
39347
|
// La détection du mode ('right' / 'panelBottom' / 'panelTop') est refaite
|
|
39295
39348
|
// à chaque survol : la mesure reste à jour en intégration réelle même si
|
|
39296
39349
|
// le layout a changé après le montage (scroll ancêtre, resize parent…).
|
|
39350
|
+
// Écouteur posé seulement panneau ouvert : sinon chaque select de la page
|
|
39351
|
+
// recalculait la position à chaque survol de n'importe quel élément.
|
|
39352
|
+
// 'right' : à droite du picto i (comportement par défaut)
|
|
39353
|
+
// 'panelBottom' : sous le panel d'options (si pas assez de place à droite)
|
|
39354
|
+
// 'panelTop' : au-dessus du panel d'options (si pas assez de place en bas non plus)
|
|
39297
39355
|
useEffect(function () {
|
|
39298
|
-
if (!enableItemTooltip) return undefined;
|
|
39356
|
+
if (!enableItemTooltip || !isPanelOpen) return undefined;
|
|
39299
39357
|
var hoveredRow = null;
|
|
39300
39358
|
var computeMode = function computeMode() {
|
|
39301
39359
|
var container = containerRef.current;
|
|
@@ -39304,7 +39362,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
39304
39362
|
var tooltipPxWidth = parseInt(String(tooltipWidth), 10) || 220;
|
|
39305
39363
|
var spaceRight = window.innerWidth - cRect.right;
|
|
39306
39364
|
if (spaceRight >= tooltipPxWidth + 40) return 'right';
|
|
39307
|
-
var panel =
|
|
39365
|
+
var panel = getPanel();
|
|
39308
39366
|
var anchor = panel || container;
|
|
39309
39367
|
var aRect = anchor.getBoundingClientRect();
|
|
39310
39368
|
var estimateHeight = 120;
|
|
@@ -39318,7 +39376,6 @@ var Dropdown = function Dropdown(props) {
|
|
|
39318
39376
|
var tooltipEl = document.querySelector('.p-tooltip.p-component');
|
|
39319
39377
|
if (!tooltipEl) return;
|
|
39320
39378
|
var mode = computeMode();
|
|
39321
|
-
setTooltipMode(mode);
|
|
39322
39379
|
var arrowEl = tooltipEl.querySelector('.p-tooltip-arrow');
|
|
39323
39380
|
if (mode === 'right') {
|
|
39324
39381
|
var _hoveredRow;
|
|
@@ -39334,7 +39391,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
39334
39391
|
arrowEl.style.marginTop = '-0.25rem';
|
|
39335
39392
|
}
|
|
39336
39393
|
} else {
|
|
39337
|
-
var panel =
|
|
39394
|
+
var panel = getPanel();
|
|
39338
39395
|
if (!panel) return;
|
|
39339
39396
|
var pRect = panel.getBoundingClientRect();
|
|
39340
39397
|
var _tt = tooltipEl.getBoundingClientRect();
|
|
@@ -39349,7 +39406,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
39349
39406
|
};
|
|
39350
39407
|
var trackHover = function trackHover(e) {
|
|
39351
39408
|
var _e$target, _e$target$closest;
|
|
39352
|
-
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');
|
|
39409
|
+
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, scopeSelector(tooltipScope, ['.dropdown-tooltip-item', '.dropdown-tooltip-trigger']));
|
|
39353
39410
|
if (row) {
|
|
39354
39411
|
hoveredRow = row;
|
|
39355
39412
|
requestAnimationFrame(reposition);
|
|
@@ -39362,7 +39419,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
39362
39419
|
return function () {
|
|
39363
39420
|
return document.removeEventListener('mouseover', trackHover);
|
|
39364
39421
|
};
|
|
39365
|
-
}, [enableItemTooltip, tooltipWidth]);
|
|
39422
|
+
}, [enableItemTooltip, tooltipWidth, isPanelOpen]);
|
|
39366
39423
|
|
|
39367
39424
|
// --- Event handlers ---
|
|
39368
39425
|
var handleShow = function handleShow() {
|
|
@@ -39967,12 +40024,13 @@ var Dropdown = function Dropdown(props) {
|
|
|
39967
40024
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
39968
40025
|
onMouseEnter: handleMouseEnter,
|
|
39969
40026
|
onMouseLeave: handleMouseLeave,
|
|
40027
|
+
className: tooltipScope,
|
|
39970
40028
|
style: {
|
|
39971
40029
|
width: '100%'
|
|
39972
40030
|
}
|
|
39973
40031
|
}, enableItemTooltip && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
39974
40032
|
key: tooltipKey,
|
|
39975
|
-
target:
|
|
40033
|
+
target: scopeSelector(tooltipScope, ['.dropdown-tooltip-item', '.dropdown-tooltip-trigger']),
|
|
39976
40034
|
appendTo: document.body,
|
|
39977
40035
|
position: "right",
|
|
39978
40036
|
autoHide: false,
|
|
@@ -40036,7 +40094,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
40036
40094
|
'--ab-panel-min-width': panelMinWidth,
|
|
40037
40095
|
width: undefined
|
|
40038
40096
|
} : {}),
|
|
40039
|
-
panelClassName:
|
|
40097
|
+
panelClassName: "dropdownbook ".concat(tooltipScope) + (panelMinWidth ? ' dropdownbook--min-width' : ''),
|
|
40040
40098
|
itemTemplate: optionTemplate
|
|
40041
40099
|
}, (hasInfoLine || creatable) && {
|
|
40042
40100
|
panelFooterTemplate: panelFooterTemplate
|
|
@@ -40051,6 +40109,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
40051
40109
|
}, {
|
|
40052
40110
|
onShow: function onShow() {
|
|
40053
40111
|
var _containerRef$current;
|
|
40112
|
+
setIsPanelOpen(true);
|
|
40054
40113
|
var el = (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.parentElement;
|
|
40055
40114
|
while (el) {
|
|
40056
40115
|
var _style3 = window.getComputedStyle(el);
|
|
@@ -40087,6 +40146,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
40087
40146
|
},
|
|
40088
40147
|
onHide: function onHide() {
|
|
40089
40148
|
var _dropdownComposantRef8;
|
|
40149
|
+
setIsPanelOpen(false);
|
|
40090
40150
|
panelListenersRef.current.forEach(function (_ref6) {
|
|
40091
40151
|
var element = _ref6.element,
|
|
40092
40152
|
handler = _ref6.handler,
|
|
@@ -40109,7 +40169,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
40109
40169
|
delay: 200
|
|
40110
40170
|
}, virtualScrollerOptions) : undefined
|
|
40111
40171
|
}))), !isDropdownOpen && selectedGroupLabel && isGroupedOption && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
40112
|
-
target:
|
|
40172
|
+
target: scopeSelector(tooltipScope, ['.p-dropdown-label.p-inputtext']),
|
|
40113
40173
|
content: selectedGroupLabel,
|
|
40114
40174
|
position: "top"
|
|
40115
40175
|
}), name && /*#__PURE__*/React__default.createElement("input", {
|
|
@@ -44546,13 +44606,12 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
44546
44606
|
_useState0 = _slicedToArray$b(_useState9, 2),
|
|
44547
44607
|
tooltipKey = _useState0[0],
|
|
44548
44608
|
setTooltipKey = _useState0[1];
|
|
44549
|
-
//
|
|
44550
|
-
|
|
44551
|
-
|
|
44552
|
-
|
|
44553
|
-
|
|
44554
|
-
_useState10[
|
|
44555
|
-
var setTooltipMode = _useState10[1];
|
|
44609
|
+
// Portée des infobulles : cf. useTooltipScope
|
|
44610
|
+
var tooltipScope = useTooltipScope('ab-ms');
|
|
44611
|
+
var _useState1 = useState(false),
|
|
44612
|
+
_useState10 = _slicedToArray$b(_useState1, 2),
|
|
44613
|
+
isPanelOpen = _useState10[0],
|
|
44614
|
+
setIsPanelOpen = _useState10[1];
|
|
44556
44615
|
var multiSelectRef = useRef(null);
|
|
44557
44616
|
var containerRef = useRef(null);
|
|
44558
44617
|
var didMountRef = useRef(false);
|
|
@@ -44619,21 +44678,6 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
44619
44678
|
setSelectedOptions(next);
|
|
44620
44679
|
setAppliedOptions(next);
|
|
44621
44680
|
}, [value, objValue, optionValue]);
|
|
44622
|
-
useEffect(function () {
|
|
44623
|
-
var observer = new MutationObserver(function () {
|
|
44624
|
-
var panel = document.querySelector('.p-multiselect-panel.p-component');
|
|
44625
|
-
if (panel) {
|
|
44626
|
-
panel.style.zIndex = '10000';
|
|
44627
|
-
}
|
|
44628
|
-
});
|
|
44629
|
-
observer.observe(document.body, {
|
|
44630
|
-
childList: true,
|
|
44631
|
-
subtree: true
|
|
44632
|
-
});
|
|
44633
|
-
return function () {
|
|
44634
|
-
return observer.disconnect();
|
|
44635
|
-
};
|
|
44636
|
-
}, []);
|
|
44637
44681
|
useEffect(function () {}, []);
|
|
44638
44682
|
|
|
44639
44683
|
// Panneau de CE composant (cf. Dropdown.getPanel) : un querySelector global renvoyait
|
|
@@ -44988,38 +45032,21 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
44988
45032
|
}
|
|
44989
45033
|
};
|
|
44990
45034
|
|
|
44991
|
-
//
|
|
44992
|
-
|
|
44993
|
-
// convertir le texte contenant du HTML en innerHTML rendu — nécessaire car
|
|
44994
|
-
// le tooltip est réutilisé (pas de callback à chaque changement de cible).
|
|
44995
|
-
useEffect(function () {
|
|
44996
|
-
if (!enableItemTooltip) return undefined;
|
|
44997
|
-
var rewrite = function rewrite() {
|
|
44998
|
-
document.querySelectorAll('.p-tooltip .p-tooltip-text').forEach(function (el) {
|
|
44999
|
-
var raw = el.textContent;
|
|
45000
|
-
if (raw && /<[a-z][\s\S]*>/i.test(raw) && el.innerHTML !== raw) {
|
|
45001
|
-
el.innerHTML = raw;
|
|
45002
|
-
}
|
|
45003
|
-
});
|
|
45004
|
-
};
|
|
45005
|
-
var observer = new MutationObserver(rewrite);
|
|
45006
|
-
observer.observe(document.body, {
|
|
45007
|
-
childList: true,
|
|
45008
|
-
subtree: true,
|
|
45009
|
-
characterData: true
|
|
45010
|
-
});
|
|
45011
|
-
return function () {
|
|
45012
|
-
return observer.disconnect();
|
|
45013
|
-
};
|
|
45014
|
-
}, [enableItemTooltip]);
|
|
45035
|
+
// --- Tooltip HTML support --- (un seul observer pour toute la page)
|
|
45036
|
+
useTooltipHtmlRewrite(enableItemTooltip);
|
|
45015
45037
|
|
|
45016
45038
|
// --- Repositionnement fin du tooltip ---
|
|
45017
45039
|
// La détection du mode ('right' / 'panelBottom' / 'panelTop') est refaite à
|
|
45018
45040
|
// chaque survol : ainsi la mesure de position est toujours à jour même si
|
|
45019
45041
|
// le layout a changé après le montage (intégration dans une page réelle,
|
|
45020
45042
|
// scroll d'un ancêtre, resize du parent, etc.).
|
|
45043
|
+
// Écouteur posé seulement panneau ouvert : sinon chaque select de la page
|
|
45044
|
+
// recalculait la position à chaque survol de n'importe quel élément.
|
|
45045
|
+
// 'right' : flèche du tooltip sur le picto i
|
|
45046
|
+
// 'panelBottom' : tooltip sous le panel d'options
|
|
45047
|
+
// 'panelTop' : tooltip au-dessus du panel d'options
|
|
45021
45048
|
useEffect(function () {
|
|
45022
|
-
if (!enableItemTooltip) return undefined;
|
|
45049
|
+
if (!enableItemTooltip || !isPanelOpen) return undefined;
|
|
45023
45050
|
var hoveredRow = null;
|
|
45024
45051
|
var computeMode = function computeMode() {
|
|
45025
45052
|
var container = containerRef.current;
|
|
@@ -45028,7 +45055,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45028
45055
|
var tooltipPxWidth = parseInt(String(tooltipWidth), 10) || 220;
|
|
45029
45056
|
var spaceRight = window.innerWidth - cRect.right;
|
|
45030
45057
|
if (spaceRight >= tooltipPxWidth + 40) return 'right';
|
|
45031
|
-
var panel =
|
|
45058
|
+
var panel = getPanel();
|
|
45032
45059
|
var anchor = panel || container;
|
|
45033
45060
|
var aRect = anchor.getBoundingClientRect();
|
|
45034
45061
|
var estimateHeight = 120;
|
|
@@ -45042,7 +45069,6 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45042
45069
|
var tooltipEl = document.querySelector('.p-tooltip.p-component');
|
|
45043
45070
|
if (!tooltipEl) return;
|
|
45044
45071
|
var mode = computeMode();
|
|
45045
|
-
setTooltipMode(mode);
|
|
45046
45072
|
var arrowEl = tooltipEl.querySelector('.p-tooltip-arrow');
|
|
45047
45073
|
if (mode === 'right') {
|
|
45048
45074
|
var _hoveredRow;
|
|
@@ -45058,7 +45084,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45058
45084
|
arrowEl.style.marginTop = '-0.25rem';
|
|
45059
45085
|
}
|
|
45060
45086
|
} else {
|
|
45061
|
-
var panel =
|
|
45087
|
+
var panel = getPanel();
|
|
45062
45088
|
if (!panel) return;
|
|
45063
45089
|
var pRect = panel.getBoundingClientRect();
|
|
45064
45090
|
var _tt = tooltipEl.getBoundingClientRect();
|
|
@@ -45073,7 +45099,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45073
45099
|
};
|
|
45074
45100
|
var trackHover = function trackHover(e) {
|
|
45075
45101
|
var _e$target, _e$target$closest;
|
|
45076
|
-
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, '.multiselect-tooltip-item, .multiselect-tooltip-trigger, .multiselect-selected-tooltip-trigger');
|
|
45102
|
+
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, scopeSelector(tooltipScope, ['.multiselect-tooltip-item', '.multiselect-tooltip-trigger', '.multiselect-selected-tooltip-trigger']));
|
|
45077
45103
|
if (row) {
|
|
45078
45104
|
hoveredRow = row;
|
|
45079
45105
|
requestAnimationFrame(reposition);
|
|
@@ -45086,7 +45112,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45086
45112
|
return function () {
|
|
45087
45113
|
return document.removeEventListener('mouseover', trackHover);
|
|
45088
45114
|
};
|
|
45089
|
-
}, [enableItemTooltip, tooltipWidth]);
|
|
45115
|
+
}, [enableItemTooltip, tooltipWidth, isPanelOpen]);
|
|
45090
45116
|
var handleChange = function handleChange(e) {
|
|
45091
45117
|
if (disabled || effectiveReadOnly) return;
|
|
45092
45118
|
var ids = Array.isArray(e.value) ? e.value : [e.value];
|
|
@@ -45562,12 +45588,13 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45562
45588
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
45563
45589
|
onMouseEnter: handleMouseEnter,
|
|
45564
45590
|
onMouseLeave: handleMouseLeave,
|
|
45591
|
+
className: tooltipScope,
|
|
45565
45592
|
style: {
|
|
45566
45593
|
width: '100%'
|
|
45567
45594
|
}
|
|
45568
45595
|
}, enableItemTooltip && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
45569
45596
|
key: tooltipKey,
|
|
45570
|
-
target:
|
|
45597
|
+
target: scopeSelector(tooltipScope, ['.multiselect-tooltip-item', '.multiselect-tooltip-trigger', '.multiselect-selected-tooltip-trigger']),
|
|
45571
45598
|
appendTo: document.body,
|
|
45572
45599
|
position: "right",
|
|
45573
45600
|
autoHide: false,
|
|
@@ -45590,10 +45617,10 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45590
45617
|
width: '100%'
|
|
45591
45618
|
}
|
|
45592
45619
|
}, displayCounter && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
45593
|
-
target:
|
|
45620
|
+
target: scopeSelector(tooltipScope, ['.custom-target-icon'])
|
|
45594
45621
|
}), /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
45595
45622
|
key: "counter-".concat(tooltipKey),
|
|
45596
|
-
target:
|
|
45623
|
+
target: scopeSelector(tooltipScope, ['.ms-counter-label', '.ab-mini-badge']),
|
|
45597
45624
|
appendTo: document.body,
|
|
45598
45625
|
position: "top",
|
|
45599
45626
|
showDelay: 0,
|
|
@@ -45601,7 +45628,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45601
45628
|
zIndex: 9999999
|
|
45602
45629
|
}
|
|
45603
45630
|
}), /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
45604
|
-
target:
|
|
45631
|
+
target: scopeSelector(tooltipScope, ['.p-multiselect-token']),
|
|
45605
45632
|
appendTo: document.body,
|
|
45606
45633
|
position: "top",
|
|
45607
45634
|
showDelay: 200,
|
|
@@ -45620,7 +45647,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45620
45647
|
}, /*#__PURE__*/React__default.createElement(MultiSelect$1, _extends$G({
|
|
45621
45648
|
ref: multiSelectRef,
|
|
45622
45649
|
className: isInvalidEffective ? 'is-error' : undefined,
|
|
45623
|
-
panelClassName: !useCheckbox ? 'ms-no-checkbox' : ''
|
|
45650
|
+
panelClassName: "".concat(tooltipScope).concat(!useCheckbox ? ' ms-no-checkbox' : '')
|
|
45624
45651
|
}, displayBadge && selectedOptions.length <= maxSelectedLabels ? {
|
|
45625
45652
|
display: 'chip',
|
|
45626
45653
|
pt: {
|
|
@@ -45692,6 +45719,11 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45692
45719
|
}), {
|
|
45693
45720
|
onShow: function onShow() {
|
|
45694
45721
|
var _containerRef$current;
|
|
45722
|
+
setIsPanelOpen(true);
|
|
45723
|
+
// Au-dessus des surcouches de l'hôte (était posé par un MutationObserver
|
|
45724
|
+
// global par instance, rejoué à chaque modification du DOM)
|
|
45725
|
+
var panel = getPanel();
|
|
45726
|
+
if (panel) panel.style.zIndex = '10000';
|
|
45695
45727
|
var el = (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.parentElement;
|
|
45696
45728
|
while (el) {
|
|
45697
45729
|
var _style = window.getComputedStyle(el);
|
|
@@ -45721,6 +45753,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
45721
45753
|
if (_onShow) _onShow();
|
|
45722
45754
|
},
|
|
45723
45755
|
onHide: function onHide() {
|
|
45756
|
+
setIsPanelOpen(false);
|
|
45724
45757
|
panelListenersRef.current.forEach(function (_ref5) {
|
|
45725
45758
|
var element = _ref5.element,
|
|
45726
45759
|
handler = _ref5.handler,
|
|
@@ -48270,7 +48303,7 @@ if (typeof window !== 'undefined') {
|
|
|
48270
48303
|
window.ArengibookToastPresets = ToastPresets;
|
|
48271
48304
|
}
|
|
48272
48305
|
|
|
48273
|
-
var css_248z$3 = "@charset \"UTF-8\";\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes toastSlideIn {\n from {\n opacity: 0;\n transform: translateX(40px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes toastIconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 60% {\n transform: scale(1.2);\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes toastTextSlide {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.p-paginator {\n font-size: 14px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last,\n.p-paginator .p-paginator-pages .p-paginator-page,\n.p-paginator .p-paginator-current,\n.p-paginator .p-dropdown .p-dropdown-label,\n.p-paginator .p-dropdown-item,\n.p-paginator .p-paginator-page-input .p-inputtext {\n font-size: 14px;\n}\n\n.p-datatable .p-datatable-tbody > tr.air-row--selected > td {\n background-color: #f0fdf8 !important;\n}\n\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly {\n background-color: #f4f4f5;\n cursor: not-allowed;\n}\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly a,\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly button,\n.p-datatable .p-datatable-tbody > tr > td.ab-col--readonly [role=button] {\n cursor: pointer;\n}\n\n.ab-col-header--readonly .material-icons {\n display: inline-block;\n vertical-align: middle;\n margin-left: 4px;\n font-size: 13px;\n line-height: 1;\n color: #a1a1aa;\n width: 13px;\n overflow: hidden;\n}\n\ntable.ab-table {\n background-color: #ffffff;\n font-family: \"Roboto\", sans-serif;\n table-layout: fixed;\n}\ntable.ab-table thead {\n border: 1px solid #e0e3e8;\n}\ntable.ab-table thead th {\n position: sticky;\n top: 0;\n z-index: 800;\n background-color: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 14px;\n}\ntable.ab-table tbody tr {\n background-color: transparent;\n}\n\n.ab-table td {\n overflow: hidden;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: left;\n border-right: 1px solid #e8eaee;\n border-bottom: 1px solid #e8eaee;\n}\n\n.ab-table .cell-text {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column {\n z-index: 1;\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column {\n background: #f4f5f6 !important;\n}\n\ntable.ab-table thead th.p-frozen-column:not(.row-actions-cell) {\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column.row-actions-cell,\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column.row-actions-cell {\n background: #ffffff !important;\n box-shadow: none !important;\n padding: 0 !important;\n border-right: 1px solid #e8eaee !important;\n}\n\n.p-datatable .p-datatable-thead > tr > th.row-actions-cell {\n background: #e8eaee !important;\n border: none !important;\n border-right: 1px solid #e0e3e8 !important;\n box-shadow: none !important;\n padding: 0 !important;\n}\n\ntable.ab-table td input.p-inputtext {\n box-sizing: border-box;\n min-height: 26px;\n padding: 0 8px;\n border: 1px solid #e0e3e8;\n border-radius: 3px;\n background: #ffffff;\n box-shadow: none;\n font-family: inherit;\n font-size: 13px;\n font-weight: 300;\n}\ntable.ab-table td input.p-inputtext:enabled:hover {\n border-color: #c8cdd6;\n}\ntable.ab-table td input.p-inputtext:enabled:focus {\n border-color: #3f3f3f;\n box-shadow: none;\n outline: none;\n}\n\n.ab-table .p-cell-editing input,\n.ab-table .p-cell-editing .p-inputtext,\n.ab-table .p-cell-editing .p-dropdown,\n.ab-table .p-cell-editing .p-multiselect,\n.ab-table .p-cell-editing .p-calendar {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.ab-table .cell-devise {\n display: flex;\n flex-direction: column;\n gap: 1.4px;\n font-size: 12.25px;\n}\n.ab-table .cell-devise--editable {\n cursor: pointer;\n}\n.ab-table .cell-devise--empty {\n display: block;\n width: 100%;\n height: 21px;\n cursor: pointer;\n}\n.ab-table .cell-devise .span-sub {\n font-size: 10.5px;\n color: #71717a;\n}\n\n.ab-table .devise-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .devise-editor-fields {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n width: 100%;\n position: relative;\n}\n.ab-table .devise-editor-fields .p-dropdown-panel {\n position: absolute;\n z-index: 1000;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.ab-table .devise-editor-save {\n align-self: flex-end;\n}\n\n.ab-table .p-cell-editing .devise-editor-fields input,\n.ab-table .p-cell-editing .devise-editor-fields .p-inputtext,\n.ab-table .p-cell-editing .devise-editor-fields .p-dropdown {\n width: 100%;\n min-width: 0;\n}\n\n.ab-table .select-editor .p-dropdown-label > div {\n min-width: 0;\n}\n.ab-table .select-editor .dd-color-badge.is-selected {\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ab-table .select-editor .p-multiselect .p-multiselect-label-container {\n margin-right: 1.75rem;\n}\n\n.ab-table .div-col-select .ab-color-badge.is-selected,\n.ab-table .div-col-select-multiple .ab-color-badge.is-selected {\n animation: none;\n}\n.ab-table .div-col-select .ab-chips-lecture,\n.ab-table .div-col-select .p-multiselect .p-multiselect-label,\n.ab-table .div-col-select .p-dropdown .p-dropdown-label,\n.ab-table .div-col-select-multiple .ab-chips-lecture,\n.ab-table .div-col-select-multiple .p-multiselect .p-multiselect-label,\n.ab-table .div-col-select-multiple .p-dropdown .p-dropdown-label {\n overflow: clip visible !important;\n}\n.ab-table .div-col-select > div:not(.select-editor),\n.ab-table .div-col-select-multiple > div:not(.select-editor) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n min-height: 40px !important;\n padding: 0 20px 0 12px;\n border: 1.5px solid transparent;\n}\n.ab-table .div-col-select > div:not(.select-editor):focus-visible,\n.ab-table .div-col-select-multiple > div:not(.select-editor):focus-visible {\n outline: 2px solid #3f3f3f;\n outline-offset: -2px;\n}\n.ab-table .div-col-select > div:not(.select-editor) > *,\n.ab-table .div-col-select-multiple > div:not(.select-editor) > * {\n min-width: 0;\n max-width: 100%;\n}\n.ab-table .div-col-select .p-dropdown-trigger,\n.ab-table .div-col-select .p-multiselect-trigger,\n.ab-table .div-col-select-multiple .p-dropdown-trigger,\n.ab-table .div-col-select-multiple .p-multiselect-trigger {\n display: none;\n}\n.ab-table .div-col-select [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple [data-pc-section=clearicon] {\n right: 12px;\n opacity: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-table .div-col-select .ab-chips-lecture,\n.ab-table .div-col-select-multiple .ab-chips-lecture {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: 6px;\n width: 100%;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n}\n.ab-table .div-col-select .ab-chip-lecture,\n.ab-table .div-col-select-multiple .ab-chip-lecture {\n padding: 4px 4px 4px 8px;\n gap: 2px;\n margin: 0;\n flex: 0 1 auto;\n width: max-content;\n min-width: 0;\n}\n.ab-table .div-col-select .ab-chip-lecture .p-multiselect-token-icon,\n.ab-table .div-col-select-multiple .ab-chip-lecture .p-multiselect-token-icon {\n width: 14px;\n height: 14px;\n flex-shrink: 0;\n}\n.ab-table .div-col-select .p-multiselect .p-multiselect-label-container,\n.ab-table .div-col-select-multiple .p-multiselect .p-multiselect-label-container {\n margin-right: 34px;\n}\n.ab-table .div-col-select .dropdown-container .p-dropdown,\n.ab-table .div-col-select .multiselect-container .p-multiselect,\n.ab-table .div-col-select-multiple .dropdown-container .p-dropdown,\n.ab-table .div-col-select-multiple .multiselect-container .p-multiselect {\n border-color: transparent;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-table .div-col-select .p-dropdown.p-focus,\n.ab-table .div-col-select .p-multiselect.p-focus,\n.ab-table .div-col-select-multiple .p-dropdown.p-focus,\n.ab-table .div-col-select-multiple .p-multiselect.p-focus {\n border-color: #3f3f3f;\n}\n.ab-table .div-col-select .p-dropdown.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select .p-multiselect.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple .p-dropdown.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple .p-multiselect.p-focus [data-pc-section=clearicon] {\n opacity: 1;\n}\n\n.ab-table .div-col-select-multiple > div:not(.select-editor) {\n padding-right: 46px;\n}\n\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select .dropdown-container .p-dropdown,\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select-multiple .multiselect-container .p-multiselect {\n border-color: #c8cdd6;\n}\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select [data-pc-section=clearicon],\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select-multiple [data-pc-section=clearicon] {\n opacity: 1;\n}\n\n.ab-table .doc-cell-empty {\n color: #aaa;\n font-size: 11.9px;\n}\n\n.ab-table .doc-cell {\n display: flex;\n flex-direction: column;\n gap: 3.5px;\n min-width: 0;\n overflow: hidden;\n}\n.ab-table .doc-cell-summary {\n display: flex;\n align-items: center;\n gap: 4.9px;\n font-size: 12.25px;\n min-width: 0;\n}\n.ab-table .doc-cell-summary .pi-paperclip {\n color: #71717a;\n font-size: 11.2px;\n flex-shrink: 0;\n}\n.ab-table .doc-cell-summary span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.ab-table .doc-cell-list {\n display: flex;\n flex-direction: column;\n gap: 2.1px;\n padding-left: 15.4px;\n font-size: 11.2px;\n}\n.ab-table .doc-cell-list div {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ab-table .doc-cell-list a {\n color: #3b82f6;\n text-decoration: none;\n}\n.ab-table .doc-cell-list a:hover {\n text-decoration: underline;\n}\n\n.ab-table .doc-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .doc-editor-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 11.2px;\n}\n.ab-table .doc-editor-table td {\n padding: 2.8px 4.9px;\n vertical-align: middle;\n}\n.ab-table .doc-editor-table td a {\n color: #3b82f6;\n text-decoration: none;\n word-break: break-all;\n}\n.ab-table .doc-editor-table td a:hover {\n text-decoration: underline;\n}\n.ab-table .doc-editor-table td:last-child {\n width: 28px;\n text-align: center;\n}\n.ab-table .doc-editor-add {\n display: inline-flex;\n align-items: center;\n gap: 4.2px;\n cursor: pointer;\n align-self: center;\n}\n\n.ab-table .ab-titre-box {\n overflow: hidden;\n min-width: 0;\n}\n\n.ab-table .table-item-title {\n display: -webkit-box !important;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--ab-title-lines, 1);\n line-height: 16px;\n min-width: 0 !important;\n white-space: normal;\n overflow-wrap: anywhere;\n overflow: hidden;\n max-height: var(--ab-content-max, none);\n}\n\n.p-datatable .p-column-header-content {\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n min-width: 0;\n padding: 0 1rem;\n overflow: hidden;\n container-type: inline-size;\n}\n\n.p-datatable .p-column-header-content .p-column-title {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.p-datatable .p-column-header-content [data-pc-section=sort] {\n flex: 0 0 auto;\n}\n\n@container (max-width: 77px) {\n .p-datatable .p-column-header-content [data-pc-section=sort] {\n display: none;\n }\n}\n.ab-table .tab_label {\n display: inline-block;\n padding: 5px 10px;\n font-size: 14px;\n font-weight: 600;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n border-radius: 5px;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n height: initial;\n}\n.ab-table .tab_label .tab_label-clear {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n min-height: 0;\n margin-left: 3px;\n margin-right: -3px;\n padding: 0;\n border: none;\n border-radius: 3px;\n background: none;\n color: inherit;\n opacity: 0.55;\n cursor: pointer;\n transition: opacity 0.12s, background-color 0.12s;\n}\n.ab-table .tab_label .tab_label-clear:hover, .ab-table .tab_label .tab_label-clear:focus-visible {\n outline: none;\n opacity: 1;\n background: rgba(0, 0, 0, 0.14);\n}\n\n.ab-table .badge,\n.ab-select-badge {\n padding: 8px 12px;\n border-radius: 5px;\n height: auto;\n margin: 2px;\n font-weight: 400;\n box-shadow: 2px 4px 5px grey;\n white-space: inherit;\n min-width: 90px;\n}\n.ab-table .badge:not(.badge-small),\n.ab-select-badge:not(.badge-small) {\n width: 100%;\n}\n\ntable.ab-table a.table-item-title {\n color: #2563eb;\n font-weight: 500;\n text-decoration: none;\n}\ntable.ab-table a.table-item-title:hover {\n color: #1d4ed8;\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.ab-table .RiskNumber-table div {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ab-table .RiskNumber-table div span {\n width: 30px;\n height: 30px;\n min-width: 30px;\n min-height: 30px;\n max-width: 30px;\n max-height: 30px;\n border-radius: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ab-table .RiskLabel-table .etiquetteMatrix-risque {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n min-height: 26px;\n width: fit-content;\n max-width: 190px;\n display: flex;\n justify-content: flex-start;\n border-radius: 3px;\n background-color: #fff;\n color: black;\n margin: 0;\n padding: 0;\n border: 0;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabelColor {\n min-width: 20px;\n max-width: 20px;\n margin-right: 5px;\n border-right: 1px solid rgba(0, 0, 0, 0.3607843137);\n border-radius: 3px 0 0 3px;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel {\n font-size: 13px;\n font-weight: 300;\n padding: 3px 10px 3px 5px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n display: flex;\n align-items: center;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel > p {\n margin: 0;\n display: inline;\n font: inherit;\n}\n\n.ab-table .RiskOwner-table .risk_owner {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: max-content;\n}\n.ab-table .RiskOwner-table .risk_owner a {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n background-color: white;\n opacity: 1;\n margin: 2px;\n position: relative;\n}\n.ab-table .RiskOwner-table .risk_owner a:hover {\n z-index: 9999;\n}\n\n.ab-table .ab-cell-display--html {\n display: block !important;\n}\n\n.ab-table .ab-texte-limite {\n min-width: 0 !important;\n max-width: 100% !important;\n min-height: 0 !important;\n max-height: var(--ab-content-max, none) !important;\n margin: 0;\n overflow: hidden;\n text-align: left;\n white-space: normal;\n overflow-wrap: anywhere;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--ab-html-lines, none);\n line-height: 17px !important;\n font-size: 14px;\n}\n.ab-table .ab-texte-limite p {\n line-height: 17px !important;\n font-size: 14px;\n margin: 0;\n}\n.ab-table .ab-texte-limite p,\n.ab-table .ab-texte-limite div,\n.ab-table .ab-texte-limite ul,\n.ab-table .ab-texte-limite ol,\n.ab-table .ab-texte-limite li,\n.ab-table .ab-texte-limite blockquote,\n.ab-table .ab-texte-limite h1,\n.ab-table .ab-texte-limite h2,\n.ab-table .ab-texte-limite h3,\n.ab-table .ab-texte-limite h4,\n.ab-table .ab-texte-limite h5,\n.ab-table .ab-texte-limite h6 {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: 14px;\n line-height: 17px !important;\n}\n.ab-table .ab-texte-limite h1,\n.ab-table .ab-texte-limite h2,\n.ab-table .ab-texte-limite h3,\n.ab-table .ab-texte-limite h4,\n.ab-table .ab-texte-limite h5,\n.ab-table .ab-texte-limite h6,\n.ab-table .ab-texte-limite strong,\n.ab-table .ab-texte-limite b {\n font-weight: 600;\n}\n.ab-table .ab-texte-limite p::after,\n.ab-table .ab-texte-limite div::after,\n.ab-table .ab-texte-limite blockquote::after,\n.ab-table .ab-texte-limite h1::after,\n.ab-table .ab-texte-limite h2::after,\n.ab-table .ab-texte-limite h3::after,\n.ab-table .ab-texte-limite h4::after,\n.ab-table .ab-texte-limite h5::after,\n.ab-table .ab-texte-limite h6::after {\n content: \" \";\n}\n.ab-table .ab-texte-limite li + li::before {\n content: \" · \";\n color: #6b7280;\n}\n\n.ab-table .action-picto .picto {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n margin: 5px;\n}\n\n.ab-table .RiskClusters-table .RiskClusters {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n padding: 5px 19px;\n background-color: rgba(255, 255, 255, 0.5098039216);\n border-radius: 5px;\n opacity: 1;\n position: relative;\n margin: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ab-table .RiskClusters-table .RiskClusters .material-icons {\n text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3137254902);\n}\n\n.ab-table .progress_bar_menu {\n position: relative;\n height: 20px;\n margin: 0;\n}\n\n.ab-table .progress_bar_menu_black {\n width: 100%;\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n height: 6px;\n background-color: #b0bec5;\n border-radius: 3px;\n text-align: left;\n}\n\n.ab-table .progress_bar_menu_load {\n border-radius: 3px;\n height: 6px;\n background-color: #136b89;\n}\n\n.ab-table .progress_bar_menu_info {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n padding: 1px 7px;\n border: 1px solid #e0e3e8;\n border-radius: 999px;\n background: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n color: #3f535f;\n font-weight: bold;\n font-size: 11px;\n line-height: 1.45;\n white-space: nowrap;\n}\n.ab-table .progress_bar_menu_info a {\n color: inherit;\n text-decoration: none;\n}\n\n.ab-table .div-col {\n width: 100%;\n}\n\n.ab-table .div-col:not(.div-col-select):not(.div-col-select-multiple) {\n max-height: var(--ab-content-max, none);\n overflow: clip;\n overflow-clip-margin: 6px;\n}\n\n.ab-table .ab-cell-scroll {\n max-height: var(--ab-cell-max, none);\n overflow-y: auto;\n}\n\n.ab-table .tab_label {\n max-width: 100%;\n}\n\ntable.ab-table thead th {\n background-color: #e8eaee !important;\n border-right: 1px solid #e0e3e8 !important;\n border-bottom: 1px solid #e0e3e8 !important;\n}\ntable.ab-table thead th:hover {\n background-color: #e8eaee !important;\n}\ntable.ab-table thead th:last-child {\n border-right: 0 !important;\n}\n\ntable.ab-table .p-column-resizer {\n width: 15px;\n cursor: col-resize;\n border: 0;\n height: auto;\n top: 0;\n bottom: -1px;\n}\n\ntable.ab-table thead th:not(.row-actions-cell):not(:has(> .p-column-filter)) {\n overflow: visible;\n padding-left: 0;\n padding-right: 0;\n}\n\ntable.ab-table thead th:nth-child(1) {\n z-index: 839 !important;\n}\n\ntable.ab-table thead th:nth-child(2) {\n z-index: 838 !important;\n}\n\ntable.ab-table thead th:nth-child(3) {\n z-index: 837 !important;\n}\n\ntable.ab-table thead th:nth-child(4) {\n z-index: 836 !important;\n}\n\ntable.ab-table thead th:nth-child(5) {\n z-index: 835 !important;\n}\n\ntable.ab-table thead th:nth-child(6) {\n z-index: 834 !important;\n}\n\ntable.ab-table thead th:nth-child(7) {\n z-index: 833 !important;\n}\n\ntable.ab-table thead th:nth-child(8) {\n z-index: 832 !important;\n}\n\ntable.ab-table thead th:nth-child(9) {\n z-index: 831 !important;\n}\n\ntable.ab-table thead th:nth-child(10) {\n z-index: 830 !important;\n}\n\ntable.ab-table thead th:nth-child(11) {\n z-index: 829 !important;\n}\n\ntable.ab-table thead th:nth-child(12) {\n z-index: 828 !important;\n}\n\ntable.ab-table thead th:nth-child(13) {\n z-index: 827 !important;\n}\n\ntable.ab-table thead th:nth-child(14) {\n z-index: 826 !important;\n}\n\ntable.ab-table thead th:nth-child(15) {\n z-index: 825 !important;\n}\n\ntable.ab-table thead th:nth-child(16) {\n z-index: 824 !important;\n}\n\ntable.ab-table thead th:nth-child(17) {\n z-index: 823 !important;\n}\n\ntable.ab-table thead th:nth-child(18) {\n z-index: 822 !important;\n}\n\ntable.ab-table thead th:nth-child(19) {\n z-index: 821 !important;\n}\n\ntable.ab-table thead th:nth-child(20) {\n z-index: 820 !important;\n}\n\ntable.ab-table thead th:nth-child(21) {\n z-index: 819 !important;\n}\n\ntable.ab-table thead th:nth-child(22) {\n z-index: 818 !important;\n}\n\ntable.ab-table thead th:nth-child(23) {\n z-index: 817 !important;\n}\n\ntable.ab-table thead th:nth-child(24) {\n z-index: 816 !important;\n}\n\ntable.ab-table thead th:nth-child(25) {\n z-index: 815 !important;\n}\n\ntable.ab-table thead th:nth-child(26) {\n z-index: 814 !important;\n}\n\ntable.ab-table thead th:nth-child(27) {\n z-index: 813 !important;\n}\n\ntable.ab-table thead th:nth-child(28) {\n z-index: 812 !important;\n}\n\ntable.ab-table thead th:nth-child(29) {\n z-index: 811 !important;\n}\n\ntable.ab-table thead th:nth-child(30) {\n z-index: 810 !important;\n}\n\ntable.ab-table thead th:nth-child(31) {\n z-index: 809 !important;\n}\n\ntable.ab-table thead th:nth-child(32) {\n z-index: 808 !important;\n}\n\ntable.ab-table thead th:nth-child(33) {\n z-index: 807 !important;\n}\n\ntable.ab-table thead th:nth-child(34) {\n z-index: 806 !important;\n}\n\ntable.ab-table thead th:nth-child(35) {\n z-index: 805 !important;\n}\n\ntable.ab-table thead th:nth-child(36) {\n z-index: 804 !important;\n}\n\ntable.ab-table thead th:nth-child(37) {\n z-index: 803 !important;\n}\n\ntable.ab-table thead th:nth-child(38) {\n z-index: 802 !important;\n}\n\ntable.ab-table thead th:nth-child(39) {\n z-index: 801 !important;\n}\n\ntable.ab-table thead th:nth-child(40) {\n z-index: 800 !important;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: -15px;\n background: linear-gradient(to right, transparent calc(50% - 1px), #000 calc(50% - 1px), #000 calc(50% + 1px), transparent calc(50% + 1px));\n opacity: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer::after {\n content: \"\";\n position: absolute;\n top: 50%;\n right: calc(-16px - 2px * 0.5);\n width: 30px;\n height: 30px;\n transform: translateY(-50%);\n border-radius: 50%;\n background: #000 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8'%3E%3Cpath d='M5 0v8L0 4z' fill='%23fff'/%3E%3Cpath d='M11 0v8l5-4z' fill='%23fff'/%3E%3C/svg%3E\") center/16px 8px no-repeat;\n opacity: 0;\n transform: translateY(-50%) scale(0.35);\n transition: opacity 240ms cubic-bezier(0.4, 0, 0.2, 1), transform 240ms cubic-bezier(0.34, 1.3, 0.64, 1);\n}\n\ntable.ab-table thead th:not(.row-actions-cell):hover .p-column-resizer::before {\n opacity: 1;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer:hover::before {\n opacity: 0;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer:hover::after {\n opacity: 1;\n transform: translateY(-50%) scale(1);\n}\n\n.p-datatable.p-component .p-column-resizer-helper {\n width: 2px;\n top: var(--ab-th-top, 0px) !important;\n height: var(--ab-trait-h, calc(100% - var(--ab-th-top, 0px))) !important;\n background: transparent;\n pointer-events: none;\n transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datatable.p-component .p-column-resizer-helper::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: #000;\n transform-origin: center calc(var(--ab-thead-h, 42px) / 2);\n transform: scaleY(1);\n transition: transform 300ms cubic-bezier(0.2, 0.75, 0.2, 1) 70ms, background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque {\n opacity: 0;\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque::after {\n transform: scaleY(0);\n transition-delay: 0s;\n}\n.p-datatable.p-component .p-column-resizer-helper::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 100%;\n width: 90px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 160ms cubic-bezier(0.4, 0, 0.2, 1);\n background: linear-gradient(to left, color-mix(in srgb, #dc2626 13%, transparent), color-mix(in srgb, #dc2626 5%, transparent) 45%, transparent);\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--butee::after {\n background: #dc2626;\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--butee::before {\n opacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .p-datatable.p-component .p-column-resizer-helper,\n .p-datatable.p-component .p-column-resizer-helper::before,\n .p-datatable.p-component .p-column-resizer-helper::after,\n table.ab-table thead th .p-column-resizer::before,\n table.ab-table thead th .p-column-resizer::after {\n transition: none;\n }\n table.ab-table thead th .p-column-resizer::after,\n table.ab-table thead th .p-column-resizer:hover::after {\n transform: translateY(-50%) scale(1);\n }\n .p-datatable.p-component .p-column-resizer-helper::after,\n .p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque::after {\n transform: scaleY(1);\n }\n}\n.ab-row-resizer-helper {\n position: absolute;\n height: 1px;\n margin-top: calc(1px * -0.5);\n z-index: 10;\n pointer-events: none;\n transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-row-resizer-helper::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: #000;\n transform-origin: center center;\n transform: scaleX(1);\n transition: transform 300ms cubic-bezier(0.2, 0.75, 0.2, 1) 70ms;\n}\n.ab-row-resizer-helper.ab-resizer--masque {\n opacity: 0;\n}\n.ab-row-resizer-helper.ab-resizer--masque::after {\n transform: scaleX(0);\n transition-delay: 0s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ab-row-resizer-helper,\n .ab-row-resizer-helper::after {\n transition: none;\n }\n .ab-row-resizer-helper.ab-resizer--masque::after {\n transform: scaleX(1);\n }\n}\ntable.ab-table thead th {\n text-align: left;\n cursor: grab;\n}\ntable.ab-table thead th:active {\n cursor: grabbing;\n}\n\ntable.ab-table thead th [data-pc-section=sort] {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border-radius: 5px;\n background: #f4f5f6;\n color: #b0b8c4;\n cursor: pointer;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\ntable.ab-table thead th [data-pc-section=sort]:hover {\n background: #e0e3e8;\n color: #1a1e26;\n}\ntable.ab-table thead th [data-pc-section=sort] .p-sortable-column-icon {\n margin: 0;\n background: none;\n}\n\ntable.ab-table thead th.p-highlight [data-pc-section=sort] {\n background: color-mix(in srgb, #3f3f3f 12%, transparent);\n color: #3f3f3f;\n}\n\n.p-datatable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td {\n background-color: #f4f5f6;\n}\n\n.p-datatable .p-datatable-tbody > tr:hover > td.ab-td--editable:hover {\n background-color: color-mix(in srgb, #c8cdd6 55%, #f4f5f6);\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column:not(.row-actions-cell) {\n background: #f4f5f6 !important;\n}\n\n.ab-row-actions-menu {\n transform: translateY(-50%);\n}\n\n.ab-table .p-datatable-header {\n background: none;\n border: 0;\n}\n\n.ab-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n font-family: \"Roboto\", sans-serif;\n}\n\n.ab-toolbar__zone {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.ab-toolbar__rule {\n flex: 0 0 1px;\n width: 1px;\n height: 22px;\n background: #c8cdd6;\n margin: 0 2px;\n}\n\n.ab-toolbar__search {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 8px;\n padding: 7px 12px;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-toolbar__search:hover {\n border-color: #c8cdd6;\n}\n.ab-toolbar__search:focus-within {\n border-color: #3f3f3f;\n}\n.ab-toolbar__search > i {\n color: #6b7280;\n font-size: 12px;\n}\n.ab-toolbar__search > i.pi-times {\n cursor: pointer;\n font-size: 10.5px;\n}\n.ab-toolbar__search input.p-inputtext {\n border: 0;\n background: transparent;\n outline: none;\n box-shadow: none;\n padding: 0;\n height: auto;\n font-size: 12.5px;\n width: 200px;\n}\n\n.ab-tbtn {\n font-weight: 400;\n font-family: \"Roboto\", sans-serif;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n height: 32px;\n padding: 0 9px;\n background: #ffffff;\n color: #1a1e26;\n border: 1px solid #e0e3e8;\n border-radius: 6px;\n font-size: 12.5px;\n cursor: pointer;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-tbtn .material-icons {\n font-size: 18px;\n line-height: 1;\n color: #6b7280;\n}\n.ab-tbtn:hover:not(:disabled) {\n border-color: #c8cdd6;\n background: #f4f5f6;\n}\n.ab-tbtn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ab-picto-menu:disabled {\n opacity: 0.35;\n cursor: default;\n}\n\n.ab-tbtn--icon {\n width: 32px;\n padding: 0;\n}\n\n.ab-tbtn--primary {\n background: #3f3f3f;\n border-color: #3f3f3f;\n color: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n}\n.ab-tbtn--primary .material-icons {\n color: #ffffff;\n}\n.ab-tbtn--primary:hover:not(:disabled) {\n background: #1a1e26;\n border-color: #1a1e26;\n}\n\n.ab-tbtn--on {\n background: #e8eaee;\n border-color: #c8cdd6;\n}\n\n.ab-tbtn__chevron {\n font-size: 15px !important;\n margin-left: -2px;\n opacity: 0.7;\n}\n\n.ab-menu__item--danger {\n color: #dc2626;\n}\n.ab-menu__item--danger .material-icons {\n color: #dc2626;\n}\n.ab-menu__item--danger:hover:not(:disabled) {\n background: rgba(220, 38, 38, 0.08);\n}\n\n@keyframes abCountPulse {\n 0% {\n transform: scale(1);\n box-shadow: 0 0 0 0 rgba(63, 63, 63, 0.5);\n }\n 35% {\n transform: scale(1.28);\n box-shadow: 0 0 0 5px rgba(63, 63, 63, 0);\n }\n 100% {\n transform: scale(1);\n box-shadow: 0 0 0 0 rgba(63, 63, 63, 0);\n }\n}\n.ab-tbtn__count--pulse {\n animation: abCountPulse 420ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ab-tbtn__count--pulse {\n animation: none;\n }\n}\n.ab-tbtn__count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 17px;\n height: 17px;\n padding: 0 4px;\n border-radius: 9px;\n background: #3f3f3f;\n color: #ffffff;\n font-size: 10.5px;\n font-weight: 500;\n}\n\n.ab-toolbar__anchor {\n position: relative;\n display: inline-flex;\n}\n\n.ab-toolbar__pop {\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n z-index: 1000;\n background: #ffffff;\n border: 1px solid #e0e3e8;\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1215686275), 0 2px 6px rgba(0, 0, 0, 0.2392156863);\n overflow: hidden;\n text-align: left;\n}\n\n.ab-menu {\n min-width: 208px;\n padding: 4px;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.ab-menu__item {\n font-family: \"Roboto\", sans-serif;\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 10px;\n background: none;\n border: 0;\n border-radius: 5px;\n cursor: pointer;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-menu__item .material-icons {\n font-size: 16px;\n line-height: 1;\n color: #6b7280;\n flex: 0 0 16px;\n width: 16px;\n overflow: hidden;\n}\n.ab-menu__item:hover:not(:disabled) {\n background: #f4f5f6;\n}\n.ab-menu__item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ab-brain {\n width: 580px;\n font-size: 13px;\n color: #1a1e26;\n}\n\n.ab-brain__corps {\n display: flex;\n align-items: stretch;\n flex: 1 1 auto;\n min-height: 0;\n}\n\n.ab-brain__sec--cols {\n flex: 0 0 288px;\n border-right: 1px solid #e0e3e8;\n border-bottom: 0;\n}\n\n.ab-brain__reglages {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-width: 0;\n}\n.ab-brain__reglages .ab-brain__foot {\n margin-top: auto;\n}\n.ab-brain__reglages .ab-brain__sec:last-of-type {\n border-bottom: 0;\n}\n\n.ab-brain__head {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 11px 14px;\n background: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n font-weight: 500;\n font-size: 12.5px;\n}\n.ab-brain__head .material-icons {\n font-size: 17px;\n color: #6b7280;\n}\n\n.ab-brain__close {\n margin-left: auto;\n display: grid;\n place-items: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: none;\n color: #6b7280;\n cursor: pointer;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__close:hover {\n background: rgba(63, 63, 63, 0.08);\n color: #1a1e26;\n}\n.ab-brain__close:focus-visible {\n outline: 2px solid #3f3f3f;\n outline-offset: 1px;\n}\n.ab-brain__close .material-icons {\n font-size: 16px;\n color: inherit;\n}\n\n.ab-brain__sec {\n border-bottom: 1px solid #e0e3e8;\n padding: 12px 14px;\n}\n.ab-brain__sec:last-child {\n border-bottom: 0;\n}\n\n.ab-brain__sec-head {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n}\n.ab-brain__sec-head .ab-brain__title {\n margin-bottom: 0;\n}\n\n.ab-brain__reinit {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 2px 4px;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5px;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: #6b7280;\n white-space: nowrap;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__reinit .material-icons {\n font-size: 13px;\n}\n.ab-brain__reinit:hover {\n color: #dc2626;\n background: rgba(220, 38, 38, 0.08);\n}\n\n.ab-brain__title {\n font-size: 10.5px;\n font-weight: 500;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: #6b7280;\n margin-bottom: 10px;\n}\n\n.ab-brain__cols {\n max-height: 216px;\n overflow-y: auto;\n margin: 0 -4px;\n}\n.ab-brain__cols::-webkit-scrollbar {\n width: 8px;\n}\n.ab-brain__cols::-webkit-scrollbar-thumb {\n background: #c8cdd6;\n border-radius: 4px;\n}\n\n.ab-col-row {\n display: flex;\n align-items: center;\n gap: 9px;\n width: 100%;\n padding: 6px 8px;\n border: 0;\n border-radius: 5px;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-col-row:hover {\n background: #f4f5f6;\n}\n.ab-col-row .ab-col-row__name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ab-col-row:not(.is-on) .ab-col-row__name {\n color: #6b7280;\n}\n\n.ab-col-row__tick {\n flex: 0 0 15px;\n width: 15px;\n height: 15px;\n border: 1.5px solid #c8cdd6;\n border-radius: 3px;\n display: grid;\n place-items: center;\n}\n.ab-col-row__tick .material-icons {\n font-size: 13px;\n color: #ffffff;\n visibility: hidden;\n}\n.is-on .ab-col-row__tick {\n background: #3f3f3f;\n border-color: #3f3f3f;\n}\n.is-on .ab-col-row__tick .material-icons {\n visibility: visible;\n}\n\n.ab-seg {\n display: flex;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 7px;\n padding: 2px;\n gap: 2px;\n}\n\n.ab-seg__opt {\n flex: 1;\n font-family: \"Roboto\", sans-serif;\n font-size: 11.5px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 5px 4px;\n border: 0;\n border-radius: 5px;\n background: transparent;\n color: #6b7280;\n cursor: pointer;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-seg__opt[aria-pressed=true] {\n background: #ffffff;\n color: #1a1e26;\n font-weight: 500;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n}\n\n.ab-switch-row {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 6px 0;\n border: 0;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n}\n.ab-switch-row .ab-switch-row__label {\n flex: 1;\n}\n\n.ab-switch {\n position: relative;\n flex: 0 0 32px;\n width: 32px;\n height: 18px;\n border-radius: 9px;\n background: #c8cdd6;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-switch::after {\n content: \"\";\n position: absolute;\n top: 2px;\n left: 2px;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.is-on .ab-switch {\n background: #3f3f3f;\n}\n.is-on .ab-switch::after {\n transform: translateX(14px);\n}\n\n.ab-brain__foot {\n padding: 10px 14px 12px;\n background: #f4f5f6;\n border-top: 1px solid #e0e3e8;\n}\n\n.ab-brain__reset {\n font-family: \"Roboto\", sans-serif;\n display: flex;\n align-items: center;\n gap: 7px;\n width: 100%;\n padding: 5px 0;\n background: none;\n border: 0;\n cursor: pointer;\n font-size: 12px;\n color: #dc2626;\n text-align: left;\n}\n.ab-brain__reset .material-icons {\n font-size: 15px;\n}\n.ab-brain__reset:hover {\n text-decoration: underline;\n}\n\n.ab-brain__reset--minor {\n color: #6b7280;\n font-size: 11.5px;\n padding: 3px 0 3px 22px;\n}\n\n.ab-brain__persist {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid #e0e3e8;\n font-size: 11px;\n color: #6b7280;\n}\n.ab-brain__persist .material-icons {\n font-size: 13px;\n}\n\n.ab-brain {\n max-height: min(72vh, 660px);\n display: flex;\n flex-direction: column;\n}\n\n.ab-brain__sec--cols {\n display: flex;\n flex-direction: column;\n min-width: 0;\n min-height: 0;\n}\n\n.ab-brain__cols {\n max-height: none;\n flex: 1 1 auto;\n min-height: 120px;\n}\n\n.ab-brain__title-note {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n margin-left: 8px;\n letter-spacing: 0;\n color: #3f3f3f;\n}\n.ab-brain__title-note .material-icons {\n font-size: 13px;\n}\n\n.ab-brain__search {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 8px;\n padding: 5px 8px;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 6px;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__search:focus-within {\n border-color: #3f3f3f;\n}\n.ab-brain__search > .material-icons {\n font-size: 15px;\n color: #6b7280;\n}\n.ab-brain__search input {\n flex: 1;\n min-width: 0;\n border: 0;\n background: transparent;\n outline: none;\n font-family: \"Roboto\", sans-serif;\n font-size: 12.5px;\n color: #1a1e26;\n}\n.ab-brain__search input::placeholder {\n color: #b0b8c4;\n}\n\n.ab-brain__cols-legende {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 9px 5px 4px;\n border-bottom: 1px solid #e0e3e8;\n margin-bottom: 4px;\n font-size: 9.5px;\n font-weight: 500;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n.ab-brain__cols-legende__gauche {\n display: flex;\n align-items: center;\n gap: 7px;\n}\n\n.ab-brain__search-clear {\n display: inline-flex;\n padding: 0;\n border: 0;\n background: none;\n cursor: pointer;\n color: #6b7280;\n}\n.ab-brain__search-clear .material-icons {\n font-size: 14px;\n}\n.ab-brain__search-clear:hover {\n color: #1a1e26;\n}\n\n.ab-brain__vide {\n padding: 14px 8px;\n font-size: 12px;\n color: #6b7280;\n text-align: center;\n}\n\n.ab-col-row {\n padding: 0;\n background: none;\n}\n.ab-col-row:hover {\n background: #f4f5f6;\n}\n\n.ab-col-row__main {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 6px 4px 6px 8px;\n border: 0;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: inherit;\n text-align: left;\n}\n\n.ab-col-row__pin {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n padding: 5px 7px;\n border: 0;\n border-radius: 5px;\n background: none;\n cursor: pointer;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-col-row__pin .material-icons {\n font-size: 16px;\n}\n.ab-col-row__pin:hover:not(:disabled) {\n color: #1a1e26;\n background: #e8eaee;\n}\n.ab-col-row__pin:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.ab-col-row.is-pinned .ab-col-row__pin {\n color: #3f3f3f;\n}\n.ab-col-row.is-pinned .ab-col-row__pin .material-icons {\n transform: rotate(45deg);\n}\n\n.ab-th {\n display: flex;\n align-items: center;\n gap: 2px;\n width: 100%;\n min-width: 0;\n}\n\n.ab-th__label {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ab-th__btn,\n.ab-picto-menu {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-th__btn .material-icons,\n.ab-picto-menu .material-icons {\n font-size: 15px;\n}\n.ab-th__btn:hover,\n.ab-picto-menu:hover {\n color: #1a1e26;\n background: #ffffff;\n}\n\n@container (max-width: 77px) {\n .p-column-title {\n margin-left: -10px;\n margin-right: -10px;\n }\n .ab-th__btn {\n width: 18px;\n height: 18px;\n }\n .ab-th__btn .material-icons {\n font-size: 14px;\n }\n}\n.ab-menu__item.is-actif {\n background: rgba(63, 63, 63, 0.08);\n color: #1a1e26;\n font-weight: 500;\n}\n.ab-menu__item.is-actif .material-icons {\n color: #1a1e26;\n}\n.ab-menu__item.is-actif:hover {\n background: rgba(63, 63, 63, 0.14);\n}\n\n.ab-menu__item--gele .material-icons {\n transform: rotate(45deg);\n}\n\n.ab-menu__filet {\n height: 1px;\n margin: 3px 6px;\n background: #e0e3e8;\n}\n\ntable.ab-table thead th .p-column-header-content > [data-pc-section=sort] {\n display: none;\n}\n\n.ab-col-menu {\n right: auto;\n top: auto;\n z-index: 1200;\n}\n\n.ab-align--left .ab-table td {\n text-align: left;\n}\n.ab-align--left .ab-table td .div-col,\n.ab-align--left .ab-table td .div-col > * {\n justify-content: flex-start;\n}\n.ab-align--left .ab-th__label {\n text-align: left;\n}\n\n.ab-align--center .ab-table td {\n text-align: center;\n}\n.ab-align--center .ab-table td .div-col,\n.ab-align--center .ab-table td .div-col > * {\n justify-content: safe center;\n}\n.ab-align--center .ab-table td .div-col-select .p-dropdown-label,\n.ab-align--center .ab-table td .div-col-select-multiple .p-multiselect-label {\n justify-content: safe center;\n}\n.ab-align--center .ab-table td .div-col-select > div:not(.select-editor),\n.ab-align--center .ab-table td .div-col-select .p-dropdown-label {\n padding-left: 20px;\n padding-right: 20px;\n}\n.ab-align--center .ab-table td .div-col .ab-texte-limite,\n.ab-align--center .ab-table td .div-col .cell-text,\n.ab-align--center .ab-table td .div-col .tab_label,\n.ab-align--center .ab-table td .div-col p,\n.ab-align--center .ab-table td .div-col ul,\n.ab-align--center .ab-table td .div-col li {\n text-align: left;\n}\n.ab-align--center .ab-th__label {\n text-align: center;\n}\n.ab-align--center .ab-table td.row-actions-cell {\n text-align: center;\n}\n\n.ab-checkbox {\n width: 16px;\n height: 16px;\n min-width: 16px;\n min-height: 16px;\n border: 1.5px solid #e0e3e8;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: #ffffff;\n color: #ffffff;\n font-size: 10px;\n cursor: pointer;\n transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-checkbox.checked, .ab-checkbox.p-highlight {\n background-color: #3f3f3f;\n border-color: #3f3f3f;\n}\n.ab-checkbox.partial {\n background: linear-gradient(to top right, #3f3f3f 50%, transparent 50%);\n border-color: #3f3f3f;\n}\n.ab-checkbox {\n margin: auto;\n padding: 0;\n}\n.ab-checkbox .material-icons {\n font-size: 12px;\n line-height: 1;\n color: #ffffff;\n}\n.ab-checkbox:hover:not(.checked):not(.partial) {\n border-color: #c8cdd6;\n}\n\n.ab-menu__titre {\n padding: 7px 10px 4px;\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n/* ═══════════════════════════════════════════════════════════════════════════\n LIGNE DE FILTRES — une seule épaisseur\n ═══════════════════════════════════════════════════════════════════════════\n Mesuré le 08/09/2026 sur la story `columnFilter` : la rangée alignait DEUX\n hauteurs de champ (40px et 45,5px), DEUX bordures (1px et 1,5px) et DEUX\n rayons (6px et 7px) — et un troisième format, 25,5px, dès qu'une colonne\n `index` était présente.\n\n La cause n'est pas un réglage oublié, c'est une origine différente pour\n chaque champ : les selects et le calendrier passent par le design system,\n donc par `@include field` (40px, bordure 1,5px, rayon 7px), alors que les\n champs texte sont des `InputText` NUS — ils prennent le `padding: 12px` du\n thème PrimeReact, d'où leurs 45,5px. Tous passent désormais par le même\n gabarit, et la hauteur est posée explicitement pour qu'aucune ne dérive.\n ═══════════════════════════════════════════════════════════════════════════ */\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label) {\n font-family: \"Roboto\", sans-serif;\n min-height: 40px;\n padding: 0 12px;\n background: #ffffff;\n border: 1.5px solid #e0e3e8;\n border-radius: 7px;\n color: #1a1e26;\n outline: none;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):focus, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):focus-within, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[disabled], table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[readonly], table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[readonly]:hover, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-readonly:hover {\n border-color: #e0e3e8;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label) {\n height: 40px;\n font-size: 14px;\n width: 100%;\n min-width: 0;\n}\ntable.ab-table thead th.p-filter-column .p-dropdown,\ntable.ab-table thead th.p-filter-column .p-calendar {\n width: 100%;\n min-width: 0;\n font-size: 14px;\n}\ntable.ab-table thead th.p-filter-column .p-calendar > .p-inputtext {\n height: 40px !important;\n width: 100% !important;\n min-width: 0 !important;\n padding: 0 12px !important;\n border-width: 1.5px !important;\n border-radius: 7px !important;\n}\ntable.ab-table thead th.p-filter-column .p-calendar > .p-inputtext:not(.p-invalid) {\n border-color: #e0e3e8 !important;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext.ab-filtre-compact {\n padding-left: 4px;\n padding-right: 4px;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button {\n width: 32px;\n height: 32px;\n color: #6b7280;\n transition: opacity 0.2s ease, color 0.2s ease, background-color 0.2s ease;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button.p-hidden-space {\n visibility: visible;\n opacity: 0.38;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button:hover {\n opacity: 1;\n color: #1a1e26;\n background: rgba(26, 30, 38, 0.06);\n}\n\ntable.ab-table thead th.ab-th--editable:not(.p-frozen-column) {\n background-color: color-mix(in srgb, #c8cdd6 70%, #e8eaee) !important;\n}\ntable.ab-table thead th.ab-th--editable:not(.p-frozen-column):hover {\n background-color: color-mix(in srgb, #c8cdd6 70%, #e8eaee) !important;\n}\n\ntd.ab-td--editable:not(.p-frozen-column) {\n position: relative;\n}\n\ntd.ab-td--editable::after {\n content: \"\";\n position: absolute;\n right: 3px;\n bottom: 3px;\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-bottom: 5px solid #c8cdd6;\n pointer-events: none;\n}\n\ntd.ab-td--editable {\n cursor: pointer;\n}\n\ntd.ab-td--lecture {\n cursor: default;\n}\n\ntd.ab-td--obligatoire {\n box-shadow: inset 3px 0 0 #dc2626, inset 0 0 0 100vmax rgba(220, 38, 38, 0.06);\n}\ntd.ab-td--obligatoire .div-col > :first-child:not(:has(input, textarea, [contenteditable]))::before {\n content: \"warning\";\n font-family: \"Material Icons\";\n font-size: 16px;\n line-height: 1;\n font-style: normal;\n font-weight: normal;\n font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n color: #dc2626;\n align-self: center;\n vertical-align: middle;\n flex: none;\n margin-right: 4px;\n pointer-events: none;\n}\n\ntd.ab-td--facultatif {\n box-shadow: inset 3px 0 0 #d97706, inset 0 0 0 100vmax rgba(217, 119, 6, 0.06);\n}\ntd.ab-td--facultatif .div-col > :first-child:not(:has(input, textarea, [contenteditable]))::before {\n content: \"info\";\n font-family: \"Material Icons\";\n font-size: 16px;\n line-height: 1;\n font-style: normal;\n font-weight: normal;\n font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n color: #d97706;\n align-self: center;\n vertical-align: middle;\n flex: none;\n margin-right: 4px;\n pointer-events: none;\n}\n\ntr[style*=row-resize] > td {\n cursor: row-resize;\n}\n\ntable.ab-table thead tr th:has(> .p-column-filter) {\n background-color: #ffffff !important;\n}\n\ntable.ab-table:has(td.ab-td--editable) tbody td:not(.ab-td--editable):not(.row-actions-cell) {\n background-image: linear-gradient(135deg, rgba(200, 205, 214, 0.45) 0 12.5%, transparent 12.5% 50%, rgba(200, 205, 214, 0.45) 50% 62.5%, transparent 62.5% 100%);\n background-size: 8px 8px;\n background-origin: border-box;\n}\n\n.div-col {\n width: 100%;\n}\n\n.ab-picking {\n display: flex;\n justify-content: center;\n width: 100%;\n min-width: 24px;\n}\n\n.ab-picking__btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n line-height: 0;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-picking__btn:hover {\n color: #1a1e26;\n background: #f4f5f6;\n}\n.ab-picking__btn.is-actif {\n color: #1a1e26;\n}\n\n.ab-picking__menu {\n right: auto;\n top: auto;\n z-index: 1200;\n overflow: visible;\n}\n.ab-picking__menu::before {\n content: \"\";\n position: absolute;\n top: -6px;\n left: var(--ab-picking-fleche, 17px);\n width: 10px;\n height: 10px;\n transform: translateX(-50%) rotate(45deg);\n background: #ffffff;\n border-left: 1px solid #e0e3e8;\n border-top: 1px solid #e0e3e8;\n}\n\n.ab-picking__libelle {\n flex: 1;\n white-space: nowrap;\n}\n\n.ab-picking__compteur {\n margin-left: 12px;\n font-size: 12px;\n color: #6b7280;\n font-variant-numeric: tabular-nums;\n}\n\n.ab-menu__item .ab-picto-lignes {\n flex: 0 0 16px;\n width: 16px;\n height: 16px;\n color: #6b7280;\n}\n\n.ab-menu__item.is-actif .ab-picto-lignes {\n color: #1a1e26;\n}";
|
|
48306
|
+
var css_248z$3 = "@charset \"UTF-8\";\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes toastSlideIn {\n from {\n opacity: 0;\n transform: translateX(40px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes toastIconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 60% {\n transform: scale(1.2);\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes toastTextSlide {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.p-paginator {\n font-size: 14px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last,\n.p-paginator .p-paginator-pages .p-paginator-page,\n.p-paginator .p-paginator-current,\n.p-paginator .p-dropdown .p-dropdown-label,\n.p-paginator .p-dropdown-item,\n.p-paginator .p-paginator-page-input .p-inputtext {\n font-size: 14px;\n}\n\n.p-datatable .p-datatable-tbody > tr.air-row--selected > td {\n background-color: #f0fdf8 !important;\n}\n\ntable.ab-table {\n background-color: #ffffff;\n font-family: \"Roboto\", sans-serif;\n table-layout: fixed;\n}\ntable.ab-table thead {\n border: 1px solid #e0e3e8;\n}\ntable.ab-table thead th {\n position: sticky;\n top: 0;\n z-index: 800;\n background-color: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 14px;\n}\ntable.ab-table tbody tr {\n background-color: transparent;\n}\n\n.ab-table td {\n overflow: hidden;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: left;\n border-right: 1px solid #e8eaee;\n border-bottom: 1px solid #e8eaee;\n}\n\n.ab-table .cell-text {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column {\n z-index: 1;\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column {\n background: #f4f5f6 !important;\n}\n\ntable.ab-table thead th.p-frozen-column:not(.row-actions-cell) {\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column.row-actions-cell,\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column.row-actions-cell {\n background: #ffffff !important;\n box-shadow: none !important;\n padding: 0 !important;\n border-right: 1px solid #e8eaee !important;\n}\n\n.p-datatable .p-datatable-thead > tr > th.row-actions-cell {\n background: #e8eaee !important;\n border: none !important;\n border-right: 1px solid #e0e3e8 !important;\n box-shadow: none !important;\n padding: 0 !important;\n}\n\ntable.ab-table td input.p-inputtext {\n box-sizing: border-box;\n min-height: 26px;\n padding: 0 8px;\n border: 1px solid #e0e3e8;\n border-radius: 3px;\n background: #ffffff;\n box-shadow: none;\n font-family: inherit;\n font-size: 13px;\n font-weight: 300;\n}\ntable.ab-table td input.p-inputtext:enabled:hover {\n border-color: #c8cdd6;\n}\ntable.ab-table td input.p-inputtext:enabled:focus {\n border-color: #3f3f3f;\n box-shadow: none;\n outline: none;\n}\n\n.ab-table .p-cell-editing input,\n.ab-table .p-cell-editing .p-inputtext,\n.ab-table .p-cell-editing .p-dropdown,\n.ab-table .p-cell-editing .p-multiselect,\n.ab-table .p-cell-editing .p-calendar {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.ab-table .cell-devise {\n display: flex;\n flex-direction: column;\n gap: 1.4px;\n font-size: 12.25px;\n}\n.ab-table .cell-devise--editable {\n cursor: pointer;\n}\n.ab-table .cell-devise--empty {\n display: block;\n width: 100%;\n height: 21px;\n cursor: pointer;\n}\n.ab-table .cell-devise .span-sub {\n font-size: 10.5px;\n color: #71717a;\n}\n\n.ab-table .devise-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .devise-editor-fields {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n width: 100%;\n position: relative;\n}\n.ab-table .devise-editor-fields .p-dropdown-panel {\n position: absolute;\n z-index: 1000;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.ab-table .devise-editor-save {\n align-self: flex-end;\n}\n\n.ab-table .p-cell-editing .devise-editor-fields input,\n.ab-table .p-cell-editing .devise-editor-fields .p-inputtext,\n.ab-table .p-cell-editing .devise-editor-fields .p-dropdown {\n width: 100%;\n min-width: 0;\n}\n\n.ab-table .select-editor .p-dropdown-label > div {\n min-width: 0;\n}\n.ab-table .select-editor .p-multiselect .p-multiselect-label-container {\n margin-right: 1.75rem;\n}\n\n.ab-table .div-col-select .ab-color-badge.is-selected,\n.ab-table .div-col-select-multiple .ab-color-badge.is-selected {\n animation: none;\n}\n.ab-table .div-col-select .ab-chips-lecture,\n.ab-table .div-col-select .p-multiselect .p-multiselect-label,\n.ab-table .div-col-select .p-dropdown .p-dropdown-label,\n.ab-table .div-col-select-multiple .ab-chips-lecture,\n.ab-table .div-col-select-multiple .p-multiselect .p-multiselect-label,\n.ab-table .div-col-select-multiple .p-dropdown .p-dropdown-label {\n overflow: clip visible !important;\n}\n.ab-table .div-col-select > div:not(.select-editor),\n.ab-table .div-col-select-multiple > div:not(.select-editor) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n min-height: 40px !important;\n padding: 0 20px 0 12px;\n border: 1.5px solid transparent;\n}\n.ab-table .div-col-select > div:not(.select-editor):focus-visible,\n.ab-table .div-col-select-multiple > div:not(.select-editor):focus-visible {\n outline: 2px solid #3f3f3f;\n outline-offset: -2px;\n}\n.ab-table .div-col-select > div:not(.select-editor) > *,\n.ab-table .div-col-select-multiple > div:not(.select-editor) > * {\n min-width: 0;\n max-width: 100%;\n}\n.ab-table .div-col-select .p-dropdown-trigger,\n.ab-table .div-col-select .p-multiselect-trigger,\n.ab-table .div-col-select-multiple .p-dropdown-trigger,\n.ab-table .div-col-select-multiple .p-multiselect-trigger {\n display: none;\n}\n.ab-table .div-col-select [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple [data-pc-section=clearicon] {\n right: 12px;\n opacity: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-table .div-col-select .ab-chips-lecture,\n.ab-table .div-col-select-multiple .ab-chips-lecture {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: 6px;\n width: 100%;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n}\n.ab-table .div-col-select .ab-chip-lecture,\n.ab-table .div-col-select-multiple .ab-chip-lecture {\n padding: 4px 4px 4px 8px;\n gap: 2px;\n margin: 0;\n flex: 0 1 auto;\n width: max-content;\n min-width: 0;\n}\n.ab-table .div-col-select .ab-chip-lecture .p-multiselect-token-icon,\n.ab-table .div-col-select-multiple .ab-chip-lecture .p-multiselect-token-icon {\n width: 14px;\n height: 14px;\n flex-shrink: 0;\n}\n.ab-table .div-col-select .p-multiselect .p-multiselect-label-container,\n.ab-table .div-col-select-multiple .p-multiselect .p-multiselect-label-container {\n margin-right: 34px;\n}\n.ab-table .div-col-select .dropdown-container .p-dropdown,\n.ab-table .div-col-select .multiselect-container .p-multiselect,\n.ab-table .div-col-select-multiple .dropdown-container .p-dropdown,\n.ab-table .div-col-select-multiple .multiselect-container .p-multiselect {\n border-color: transparent;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-table .div-col-select .p-dropdown.p-focus,\n.ab-table .div-col-select .p-multiselect.p-focus,\n.ab-table .div-col-select-multiple .p-dropdown.p-focus,\n.ab-table .div-col-select-multiple .p-multiselect.p-focus {\n border-color: #3f3f3f;\n}\n.ab-table .div-col-select .p-dropdown.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select .p-multiselect.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple .p-dropdown.p-focus [data-pc-section=clearicon],\n.ab-table .div-col-select-multiple .p-multiselect.p-focus [data-pc-section=clearicon] {\n opacity: 1;\n}\n\n.ab-table .div-col-select-multiple > div:not(.select-editor) {\n padding-right: 46px;\n}\n\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select .dropdown-container .p-dropdown,\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select-multiple .multiselect-container .p-multiselect {\n border-color: #c8cdd6;\n}\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select [data-pc-section=clearicon],\n.p-datatable .p-datatable-tbody > tr > td:hover .div-col-select-multiple [data-pc-section=clearicon] {\n opacity: 1;\n}\n\n.ab-table .doc-cell-empty {\n color: #aaa;\n font-size: 11.9px;\n}\n\n.ab-table .doc-cell {\n display: flex;\n flex-direction: column;\n gap: 3.5px;\n min-width: 0;\n overflow: hidden;\n}\n.ab-table .doc-cell-summary {\n display: flex;\n align-items: center;\n gap: 4.9px;\n font-size: 12.25px;\n min-width: 0;\n}\n.ab-table .doc-cell-summary .pi-paperclip {\n color: #71717a;\n font-size: 11.2px;\n flex-shrink: 0;\n}\n.ab-table .doc-cell-summary span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.ab-table .doc-cell-list {\n display: flex;\n flex-direction: column;\n gap: 2.1px;\n padding-left: 15.4px;\n font-size: 11.2px;\n}\n.ab-table .doc-cell-list div {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ab-table .doc-cell-list a {\n color: #3b82f6;\n text-decoration: none;\n}\n.ab-table .doc-cell-list a:hover {\n text-decoration: underline;\n}\n\n.ab-table .doc-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .doc-editor-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 11.2px;\n}\n.ab-table .doc-editor-table td {\n padding: 2.8px 4.9px;\n vertical-align: middle;\n}\n.ab-table .doc-editor-table td a {\n color: #3b82f6;\n text-decoration: none;\n word-break: break-all;\n}\n.ab-table .doc-editor-table td a:hover {\n text-decoration: underline;\n}\n.ab-table .doc-editor-table td:last-child {\n width: 28px;\n text-align: center;\n}\n.ab-table .doc-editor-add {\n display: inline-flex;\n align-items: center;\n gap: 4.2px;\n cursor: pointer;\n align-self: center;\n}\n\n.ab-table .ab-titre-box {\n overflow: hidden;\n min-width: 0;\n}\n\n.ab-table .table-item-title {\n display: -webkit-box !important;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--ab-title-lines, 1);\n line-height: 16px;\n min-width: 0 !important;\n white-space: normal;\n overflow-wrap: anywhere;\n overflow: hidden;\n max-height: var(--ab-content-max, none);\n}\n\n.p-datatable .p-column-header-content {\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n min-width: 0;\n padding: 0 1rem;\n overflow: hidden;\n container-type: inline-size;\n}\n\n.p-datatable .p-column-header-content .p-column-title {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.p-datatable .p-column-header-content [data-pc-section=sort] {\n flex: 0 0 auto;\n}\n\n@container (max-width: 77px) {\n .p-datatable .p-column-header-content [data-pc-section=sort] {\n display: none;\n }\n}\n.ab-table .tab_label {\n display: inline-block;\n padding: 5px 10px;\n font-size: 14px;\n font-weight: 600;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n border-radius: 5px;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n height: initial;\n}\n.ab-table .tab_label .tab_label-clear {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n min-height: 0;\n margin-left: 3px;\n margin-right: -3px;\n padding: 0;\n border: none;\n border-radius: 3px;\n background: none;\n color: inherit;\n opacity: 0.55;\n cursor: pointer;\n transition: opacity 0.12s, background-color 0.12s;\n}\n.ab-table .tab_label .tab_label-clear:hover, .ab-table .tab_label .tab_label-clear:focus-visible {\n outline: none;\n opacity: 1;\n background: rgba(0, 0, 0, 0.14);\n}\n\n.ab-table .badge,\n.ab-select-badge {\n padding: 8px 12px;\n border-radius: 5px;\n height: auto;\n margin: 2px;\n font-weight: 400;\n box-shadow: 2px 4px 5px grey;\n white-space: inherit;\n min-width: 90px;\n}\n.ab-table .badge:not(.badge-small),\n.ab-select-badge:not(.badge-small) {\n width: 100%;\n}\n\ntable.ab-table a.table-item-title {\n color: #2563eb;\n font-weight: 500;\n text-decoration: none;\n}\ntable.ab-table a.table-item-title:hover {\n color: #1d4ed8;\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.ab-table .RiskNumber-table div {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ab-table .RiskNumber-table div span {\n width: 30px;\n height: 30px;\n min-width: 30px;\n min-height: 30px;\n max-width: 30px;\n max-height: 30px;\n border-radius: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ab-table .RiskLabel-table .etiquetteMatrix-risque {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n min-height: 26px;\n width: fit-content;\n max-width: 190px;\n display: flex;\n justify-content: flex-start;\n border-radius: 3px;\n background-color: #fff;\n color: black;\n margin: 0;\n padding: 0;\n border: 0;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabelColor {\n min-width: 20px;\n max-width: 20px;\n margin-right: 5px;\n border-right: 1px solid rgba(0, 0, 0, 0.3607843137);\n border-radius: 3px 0 0 3px;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel {\n font-size: 13px;\n font-weight: 300;\n padding: 3px 10px 3px 5px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n display: flex;\n align-items: center;\n}\n.ab-table .RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel > p {\n margin: 0;\n display: inline;\n font: inherit;\n}\n\n.ab-table .RiskOwner-table .risk_owner {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: max-content;\n}\n.ab-table .RiskOwner-table .risk_owner a {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n background-color: white;\n opacity: 1;\n margin: 2px;\n position: relative;\n}\n.ab-table .RiskOwner-table .risk_owner a:hover {\n z-index: 9999;\n}\n\n.ab-table .ab-cell-display--html {\n display: block !important;\n}\n\n.ab-table .ab-texte-limite {\n min-width: 0 !important;\n max-width: 100% !important;\n min-height: 0 !important;\n max-height: var(--ab-content-max, none) !important;\n margin: 0;\n overflow: hidden;\n text-align: left;\n white-space: normal;\n overflow-wrap: anywhere;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--ab-html-lines, none);\n line-height: 17px !important;\n font-size: 14px;\n}\n.ab-table .ab-texte-limite p {\n line-height: 17px !important;\n font-size: 14px;\n margin: 0;\n}\n.ab-table .ab-texte-limite p,\n.ab-table .ab-texte-limite div,\n.ab-table .ab-texte-limite ul,\n.ab-table .ab-texte-limite ol,\n.ab-table .ab-texte-limite li,\n.ab-table .ab-texte-limite blockquote,\n.ab-table .ab-texte-limite h1,\n.ab-table .ab-texte-limite h2,\n.ab-table .ab-texte-limite h3,\n.ab-table .ab-texte-limite h4,\n.ab-table .ab-texte-limite h5,\n.ab-table .ab-texte-limite h6 {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: 14px;\n line-height: 17px !important;\n}\n.ab-table .ab-texte-limite h1,\n.ab-table .ab-texte-limite h2,\n.ab-table .ab-texte-limite h3,\n.ab-table .ab-texte-limite h4,\n.ab-table .ab-texte-limite h5,\n.ab-table .ab-texte-limite h6,\n.ab-table .ab-texte-limite strong,\n.ab-table .ab-texte-limite b {\n font-weight: 600;\n}\n.ab-table .ab-texte-limite p::after,\n.ab-table .ab-texte-limite div::after,\n.ab-table .ab-texte-limite blockquote::after,\n.ab-table .ab-texte-limite h1::after,\n.ab-table .ab-texte-limite h2::after,\n.ab-table .ab-texte-limite h3::after,\n.ab-table .ab-texte-limite h4::after,\n.ab-table .ab-texte-limite h5::after,\n.ab-table .ab-texte-limite h6::after {\n content: \" \";\n}\n.ab-table .ab-texte-limite li + li::before {\n content: \" · \";\n color: #6b7280;\n}\n\n.ab-table .action-picto .picto {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n margin: 5px;\n}\n\n.ab-table .RiskClusters-table .RiskClusters {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n padding: 5px 19px;\n background-color: rgba(255, 255, 255, 0.5098039216);\n border-radius: 5px;\n opacity: 1;\n position: relative;\n margin: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ab-table .RiskClusters-table .RiskClusters .material-icons {\n text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3137254902);\n}\n\n.ab-table .progress_bar_menu {\n position: relative;\n height: 20px;\n margin: 0;\n}\n\n.ab-table .progress_bar_menu_black {\n width: 100%;\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n height: 6px;\n background-color: #b0bec5;\n border-radius: 3px;\n text-align: left;\n}\n\n.ab-table .progress_bar_menu_load {\n border-radius: 3px;\n height: 6px;\n background-color: #136b89;\n}\n\n.ab-table .progress_bar_menu_info {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n padding: 1px 7px;\n border: 1px solid #e0e3e8;\n border-radius: 999px;\n background: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n color: #3f535f;\n font-weight: bold;\n font-size: 11px;\n line-height: 1.45;\n white-space: nowrap;\n}\n.ab-table .progress_bar_menu_info a {\n color: inherit;\n text-decoration: none;\n}\n\n.ab-table .div-col {\n width: 100%;\n}\n\n.ab-table .div-col:not(.div-col-select):not(.div-col-select-multiple) {\n max-height: var(--ab-content-max, none);\n overflow: clip;\n overflow-clip-margin: 6px;\n}\n\n.ab-table .ab-cell-scroll {\n max-height: var(--ab-cell-max, none);\n overflow-y: auto;\n}\n\n.ab-table .tab_label {\n max-width: 100%;\n}\n\ntable.ab-table thead th {\n background-color: #e8eaee !important;\n border-right: 1px solid #e0e3e8 !important;\n border-bottom: 1px solid #e0e3e8 !important;\n}\ntable.ab-table thead th:hover {\n background-color: #e8eaee !important;\n}\ntable.ab-table thead th:last-child {\n border-right: 0 !important;\n}\n\ntable.ab-table .p-column-resizer {\n width: 15px;\n cursor: col-resize;\n border: 0;\n height: auto;\n top: 0;\n bottom: -1px;\n}\n\ntable.ab-table thead th:not(.row-actions-cell):not(:has(> .p-column-filter)) {\n overflow: visible;\n padding-left: 0;\n padding-right: 0;\n}\n\ntable.ab-table thead th:nth-child(1) {\n z-index: 839 !important;\n}\n\ntable.ab-table thead th:nth-child(2) {\n z-index: 838 !important;\n}\n\ntable.ab-table thead th:nth-child(3) {\n z-index: 837 !important;\n}\n\ntable.ab-table thead th:nth-child(4) {\n z-index: 836 !important;\n}\n\ntable.ab-table thead th:nth-child(5) {\n z-index: 835 !important;\n}\n\ntable.ab-table thead th:nth-child(6) {\n z-index: 834 !important;\n}\n\ntable.ab-table thead th:nth-child(7) {\n z-index: 833 !important;\n}\n\ntable.ab-table thead th:nth-child(8) {\n z-index: 832 !important;\n}\n\ntable.ab-table thead th:nth-child(9) {\n z-index: 831 !important;\n}\n\ntable.ab-table thead th:nth-child(10) {\n z-index: 830 !important;\n}\n\ntable.ab-table thead th:nth-child(11) {\n z-index: 829 !important;\n}\n\ntable.ab-table thead th:nth-child(12) {\n z-index: 828 !important;\n}\n\ntable.ab-table thead th:nth-child(13) {\n z-index: 827 !important;\n}\n\ntable.ab-table thead th:nth-child(14) {\n z-index: 826 !important;\n}\n\ntable.ab-table thead th:nth-child(15) {\n z-index: 825 !important;\n}\n\ntable.ab-table thead th:nth-child(16) {\n z-index: 824 !important;\n}\n\ntable.ab-table thead th:nth-child(17) {\n z-index: 823 !important;\n}\n\ntable.ab-table thead th:nth-child(18) {\n z-index: 822 !important;\n}\n\ntable.ab-table thead th:nth-child(19) {\n z-index: 821 !important;\n}\n\ntable.ab-table thead th:nth-child(20) {\n z-index: 820 !important;\n}\n\ntable.ab-table thead th:nth-child(21) {\n z-index: 819 !important;\n}\n\ntable.ab-table thead th:nth-child(22) {\n z-index: 818 !important;\n}\n\ntable.ab-table thead th:nth-child(23) {\n z-index: 817 !important;\n}\n\ntable.ab-table thead th:nth-child(24) {\n z-index: 816 !important;\n}\n\ntable.ab-table thead th:nth-child(25) {\n z-index: 815 !important;\n}\n\ntable.ab-table thead th:nth-child(26) {\n z-index: 814 !important;\n}\n\ntable.ab-table thead th:nth-child(27) {\n z-index: 813 !important;\n}\n\ntable.ab-table thead th:nth-child(28) {\n z-index: 812 !important;\n}\n\ntable.ab-table thead th:nth-child(29) {\n z-index: 811 !important;\n}\n\ntable.ab-table thead th:nth-child(30) {\n z-index: 810 !important;\n}\n\ntable.ab-table thead th:nth-child(31) {\n z-index: 809 !important;\n}\n\ntable.ab-table thead th:nth-child(32) {\n z-index: 808 !important;\n}\n\ntable.ab-table thead th:nth-child(33) {\n z-index: 807 !important;\n}\n\ntable.ab-table thead th:nth-child(34) {\n z-index: 806 !important;\n}\n\ntable.ab-table thead th:nth-child(35) {\n z-index: 805 !important;\n}\n\ntable.ab-table thead th:nth-child(36) {\n z-index: 804 !important;\n}\n\ntable.ab-table thead th:nth-child(37) {\n z-index: 803 !important;\n}\n\ntable.ab-table thead th:nth-child(38) {\n z-index: 802 !important;\n}\n\ntable.ab-table thead th:nth-child(39) {\n z-index: 801 !important;\n}\n\ntable.ab-table thead th:nth-child(40) {\n z-index: 800 !important;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: -15px;\n background: linear-gradient(to right, transparent calc(50% - 1px), #000 calc(50% - 1px), #000 calc(50% + 1px), transparent calc(50% + 1px));\n opacity: 0;\n transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer::after {\n content: \"\";\n position: absolute;\n top: 50%;\n right: calc(-16px - 2px * 0.5);\n width: 30px;\n height: 30px;\n transform: translateY(-50%);\n border-radius: 50%;\n background: #000 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8'%3E%3Cpath d='M5 0v8L0 4z' fill='%23fff'/%3E%3Cpath d='M11 0v8l5-4z' fill='%23fff'/%3E%3C/svg%3E\") center/16px 8px no-repeat;\n opacity: 0;\n transform: translateY(-50%) scale(0.35);\n transition: opacity 240ms cubic-bezier(0.4, 0, 0.2, 1), transform 240ms cubic-bezier(0.34, 1.3, 0.64, 1);\n}\n\ntable.ab-table thead th:not(.row-actions-cell):hover .p-column-resizer::before {\n opacity: 1;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer:hover::before {\n opacity: 0;\n}\n\ntable.ab-table thead th:not(.row-actions-cell) .p-column-resizer:hover::after {\n opacity: 1;\n transform: translateY(-50%) scale(1);\n}\n\n.p-datatable.p-component .p-column-resizer-helper {\n width: 2px;\n top: var(--ab-th-top, 0px) !important;\n height: var(--ab-trait-h, calc(100% - var(--ab-th-top, 0px))) !important;\n background: transparent;\n pointer-events: none;\n transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datatable.p-component .p-column-resizer-helper::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: #000;\n transform-origin: center calc(var(--ab-thead-h, 42px) / 2);\n transform: scaleY(1);\n transition: transform 300ms cubic-bezier(0.2, 0.75, 0.2, 1) 70ms, background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque {\n opacity: 0;\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque::after {\n transform: scaleY(0);\n transition-delay: 0s;\n}\n.p-datatable.p-component .p-column-resizer-helper::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 100%;\n width: 90px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 160ms cubic-bezier(0.4, 0, 0.2, 1);\n background: linear-gradient(to left, color-mix(in srgb, #dc2626 13%, transparent), color-mix(in srgb, #dc2626 5%, transparent) 45%, transparent);\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--butee::after {\n background: #dc2626;\n}\n.p-datatable.p-component .p-column-resizer-helper.ab-resizer--butee::before {\n opacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .p-datatable.p-component .p-column-resizer-helper,\n .p-datatable.p-component .p-column-resizer-helper::before,\n .p-datatable.p-component .p-column-resizer-helper::after,\n table.ab-table thead th .p-column-resizer::before,\n table.ab-table thead th .p-column-resizer::after {\n transition: none;\n }\n table.ab-table thead th .p-column-resizer::after,\n table.ab-table thead th .p-column-resizer:hover::after {\n transform: translateY(-50%) scale(1);\n }\n .p-datatable.p-component .p-column-resizer-helper::after,\n .p-datatable.p-component .p-column-resizer-helper.ab-resizer--masque::after {\n transform: scaleY(1);\n }\n}\n.ab-row-resizer-helper {\n position: absolute;\n height: 1px;\n margin-top: calc(1px * -0.5);\n z-index: 10;\n pointer-events: none;\n transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-row-resizer-helper::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: #000;\n transform-origin: center center;\n transform: scaleX(1);\n transition: transform 300ms cubic-bezier(0.2, 0.75, 0.2, 1) 70ms;\n}\n.ab-row-resizer-helper.ab-resizer--masque {\n opacity: 0;\n}\n.ab-row-resizer-helper.ab-resizer--masque::after {\n transform: scaleX(0);\n transition-delay: 0s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ab-row-resizer-helper,\n .ab-row-resizer-helper::after {\n transition: none;\n }\n .ab-row-resizer-helper.ab-resizer--masque::after {\n transform: scaleX(1);\n }\n}\ntable.ab-table thead th {\n text-align: left;\n cursor: grab;\n}\ntable.ab-table thead th:active {\n cursor: grabbing;\n}\n\ntable.ab-table thead th [data-pc-section=sort] {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border-radius: 5px;\n background: #f4f5f6;\n color: #b0b8c4;\n cursor: pointer;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\ntable.ab-table thead th [data-pc-section=sort]:hover {\n background: #e0e3e8;\n color: #1a1e26;\n}\ntable.ab-table thead th [data-pc-section=sort] .p-sortable-column-icon {\n margin: 0;\n background: none;\n}\n\ntable.ab-table thead th.p-highlight [data-pc-section=sort] {\n background: color-mix(in srgb, #3f3f3f 12%, transparent);\n color: #3f3f3f;\n}\n\n.p-datatable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td {\n background-color: #f4f5f6;\n}\n\n.p-datatable .p-datatable-tbody > tr:hover > td.ab-td--editable:hover {\n background-color: color-mix(in srgb, #c8cdd6 55%, #f4f5f6);\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column:not(.row-actions-cell) {\n background: #f4f5f6 !important;\n}\n\n.ab-row-actions-menu {\n transform: translateY(-50%);\n}\n\n.ab-table .p-datatable-header {\n background: none;\n border: 0;\n}\n\n.ab-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n font-family: \"Roboto\", sans-serif;\n}\n\n.ab-toolbar__zone {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.ab-toolbar__rule {\n flex: 0 0 1px;\n width: 1px;\n height: 22px;\n background: #c8cdd6;\n margin: 0 2px;\n}\n\n.ab-toolbar__search {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 8px;\n padding: 7px 12px;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-toolbar__search:hover {\n border-color: #c8cdd6;\n}\n.ab-toolbar__search:focus-within {\n border-color: #3f3f3f;\n}\n.ab-toolbar__search > i {\n color: #6b7280;\n font-size: 12px;\n}\n.ab-toolbar__search > i.pi-times {\n cursor: pointer;\n font-size: 10.5px;\n}\n.ab-toolbar__search input.p-inputtext {\n border: 0;\n background: transparent;\n outline: none;\n box-shadow: none;\n padding: 0;\n height: auto;\n font-size: 12.5px;\n width: 200px;\n}\n\n.ab-tbtn {\n font-weight: 400;\n font-family: \"Roboto\", sans-serif;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n height: 32px;\n padding: 0 9px;\n background: #ffffff;\n color: #1a1e26;\n border: 1px solid #e0e3e8;\n border-radius: 6px;\n font-size: 12.5px;\n cursor: pointer;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-tbtn .material-icons {\n font-size: 18px;\n line-height: 1;\n color: #6b7280;\n}\n.ab-tbtn:hover:not(:disabled) {\n border-color: #c8cdd6;\n background: #f4f5f6;\n}\n.ab-tbtn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ab-picto-menu:disabled {\n opacity: 0.35;\n cursor: default;\n}\n\n.ab-tbtn--icon {\n width: 32px;\n padding: 0;\n}\n\n.ab-tbtn--primary {\n background: #3f3f3f;\n border-color: #3f3f3f;\n color: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n}\n.ab-tbtn--primary .material-icons {\n color: #ffffff;\n}\n.ab-tbtn--primary:hover:not(:disabled) {\n background: #1a1e26;\n border-color: #1a1e26;\n}\n\n.ab-tbtn--on {\n background: #e8eaee;\n border-color: #c8cdd6;\n}\n\n.ab-tbtn__chevron {\n font-size: 15px !important;\n margin-left: -2px;\n opacity: 0.7;\n}\n\n.ab-menu__item--danger {\n color: #dc2626;\n}\n.ab-menu__item--danger .material-icons {\n color: #dc2626;\n}\n.ab-menu__item--danger:hover:not(:disabled) {\n background: rgba(220, 38, 38, 0.08);\n}\n\n@keyframes abCountPulse {\n 0% {\n transform: scale(1);\n box-shadow: 0 0 0 0 rgba(63, 63, 63, 0.5);\n }\n 35% {\n transform: scale(1.28);\n box-shadow: 0 0 0 5px rgba(63, 63, 63, 0);\n }\n 100% {\n transform: scale(1);\n box-shadow: 0 0 0 0 rgba(63, 63, 63, 0);\n }\n}\n.ab-tbtn__count--pulse {\n animation: abCountPulse 420ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ab-tbtn__count--pulse {\n animation: none;\n }\n}\n.ab-tbtn__count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 17px;\n height: 17px;\n padding: 0 4px;\n border-radius: 9px;\n background: #3f3f3f;\n color: #ffffff;\n font-size: 10.5px;\n font-weight: 500;\n}\n\n.ab-toolbar__anchor {\n position: relative;\n display: inline-flex;\n}\n\n.ab-toolbar__pop {\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n z-index: 1000;\n background: #ffffff;\n border: 1px solid #e0e3e8;\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1215686275), 0 2px 6px rgba(0, 0, 0, 0.2392156863);\n overflow: hidden;\n text-align: left;\n}\n\n.ab-menu {\n min-width: 208px;\n padding: 4px;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.ab-menu__item {\n font-family: \"Roboto\", sans-serif;\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 10px;\n background: none;\n border: 0;\n border-radius: 5px;\n cursor: pointer;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-menu__item .material-icons {\n font-size: 16px;\n line-height: 1;\n color: #6b7280;\n flex: 0 0 16px;\n width: 16px;\n overflow: hidden;\n}\n.ab-menu__item:hover:not(:disabled) {\n background: #f4f5f6;\n}\n.ab-menu__item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ab-brain {\n width: 580px;\n font-size: 13px;\n color: #1a1e26;\n}\n\n.ab-brain__corps {\n display: flex;\n align-items: stretch;\n flex: 1 1 auto;\n min-height: 0;\n}\n\n.ab-brain__sec--cols {\n flex: 0 0 288px;\n border-right: 1px solid #e0e3e8;\n border-bottom: 0;\n}\n\n.ab-brain__reglages {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-width: 0;\n}\n.ab-brain__reglages .ab-brain__foot {\n margin-top: auto;\n}\n.ab-brain__reglages .ab-brain__sec:last-of-type {\n border-bottom: 0;\n}\n\n.ab-brain__head {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 11px 14px;\n background: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n font-weight: 500;\n font-size: 12.5px;\n}\n.ab-brain__head .material-icons {\n font-size: 17px;\n color: #6b7280;\n}\n\n.ab-brain__close {\n margin-left: auto;\n display: grid;\n place-items: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: none;\n color: #6b7280;\n cursor: pointer;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__close:hover {\n background: rgba(63, 63, 63, 0.08);\n color: #1a1e26;\n}\n.ab-brain__close:focus-visible {\n outline: 2px solid #3f3f3f;\n outline-offset: 1px;\n}\n.ab-brain__close .material-icons {\n font-size: 16px;\n color: inherit;\n}\n\n.ab-brain__sec {\n border-bottom: 1px solid #e0e3e8;\n padding: 12px 14px;\n}\n.ab-brain__sec:last-child {\n border-bottom: 0;\n}\n\n.ab-brain__sec-head {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n}\n.ab-brain__sec-head .ab-brain__title {\n margin-bottom: 0;\n}\n\n.ab-brain__reinit {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 2px 4px;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5px;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: #6b7280;\n white-space: nowrap;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__reinit .material-icons {\n font-size: 13px;\n}\n.ab-brain__reinit:hover {\n color: #dc2626;\n background: rgba(220, 38, 38, 0.08);\n}\n\n.ab-brain__title {\n font-size: 10.5px;\n font-weight: 500;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: #6b7280;\n margin-bottom: 10px;\n}\n\n.ab-brain__cols {\n max-height: 216px;\n overflow-y: auto;\n margin: 0 -4px;\n}\n.ab-brain__cols::-webkit-scrollbar {\n width: 8px;\n}\n.ab-brain__cols::-webkit-scrollbar-thumb {\n background: #c8cdd6;\n border-radius: 4px;\n}\n\n.ab-col-row {\n display: flex;\n align-items: center;\n gap: 9px;\n width: 100%;\n padding: 6px 8px;\n border: 0;\n border-radius: 5px;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-col-row:hover {\n background: #f4f5f6;\n}\n.ab-col-row .ab-col-row__name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ab-col-row:not(.is-on) .ab-col-row__name {\n color: #6b7280;\n}\n\n.ab-col-row__tick {\n flex: 0 0 15px;\n width: 15px;\n height: 15px;\n border: 1.5px solid #c8cdd6;\n border-radius: 3px;\n display: grid;\n place-items: center;\n}\n.ab-col-row__tick .material-icons {\n font-size: 13px;\n color: #ffffff;\n visibility: hidden;\n}\n.is-on .ab-col-row__tick {\n background: #3f3f3f;\n border-color: #3f3f3f;\n}\n.is-on .ab-col-row__tick .material-icons {\n visibility: visible;\n}\n\n.ab-seg {\n display: flex;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 7px;\n padding: 2px;\n gap: 2px;\n}\n\n.ab-seg__opt {\n flex: 1;\n font-family: \"Roboto\", sans-serif;\n font-size: 11.5px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 5px 4px;\n border: 0;\n border-radius: 5px;\n background: transparent;\n color: #6b7280;\n cursor: pointer;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-seg__opt[aria-pressed=true] {\n background: #ffffff;\n color: #1a1e26;\n font-weight: 500;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n}\n\n.ab-switch-row {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 6px 0;\n border: 0;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: #1a1e26;\n text-align: left;\n}\n.ab-switch-row .ab-switch-row__label {\n flex: 1;\n}\n\n.ab-switch {\n position: relative;\n flex: 0 0 32px;\n width: 32px;\n height: 18px;\n border-radius: 9px;\n background: #c8cdd6;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-switch::after {\n content: \"\";\n position: absolute;\n top: 2px;\n left: 2px;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1215686275), 0 1px 2px rgba(0, 0, 0, 0.2392156863);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.is-on .ab-switch {\n background: #3f3f3f;\n}\n.is-on .ab-switch::after {\n transform: translateX(14px);\n}\n\n.ab-brain__foot {\n padding: 10px 14px 12px;\n background: #f4f5f6;\n border-top: 1px solid #e0e3e8;\n}\n\n.ab-brain__reset {\n font-family: \"Roboto\", sans-serif;\n display: flex;\n align-items: center;\n gap: 7px;\n width: 100%;\n padding: 5px 0;\n background: none;\n border: 0;\n cursor: pointer;\n font-size: 12px;\n color: #dc2626;\n text-align: left;\n}\n.ab-brain__reset .material-icons {\n font-size: 15px;\n}\n.ab-brain__reset:hover {\n text-decoration: underline;\n}\n\n.ab-brain__reset--minor {\n color: #6b7280;\n font-size: 11.5px;\n padding: 3px 0 3px 22px;\n}\n\n.ab-brain__persist {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid #e0e3e8;\n font-size: 11px;\n color: #6b7280;\n}\n.ab-brain__persist .material-icons {\n font-size: 13px;\n}\n\n.ab-brain {\n max-height: min(72vh, 660px);\n display: flex;\n flex-direction: column;\n}\n\n.ab-brain__sec--cols {\n display: flex;\n flex-direction: column;\n min-width: 0;\n min-height: 0;\n}\n\n.ab-brain__cols {\n max-height: none;\n flex: 1 1 auto;\n min-height: 120px;\n}\n\n.ab-brain__title-note {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n margin-left: 8px;\n letter-spacing: 0;\n color: #3f3f3f;\n}\n.ab-brain__title-note .material-icons {\n font-size: 13px;\n}\n\n.ab-brain__search {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 8px;\n padding: 5px 8px;\n background: #f4f5f6;\n border: 1px solid #e0e3e8;\n border-radius: 6px;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-brain__search:focus-within {\n border-color: #3f3f3f;\n}\n.ab-brain__search > .material-icons {\n font-size: 15px;\n color: #6b7280;\n}\n.ab-brain__search input {\n flex: 1;\n min-width: 0;\n border: 0;\n background: transparent;\n outline: none;\n font-family: \"Roboto\", sans-serif;\n font-size: 12.5px;\n color: #1a1e26;\n}\n.ab-brain__search input::placeholder {\n color: #b0b8c4;\n}\n\n.ab-brain__cols-legende {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 9px 5px 4px;\n border-bottom: 1px solid #e0e3e8;\n margin-bottom: 4px;\n font-size: 9.5px;\n font-weight: 500;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n.ab-brain__cols-legende__gauche {\n display: flex;\n align-items: center;\n gap: 7px;\n}\n\n.ab-brain__search-clear {\n display: inline-flex;\n padding: 0;\n border: 0;\n background: none;\n cursor: pointer;\n color: #6b7280;\n}\n.ab-brain__search-clear .material-icons {\n font-size: 14px;\n}\n.ab-brain__search-clear:hover {\n color: #1a1e26;\n}\n\n.ab-brain__vide {\n padding: 14px 8px;\n font-size: 12px;\n color: #6b7280;\n text-align: center;\n}\n\n.ab-col-row {\n padding: 0;\n background: none;\n}\n.ab-col-row:hover {\n background: #f4f5f6;\n}\n\n.ab-col-row__main {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 6px 4px 6px 8px;\n border: 0;\n background: none;\n cursor: pointer;\n font-family: \"Roboto\", sans-serif;\n font-size: 13px;\n color: inherit;\n text-align: left;\n}\n\n.ab-col-row__pin {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n padding: 5px 7px;\n border: 0;\n border-radius: 5px;\n background: none;\n cursor: pointer;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-col-row__pin .material-icons {\n font-size: 16px;\n}\n.ab-col-row__pin:hover:not(:disabled) {\n color: #1a1e26;\n background: #e8eaee;\n}\n.ab-col-row__pin:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.ab-col-row.is-pinned .ab-col-row__pin {\n color: #3f3f3f;\n}\n.ab-col-row.is-pinned .ab-col-row__pin .material-icons {\n transform: rotate(45deg);\n}\n\n.ab-th {\n display: flex;\n align-items: center;\n gap: 2px;\n width: 100%;\n min-width: 0;\n}\n\n.ab-th__label {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ab-th__btn,\n.ab-picto-menu {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-th__btn .material-icons,\n.ab-picto-menu .material-icons {\n font-size: 15px;\n}\n.ab-th__btn:hover,\n.ab-picto-menu:hover {\n color: #1a1e26;\n background: #ffffff;\n}\n\n@container (max-width: 77px) {\n .p-column-title {\n margin-left: -10px;\n margin-right: -10px;\n }\n .ab-th__btn {\n width: 18px;\n height: 18px;\n }\n .ab-th__btn .material-icons {\n font-size: 14px;\n }\n}\n.ab-menu__item.is-actif {\n background: rgba(63, 63, 63, 0.08);\n color: #1a1e26;\n font-weight: 500;\n}\n.ab-menu__item.is-actif .material-icons {\n color: #1a1e26;\n}\n.ab-menu__item.is-actif:hover {\n background: rgba(63, 63, 63, 0.14);\n}\n\n.ab-menu__item--gele .material-icons {\n transform: rotate(45deg);\n}\n\n.ab-menu__filet {\n height: 1px;\n margin: 3px 6px;\n background: #e0e3e8;\n}\n\ntable.ab-table thead th .p-column-header-content > [data-pc-section=sort] {\n display: none;\n}\n\n.ab-col-menu {\n right: auto;\n top: auto;\n z-index: 1200;\n}\n\n.ab-align--left .ab-table td {\n text-align: left;\n}\n.ab-align--left .ab-table td .div-col,\n.ab-align--left .ab-table td .div-col > * {\n justify-content: flex-start;\n}\n.ab-align--left .ab-th__label {\n text-align: left;\n}\n\n.ab-align--center .ab-table td {\n text-align: center;\n}\n.ab-align--center .ab-table td .div-col,\n.ab-align--center .ab-table td .div-col > * {\n justify-content: safe center;\n}\n.ab-align--center .ab-table td .div-col-select .p-dropdown-label,\n.ab-align--center .ab-table td .div-col-select-multiple .p-multiselect-label {\n justify-content: safe center;\n}\n.ab-align--center .ab-table td .div-col-select > div:not(.select-editor),\n.ab-align--center .ab-table td .div-col-select .p-dropdown-label {\n padding-left: 20px;\n padding-right: 20px;\n}\n.ab-align--center .ab-table td .div-col .ab-texte-limite,\n.ab-align--center .ab-table td .div-col .cell-text,\n.ab-align--center .ab-table td .div-col .tab_label,\n.ab-align--center .ab-table td .div-col p,\n.ab-align--center .ab-table td .div-col ul,\n.ab-align--center .ab-table td .div-col li {\n text-align: left;\n}\n.ab-align--center .ab-th__label {\n text-align: center;\n}\n.ab-align--center .ab-table td.row-actions-cell {\n text-align: center;\n}\n\n.ab-checkbox {\n width: 16px;\n height: 16px;\n min-width: 16px;\n min-height: 16px;\n border: 1.5px solid #e0e3e8;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: #ffffff;\n color: #ffffff;\n font-size: 10px;\n cursor: pointer;\n transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-checkbox.checked, .ab-checkbox.p-highlight {\n background-color: #3f3f3f;\n border-color: #3f3f3f;\n}\n.ab-checkbox.partial {\n background: linear-gradient(to top right, #3f3f3f 50%, transparent 50%);\n border-color: #3f3f3f;\n}\n.ab-checkbox {\n margin: auto;\n padding: 0;\n}\n.ab-checkbox .material-icons {\n font-size: 12px;\n line-height: 1;\n color: #ffffff;\n}\n.ab-checkbox:hover:not(.checked):not(.partial) {\n border-color: #c8cdd6;\n}\n\n.ab-menu__titre {\n padding: 7px 10px 4px;\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n/* ═══════════════════════════════════════════════════════════════════════════\n LIGNE DE FILTRES — une seule épaisseur\n ═══════════════════════════════════════════════════════════════════════════\n Mesuré le 08/09/2026 sur la story `columnFilter` : la rangée alignait DEUX\n hauteurs de champ (40px et 45,5px), DEUX bordures (1px et 1,5px) et DEUX\n rayons (6px et 7px) — et un troisième format, 25,5px, dès qu'une colonne\n `index` était présente.\n\n La cause n'est pas un réglage oublié, c'est une origine différente pour\n chaque champ : les selects et le calendrier passent par le design system,\n donc par `@include field` (40px, bordure 1,5px, rayon 7px), alors que les\n champs texte sont des `InputText` NUS — ils prennent le `padding: 12px` du\n thème PrimeReact, d'où leurs 45,5px. Tous passent désormais par le même\n gabarit, et la hauteur est posée explicitement pour qu'aucune ne dérive.\n ═══════════════════════════════════════════════════════════════════════════ */\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label) {\n font-family: \"Roboto\", sans-serif;\n min-height: 40px;\n padding: 0 12px;\n background: #ffffff;\n border: 1.5px solid #e0e3e8;\n border-radius: 7px;\n color: #1a1e26;\n outline: none;\n transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):focus, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label):focus-within, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[disabled], table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[readonly], table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label)[readonly]:hover, table.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-readonly:hover {\n border-color: #e0e3e8;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label).is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\ntable.ab-table thead th.p-filter-column .p-inputtext:not(.p-dropdown-label):not(.p-multiselect-label) {\n height: 40px;\n font-size: 14px;\n width: 100%;\n min-width: 0;\n}\ntable.ab-table thead th.p-filter-column .p-dropdown,\ntable.ab-table thead th.p-filter-column .p-calendar {\n width: 100%;\n min-width: 0;\n font-size: 14px;\n}\ntable.ab-table thead th.p-filter-column .p-calendar > .p-inputtext {\n height: 40px !important;\n width: 100% !important;\n min-width: 0 !important;\n padding: 0 12px !important;\n border-width: 1.5px !important;\n border-radius: 7px !important;\n}\ntable.ab-table thead th.p-filter-column .p-calendar > .p-inputtext:not(.p-invalid) {\n border-color: #e0e3e8 !important;\n}\ntable.ab-table thead th.p-filter-column .p-inputtext.ab-filtre-compact {\n padding-left: 4px;\n padding-right: 4px;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button {\n width: 32px;\n height: 32px;\n color: #6b7280;\n transition: opacity 0.2s ease, color 0.2s ease, background-color 0.2s ease;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button.p-hidden-space {\n visibility: visible;\n opacity: 0.38;\n}\ntable.ab-table thead th.p-filter-column .p-column-filter-clear-button:hover {\n opacity: 1;\n color: #1a1e26;\n background: rgba(26, 30, 38, 0.06);\n}\n\ntable.ab-table thead th.ab-th--editable:not(.p-frozen-column) {\n background-color: color-mix(in srgb, #c8cdd6 70%, #e8eaee) !important;\n}\ntable.ab-table thead th.ab-th--editable:not(.p-frozen-column):hover {\n background-color: color-mix(in srgb, #c8cdd6 70%, #e8eaee) !important;\n}\n\ntd.ab-td--editable:not(.p-frozen-column) {\n position: relative;\n}\n\ntd.ab-td--editable::after {\n content: \"\";\n position: absolute;\n right: 3px;\n bottom: 3px;\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-bottom: 5px solid #c8cdd6;\n pointer-events: none;\n}\n\ntd.ab-td--editable {\n cursor: pointer;\n}\n\ntd.ab-td--lecture {\n cursor: default;\n}\n\ntd.ab-td--obligatoire {\n box-shadow: inset 3px 0 0 #dc2626, inset 0 0 0 100vmax rgba(220, 38, 38, 0.06);\n}\ntd.ab-td--obligatoire .div-col > :first-child:not(:has(input, textarea, [contenteditable]))::before {\n content: \"warning\";\n font-family: \"Material Icons\";\n font-size: 16px;\n line-height: 1;\n font-style: normal;\n font-weight: normal;\n font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n color: #dc2626;\n align-self: center;\n vertical-align: middle;\n flex: none;\n margin-right: 4px;\n pointer-events: none;\n}\n\ntd.ab-td--facultatif {\n box-shadow: inset 3px 0 0 #d97706, inset 0 0 0 100vmax rgba(217, 119, 6, 0.06);\n}\ntd.ab-td--facultatif .div-col > :first-child:not(:has(input, textarea, [contenteditable]))::before {\n content: \"info\";\n font-family: \"Material Icons\";\n font-size: 16px;\n line-height: 1;\n font-style: normal;\n font-weight: normal;\n font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n color: #d97706;\n align-self: center;\n vertical-align: middle;\n flex: none;\n margin-right: 4px;\n pointer-events: none;\n}\n\ntr[style*=row-resize] > td {\n cursor: row-resize;\n}\n\ntable.ab-table thead tr th:has(> .p-column-filter) {\n background-color: #ffffff !important;\n}\n\ntable.ab-table:has(td.ab-td--editable) tbody td:not(.ab-td--editable):not(.row-actions-cell) {\n background-image: linear-gradient(135deg, rgba(200, 205, 214, 0.45) 0 12.5%, transparent 12.5% 50%, rgba(200, 205, 214, 0.45) 50% 62.5%, transparent 62.5% 100%);\n background-size: 8px 8px;\n background-origin: border-box;\n}\n\n.div-col {\n width: 100%;\n}\n\n.ab-picking {\n display: flex;\n justify-content: center;\n width: 100%;\n min-width: 24px;\n}\n\n.ab-picking__btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px;\n border: 0;\n border-radius: 4px;\n background: none;\n cursor: pointer;\n line-height: 0;\n color: #6b7280;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ab-picking__btn:hover {\n color: #1a1e26;\n background: #f4f5f6;\n}\n.ab-picking__btn.is-actif {\n color: #1a1e26;\n}\n\n.ab-picking__menu {\n right: auto;\n top: auto;\n z-index: 1200;\n overflow: visible;\n}\n.ab-picking__menu::before {\n content: \"\";\n position: absolute;\n top: -6px;\n left: var(--ab-picking-fleche, 17px);\n width: 10px;\n height: 10px;\n transform: translateX(-50%) rotate(45deg);\n background: #ffffff;\n border-left: 1px solid #e0e3e8;\n border-top: 1px solid #e0e3e8;\n}\n\n.ab-picking__libelle {\n flex: 1;\n white-space: nowrap;\n}\n\n.ab-picking__compteur {\n margin-left: 12px;\n font-size: 12px;\n color: #6b7280;\n font-variant-numeric: tabular-nums;\n}\n\n.ab-menu__item .ab-picto-lignes {\n flex: 0 0 16px;\n width: 16px;\n height: 16px;\n color: #6b7280;\n}\n\n.ab-menu__item.is-actif .ab-picto-lignes {\n color: #1a1e26;\n}\n\nbody.ab-table-plein-ecran .datepickerbook,\nbody.ab-table-plein-ecran .p-dialog-mask,\nbody.ab-table-plein-ecran .p-overlaypanel,\nbody.ab-table-plein-ecran .ts-backdrop,\nbody.ab-table-plein-ecran .ts-panel--modal,\nbody.ab-table-plein-ecran .ts-tooltip {\n z-index: 10000 !important;\n}\nbody.ab-table-plein-ecran .ts-panel--modal,\nbody.ab-table-plein-ecran .ts-tooltip {\n z-index: 10001 !important;\n}";
|
|
48274
48307
|
styleInject(css_248z$3);
|
|
48275
48308
|
|
|
48276
48309
|
// src/components/react/Table/Table.tokens.js
|
|
@@ -58125,14 +58158,10 @@ var Table$1 = function Table(_ref17) {
|
|
|
58125
58158
|
selectionActionHandlers = _ref17.selectionActionHandlers,
|
|
58126
58159
|
toolbarActionHandlers = _ref17.toolbarActionHandlers,
|
|
58127
58160
|
_ref17$selectionFilte = _ref17.selectionFilter,
|
|
58128
|
-
selectionFilter = _ref17$selectionFilte === void 0 ? false : _ref17$selectionFilte
|
|
58129
|
-
_ref17.
|
|
58130
|
-
_ref17.onBulkAction;
|
|
58131
|
-
var _ref17$toolbarActions = _ref17.toolbarActions,
|
|
58161
|
+
selectionFilter = _ref17$selectionFilte === void 0 ? false : _ref17$selectionFilte,
|
|
58162
|
+
_ref17$toolbarActions = _ref17.toolbarActions,
|
|
58132
58163
|
toolbarActions = _ref17$toolbarActions === void 0 ? [] : _ref17$toolbarActions,
|
|
58133
58164
|
onToolbarAction = _ref17.onToolbarAction,
|
|
58134
|
-
_ref17$readOnlyStyle = _ref17.readOnlyStyle,
|
|
58135
|
-
readOnlyStyle = _ref17$readOnlyStyle === void 0 ? true : _ref17$readOnlyStyle,
|
|
58136
58165
|
_ref17$requiredKey = _ref17.requiredKey,
|
|
58137
58166
|
requiredKey = _ref17$requiredKey === void 0 ? '_required' : _ref17$requiredKey,
|
|
58138
58167
|
_ref17$optionalKey = _ref17.optionalKey,
|
|
@@ -59544,8 +59573,13 @@ var Table$1 = function Table(_ref17) {
|
|
|
59544
59573
|
if (e.key === 'Escape') setFullscreen(false);
|
|
59545
59574
|
};
|
|
59546
59575
|
document.addEventListener('keydown', onKeyDown);
|
|
59576
|
+
// En plein écran le tableau est `fixed` à z-index 9999 : les surcouches portées
|
|
59577
|
+
// au body sous ce seuil (calendrier, pop-in html, TreeSelect…) s'ouvraient
|
|
59578
|
+
// DERRIÈRE lui. La classe les fait passer devant (cf. Table.scss).
|
|
59579
|
+
document.body.classList.add('ab-table-plein-ecran');
|
|
59547
59580
|
return function () {
|
|
59548
|
-
|
|
59581
|
+
document.removeEventListener('keydown', onKeyDown);
|
|
59582
|
+
document.body.classList.remove('ab-table-plein-ecran');
|
|
59549
59583
|
};
|
|
59550
59584
|
}, [fullscreen]);
|
|
59551
59585
|
var FILTER_KEY = useMemo(function () {
|
|
@@ -59627,31 +59661,12 @@ var Table$1 = function Table(_ref17) {
|
|
|
59627
59661
|
};
|
|
59628
59662
|
}, [settingsOpen, menuOpen]);
|
|
59629
59663
|
|
|
59630
|
-
// Actions groupées : même mécanique de menu que l'engrenage (positionnement absolu
|
|
59631
|
-
// dans un conteneur relatif + fermeture au clic extérieur), pour un comportement
|
|
59632
|
-
// homogène entre les deux menus voisins de la barre d'outils.
|
|
59633
|
-
var _useState85 = useState(false),
|
|
59634
|
-
_useState86 = _slicedToArray$b(_useState85, 2),
|
|
59635
|
-
bulkOpen = _useState86[0],
|
|
59636
|
-
setBulkOpen = _useState86[1];
|
|
59637
|
-
var bulkRef = useRef(null);
|
|
59638
|
-
useEffect(function () {
|
|
59639
|
-
if (!bulkOpen) return;
|
|
59640
|
-
var onClickOutside = function onClickOutside(e) {
|
|
59641
|
-
if (bulkRef.current && !bulkRef.current.contains(e.target)) setBulkOpen(false);
|
|
59642
|
-
};
|
|
59643
|
-
document.addEventListener('mousedown', onClickOutside);
|
|
59644
|
-
return function () {
|
|
59645
|
-
return document.removeEventListener('mousedown', onClickOutside);
|
|
59646
|
-
};
|
|
59647
|
-
}, [bulkOpen]);
|
|
59648
|
-
|
|
59649
59664
|
// Un seul menu de `toolbarActions` ouvert à la fois : on mémorise la clé de l'action
|
|
59650
59665
|
// ouverte plutôt qu'un booléen par bouton (le nombre de boutons est libre).
|
|
59651
|
-
var
|
|
59652
|
-
|
|
59653
|
-
openToolbarKey =
|
|
59654
|
-
setOpenToolbarKey =
|
|
59666
|
+
var _useState85 = useState(null),
|
|
59667
|
+
_useState86 = _slicedToArray$b(_useState85, 2),
|
|
59668
|
+
openToolbarKey = _useState86[0],
|
|
59669
|
+
setOpenToolbarKey = _useState86[1];
|
|
59655
59670
|
var toolbarRef = useRef(null);
|
|
59656
59671
|
useEffect(function () {
|
|
59657
59672
|
if (openToolbarKey === null) return;
|
|
@@ -59693,16 +59708,16 @@ var Table$1 = function Table(_ref17) {
|
|
|
59693
59708
|
rowHeightsRef.current = {};
|
|
59694
59709
|
}
|
|
59695
59710
|
}
|
|
59696
|
-
var
|
|
59711
|
+
var _useState87 = useState(function () {
|
|
59697
59712
|
try {
|
|
59698
59713
|
var saved = localStorage.getItem(ROW_PRESET_KEY);
|
|
59699
59714
|
if (saved === 'fit' || ROW_PRESETS[saved]) return saved;
|
|
59700
59715
|
} catch (_unused13) {/* noop */}
|
|
59701
59716
|
return defaultRowHeight === 'fit' || ROW_PRESETS[defaultRowHeight] ? defaultRowHeight : 'small';
|
|
59702
59717
|
}),
|
|
59703
|
-
|
|
59704
|
-
rowPreset =
|
|
59705
|
-
setRowPreset =
|
|
59718
|
+
_useState88 = _slicedToArray$b(_useState87, 2),
|
|
59719
|
+
rowPreset = _useState88[0],
|
|
59720
|
+
setRowPreset = _useState88[1];
|
|
59706
59721
|
var tableWrapperRef = useRef(null);
|
|
59707
59722
|
var applyRowHeights = useCallback(function () {
|
|
59708
59723
|
if (!tableWrapperRef.current) return;
|
|
@@ -59987,12 +60002,12 @@ var Table$1 = function Table(_ref17) {
|
|
|
59987
60002
|
if (Object.keys(values).length) localStorage.setItem(FILTERS_VALUES_KEY, JSON.stringify(values));else localStorage.removeItem(FILTERS_VALUES_KEY);
|
|
59988
60003
|
} catch (_unused16) {}
|
|
59989
60004
|
}, [FILTERS_VALUES_KEY]);
|
|
59990
|
-
var
|
|
60005
|
+
var _useState89 = useState(function () {
|
|
59991
60006
|
return hydrateFilters(initialFilters);
|
|
59992
60007
|
}),
|
|
59993
|
-
|
|
59994
|
-
filters =
|
|
59995
|
-
setFilters =
|
|
60008
|
+
_useState90 = _slicedToArray$b(_useState89, 2),
|
|
60009
|
+
filters = _useState90[0],
|
|
60010
|
+
setFilters = _useState90[1];
|
|
59996
60011
|
|
|
59997
60012
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
59998
60013
|
// Effacer TOUS les filtres colonnes d'un coup.
|
|
@@ -60033,16 +60048,16 @@ var Table$1 = function Table(_ref17) {
|
|
|
60033
60048
|
// Tri actif (pour griser le bouton « Réordonner » : réordonner sous un tri
|
|
60034
60049
|
// corromprait les positions). Initialisé depuis l'état persisté (le tri restauré
|
|
60035
60050
|
// au montage ne déclenche pas onSort), mis à jour ensuite via onSort.
|
|
60036
|
-
var
|
|
60051
|
+
var _useState91 = useState(function () {
|
|
60037
60052
|
var s = readDTState();
|
|
60038
60053
|
return s.sortField ? {
|
|
60039
60054
|
field: s.sortField,
|
|
60040
60055
|
order: s.sortOrder
|
|
60041
60056
|
} : null;
|
|
60042
60057
|
}),
|
|
60043
|
-
|
|
60044
|
-
activeSort =
|
|
60045
|
-
setActiveSort =
|
|
60058
|
+
_useState92 = _slicedToArray$b(_useState91, 2),
|
|
60059
|
+
activeSort = _useState92[0],
|
|
60060
|
+
setActiveSort = _useState92[1];
|
|
60046
60061
|
// Un filtre est actif si un filtre de colonne porte une valeur, ou la recherche globale.
|
|
60047
60062
|
var hasActiveFilter = useMemo(function () {
|
|
60048
60063
|
if (globalFilter && String(globalFilter).trim() !== '') return true;
|
|
@@ -60074,13 +60089,13 @@ var Table$1 = function Table(_ref17) {
|
|
|
60074
60089
|
// onLazyLoad({first, rows, sortField, sortOrder, filters, globalFilter}) :
|
|
60075
60090
|
// l'app requête son endpoint puis re-render avec la nouvelle page.
|
|
60076
60091
|
// Le tri devient contrôlé en lazy (sinon PrimeReact trierait la page seule).
|
|
60077
|
-
var
|
|
60092
|
+
var _useState93 = useState({
|
|
60078
60093
|
sortField: null,
|
|
60079
60094
|
sortOrder: null
|
|
60080
60095
|
}),
|
|
60081
|
-
|
|
60082
|
-
lazySort =
|
|
60083
|
-
setLazySort =
|
|
60096
|
+
_useState94 = _slicedToArray$b(_useState93, 2),
|
|
60097
|
+
lazySort = _useState94[0],
|
|
60098
|
+
setLazySort = _useState94[1];
|
|
60084
60099
|
var onLazyLoadRef = useRef(onLazyLoad);
|
|
60085
60100
|
onLazyLoadRef.current = onLazyLoad;
|
|
60086
60101
|
var fireLazy = useCallback(function () {
|
|
@@ -61088,35 +61103,6 @@ var Table$1 = function Table(_ref17) {
|
|
|
61088
61103
|
});
|
|
61089
61104
|
}, [data, onChange, columns]);
|
|
61090
61105
|
|
|
61091
|
-
// ─── Repère « colonne en lecture seule » ──────────────────────────────────
|
|
61092
|
-
// La colonne peut-elle être éditée un jour, VERROU MIS À PART ? Le verrou
|
|
61093
|
-
// (`lockable`) est volontairement ignoré : il est temporaire — l'utilisateur
|
|
61094
|
-
// déverrouille — alors que la lecture seule d'une colonne est définitive. Sans
|
|
61095
|
-
// ça, un tableau verrouillé afficherait des cadenas partout puis les perdrait
|
|
61096
|
-
// tous au déverrouillage, ce qui en ferait un indicateur d'état du verrou et
|
|
61097
|
-
// non de la colonne.
|
|
61098
|
-
var columnCanEverBeEdited = useCallback(function (col) {
|
|
61099
|
-
return lockable ? editable && col.editable === true : editable ? col.editable !== false : col.editable === true;
|
|
61100
|
-
}, [lockable, editable]);
|
|
61101
|
-
|
|
61102
|
-
// Le repère n'a de sens que si QUELQUE CHOSE est éditable dans le tableau :
|
|
61103
|
-
// sur un tableau entièrement en lecture seule (le cas le plus courant), il
|
|
61104
|
-
// n'aurait rien à distinguer et teinterait simplement toutes les cellules.
|
|
61105
|
-
var readOnlyHintActive = useMemo(function () {
|
|
61106
|
-
if (readOnlyStyle === false) return false;
|
|
61107
|
-
return rowEdit ? columns.some(function (c) {
|
|
61108
|
-
return c.editable !== false;
|
|
61109
|
-
}) : columns.some(columnCanEverBeEdited);
|
|
61110
|
-
}, [readOnlyStyle, rowEdit, columns, columnCanEverBeEdited]);
|
|
61111
|
-
var isReadOnlyColumn = useCallback(function (col) {
|
|
61112
|
-
if (!readOnlyHintActive || col.readOnlyStyle === false) return false;
|
|
61113
|
-
// Colonnes techniques : ce ne sont pas des données qu'on chercherait à
|
|
61114
|
-
// éditer, un cadenas y serait du bruit.
|
|
61115
|
-
if (col.actionsField || col.type === 'button' || col.type === 'index') return false;
|
|
61116
|
-
// En édition par ligne, seule `editable: false` exclut la colonne.
|
|
61117
|
-
return rowEdit ? col.editable === false : !columnCanEverBeEdited(col);
|
|
61118
|
-
}, [readOnlyHintActive, rowEdit, columnCanEverBeEdited]);
|
|
61119
|
-
|
|
61120
61106
|
/** Get the body renderer for a column based on its type */
|
|
61121
61107
|
var getBodyTemplate = useCallback(function (col) {
|
|
61122
61108
|
// colCanEdit: is this column capable of being editable (ignoring lock state)?
|
|
@@ -61502,6 +61488,10 @@ var Table$1 = function Table(_ref17) {
|
|
|
61502
61488
|
}
|
|
61503
61489
|
} : null]).filter(Boolean);
|
|
61504
61490
|
|
|
61491
|
+
// Le bouton « Actions » n'existe que s'il a quelque chose à montrer : une action
|
|
61492
|
+
// déclarée, des lignes cochées, ou le filtre « cochées » à relâcher.
|
|
61493
|
+
var menuActionsVisible = actionsSecondaires.length > 0 || rowSelection && nbSelectionnees > 0 || filtreSelectionActif;
|
|
61494
|
+
|
|
61505
61495
|
// ── Reinitialisations, une par objet + une globale ───────────────────────────
|
|
61506
61496
|
var reinitColonnes = function reinitColonnes() {
|
|
61507
61497
|
localStorage.removeItem(STORAGE_KEY);
|
|
@@ -61709,7 +61699,7 @@ var Table$1 = function Table(_ref17) {
|
|
|
61709
61699
|
title: addTooltip !== null && addTooltip !== void 0 ? addTooltip : translate('arengibook.table.toolbar.add', labels)
|
|
61710
61700
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
61711
61701
|
className: "material-icons"
|
|
61712
|
-
}, "add"), addLabel && addLabel !== '+' ? addLabel : translate('arengibook.table.toolbar.add', labels)),
|
|
61702
|
+
}, "add"), addLabel && addLabel !== '+' ? addLabel : translate('arengibook.table.toolbar.add', labels)), menuActionsVisible && /*#__PURE__*/React__default.createElement("div", {
|
|
61713
61703
|
className: "ab-toolbar__anchor",
|
|
61714
61704
|
ref: menuRef
|
|
61715
61705
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
@@ -61786,7 +61776,7 @@ var Table$1 = function Table(_ref17) {
|
|
|
61786
61776
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
61787
61777
|
className: "material-icons"
|
|
61788
61778
|
}, icon), label);
|
|
61789
|
-
})))), /*#__PURE__*/React__default.createElement("span", {
|
|
61779
|
+
})))), (showAddButton || menuActionsVisible) && /*#__PURE__*/React__default.createElement("span", {
|
|
61790
61780
|
className: "ab-toolbar__rule",
|
|
61791
61781
|
"aria-hidden": "true"
|
|
61792
61782
|
}), /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -62583,7 +62573,6 @@ var Table$1 = function Table(_ref17) {
|
|
|
62583
62573
|
var _col$field, _col$options9;
|
|
62584
62574
|
// Fusionne les options créées à la volée (tag) → cellule, éditeur ET filtre à jour.
|
|
62585
62575
|
var col = withCreatedOptions(rawCol);
|
|
62586
|
-
isReadOnlyColumn(col);
|
|
62587
62576
|
return /*#__PURE__*/React__default.createElement(Column, {
|
|
62588
62577
|
key: (_col$field = col.field) !== null && _col$field !== void 0 ? _col$field : index
|
|
62589
62578
|
// ─────────────────────────────────────────────────────
|