arengibook 3.3.3-mainTable → 3.3.4-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 +983 -513
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -84,10 +84,11 @@ var MESSAGES = {
|
|
|
84
84
|
'arengibook.table.column.readOnly': 'Colonne en lecture seule',
|
|
85
85
|
'arengibook.table.bulk.empty': 'Sélectionnez au moins une ligne',
|
|
86
86
|
'arengibook.table.bulk.count': '%n% ligne(s) sélectionnée(s)',
|
|
87
|
-
'arengibook.table.selectionFilter.tooltip': '
|
|
88
|
-
'arengibook.table.selectionFilter.
|
|
89
|
-
'arengibook.table.selectionFilter.
|
|
90
|
-
'arengibook.table.selectionFilter.
|
|
87
|
+
'arengibook.table.selectionFilter.tooltip': 'N\'afficher que les lignes cochées ou non cochées',
|
|
88
|
+
'arengibook.table.selectionFilter.title': 'Afficher',
|
|
89
|
+
'arengibook.table.selectionFilter.all': 'Toutes les lignes',
|
|
90
|
+
'arengibook.table.selectionFilter.checked': 'Lignes cochées uniquement',
|
|
91
|
+
'arengibook.table.selectionFilter.unchecked': 'Lignes non cochées uniquement',
|
|
91
92
|
'arengibook.table.tag.create': 'Créer « %name% »'
|
|
92
93
|
},
|
|
93
94
|
en: {
|
|
@@ -164,10 +165,11 @@ var MESSAGES = {
|
|
|
164
165
|
'arengibook.table.column.readOnly': 'Read-only column',
|
|
165
166
|
'arengibook.table.bulk.empty': 'Select at least one row',
|
|
166
167
|
'arengibook.table.bulk.count': '%n% row(s) selected',
|
|
167
|
-
'arengibook.table.selectionFilter.tooltip': '
|
|
168
|
-
'arengibook.table.selectionFilter.
|
|
169
|
-
'arengibook.table.selectionFilter.
|
|
170
|
-
'arengibook.table.selectionFilter.
|
|
168
|
+
'arengibook.table.selectionFilter.tooltip': 'Show only checked or unchecked rows',
|
|
169
|
+
'arengibook.table.selectionFilter.title': 'Show',
|
|
170
|
+
'arengibook.table.selectionFilter.all': 'All rows',
|
|
171
|
+
'arengibook.table.selectionFilter.checked': 'Checked rows only',
|
|
172
|
+
'arengibook.table.selectionFilter.unchecked': 'Unchecked rows only',
|
|
171
173
|
'arengibook.table.tag.create': 'Create "%name%"'
|
|
172
174
|
},
|
|
173
175
|
es: {
|
|
@@ -244,10 +246,11 @@ var MESSAGES = {
|
|
|
244
246
|
'arengibook.table.column.readOnly': 'Columna de solo lectura',
|
|
245
247
|
'arengibook.table.bulk.empty': 'Seleccione al menos una fila',
|
|
246
248
|
'arengibook.table.bulk.count': '%n% fila(s) seleccionada(s)',
|
|
247
|
-
'arengibook.table.selectionFilter.tooltip': '
|
|
248
|
-
'arengibook.table.selectionFilter.
|
|
249
|
-
'arengibook.table.selectionFilter.
|
|
250
|
-
'arengibook.table.selectionFilter.
|
|
249
|
+
'arengibook.table.selectionFilter.tooltip': 'Mostrar solo las filas marcadas o no marcadas',
|
|
250
|
+
'arengibook.table.selectionFilter.title': 'Mostrar',
|
|
251
|
+
'arengibook.table.selectionFilter.all': 'Todas las filas',
|
|
252
|
+
'arengibook.table.selectionFilter.checked': 'Solo filas marcadas',
|
|
253
|
+
'arengibook.table.selectionFilter.unchecked': 'Solo filas no marcadas',
|
|
251
254
|
'arengibook.table.tag.create': 'Crear «%name%»'
|
|
252
255
|
},
|
|
253
256
|
de: {
|
|
@@ -324,10 +327,11 @@ var MESSAGES = {
|
|
|
324
327
|
'arengibook.table.column.readOnly': 'Schreibgeschützte Spalte',
|
|
325
328
|
'arengibook.table.bulk.empty': 'Wählen Sie mindestens eine Zeile aus',
|
|
326
329
|
'arengibook.table.bulk.count': '%n% Zeile(n) ausgewählt',
|
|
327
|
-
'arengibook.table.selectionFilter.tooltip': '
|
|
328
|
-
'arengibook.table.selectionFilter.
|
|
329
|
-
'arengibook.table.selectionFilter.
|
|
330
|
-
'arengibook.table.selectionFilter.
|
|
330
|
+
'arengibook.table.selectionFilter.tooltip': 'Nur markierte oder nicht markierte Zeilen anzeigen',
|
|
331
|
+
'arengibook.table.selectionFilter.title': 'Anzeigen',
|
|
332
|
+
'arengibook.table.selectionFilter.all': 'Alle Zeilen',
|
|
333
|
+
'arengibook.table.selectionFilter.checked': 'Nur markierte Zeilen',
|
|
334
|
+
'arengibook.table.selectionFilter.unchecked': 'Nur nicht markierte Zeilen',
|
|
331
335
|
'arengibook.table.tag.create': '„%name%“ erstellen'
|
|
332
336
|
}
|
|
333
337
|
};
|
|
@@ -48205,7 +48209,7 @@ if (typeof window !== 'undefined') {
|
|
|
48205
48209
|
window.ArengibookToastPresets = ToastPresets;
|
|
48206
48210
|
}
|
|
48207
48211
|
|
|
48208
|
-
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\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}";
|
|
48212
|
+
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\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}";
|
|
48209
48213
|
styleInject(css_248z$3);
|
|
48210
48214
|
|
|
48211
48215
|
// src/components/react/Table/Table.tokens.js
|
|
@@ -53703,7 +53707,7 @@ function cleanEscapedString(input) {
|
|
|
53703
53707
|
return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'");
|
|
53704
53708
|
}
|
|
53705
53709
|
|
|
53706
|
-
var css_248z$2 = ".ts-root,\n.ts-panel,\n.ts-backdrop,\n.ts-tooltip {\n box-sizing: border-box;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\n font-size: 14px;\n line-height: 1.45;\n color: #1a1d21;\n}\n.ts-root *, .ts-root *::before, .ts-root *::after,\n.ts-panel *,\n.ts-panel *::before,\n.ts-panel *::after,\n.ts-backdrop *,\n.ts-backdrop *::before,\n.ts-backdrop *::after,\n.ts-tooltip *,\n.ts-tooltip *::before,\n.ts-tooltip *::after {\n box-sizing: border-box;\n}\n.ts-root button,\n.ts-panel button,\n.ts-backdrop button,\n.ts-tooltip button {\n appearance: none;\n -webkit-appearance: none;\n margin: 0;\n height: auto;\n min-height: 0;\n max-height: none;\n font: inherit;\n line-height: 1.45;\n text-align: center;\n text-transform: none;\n letter-spacing: normal;\n overflow: visible;\n white-space: nowrap;\n}\n.ts-root code,\n.ts-panel code,\n.ts-backdrop code,\n.ts-tooltip code {\n font-family: inherit;\n background: none;\n color: inherit;\n}\n\n.ts-field-label {\n display: block;\n font-size: 13px;\n color: #8b909a;\n margin-bottom: 6px;\n}\n\n.ts-trigger {\n width: 100%;\n min-height: 38px;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n padding: 5px 58px 5px 10px;\n background: #ffffff;\n border: 1px solid #c2c7cf;\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.12s, box-shadow 0.12s;\n}\n.ts-trigger:hover {\n border-color: #1d1f24;\n}\n.ts-trigger:focus-visible, .ts-trigger[aria-expanded=true] {\n outline: none;\n border-color: #1d1f24;\n box-shadow: 0 0 0 3px #eeedea;\n}\n.ts-trigger .ts-placeholder {\n color: #8b909a;\n font-size: 14px;\n}\n.ts-trigger .ts-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n font-weight: 500;\n padding: 2px 4px 2px 8px;\n border-radius: 6px;\n}\n.ts-trigger .ts-chip > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ts-trigger .ts-chip button {\n border: none;\n background: none;\n color: inherit;\n cursor: pointer;\n opacity: 0.8;\n}\n.ts-trigger .ts-chip button:hover {\n opacity: 1;\n}\n.ts-trigger .ts-more {\n font-size: 12px;\n color: #8b909a;\n}\n.ts-trigger .ts-expand {\n position: absolute;\n right: 34px;\n top: 50%;\n transform: translateY(-50%);\n color: #8b909a;\n cursor: pointer;\n padding: 2px;\n border-radius: 4px;\n}\n.ts-trigger .ts-expand:hover {\n color: #1d1f24;\n background: #f4f5f7;\n}\n.ts-trigger .ts-caret {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n color: #8b909a;\n transition: transform 0.15s;\n}\n.ts-trigger[aria-expanded=true] .ts-caret {\n transform: translateY(-50%) rotate(180deg);\n}\n\n.ts-backdrop {\n position: fixed;\n inset: 0;\n background: rgba(20, 25, 35, 0.42);\n z-index: 1000;\n}\n\n.ts-panel {\n margin-top: 4px;\n background: #ffffff;\n border: 1px solid #c2c7cf;\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(20, 25, 35, 0.12), 0 2px 6px rgba(20, 25, 35, 0.08);\n overflow: hidden;\n}\n.ts-panel .ts-modal-head {\n display: none;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n padding: 12px 14px;\n border-bottom: 1px solid #d9dce1;\n font-weight: 500;\n}\n.ts-panel .ts-modal-head > span:first-child {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ts-panel .ts-modal-head .ts-modal-close {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 30px;\n height: 30px;\n min-height: 30px;\n padding: 0;\n border: 1px solid #d9dce1;\n border-radius: 50%;\n background: #ffffff;\n color: #1a1d21;\n cursor: pointer;\n transition: background-color 0.12s, border-color 0.12s;\n}\n.ts-panel .ts-modal-head .ts-modal-close:hover, .ts-panel .ts-modal-head .ts-modal-close:focus-visible {\n outline: none;\n background: #f4f5f7;\n border-color: #c2c7cf;\n}\n.ts-panel .ts-modal-head .ts-modal-close:active {\n background: #eeedea;\n}\n.ts-panel--modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: min(440px, 92vw);\n margin: 0;\n z-index: 1001;\n}\n.ts-panel--modal .ts-modal-head {\n display: flex;\n}\n.ts-panel--modal .ts-tree {\n max-height: min(58vh, 520px);\n}\n.ts-panel .ts-search {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 10px;\n border-bottom: 1px solid #d9dce1;\n}\n.ts-panel .ts-search input {\n flex: 1;\n border: none;\n outline: none;\n font: inherit;\n font-size: 14px;\n background: transparent;\n min-width: 0;\n}\n.ts-panel .ts-search input::placeholder {\n color: #8b909a;\n}\n.ts-panel .ts-search .ts-clr {\n border: none;\n background: none;\n color: #8b909a;\n cursor: pointer;\n}\n.ts-panel .ts-search .ts-clr:hover {\n color: #1a1d21;\n}\n.ts-panel .ts-tree {\n max-height: 288px;\n overflow-y: auto;\n padding: 4px;\n}\n.ts-panel .ts-tree .ts-empty {\n padding: 28px 12px;\n text-align: center;\n color: #8b909a;\n font-size: 13px;\n}\n.ts-panel .ts-tree .ts-row {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 5px 6px;\n margin-bottom: 1px;\n border-left: 3px solid transparent;\n font-size: 14px;\n user-select: none;\n}\n.ts-panel .ts-tree .ts-row:hover {\n background: #f4f5f7;\n}\n.ts-panel .ts-tree .ts-row.focused {\n box-shadow: inset 0 0 0 1px #d9dce1;\n}\n.ts-panel .ts-tree .ts-row.selected {\n background: rgba(29, 31, 36, 0.06);\n border-left-color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-caret-cell {\n width: 18px;\n color: #8b909a;\n cursor: pointer;\n}\n.ts-panel .ts-tree .ts-row .ts-caret-cell.leaf {\n visibility: hidden;\n}\n.ts-panel .ts-tree .ts-row .ts-caret-cell svg {\n transition: transform 0.12s;\n}\n.ts-panel .ts-tree .ts-row .ts-caret-cell.open svg {\n transform: rotate(90deg);\n}\n.ts-panel .ts-tree .ts-row .ts-check {\n width: 16px;\n height: 16px;\n border-radius: 4px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1.5px solid #c2c7cf;\n color: #fff;\n cursor: pointer;\n}\n.ts-panel .ts-tree .ts-row .ts-check.on {\n border-color: #1d1f24;\n background: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-check.ind {\n border-color: #1d1f24;\n background: #eeedea;\n color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-check.previewing {\n border-color: #1d1f24;\n background: #eeedea;\n color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 2px 9px;\n border-radius: 6px;\n font-size: 13px;\n min-width: 0;\n transition: opacity 0.12s, box-shadow 0.16s;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-cb {\n width: 14px;\n height: 14px;\n border-radius: 3px;\n border: 1.5px solid currentColor;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-cb.ghost svg {\n opacity: 0.55;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-ico {\n font-size: 15px;\n line-height: 1;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-code {\n font-size: 10px;\n opacity: 0.6;\n padding: 0 4px;\n border-radius: 3px;\n border: 1px solid currentColor;\n line-height: 1.4;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-lbl {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-info {\n opacity: 0.65;\n cursor: help;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-info:hover {\n opacity: 1;\n}\n.ts-panel .ts-tree .ts-row .ts-enf {\n margin-left: auto;\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 22px;\n padding: 2px 8px;\n border-radius: 6px;\n border: 1px solid #d9dce1;\n color: #8b909a;\n font-size: 11px;\n line-height: 1.45;\n cursor: pointer;\n transition: all 0.12s;\n}\n.ts-panel .ts-tree .ts-row .ts-enf:hover {\n border-color: #1d1f24;\n color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-enf.some {\n border-color: #1d1f24;\n color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-enf.on {\n border-color: #1d1f24;\n background: #1d1f24;\n color: #fff;\n}\n.ts-panel .ts-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n border-top: 1px solid #d9dce1;\n font-size: 13px;\n}\n.ts-panel .ts-footer .ts-selectall,\n.ts-panel .ts-footer .ts-cancel {\n border: none;\n background: none;\n color: #1d1f24;\n cursor: pointer;\n white-space: nowrap;\n}\n.ts-panel .ts-footer .ts-apply, .ts-panel .ts-footer .ts-apply.ts-apply--off, .ts-panel .ts-footer .ts-apply:disabled {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n border: none;\n color: #fff;\n border-radius: 6px;\n padding: 5px 12px;\n white-space: nowrap;\n}\n.ts-panel .ts-footer .ts-apply {\n background: #101216;\n cursor: pointer;\n}\n.ts-panel .ts-footer .ts-apply:hover {\n background: #000;\n}\n.ts-panel .ts-footer .ts-apply.ts-apply--off, .ts-panel .ts-footer .ts-apply:disabled {\n background: rgba(139, 144, 154, 0.14);\n cursor: default;\n}\n.ts-panel .ts-footer .ts-apply .ts-apply-n {\n opacity: 0.8;\n}\n\n.ts-comma {\n font-size: 14px;\n color: #1a1d21;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ts-count {\n font-size: 13px;\n font-weight: 500;\n color: #1a1d21;\n}\n\n.ts-clear-global {\n position: absolute;\n right: 58px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: 1px solid #d9dce1;\n border-radius: 50%;\n background: #eeedea;\n color: #1a1d21;\n cursor: pointer;\n transition: background-color 0.12s, border-color 0.12s, color 0.12s;\n}\n.ts-clear-global:hover, .ts-clear-global:focus-visible {\n outline: none;\n background: #e24c4c;\n border-color: #e24c4c;\n color: #fff;\n}\n.ts-clear-global:active {\n background: #c33c3c;\n border-color: #c33c3c;\n}\n\n.ts-loadmore {\n border: 1px dashed #c2c7cf;\n background: none;\n color: #1d1f24;\n font: inherit;\n font-size: 12px;\n padding: 3px 10px;\n border-radius: 6px;\n cursor: pointer;\n}\n.ts-loadmore:hover {\n background: #f4f5f7;\n border-style: solid;\n}\n\n.ts-error {\n display: block;\n margin-top: 4px;\n font-size: 11px;\n color: #e24c4c;\n}\n\n.ts-spin {\n animation: ts-spin 0.8s linear infinite;\n}\n\n@keyframes ts-spin {\n to {\n transform: rotate(360deg);\n }\n}\n.ts-tooltip {\n position: fixed;\n z-index: 1002;\n max-width: 240px;\n background: #1a1d21;\n color: #fff;\n font-size: 12px;\n line-height: 1.45;\n padding: 8px 10px;\n border-radius: 6px;\n pointer-events: none;\n}\n.ts-tooltip .tt-title {\n font-weight: 500;\n display: block;\n margin-bottom: 2px;\n}\n.ts-tooltip .tt-path {\n display: block;\n color: #9aa0aa;\n font-size: 11px;\n margin-bottom: 4px;\n}\n.ts-tooltip .tt-body {\n color: #c9ccd2;\n}";
|
|
53710
|
+
var css_248z$2 = ".ts-root,\n.ts-panel,\n.ts-backdrop,\n.ts-tooltip {\n box-sizing: border-box;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\n font-size: 14px;\n line-height: 1.45;\n color: #1a1d21;\n}\n.ts-root *, .ts-root *::before, .ts-root *::after,\n.ts-panel *,\n.ts-panel *::before,\n.ts-panel *::after,\n.ts-backdrop *,\n.ts-backdrop *::before,\n.ts-backdrop *::after,\n.ts-tooltip *,\n.ts-tooltip *::before,\n.ts-tooltip *::after {\n box-sizing: border-box;\n}\n.ts-root button,\n.ts-panel button,\n.ts-backdrop button,\n.ts-tooltip button {\n appearance: none;\n -webkit-appearance: none;\n margin: 0;\n height: auto;\n min-height: 0;\n max-height: none;\n font: inherit;\n line-height: 1.45;\n text-align: center;\n text-transform: none;\n letter-spacing: normal;\n overflow: visible;\n white-space: nowrap;\n}\n.ts-root code,\n.ts-panel code,\n.ts-backdrop code,\n.ts-tooltip code {\n font-family: inherit;\n background: none;\n color: inherit;\n}\n\n.ts-field-label {\n display: block;\n font-size: 13px;\n color: #8b909a;\n margin-bottom: 6px;\n}\n\n.ts-trigger {\n width: 100%;\n min-height: 38px;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n padding: 5px 58px 5px 10px;\n background: #ffffff;\n border: 1px solid #c2c7cf;\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.12s, box-shadow 0.12s;\n}\n.ts-trigger:hover {\n border-color: #1d1f24;\n}\n.ts-trigger:focus-visible, .ts-trigger[aria-expanded=true] {\n outline: none;\n border-color: #1d1f24;\n box-shadow: 0 0 0 3px #eeedea;\n}\n.ts-trigger .ts-placeholder {\n color: #8b909a;\n font-size: 14px;\n}\n.ts-trigger .ts-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n font-weight: 500;\n padding: 2px 4px 2px 8px;\n border-radius: 6px;\n}\n.ts-trigger .ts-chip > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ts-trigger .ts-chip button {\n border: none;\n background: none;\n color: inherit;\n cursor: pointer;\n opacity: 0.8;\n}\n.ts-trigger .ts-chip button:hover {\n opacity: 1;\n}\n.ts-trigger .ts-more {\n font-size: 12px;\n color: #8b909a;\n}\n.ts-trigger .ts-chip--inf > span:first-child {\n font-weight: 600;\n}\n.ts-trigger .ts-chip-inf {\n display: inline-flex;\n}\n.ts-trigger .ts-chip-inf svg {\n width: 13px;\n height: 13px;\n}\n.ts-trigger .ts-expand {\n position: absolute;\n right: 34px;\n top: 50%;\n transform: translateY(-50%);\n color: #8b909a;\n cursor: pointer;\n padding: 2px;\n border-radius: 4px;\n}\n.ts-trigger .ts-expand:hover {\n color: #1d1f24;\n background: #f4f5f7;\n}\n.ts-trigger .ts-caret {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n color: #8b909a;\n transition: transform 0.15s;\n}\n.ts-trigger[aria-expanded=true] .ts-caret {\n transform: translateY(-50%) rotate(180deg);\n}\n\n.ts-backdrop {\n position: fixed;\n inset: 0;\n background: rgba(20, 25, 35, 0.42);\n z-index: 1000;\n}\n\n.ts-panel {\n margin-top: 4px;\n background: #ffffff;\n border: 1px solid #c2c7cf;\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(20, 25, 35, 0.12), 0 2px 6px rgba(20, 25, 35, 0.08);\n overflow: hidden;\n}\n.ts-panel .ts-modal-head {\n display: none;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n padding: 12px 14px;\n border-bottom: 1px solid #d9dce1;\n font-weight: 500;\n}\n.ts-panel .ts-modal-head > span:first-child {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ts-panel .ts-modal-head .ts-modal-close {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 30px;\n height: 30px;\n min-height: 30px;\n padding: 0;\n border: 1px solid #d9dce1;\n border-radius: 50%;\n background: #ffffff;\n color: #1a1d21;\n cursor: pointer;\n transition: background-color 0.12s, border-color 0.12s;\n}\n.ts-panel .ts-modal-head .ts-modal-close:hover, .ts-panel .ts-modal-head .ts-modal-close:focus-visible {\n outline: none;\n background: #f4f5f7;\n border-color: #c2c7cf;\n}\n.ts-panel .ts-modal-head .ts-modal-close:active {\n background: #eeedea;\n}\n.ts-panel--modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: min(440px, 92vw);\n margin: 0;\n z-index: 1001;\n}\n.ts-panel--modal .ts-modal-head {\n display: flex;\n}\n.ts-panel--modal .ts-tree {\n max-height: min(58vh, 520px);\n}\n.ts-panel .ts-search {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 10px;\n border-bottom: 1px solid #d9dce1;\n}\n.ts-panel .ts-search input {\n flex: 1;\n border: none;\n outline: none;\n font: inherit;\n font-size: 14px;\n background: transparent;\n min-width: 0;\n}\n.ts-panel .ts-search input::placeholder {\n color: #8b909a;\n}\n.ts-panel .ts-search .ts-clr {\n border: none;\n background: none;\n color: #8b909a;\n cursor: pointer;\n}\n.ts-panel .ts-search .ts-clr:hover {\n color: #1a1d21;\n}\n.ts-panel .ts-tree {\n max-height: 288px;\n overflow-y: auto;\n padding: 4px;\n}\n.ts-panel .ts-tree .ts-empty {\n padding: 28px 12px;\n text-align: center;\n color: #8b909a;\n font-size: 13px;\n}\n.ts-panel .ts-tree .ts-row {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 5px 6px;\n margin-bottom: 1px;\n border-left: 3px solid transparent;\n font-size: 14px;\n user-select: none;\n}\n.ts-panel .ts-tree .ts-row:hover {\n background: #f4f5f7;\n}\n.ts-panel .ts-tree .ts-row.focused {\n box-shadow: inset 0 0 0 1px #d9dce1;\n}\n.ts-panel .ts-tree .ts-row.selected {\n background: rgba(29, 31, 36, 0.06);\n border-left-color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row.ts-row--shake {\n animation: tsShake 0.4s ease;\n}\n.ts-panel .ts-tree .ts-row .ts-caret-cell {\n width: 18px;\n color: #8b909a;\n cursor: pointer;\n}\n.ts-panel .ts-tree .ts-row .ts-caret-cell.leaf {\n visibility: hidden;\n}\n.ts-panel .ts-tree .ts-row .ts-caret-cell svg {\n transition: transform 0.12s;\n}\n.ts-panel .ts-tree .ts-row .ts-caret-cell.open svg {\n transform: rotate(90deg);\n}\n.ts-panel .ts-tree .ts-row .ts-check {\n width: 16px;\n height: 16px;\n border-radius: 4px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1.5px solid #c2c7cf;\n color: #fff;\n cursor: pointer;\n}\n.ts-panel .ts-tree .ts-row .ts-check.on {\n border-color: #1d1f24;\n background: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-check.ind {\n border-color: #1d1f24;\n background: #eeedea;\n color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-check.previewing {\n border-color: #1d1f24;\n background: #eeedea;\n color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 2px 9px;\n border-radius: 6px;\n font-size: 13px;\n min-width: 0;\n transition: opacity 0.12s, box-shadow 0.16s;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-cb {\n width: 14px;\n height: 14px;\n border-radius: 3px;\n border: 1.5px solid currentColor;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-cb.ghost svg {\n opacity: 0.55;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-cb.ts-badge-cb--inf {\n border-color: transparent;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-cb.ts-badge-cb--inf svg {\n width: 12px;\n height: 12px;\n}\n.ts-panel .ts-tree .ts-row .ts-badge.ts-badge--sw {\n padding-left: 4px;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-sw {\n display: inline-flex;\n flex: none;\n height: 20px;\n border: 1.5px solid #c2c7cf;\n border-radius: 5px;\n overflow: hidden;\n background: #ffffff;\n box-shadow: 0 1px 1px rgba(17, 19, 24, 0.1);\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-sw__b {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 100%;\n padding: 0;\n border: none;\n background: #ffffff;\n color: #8b909a;\n cursor: pointer;\n transition: color 0.12s, background 0.12s;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-sw__b svg {\n width: 13px;\n height: 13px;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-sw__b + .ts-sw__b {\n border-left: 1.5px solid #d9dce1;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-sw__b:hover, .ts-panel .ts-tree .ts-row .ts-badge .ts-sw__b.some {\n color: #1d1f24;\n background: #eeedea;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-sw__b.on {\n color: #fff;\n background: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-sw__b:focus-visible {\n outline: 2px solid #1d1f24;\n outline-offset: -2px;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-ico {\n font-size: 15px;\n line-height: 1;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-code {\n font-size: 10px;\n opacity: 0.6;\n padding: 0 4px;\n border-radius: 3px;\n border: 1px solid currentColor;\n line-height: 1.4;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-lbl {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-info {\n opacity: 0.65;\n cursor: help;\n}\n.ts-panel .ts-tree .ts-row .ts-badge .ts-badge-info:hover {\n opacity: 1;\n}\n.ts-panel .ts-tree .ts-row .ts-enf {\n margin-left: auto;\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 22px;\n padding: 2px 8px;\n border-radius: 6px;\n border: 1px solid #d9dce1;\n color: #8b909a;\n font-size: 11px;\n line-height: 1.45;\n cursor: pointer;\n transition: all 0.12s;\n}\n.ts-panel .ts-tree .ts-row .ts-enf:hover {\n border-color: #1d1f24;\n color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-enf.some {\n border-color: #1d1f24;\n color: #1d1f24;\n}\n.ts-panel .ts-tree .ts-row .ts-enf.on {\n border-color: #1d1f24;\n background: #1d1f24;\n color: #fff;\n}\n.ts-panel .ts-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n border-top: 1px solid #d9dce1;\n font-size: 13px;\n}\n.ts-panel .ts-footer .ts-selectall,\n.ts-panel .ts-footer .ts-cancel {\n border: none;\n background: none;\n color: #1d1f24;\n cursor: pointer;\n white-space: nowrap;\n}\n.ts-panel .ts-footer .ts-footer-count {\n color: #8b909a;\n font-size: 12px;\n white-space: nowrap;\n}\n.ts-panel .ts-footer .ts-footer-count b {\n color: #1a1d21;\n font-weight: 600;\n}\n.ts-panel .ts-footer .ts-apply, .ts-panel .ts-footer .ts-apply.ts-apply--off, .ts-panel .ts-footer .ts-apply:disabled {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n border: none;\n color: #fff;\n border-radius: 6px;\n padding: 5px 12px;\n white-space: nowrap;\n}\n.ts-panel .ts-footer .ts-apply {\n background: #101216;\n cursor: pointer;\n}\n.ts-panel .ts-footer .ts-apply:hover {\n background: #000;\n}\n.ts-panel .ts-footer .ts-apply.ts-apply--off, .ts-panel .ts-footer .ts-apply:disabled {\n background: rgba(139, 144, 154, 0.14);\n cursor: default;\n}\n.ts-panel .ts-footer .ts-apply .ts-apply-n {\n opacity: 0.8;\n}\n\n.ts-comma {\n font-size: 14px;\n color: #1a1d21;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ts-count {\n font-size: 13px;\n font-weight: 500;\n color: #1a1d21;\n}\n\n.ts-clear-global {\n position: absolute;\n right: 58px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: 1px solid #d9dce1;\n border-radius: 50%;\n background: #eeedea;\n color: #1a1d21;\n cursor: pointer;\n transition: background-color 0.12s, border-color 0.12s, color 0.12s;\n}\n.ts-clear-global:hover, .ts-clear-global:focus-visible {\n outline: none;\n background: #e24c4c;\n border-color: #e24c4c;\n color: #fff;\n}\n.ts-clear-global:active {\n background: #c33c3c;\n border-color: #c33c3c;\n}\n\n.ts-loadmore {\n border: 1px dashed #c2c7cf;\n background: none;\n color: #1d1f24;\n font: inherit;\n font-size: 12px;\n padding: 3px 10px;\n border-radius: 6px;\n cursor: pointer;\n}\n.ts-loadmore:hover {\n background: #f4f5f7;\n border-style: solid;\n}\n\n.ts-error {\n display: block;\n margin-top: 4px;\n font-size: 11px;\n color: #e24c4c;\n}\n\n.ts-spin {\n animation: ts-spin 0.8s linear infinite;\n}\n\n@keyframes ts-spin {\n to {\n transform: rotate(360deg);\n }\n}\n.ts-tooltip {\n position: fixed;\n z-index: 1002;\n max-width: 280px;\n background: #1a1d21;\n color: #fff;\n font-size: 12px;\n line-height: 1.45;\n padding: 8px 10px;\n border-radius: 6px;\n pointer-events: none;\n}\n.ts-tooltip::before {\n content: \"\";\n position: absolute;\n top: 14px;\n left: -6px;\n border: 6px solid transparent;\n border-right-color: #1a1d21;\n border-left: 0;\n}\n.ts-tooltip--below::before {\n top: -6px;\n left: 16px;\n border: 6px solid transparent;\n border-top: 0;\n border-bottom-color: #1a1d21;\n}\n.ts-tooltip .tt-title {\n font-weight: 500;\n display: block;\n margin-bottom: 2px;\n}\n.ts-tooltip .tt-path {\n display: block;\n color: #9aa0aa;\n font-size: 11px;\n margin-bottom: 4px;\n}\n.ts-tooltip .tt-body {\n color: #c9ccd2;\n}\n\n@keyframes tsShake {\n 20%, 60% {\n transform: translateX(-4px);\n }\n 40%, 80% {\n transform: translateX(4px);\n }\n}";
|
|
53707
53711
|
styleInject(css_248z$2);
|
|
53708
53712
|
|
|
53709
53713
|
/**
|
|
@@ -53712,7 +53716,17 @@ styleInject(css_248z$2);
|
|
|
53712
53716
|
* Reproduit la maquette documentée : triple logique de sélection
|
|
53713
53717
|
* (Tout / Élément / Enfants), états tri-state, chips colorés à contraste auto,
|
|
53714
53718
|
* dropdown vs pop-in selon la largeur, recherche insensible casse/accents,
|
|
53715
|
-
* aperçu au survol, infobulle
|
|
53719
|
+
* aperçu au survol, infobulle collée au badge, mode validation (brouillon), chrome neutre.
|
|
53720
|
+
*
|
|
53721
|
+
* Mode induit (`induced`, mode checkbox) — le rattachement d'un utilisateur à des organisations :
|
|
53722
|
+
* un parent se rattache soit en EXPLICITE (✓ : le parent et sa descendance d'aujourd'hui, nommés un
|
|
53723
|
+
* par un — chacun est une valeur), soit en INDUIT (∞ : le parent seul est une valeur, ses enfants
|
|
53724
|
+
* présents ET à venir en découlent, le périmètre est recalculé à la lecture). « Le parent seul sans
|
|
53725
|
+
* ses enfants » n'existe pas. La commande vit DANS le badge du parent (commutateur ✓ | ∞), il n'y a
|
|
53726
|
+
* plus de colonne « Tout ». Un enfant induit a le même état actif qu'un enfant coché (badge plein),
|
|
53727
|
+
* seule sa case porte un ∞ ; il n'a pas de chip, n'entre pas dans le compte, et un clic dessus refuse.
|
|
53728
|
+
* Retirer un ∞ rend exactement l'état d'avant sa pose. Sortie : `onChange` (rattachements, parents ∞
|
|
53729
|
+
* compris) + `onInducedChange` (les parents en ∞).
|
|
53716
53730
|
*
|
|
53717
53731
|
* Le style (SCSS) ne définit que le chrome neutre : toutes les couleurs de
|
|
53718
53732
|
* périmètre sont dérivées à l'exécution à partir de `node.color`.
|
|
@@ -53902,6 +53916,18 @@ var IconCheck = function IconCheck() {
|
|
|
53902
53916
|
strokeLinejoin: "round"
|
|
53903
53917
|
}));
|
|
53904
53918
|
};
|
|
53919
|
+
// ∞ (Material `all_inclusive`) : le mode induit.
|
|
53920
|
+
var IconInfinity = function IconInfinity() {
|
|
53921
|
+
return /*#__PURE__*/React__default.createElement("svg", {
|
|
53922
|
+
width: "12",
|
|
53923
|
+
height: "12",
|
|
53924
|
+
viewBox: "0 0 24 24",
|
|
53925
|
+
"aria-hidden": "true"
|
|
53926
|
+
}, /*#__PURE__*/React__default.createElement("path", {
|
|
53927
|
+
d: "M18.6 6.62c-1.44 0-2.8.56-3.77 1.53L12 10.66 10.48 12h.01L7.8 14.39c-.64.64-1.49.99-2.4.99-1.87 0-3.39-1.51-3.39-3.38S3.53 8.62 5.4 8.62c.91 0 1.76.35 2.44 1.03l1.13 1 1.51-1.34L9.22 8.2C8.2 7.18 6.84 6.62 5.4 6.62 2.42 6.62 0 9.04 0 12s2.42 5.38 5.4 5.38c1.44 0 2.8-.56 3.77-1.53l2.83-2.5.01.01L13.52 12h-.01l2.69-2.39c.64-.64 1.49-.99 2.4-.99 1.87 0 3.39 1.51 3.39 3.38s-1.52 3.38-3.39 3.38c-.9 0-1.76-.35-2.44-1.03l-1.14-1.01-1.51 1.34 1.27 1.12c1.02 1.01 2.37 1.57 3.82 1.57 2.98 0 5.4-2.41 5.4-5.38s-2.42-5.37-5.4-5.37z",
|
|
53928
|
+
fill: "currentColor"
|
|
53929
|
+
}));
|
|
53930
|
+
};
|
|
53905
53931
|
var IconDash = function IconDash() {
|
|
53906
53932
|
return /*#__PURE__*/React__default.createElement("svg", {
|
|
53907
53933
|
width: "10",
|
|
@@ -54133,6 +54159,12 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54133
54159
|
showChildrenCount = _ref2$showChildrenCou === void 0 ? true : _ref2$showChildrenCou,
|
|
54134
54160
|
_ref2$showExpand = _ref2.showExpand,
|
|
54135
54161
|
showExpand = _ref2$showExpand === void 0 ? true : _ref2$showExpand,
|
|
54162
|
+
_ref2$induced = _ref2.induced,
|
|
54163
|
+
induced = _ref2$induced === void 0 ? false : _ref2$induced,
|
|
54164
|
+
inducedValue = _ref2.inducedValue,
|
|
54165
|
+
_ref2$defaultInducedV = _ref2.defaultInducedValue,
|
|
54166
|
+
defaultInducedValue = _ref2$defaultInducedV === void 0 ? [] : _ref2$defaultInducedV,
|
|
54167
|
+
onInducedChange = _ref2.onInducedChange,
|
|
54136
54168
|
_ref2$filter = _ref2.filter,
|
|
54137
54169
|
filter = _ref2$filter === void 0 ? true : _ref2$filter,
|
|
54138
54170
|
_ref2$filterPlacehold = _ref2.filterPlaceholder,
|
|
@@ -54160,6 +54192,7 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54160
54192
|
metaKeySelection = _ref2$metaKeySelectio === void 0 ? false : _ref2$metaKeySelectio;
|
|
54161
54193
|
_ref2.appendTo;
|
|
54162
54194
|
var checkboxMode = selectionMode === 'checkbox';
|
|
54195
|
+
var inducedMode = induced && checkboxMode;
|
|
54163
54196
|
var inert = disabled || loading; // champ non interactif
|
|
54164
54197
|
|
|
54165
54198
|
// Chargement asynchrone (lazy) : enfants chargés à la demande sur les nœuds `lazy: true`.
|
|
@@ -54214,47 +54247,65 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54214
54247
|
internal = _useState6[0],
|
|
54215
54248
|
setInternal = _useState6[1];
|
|
54216
54249
|
var committed = controlled ? new Set(idsFromValue(value)) : internal;
|
|
54250
|
+
// Mode induit : les parents en ∞ (« règles »). Un parent ∞ est aussi dans la sélection.
|
|
54251
|
+
var rulesControlled = inducedValue !== undefined;
|
|
54252
|
+
var _useState7 = useState(function () {
|
|
54253
|
+
return new Set(defaultInducedValue);
|
|
54254
|
+
}),
|
|
54255
|
+
_useState8 = _slicedToArray$b(_useState7, 2),
|
|
54256
|
+
internalRules = _useState8[0],
|
|
54257
|
+
setInternalRules = _useState8[1];
|
|
54258
|
+
var committedRules = rulesControlled ? new Set(inducedValue) : internalRules;
|
|
54217
54259
|
var setCommitted = function setCommitted(next) {
|
|
54260
|
+
var nextRules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : committedRules;
|
|
54218
54261
|
if (!controlled) setInternal(next);
|
|
54262
|
+
if (!rulesControlled) setInternalRules(nextRules);
|
|
54219
54263
|
onChange === null || onChange === void 0 || onChange(emitValue(next));
|
|
54264
|
+
if (inducedMode) onInducedChange === null || onInducedChange === void 0 || onInducedChange(_toConsumableArray$8(nextRules));
|
|
54220
54265
|
};
|
|
54221
|
-
var
|
|
54222
|
-
_useState8 = _slicedToArray$b(_useState7, 2),
|
|
54223
|
-
open = _useState8[0],
|
|
54224
|
-
setOpen = _useState8[1];
|
|
54225
|
-
var _useState9 = useState(popin ? 'popin' : 'dropdown'),
|
|
54266
|
+
var _useState9 = useState(!!defaultOpen && !(disabled || loading)),
|
|
54226
54267
|
_useState0 = _slicedToArray$b(_useState9, 2),
|
|
54227
|
-
|
|
54228
|
-
|
|
54229
|
-
var _useState1 = useState(
|
|
54268
|
+
open = _useState0[0],
|
|
54269
|
+
setOpen = _useState0[1];
|
|
54270
|
+
var _useState1 = useState(popin ? 'popin' : 'dropdown'),
|
|
54230
54271
|
_useState10 = _slicedToArray$b(_useState1, 2),
|
|
54231
|
-
|
|
54232
|
-
|
|
54233
|
-
var _useState11 = useState(
|
|
54272
|
+
mode = _useState10[0],
|
|
54273
|
+
setMode = _useState10[1]; // 'dropdown' | 'popin'
|
|
54274
|
+
var _useState11 = useState({}),
|
|
54275
|
+
_useState12 = _slicedToArray$b(_useState11, 2),
|
|
54276
|
+
branchShown = _useState12[0],
|
|
54277
|
+
setBranchShown = _useState12[1]; // pagination par branche : id → nb affiché
|
|
54278
|
+
var _useState13 = useState(function () {
|
|
54234
54279
|
return new Set(idsFromValue(controlled ? value : defaultValue));
|
|
54235
54280
|
}),
|
|
54236
|
-
|
|
54237
|
-
draft =
|
|
54238
|
-
setDraft =
|
|
54281
|
+
_useState14 = _slicedToArray$b(_useState13, 2),
|
|
54282
|
+
draft = _useState14[0],
|
|
54283
|
+
setDraft = _useState14[1];
|
|
54284
|
+
var _useState15 = useState(function () {
|
|
54285
|
+
return new Set(rulesControlled ? inducedValue : defaultInducedValue);
|
|
54286
|
+
}),
|
|
54287
|
+
_useState16 = _slicedToArray$b(_useState15, 2),
|
|
54288
|
+
draftRules = _useState16[0],
|
|
54289
|
+
setDraftRules = _useState16[1];
|
|
54239
54290
|
|
|
54240
54291
|
// Mode sans validation : chaque modification du brouillon s'applique immédiatement.
|
|
54241
54292
|
useEffect(function () {
|
|
54242
|
-
if (!validate && !setsEqual(draft, committed)) setCommitted(new Set(draft));
|
|
54293
|
+
if (!validate && (!setsEqual(draft, committed) || !setsEqual(draftRules, committedRules))) setCommitted(new Set(draft), new Set(draftRules));
|
|
54243
54294
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
54244
|
-
}, [draft, validate]);
|
|
54245
|
-
var
|
|
54246
|
-
_useState14 = _slicedToArray$b(_useState13, 2),
|
|
54247
|
-
query = _useState14[0],
|
|
54248
|
-
setQuery = _useState14[1];
|
|
54249
|
-
var _useState15 = useState(null),
|
|
54250
|
-
_useState16 = _slicedToArray$b(_useState15, 2),
|
|
54251
|
-
preview = _useState16[0],
|
|
54252
|
-
setPreview = _useState16[1]; // { kind, id }
|
|
54253
|
-
var _useState17 = useState(null),
|
|
54295
|
+
}, [draft, draftRules, validate]);
|
|
54296
|
+
var _useState17 = useState(''),
|
|
54254
54297
|
_useState18 = _slicedToArray$b(_useState17, 2),
|
|
54255
|
-
|
|
54256
|
-
|
|
54257
|
-
var _useState19 = useState(
|
|
54298
|
+
query = _useState18[0],
|
|
54299
|
+
setQuery = _useState18[1];
|
|
54300
|
+
var _useState19 = useState(null),
|
|
54301
|
+
_useState20 = _slicedToArray$b(_useState19, 2),
|
|
54302
|
+
preview = _useState20[0],
|
|
54303
|
+
setPreview = _useState20[1]; // { kind, id }
|
|
54304
|
+
var _useState21 = useState(null),
|
|
54305
|
+
_useState22 = _slicedToArray$b(_useState21, 2),
|
|
54306
|
+
focusedId = _useState22[0],
|
|
54307
|
+
setFocusedId = _useState22[1];
|
|
54308
|
+
var _useState23 = useState(function () {
|
|
54258
54309
|
// Déplie par défaut tous les conteneurs.
|
|
54259
54310
|
var s = new Set();
|
|
54260
54311
|
var _walk2 = function walk(nodes) {
|
|
@@ -54269,13 +54320,13 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54269
54320
|
_walk2(data);
|
|
54270
54321
|
return s;
|
|
54271
54322
|
}),
|
|
54272
|
-
|
|
54273
|
-
expanded =
|
|
54274
|
-
setExpanded =
|
|
54275
|
-
var
|
|
54276
|
-
|
|
54277
|
-
tooltip =
|
|
54278
|
-
setTooltip =
|
|
54323
|
+
_useState24 = _slicedToArray$b(_useState23, 2),
|
|
54324
|
+
expanded = _useState24[0],
|
|
54325
|
+
setExpanded = _useState24[1];
|
|
54326
|
+
var _useState25 = useState(null),
|
|
54327
|
+
_useState26 = _slicedToArray$b(_useState25, 2),
|
|
54328
|
+
tooltip = _useState26[0],
|
|
54329
|
+
setTooltip = _useState26[1];
|
|
54279
54330
|
var rootRef = useRef(null);
|
|
54280
54331
|
var triggerRef = useRef(null);
|
|
54281
54332
|
var searchRef = useRef(null);
|
|
@@ -54303,12 +54354,51 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54303
54354
|
_walk3(data, []);
|
|
54304
54355
|
return map;
|
|
54305
54356
|
}, [data]);
|
|
54357
|
+
// Parent de chaque nœud : id → id du parent (null à la racine).
|
|
54358
|
+
var parentMap = useMemo(function () {
|
|
54359
|
+
var map = {};
|
|
54360
|
+
var _walk4 = function walk(nodes, parent) {
|
|
54361
|
+
return nodes.forEach(function (n) {
|
|
54362
|
+
map[n.id] = parent;
|
|
54363
|
+
if (n.children) _walk4(n.children, n.id);
|
|
54364
|
+
});
|
|
54365
|
+
};
|
|
54366
|
+
_walk4(data, null);
|
|
54367
|
+
return map;
|
|
54368
|
+
}, [data]);
|
|
54369
|
+
|
|
54370
|
+
// --- Mode induit : statut d'un nœud ---
|
|
54371
|
+
// 'rule' : parent en ∞ · 'inh' : sous un ∞ (induit : couvert, pas rattaché) · 'self' : coché en
|
|
54372
|
+
// propre · 'none'. Hors mode induit, seul 'self' / 'none' existe (comportement inchangé).
|
|
54373
|
+
var ruleAbove = function ruleAbove(id) {
|
|
54374
|
+
var rules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : draftRules;
|
|
54375
|
+
var cur = parentMap[id];
|
|
54376
|
+
while (cur) {
|
|
54377
|
+
if (rules.has(cur)) return cur;
|
|
54378
|
+
cur = parentMap[cur];
|
|
54379
|
+
}
|
|
54380
|
+
return null;
|
|
54381
|
+
};
|
|
54382
|
+
var statusOf = function statusOf(id) {
|
|
54383
|
+
var set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : draft;
|
|
54384
|
+
var rules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : draftRules;
|
|
54385
|
+
if (inducedMode) {
|
|
54386
|
+
if (rules.has(id)) return 'rule';
|
|
54387
|
+
if (ruleAbove(id, rules)) return 'inh';
|
|
54388
|
+
}
|
|
54389
|
+
return set.has(id) ? 'self' : 'none';
|
|
54390
|
+
};
|
|
54391
|
+
var isIncluded = function isIncluded(id) {
|
|
54392
|
+
var set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : draft;
|
|
54393
|
+
var rules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : draftRules;
|
|
54394
|
+
return statusOf(id, set, rules) !== 'none';
|
|
54395
|
+
};
|
|
54306
54396
|
|
|
54307
54397
|
// Recherche débouncée (filterDelay).
|
|
54308
|
-
var
|
|
54309
|
-
|
|
54310
|
-
debouncedQuery =
|
|
54311
|
-
setDebouncedQuery =
|
|
54398
|
+
var _useState27 = useState(''),
|
|
54399
|
+
_useState28 = _slicedToArray$b(_useState27, 2),
|
|
54400
|
+
debouncedQuery = _useState28[0],
|
|
54401
|
+
setDebouncedQuery = _useState28[1];
|
|
54312
54402
|
useEffect(function () {
|
|
54313
54403
|
var t = setTimeout(function () {
|
|
54314
54404
|
return setDebouncedQuery(query);
|
|
@@ -54336,7 +54426,7 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54336
54426
|
// Liste aplatie visible (respecte dépliage / recherche / pagination) — rendu + clavier.
|
|
54337
54427
|
var visibleList = useMemo(function () {
|
|
54338
54428
|
var out = [];
|
|
54339
|
-
var
|
|
54429
|
+
var _walk5 = function walk(node, depth) {
|
|
54340
54430
|
var _node$children;
|
|
54341
54431
|
if (searchActive && !searchVisible.has(node.id)) return;
|
|
54342
54432
|
out.push({
|
|
@@ -54360,7 +54450,7 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54360
54450
|
var kids = node.children;
|
|
54361
54451
|
var limit = branchPageSize && !searchActive ? (_branchShown$node$id = branchShown[node.id]) !== null && _branchShown$node$id !== void 0 ? _branchShown$node$id : branchPageSize : kids.length;
|
|
54362
54452
|
kids.slice(0, limit).forEach(function (c) {
|
|
54363
|
-
return
|
|
54453
|
+
return _walk5(c, depth + 1);
|
|
54364
54454
|
});
|
|
54365
54455
|
if (limit < kids.length) {
|
|
54366
54456
|
out.push({
|
|
@@ -54373,7 +54463,7 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54373
54463
|
}
|
|
54374
54464
|
};
|
|
54375
54465
|
data.forEach(function (n) {
|
|
54376
|
-
return
|
|
54466
|
+
return _walk5(n, 0);
|
|
54377
54467
|
});
|
|
54378
54468
|
return out;
|
|
54379
54469
|
}, [data, expanded, searchActive, searchVisible, branchPageSize, branchShown, loadingIds]);
|
|
@@ -54384,17 +54474,32 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54384
54474
|
});
|
|
54385
54475
|
};
|
|
54386
54476
|
|
|
54387
|
-
// Ids qui SERAIENT ajoutés par le survol courant (aperçu).
|
|
54388
|
-
|
|
54389
|
-
|
|
54390
|
-
|
|
54391
|
-
|
|
54392
|
-
|
|
54393
|
-
|
|
54394
|
-
|
|
54395
|
-
|
|
54396
|
-
|
|
54397
|
-
|
|
54477
|
+
// Ids qui SERAIENT ajoutés par le survol courant (aperçu : coche fantôme).
|
|
54478
|
+
// Survol du segment ∞ (`kind: 'inf'`) : les enfants montrent un ∞ fantôme ; ceux déjà cochés en
|
|
54479
|
+
// propre seraient absorbés, leur case passe en écho (`previewEcho`).
|
|
54480
|
+
var _useMemo2 = useMemo(function () {
|
|
54481
|
+
var none = {
|
|
54482
|
+
previewIds: new Set(),
|
|
54483
|
+
previewEcho: new Set()
|
|
54484
|
+
};
|
|
54485
|
+
if (!preview) return none;
|
|
54486
|
+
var node = findNode(data, preview.id);
|
|
54487
|
+
if (!node) return none;
|
|
54488
|
+
var ids = [];
|
|
54489
|
+
if (preview.kind === 'tout' || preview.kind === 'inf') ids = valueIdsInclusive(node, []);else if (preview.kind === 'enfants') ids = descValueIds(node);else ids = node.kind === 'value' ? [node.id] : [];
|
|
54490
|
+
var echo = preview.kind === 'inf' ? new Set(ids.filter(function (id) {
|
|
54491
|
+
return id !== node.id && statusOf(id) === 'self';
|
|
54492
|
+
})) : new Set();
|
|
54493
|
+
return {
|
|
54494
|
+
previewIds: new Set(ids.filter(function (id) {
|
|
54495
|
+
return !isIncluded(id);
|
|
54496
|
+
})),
|
|
54497
|
+
previewEcho: echo
|
|
54498
|
+
};
|
|
54499
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
54500
|
+
}, [preview, draft, draftRules, data, inducedMode]),
|
|
54501
|
+
previewIds = _useMemo2.previewIds,
|
|
54502
|
+
previewEcho = _useMemo2.previewEcho;
|
|
54398
54503
|
|
|
54399
54504
|
// --- Ouverture / fermeture ---
|
|
54400
54505
|
|
|
@@ -54403,6 +54508,7 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54403
54508
|
var forceModal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
54404
54509
|
if (inert) return; // disabled/loading : pas d'ouverture
|
|
54405
54510
|
setDraft(new Set(committed));
|
|
54511
|
+
setDraftRules(new Set(committedRules));
|
|
54406
54512
|
setQuery('');
|
|
54407
54513
|
var w = (_triggerRef$current$o = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.offsetWidth) !== null && _triggerRef$current$o !== void 0 ? _triggerRef$current$o : 999;
|
|
54408
54514
|
setMode(forceModal || popin || w < POPIN_THRESHOLD ? 'popin' : 'dropdown');
|
|
@@ -54417,22 +54523,43 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54417
54523
|
onPanelHide === null || onPanelHide === void 0 || onPanelHide();
|
|
54418
54524
|
};
|
|
54419
54525
|
var apply = function apply() {
|
|
54420
|
-
setCommitted(new Set(draft));
|
|
54526
|
+
setCommitted(new Set(draft), new Set(draftRules));
|
|
54421
54527
|
close();
|
|
54422
54528
|
};
|
|
54423
54529
|
// Bascule tout sélectionner / tout désélectionner selon l'état courant.
|
|
54424
54530
|
var allSelected = allIds.length > 0 && allIds.every(function (id) {
|
|
54425
|
-
return
|
|
54531
|
+
return isIncluded(id);
|
|
54426
54532
|
});
|
|
54427
54533
|
var toggleSelectAll = function toggleSelectAll() {
|
|
54428
|
-
|
|
54534
|
+
if (allSelected) {
|
|
54535
|
+
setDraft(new Set());
|
|
54536
|
+
setDraftRules(new Set());
|
|
54537
|
+
return;
|
|
54538
|
+
}
|
|
54539
|
+
if (!inducedMode) {
|
|
54540
|
+
setDraft(new Set(allIds));
|
|
54541
|
+
return;
|
|
54542
|
+
}
|
|
54543
|
+
// Mode induit : on nomme ce qui ne l'est pas encore, les ∞ posés restent.
|
|
54544
|
+
setDraft(function (prev) {
|
|
54545
|
+
var n = new Set(prev);
|
|
54546
|
+
allIds.forEach(function (id) {
|
|
54547
|
+
if (!isIncluded(id)) n.add(id);
|
|
54548
|
+
});
|
|
54549
|
+
return n;
|
|
54550
|
+
});
|
|
54429
54551
|
};
|
|
54430
|
-
var draftClean = setsEqual(draft, committed); // brouillon == validé → Appliquer off
|
|
54552
|
+
var draftClean = setsEqual(draft, committed) && setsEqual(draftRules, committedRules); // brouillon == validé → Appliquer off
|
|
54431
54553
|
// Nombre réel d'éléments sélectionnés = nœuds `value` existants présents dans le brouillon
|
|
54432
54554
|
// (ignore les ids fantômes/inconnus et les ids de groupe → compteur toujours juste).
|
|
54555
|
+
// Mode induit : ce sont les rattachements (parents ∞ compris, enfants induits exclus).
|
|
54433
54556
|
var draftCount = valueNodes.filter(function (n) {
|
|
54434
54557
|
return draft.has(n.id);
|
|
54435
54558
|
}).length;
|
|
54559
|
+
// Mode induit : le périmètre effectif (rattachés + induits) → « droits sur M ».
|
|
54560
|
+
var effectiveCount = inducedMode ? allIds.filter(function (id) {
|
|
54561
|
+
return isIncluded(id);
|
|
54562
|
+
}).length : draftCount;
|
|
54436
54563
|
var onExpandClick = function onExpandClick(e) {
|
|
54437
54564
|
e.stopPropagation();
|
|
54438
54565
|
if (inert) return;
|
|
@@ -54490,19 +54617,33 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54490
54617
|
|
|
54491
54618
|
// --- Actions de sélection (sur le brouillon) ---
|
|
54492
54619
|
|
|
54493
|
-
|
|
54494
|
-
|
|
54620
|
+
// « Tout » / « Enfants » : on nomme ce qui ne l'est pas encore (un induit l'est déjà) ; si tout
|
|
54621
|
+
// l'est, on retire — les ∞ posés en dessous partent avec (leur parent était nommé par eux).
|
|
54622
|
+
var toggleScope = function toggleScope(ids) {
|
|
54623
|
+
var all = ids.length > 0 && ids.every(function (id) {
|
|
54624
|
+
return isIncluded(id);
|
|
54625
|
+
});
|
|
54495
54626
|
setDraft(function (prev) {
|
|
54496
54627
|
var n = new Set(prev);
|
|
54497
|
-
|
|
54498
|
-
|
|
54628
|
+
ids.forEach(function (id) {
|
|
54629
|
+
if (all) n["delete"](id);else if (!isIncluded(id)) n.add(id);
|
|
54499
54630
|
});
|
|
54631
|
+
return n;
|
|
54632
|
+
});
|
|
54633
|
+
if (all && inducedMode) setDraftRules(function (prev) {
|
|
54634
|
+
var n = new Set(prev);
|
|
54500
54635
|
ids.forEach(function (id) {
|
|
54501
|
-
return
|
|
54636
|
+
return n["delete"](id);
|
|
54502
54637
|
});
|
|
54503
54638
|
return n;
|
|
54504
54639
|
});
|
|
54505
54640
|
};
|
|
54641
|
+
var toggleTout = function toggleTout(node) {
|
|
54642
|
+
return toggleScope(valueIdsInclusive(node, []));
|
|
54643
|
+
};
|
|
54644
|
+
var toggleEnfants = function toggleEnfants(node) {
|
|
54645
|
+
return toggleScope(descValueIds(node));
|
|
54646
|
+
};
|
|
54506
54647
|
var toggleElement = function toggleElement(node) {
|
|
54507
54648
|
return setDraft(function (prev) {
|
|
54508
54649
|
var n = new Set(prev);
|
|
@@ -54514,18 +54655,111 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54514
54655
|
var selectSingle = function selectSingle(node) {
|
|
54515
54656
|
return setDraft(new Set([node.id]));
|
|
54516
54657
|
};
|
|
54517
|
-
|
|
54518
|
-
|
|
54519
|
-
|
|
54520
|
-
|
|
54521
|
-
|
|
54522
|
-
|
|
54658
|
+
|
|
54659
|
+
// --- Mode induit : poser / retirer un ∞ ---
|
|
54660
|
+
// Ce que le ∞ a englobé à sa pose (cochés en propre, ∞ en dessous), rendu tel quel à son retrait.
|
|
54661
|
+
var absorbedRef = useRef({});
|
|
54662
|
+
var _useState29 = useState(null),
|
|
54663
|
+
_useState30 = _slicedToArray$b(_useState29, 2),
|
|
54664
|
+
shakeId = _useState30[0],
|
|
54665
|
+
setShakeId = _useState30[1]; // ligne secouée : clic refusé sur un enfant induit
|
|
54666
|
+
var refuseTimer = useRef(null);
|
|
54667
|
+
// Un enfant induit ne se coche pas : on le dit (secousse + bulle « Induit par X »), on ne fait rien.
|
|
54668
|
+
var refuse = function refuse(node, e) {
|
|
54669
|
+
var _e$currentTarget;
|
|
54670
|
+
var parent = findNode(data, ruleAbove(node.id));
|
|
54671
|
+
setShakeId(node.id);
|
|
54672
|
+
var badge = e === null || e === void 0 || (_e$currentTarget = e.currentTarget) === null || _e$currentTarget === void 0 || (_e$currentTarget = _e$currentTarget.closest('.ts-row')) === null || _e$currentTarget === void 0 ? void 0 : _e$currentTarget.querySelector('.ts-badge');
|
|
54673
|
+
if (badge && parent) showTooltipAt(badge, "Induit par ".concat(parent.label), "Pas de rattachement propre. Pour nommer un par un, repasse ".concat(parent.label, " en explicite."));
|
|
54674
|
+
clearTimeout(refuseTimer.current);
|
|
54675
|
+
refuseTimer.current = setTimeout(hideTooltip, 2200);
|
|
54676
|
+
};
|
|
54677
|
+
var setInduced = function setInduced(node) {
|
|
54678
|
+
var tIds = valueIdsInclusive(node, []);
|
|
54679
|
+
absorbedRef.current[node.id] = {
|
|
54680
|
+
s: tIds.filter(function (id) {
|
|
54681
|
+
return draft.has(id);
|
|
54682
|
+
}),
|
|
54683
|
+
r: tIds.filter(function (id) {
|
|
54684
|
+
return id !== node.id && draftRules.has(id);
|
|
54685
|
+
})
|
|
54686
|
+
};
|
|
54687
|
+
var nd = new Set(draft);
|
|
54688
|
+
var nr = new Set(draftRules);
|
|
54689
|
+
tIds.forEach(function (id) {
|
|
54690
|
+
nd["delete"](id);
|
|
54691
|
+
nr["delete"](id);
|
|
54692
|
+
});
|
|
54693
|
+
nd.add(node.id);
|
|
54694
|
+
nr.add(node.id);
|
|
54695
|
+
setDraft(nd);
|
|
54696
|
+
setDraftRules(nr);
|
|
54697
|
+
};
|
|
54698
|
+
// Retirer un ∞ rend exactement l'état d'avant sa pose — jamais « tout coché ».
|
|
54699
|
+
var withoutInduced = function withoutInduced(node) {
|
|
54700
|
+
var nd = new Set(draft);
|
|
54701
|
+
var nr = new Set(draftRules);
|
|
54702
|
+
nd["delete"](node.id);
|
|
54703
|
+
nr["delete"](node.id);
|
|
54704
|
+
var a = absorbedRef.current[node.id];
|
|
54705
|
+
delete absorbedRef.current[node.id];
|
|
54706
|
+
if (a) {
|
|
54707
|
+
a.s.forEach(function (id) {
|
|
54708
|
+
if (findNode(data, id)) nd.add(id);
|
|
54523
54709
|
});
|
|
54524
|
-
|
|
54525
|
-
|
|
54710
|
+
a.r.forEach(function (id) {
|
|
54711
|
+
if (findNode(data, id)) nr.add(id);
|
|
54526
54712
|
});
|
|
54527
|
-
|
|
54528
|
-
|
|
54713
|
+
}
|
|
54714
|
+
return {
|
|
54715
|
+
nd: nd,
|
|
54716
|
+
nr: nr
|
|
54717
|
+
};
|
|
54718
|
+
};
|
|
54719
|
+
// Segment ∞ / touche I.
|
|
54720
|
+
var toggleInduced = function toggleInduced(node, e) {
|
|
54721
|
+
var st = statusOf(node.id);
|
|
54722
|
+
if (st === 'inh') {
|
|
54723
|
+
refuse(node, e);
|
|
54724
|
+
return;
|
|
54725
|
+
}
|
|
54726
|
+
if (st === 'rule') {
|
|
54727
|
+
var _withoutInduced = withoutInduced(node),
|
|
54728
|
+
nd = _withoutInduced.nd,
|
|
54729
|
+
nr = _withoutInduced.nr;
|
|
54730
|
+
setDraft(nd);
|
|
54731
|
+
setDraftRules(nr);
|
|
54732
|
+
return;
|
|
54733
|
+
}
|
|
54734
|
+
setInduced(node);
|
|
54735
|
+
};
|
|
54736
|
+
// Segment ✓ / nom du parent / touche E : EXPLICITE. Induit → explicite : ce qui en découlait est nommé.
|
|
54737
|
+
var toggleExplicit = function toggleExplicit(node, e) {
|
|
54738
|
+
var st = statusOf(node.id);
|
|
54739
|
+
if (st === 'inh') {
|
|
54740
|
+
refuse(node, e);
|
|
54741
|
+
return;
|
|
54742
|
+
}
|
|
54743
|
+
if (st === 'rule') {
|
|
54744
|
+
var _withoutInduced2 = withoutInduced(node),
|
|
54745
|
+
nd = _withoutInduced2.nd,
|
|
54746
|
+
nr = _withoutInduced2.nr;
|
|
54747
|
+
valueIdsInclusive(node, []).forEach(function (id) {
|
|
54748
|
+
if (!isIncluded(id, nd, nr)) nd.add(id);
|
|
54749
|
+
});
|
|
54750
|
+
setDraft(nd);
|
|
54751
|
+
setDraftRules(nr);
|
|
54752
|
+
return;
|
|
54753
|
+
}
|
|
54754
|
+
toggleTout(node);
|
|
54755
|
+
};
|
|
54756
|
+
// Une feuille (ou un parent sans commutateur) en mode induit : refus si elle est induite.
|
|
54757
|
+
var toggleElementSafe = function toggleElementSafe(node, e) {
|
|
54758
|
+
if (inducedMode && statusOf(node.id) === 'inh') {
|
|
54759
|
+
refuse(node, e);
|
|
54760
|
+
return;
|
|
54761
|
+
}
|
|
54762
|
+
toggleElement(node);
|
|
54529
54763
|
};
|
|
54530
54764
|
// Charge les enfants d'un nœud `lazy` non encore chargé (une seule fois).
|
|
54531
54765
|
var loadIfNeeded = function loadIfNeeded(node) {
|
|
@@ -54563,25 +54797,65 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54563
54797
|
var removeChip = function removeChip(id) {
|
|
54564
54798
|
var n = new Set(committed);
|
|
54565
54799
|
n["delete"](id);
|
|
54566
|
-
|
|
54567
|
-
|
|
54568
|
-
|
|
54569
|
-
|
|
54570
|
-
|
|
54571
|
-
|
|
54572
|
-
|
|
54573
|
-
|
|
54800
|
+
var r = new Set(committedRules);
|
|
54801
|
+
r["delete"](id);
|
|
54802
|
+
setCommitted(n, r);
|
|
54803
|
+
};
|
|
54804
|
+
|
|
54805
|
+
// --- Infobulle (aide contextuelle) ---
|
|
54806
|
+
// Règle de placement, valable pour toutes les variantes : la bulle est COLLÉE au badge de la
|
|
54807
|
+
// ligne survolée — pointe en face du badge, bulle à sa droite. Elle descend sur les lignes
|
|
54808
|
+
// suivantes et ne remonte jamais sur les parents, qui restent lisibles. Sans place à droite
|
|
54809
|
+
// (panneau au bord de l'écran) : sous le badge, alignée à sa gauche, pointe vers le haut.
|
|
54810
|
+
// Hors d'une ligne (chip, compteur…) : collée à l'élément survolé lui-même.
|
|
54811
|
+
// Le placement se fait en deux temps : on mémorise le rectangle de l'ancre, puis, une fois la
|
|
54812
|
+
// bulle rendue (et donc mesurable), `useLayoutEffect` la positionne avant l'affichage.
|
|
54813
|
+
|
|
54814
|
+
var tooltipRef = useRef(null);
|
|
54815
|
+
var showTooltipAt = function showTooltipAt(anchor, title, body, path) {
|
|
54816
|
+
var r = anchor.getBoundingClientRect();
|
|
54574
54817
|
setTooltip({
|
|
54575
|
-
|
|
54576
|
-
|
|
54818
|
+
rect: {
|
|
54819
|
+
left: r.left,
|
|
54820
|
+
right: r.right,
|
|
54821
|
+
top: r.top,
|
|
54822
|
+
bottom: r.bottom,
|
|
54823
|
+
height: r.height
|
|
54824
|
+
},
|
|
54577
54825
|
title: title,
|
|
54578
54826
|
body: body,
|
|
54579
54827
|
path: path
|
|
54580
54828
|
});
|
|
54581
54829
|
};
|
|
54830
|
+
var showTooltip = function showTooltip(e, title, body, path) {
|
|
54831
|
+
var t = e.currentTarget;
|
|
54832
|
+
var row = t.closest('.ts-row');
|
|
54833
|
+
// La case « Tout » (colonne de gauche) explique la ligne : elle s'ancre au badge de la ligne.
|
|
54834
|
+
var anchor = t.closest('.ts-badge') || t.classList.contains('ts-check') && (row === null || row === void 0 ? void 0 : row.querySelector('.ts-badge')) || t;
|
|
54835
|
+
showTooltipAt(anchor, title, body, path);
|
|
54836
|
+
};
|
|
54582
54837
|
var hideTooltip = function hideTooltip() {
|
|
54583
54838
|
return setTooltip(null);
|
|
54584
54839
|
};
|
|
54840
|
+
useLayoutEffect(function () {
|
|
54841
|
+
var el = tooltipRef.current;
|
|
54842
|
+
if (!el || !tooltip) return;
|
|
54843
|
+
var r = tooltip.rect;
|
|
54844
|
+
var b = el.getBoundingClientRect();
|
|
54845
|
+
var left = r.right + 10;
|
|
54846
|
+
var top = r.top + r.height / 2 - 14; // la pointe (à 14 px du haut) en face du centre du badge
|
|
54847
|
+
var below = false;
|
|
54848
|
+
if (left + b.width > window.innerWidth - 8) {
|
|
54849
|
+
below = true;
|
|
54850
|
+
left = Math.max(8, Math.min(r.left, window.innerWidth - b.width - 8));
|
|
54851
|
+
top = r.bottom + 8;
|
|
54852
|
+
}
|
|
54853
|
+
if (top + b.height > window.innerHeight - 8) top = window.innerHeight - b.height - 8;
|
|
54854
|
+
el.style.left = "".concat(left, "px");
|
|
54855
|
+
el.style.top = "".concat(top, "px");
|
|
54856
|
+
el.classList.toggle('ts-tooltip--below', below);
|
|
54857
|
+
el.style.visibility = 'visible';
|
|
54858
|
+
}, [tooltip]);
|
|
54585
54859
|
|
|
54586
54860
|
// --- Clavier dans l'arbre ---
|
|
54587
54861
|
|
|
@@ -54597,7 +54871,7 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54597
54871
|
setFocusedId((_focusables$next$node = (_focusables$next = focusables[next]) === null || _focusables$next === void 0 ? void 0 : _focusables$next.node.id) !== null && _focusables$next$node !== void 0 ? _focusables$next$node : null);
|
|
54598
54872
|
};
|
|
54599
54873
|
var treeKeyDown = function treeKeyDown(e) {
|
|
54600
|
-
var _node$
|
|
54874
|
+
var _node$children7, _node$children8;
|
|
54601
54875
|
var node = focusedId ? findNode(data, focusedId) : null;
|
|
54602
54876
|
switch (e.key) {
|
|
54603
54877
|
case 'ArrowDown':
|
|
@@ -54630,20 +54904,27 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54630
54904
|
case 'Enter':
|
|
54631
54905
|
case ' ':
|
|
54632
54906
|
if (node) {
|
|
54633
|
-
var _node$children4;
|
|
54907
|
+
var _node$children4, _node$children5;
|
|
54634
54908
|
e.preventDefault();
|
|
54635
54909
|
if (!checkboxMode) {
|
|
54636
54910
|
if (node.kind === 'value') selectionMode === 'single' ? selectSingle(node) : toggleElement(node);
|
|
54637
|
-
} else (_node$children4 = node.children) !== null && _node$children4 !== void 0 && _node$children4.length ? toggleTout(node) : node.kind === 'value' && toggleElement(node);
|
|
54911
|
+
} else if (inducedMode) (_node$children4 = node.children) !== null && _node$children4 !== void 0 && _node$children4.length ? toggleExplicit(node) : node.kind === 'value' && toggleElementSafe(node);else (_node$children5 = node.children) !== null && _node$children5 !== void 0 && _node$children5.length ? toggleTout(node) : node.kind === 'value' && toggleElement(node);
|
|
54638
54912
|
}
|
|
54639
54913
|
break;
|
|
54640
54914
|
case 'e':
|
|
54641
54915
|
case 'E':
|
|
54642
|
-
if (checkboxMode && (node === null || node === void 0 ? void 0 : node.kind) === 'value')
|
|
54916
|
+
if (checkboxMode && (node === null || node === void 0 ? void 0 : node.kind) === 'value') {
|
|
54917
|
+
var _node$children6;
|
|
54918
|
+
if (inducedMode) (_node$children6 = node.children) !== null && _node$children6 !== void 0 && _node$children6.length ? toggleExplicit(node) : toggleElementSafe(node);else toggleElement(node);
|
|
54919
|
+
}
|
|
54920
|
+
break;
|
|
54921
|
+
case 'i':
|
|
54922
|
+
case 'I':
|
|
54923
|
+
if (inducedMode && (node === null || node === void 0 ? void 0 : node.kind) === 'value' && (_node$children7 = node.children) !== null && _node$children7 !== void 0 && _node$children7.length && node.selectable !== false && !node.locked) toggleInduced(node);
|
|
54643
54924
|
break;
|
|
54644
54925
|
case 'n':
|
|
54645
54926
|
case 'N':
|
|
54646
|
-
if (checkboxMode && (node === null || node === void 0 ? void 0 : node.kind) === 'value' && (_node$
|
|
54927
|
+
if (checkboxMode && (node === null || node === void 0 ? void 0 : node.kind) === 'value' && (_node$children8 = node.children) !== null && _node$children8 !== void 0 && _node$children8.length && statusOf(node.id) !== 'inh' && statusOf(node.id) !== 'rule') toggleEnfants(node);
|
|
54647
54928
|
break;
|
|
54648
54929
|
case 'Escape':
|
|
54649
54930
|
e.preventDefault();
|
|
@@ -54667,20 +54948,25 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54667
54948
|
// --- Rendu d'une ligne ---
|
|
54668
54949
|
|
|
54669
54950
|
var renderRow = function renderRow(_ref3) {
|
|
54670
|
-
var _node$
|
|
54951
|
+
var _node$children9;
|
|
54671
54952
|
var node = _ref3.node,
|
|
54672
54953
|
depth = _ref3.depth;
|
|
54673
|
-
var hasChildren = ((_node$
|
|
54954
|
+
var hasChildren = ((_node$children9 = node.children) === null || _node$children9 === void 0 ? void 0 : _node$children9.length) > 0 || node.lazy; // lazy : dépliable même sans enfants chargés
|
|
54674
54955
|
var isValue = node.kind === 'value';
|
|
54675
54956
|
var color = node[nodeColorField] || TS_MUTED;
|
|
54676
|
-
|
|
54957
|
+
|
|
54958
|
+
// Mode induit : 'rule' (parent ∞), 'inh' (induit), 'self', 'none'. Un induit est actif comme un coché.
|
|
54959
|
+
var st = statusOf(node.id);
|
|
54960
|
+
var isRule = st === 'rule';
|
|
54961
|
+
var isCov = st === 'inh';
|
|
54962
|
+
var elementSel = isValue && st !== 'none';
|
|
54677
54963
|
var tIds = valueIdsInclusive(node, []);
|
|
54678
54964
|
var dIds = descValueIds(node);
|
|
54679
54965
|
var toutSel = tIds.filter(function (id) {
|
|
54680
|
-
return
|
|
54966
|
+
return isIncluded(id);
|
|
54681
54967
|
}).length;
|
|
54682
54968
|
var descSel = dIds.filter(function (id) {
|
|
54683
|
-
return
|
|
54969
|
+
return isIncluded(id);
|
|
54684
54970
|
}).length;
|
|
54685
54971
|
var toutState = tIds.length === 0 || toutSel === 0 ? '' : toutSel === tIds.length ? 'on' : 'ind';
|
|
54686
54972
|
var enfState = dIds.length === 0 || descSel === 0 ? '' : descSel === dIds.length ? 'on' : 'some';
|
|
@@ -54692,11 +54978,16 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54692
54978
|
|
|
54693
54979
|
// « Tout » et « Élément » requièrent un nœud sélectionnable ; « Enfants » reste
|
|
54694
54980
|
// disponible pour un parent non sélectionnable (on peut cocher ses enfants).
|
|
54695
|
-
|
|
54696
|
-
|
|
54697
|
-
var
|
|
54698
|
-
|
|
54699
|
-
var
|
|
54981
|
+
// Mode induit : plus de colonne « Tout » (la commande vit dans le badge) ; le compteur « Enfants »
|
|
54982
|
+
// s'efface sur un parent induit ou en ∞ ; un enfant induit n'a ni case ni commande.
|
|
54983
|
+
var showLeftCheck = hasChildren && checkboxMode && !locked && selectableNode && !inducedMode; // « Tout »
|
|
54984
|
+
var showCounter = isValue && hasChildren && checkboxMode && !locked && showChildrenCount && !isCov && !isRule; // « Enfants »
|
|
54985
|
+
var showSwitch = inducedMode && isValue && hasChildren && !locked && selectableNode && !isCov; // ✓ | ∞
|
|
54986
|
+
var showBadgeCheck = isValue && checkboxMode && !locked && selectableNode && !showSwitch; // « Élément »
|
|
54987
|
+
|
|
54988
|
+
var inPreview = previewIds.has(node.id) && !isIncluded(node.id);
|
|
54989
|
+
var inEcho = previewEcho.has(node.id);
|
|
54990
|
+
var previewInf = (preview === null || preview === void 0 ? void 0 : preview.kind) === 'inf' && preview.id !== node.id; // aperçu ∞ : les enfants montrent un ∞ fantôme
|
|
54700
54991
|
var previewingTout = (preview === null || preview === void 0 ? void 0 : preview.kind) === 'tout' && preview.id === node.id;
|
|
54701
54992
|
var dim = searchActive && !searchSelf.has(node.id);
|
|
54702
54993
|
|
|
@@ -54736,7 +55027,8 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54736
55027
|
cursor: 'default',
|
|
54737
55028
|
opacity: 0.8
|
|
54738
55029
|
});
|
|
54739
|
-
|
|
55030
|
+
// Mode induit : aucun fond ni liseré de ligne — l'état actif, c'est le badge plein, seul.
|
|
55031
|
+
var rowClass = ['ts-row', focusedId === node.id ? 'focused' : '', elementSel && !inducedMode ? 'selected' : '', shakeId === node.id ? 'ts-row--shake' : ''].filter(Boolean).join(' ');
|
|
54740
55032
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
54741
55033
|
key: node.id,
|
|
54742
55034
|
className: rowClass,
|
|
@@ -54748,6 +55040,9 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54748
55040
|
},
|
|
54749
55041
|
onMouseDown: function onMouseDown() {
|
|
54750
55042
|
return setFocusedId(node.id);
|
|
55043
|
+
},
|
|
55044
|
+
onAnimationEnd: function onAnimationEnd() {
|
|
55045
|
+
if (shakeId === node.id) setShakeId(null);
|
|
54751
55046
|
}
|
|
54752
55047
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
54753
55048
|
className: "ts-caret-cell ".concat(hasChildren && !locked ? '' : 'leaf', " ").concat(hasChildren && !locked && (searchActive || expanded.has(node.id)) ? 'open' : ''),
|
|
@@ -54782,26 +55077,28 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54782
55077
|
setPreview(null);
|
|
54783
55078
|
hideTooltip();
|
|
54784
55079
|
}
|
|
54785
|
-
}, previewingTout ? /*#__PURE__*/React__default.createElement(IconDown, null) : toutState === 'on' ? /*#__PURE__*/React__default.createElement(IconCheck, null) : toutState === 'ind' ? /*#__PURE__*/React__default.createElement(IconDash, null) : null) : /*#__PURE__*/React__default.createElement("span", {
|
|
55080
|
+
}, previewingTout ? /*#__PURE__*/React__default.createElement(IconDown, null) : toutState === 'on' ? /*#__PURE__*/React__default.createElement(IconCheck, null) : toutState === 'ind' ? /*#__PURE__*/React__default.createElement(IconDash, null) : null) : !inducedMode && /*#__PURE__*/React__default.createElement("span", {
|
|
54786
55081
|
style: {
|
|
54787
55082
|
width: 16,
|
|
54788
55083
|
flex: '0 0 16px'
|
|
54789
55084
|
},
|
|
54790
55085
|
"aria-hidden": "true"
|
|
54791
55086
|
}), /*#__PURE__*/React__default.createElement("span", {
|
|
54792
|
-
className: "ts-badge",
|
|
55087
|
+
className: "ts-badge ".concat(elementSel ? 'ts-badge--on' : '', " ").concat(showSwitch ? 'ts-badge--sw' : ''),
|
|
54793
55088
|
style: badgeStyle,
|
|
54794
55089
|
onClick: function onClick(e) {
|
|
54795
55090
|
if (!isValue || locked || !selectableNode) return;
|
|
54796
55091
|
e.stopPropagation();
|
|
54797
55092
|
if (selectionMode === 'single') selectSingle(node);
|
|
54798
55093
|
// multiple avec metaKeySelection : clic simple remplace, Ctrl/Cmd cumule
|
|
54799
|
-
else if (selectionMode === 'multiple' && metaKeySelection && !e.ctrlKey && !e.metaKey) selectSingle(node);
|
|
55094
|
+
else if (selectionMode === 'multiple' && metaKeySelection && !e.ctrlKey && !e.metaKey) selectSingle(node);
|
|
55095
|
+
// mode induit : le nom d'un parent = ✓ (explicite) ; une feuille se coche, un induit refuse
|
|
55096
|
+
else if (inducedMode) hasChildren ? toggleExplicit(node, e) : toggleElementSafe(node, e);else toggleElement(node); // multiple (libre) & checkbox
|
|
54800
55097
|
},
|
|
54801
55098
|
onMouseEnter: function onMouseEnter(e) {
|
|
54802
55099
|
// Aperçu de sélection : uniquement pour un nœud « value » sélectionnable.
|
|
54803
|
-
if (isValue && !locked && selectableNode) setPreview({
|
|
54804
|
-
kind: 'element',
|
|
55100
|
+
if (isValue && !locked && selectableNode && !isCov) setPreview({
|
|
55101
|
+
kind: inducedMode && hasChildren ? 'tout' : 'element',
|
|
54805
55102
|
id: node.id
|
|
54806
55103
|
});
|
|
54807
55104
|
// Fil d'Ariane : sur TOUTES les options (feuilles comprises) quand showChipPath
|
|
@@ -54813,15 +55110,74 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54813
55110
|
if (showChipPath) showTooltip(e, node.label, undefined, ariane);
|
|
54814
55111
|
return;
|
|
54815
55112
|
}
|
|
55113
|
+
if (inducedMode) {
|
|
55114
|
+
if (isCov) {
|
|
55115
|
+
var _p$label, _p$label2;
|
|
55116
|
+
var p = findNode(data, ruleAbove(node.id));
|
|
55117
|
+
showTooltip(e, "Induit par ".concat((_p$label = p === null || p === void 0 ? void 0 : p.label) !== null && _p$label !== void 0 ? _p$label : ''), "Les droits viennent de ".concat((_p$label2 = p === null || p === void 0 ? void 0 : p.label) !== null && _p$label2 !== void 0 ? _p$label2 : '', ". Pas de rattachement propre."), ariane);
|
|
55118
|
+
} else if (isRule) showTooltip(e, "Induit \xB7 ".concat(node.label), "Rattach\xE9 \xE0 ".concat(node.label, " seul. Ses enfants en d\xE9coulent. Cliquer le nom : passe en explicite."), ariane);else if (hasChildren) showTooltip(e, "Explicite \xB7 ".concat(node.label), "".concat(node.label, " et ses enfants d'aujourd'hui, nomm\xE9s un par un."), ariane);else showTooltip(e, node.label, "Rattache ".concat(node.label, "."), ariane);
|
|
55119
|
+
return;
|
|
55120
|
+
}
|
|
54816
55121
|
if (checkboxMode) showTooltip(e, "\xC9l\xE9ment \xB7 ".concat(node.label), "Coche ".concat(node.label, " seul, comme valeur, sans toucher les enfants."), ariane);else if (selectionMode === 'single') showTooltip(e, node.label, "S\xE9lectionne ".concat(node.label, "."), ariane);else showTooltip(e, node.label, "S\xE9lectionne ou retire ".concat(node.label, "."), ariane);
|
|
54817
55122
|
},
|
|
54818
55123
|
onMouseLeave: function onMouseLeave() {
|
|
54819
55124
|
if (isValue) setPreview(null);
|
|
54820
55125
|
if (isValue || showChipPath) hideTooltip();
|
|
54821
55126
|
}
|
|
54822
|
-
},
|
|
54823
|
-
className: "ts-badge-cb "
|
|
54824
|
-
|
|
55127
|
+
}, inducedMode && isCov && /*#__PURE__*/React__default.createElement("span", {
|
|
55128
|
+
className: "ts-badge-cb ts-badge-cb--inf",
|
|
55129
|
+
"aria-hidden": "true"
|
|
55130
|
+
}, /*#__PURE__*/React__default.createElement(IconInfinity, null)), showSwitch && /*#__PURE__*/React__default.createElement("span", {
|
|
55131
|
+
className: "ts-sw",
|
|
55132
|
+
role: "group",
|
|
55133
|
+
"aria-label": "Rattachement \xB7 ".concat(node.label)
|
|
55134
|
+
}, /*#__PURE__*/React__default.createElement("button", {
|
|
55135
|
+
type: "button",
|
|
55136
|
+
className: "ts-sw__b ".concat(!isRule && toutState === 'on' ? 'on' : !isRule && toutState === 'ind' ? 'some' : ''),
|
|
55137
|
+
"aria-label": "Explicite \xB7 ".concat(node.label),
|
|
55138
|
+
"aria-pressed": !isRule && toutState === 'on',
|
|
55139
|
+
onClick: function onClick(e) {
|
|
55140
|
+
e.stopPropagation();
|
|
55141
|
+
toggleExplicit(node, e);
|
|
55142
|
+
},
|
|
55143
|
+
onMouseEnter: function onMouseEnter(e) {
|
|
55144
|
+
e.stopPropagation();
|
|
55145
|
+
setPreview({
|
|
55146
|
+
kind: 'tout',
|
|
55147
|
+
id: node.id
|
|
55148
|
+
});
|
|
55149
|
+
showTooltip(e, "Explicite \xB7 ".concat(node.label), "".concat(node.label, " et ses enfants d'aujourd'hui, nomm\xE9s un par un."));
|
|
55150
|
+
},
|
|
55151
|
+
onMouseLeave: function onMouseLeave(e) {
|
|
55152
|
+
e.stopPropagation();
|
|
55153
|
+
setPreview(null);
|
|
55154
|
+
hideTooltip();
|
|
55155
|
+
}
|
|
55156
|
+
}, !isRule && toutState === 'ind' ? /*#__PURE__*/React__default.createElement(IconDash, null) : /*#__PURE__*/React__default.createElement(IconCheck, null)), /*#__PURE__*/React__default.createElement("button", {
|
|
55157
|
+
type: "button",
|
|
55158
|
+
className: "ts-sw__b ".concat(isRule ? 'on' : ''),
|
|
55159
|
+
"aria-label": "Induit \xB7 ".concat(node.label),
|
|
55160
|
+
"aria-pressed": isRule,
|
|
55161
|
+
onClick: function onClick(e) {
|
|
55162
|
+
e.stopPropagation();
|
|
55163
|
+
toggleInduced(node, e);
|
|
55164
|
+
},
|
|
55165
|
+
onMouseEnter: function onMouseEnter(e) {
|
|
55166
|
+
e.stopPropagation();
|
|
55167
|
+
if (!isRule) setPreview({
|
|
55168
|
+
kind: 'inf',
|
|
55169
|
+
id: node.id
|
|
55170
|
+
});
|
|
55171
|
+
showTooltip(e, "Induit \xB7 ".concat(node.label), isRule ? "Rattach\xE9 \xE0 ".concat(node.label, " seul. Ses enfants, pr\xE9sents et \xE0 venir, en d\xE9coulent. Cliquer : revient \xE0 l'\xE9tat d'avant.") : "".concat(node.label, " seul, et tout ce qui est dessous en d\xE9coule, aujourd'hui et demain."));
|
|
55172
|
+
},
|
|
55173
|
+
onMouseLeave: function onMouseLeave(e) {
|
|
55174
|
+
e.stopPropagation();
|
|
55175
|
+
setPreview(null);
|
|
55176
|
+
hideTooltip();
|
|
55177
|
+
}
|
|
55178
|
+
}, /*#__PURE__*/React__default.createElement(IconInfinity, null))), showBadgeCheck && !(inducedMode && isCov) && /*#__PURE__*/React__default.createElement("span", {
|
|
55179
|
+
className: "ts-badge-cb ".concat(inPreview && !elementSel || inEcho ? 'ghost' : '', " ").concat(inPreview && previewInf || inEcho ? 'ts-badge-cb--inf' : '')
|
|
55180
|
+
}, inEcho ? /*#__PURE__*/React__default.createElement(IconInfinity, null) : inPreview && !elementSel ? previewInf ? /*#__PURE__*/React__default.createElement(IconInfinity, null) : /*#__PURE__*/React__default.createElement(IconCheck, null) : elementSel ? /*#__PURE__*/React__default.createElement(IconCheck, null) : null), node.icon && /*#__PURE__*/React__default.createElement("i", {
|
|
54825
55181
|
className: "ts-badge-ico ".concat(node.icon),
|
|
54826
55182
|
style: {
|
|
54827
55183
|
color: elementSel ? contrastText(color) : color
|
|
@@ -54978,7 +55334,9 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
54978
55334
|
type: "button",
|
|
54979
55335
|
className: "ts-selectall",
|
|
54980
55336
|
onClick: toggleSelectAll
|
|
54981
|
-
}, allSelected ? 'Tout désélectionner' : 'Tout sélectionner') : /*#__PURE__*/React__default.createElement("span", null),
|
|
55337
|
+
}, allSelected ? 'Tout désélectionner' : 'Tout sélectionner') : /*#__PURE__*/React__default.createElement("span", null), inducedMode && /*#__PURE__*/React__default.createElement("span", {
|
|
55338
|
+
className: "ts-footer-count"
|
|
55339
|
+
}, /*#__PURE__*/React__default.createElement("b", null, draftCount, " rattachement", draftCount > 1 ? 's' : ''), effectiveCount > draftCount ? " \xB7 droits sur ".concat(effectiveCount) : ''), validate ? /*#__PURE__*/React__default.createElement("div", {
|
|
54982
55340
|
style: {
|
|
54983
55341
|
display: 'flex',
|
|
54984
55342
|
gap: 10,
|
|
@@ -55065,18 +55423,29 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
55065
55423
|
}).join(', ')), useChips && shownChips.map(function (n) {
|
|
55066
55424
|
var color = n[nodeColorField] || TS_MUTED;
|
|
55067
55425
|
var ariane = showChipPath ? (pathMap[n.id] || [n.label]).slice(0, -1).join(' / ') : null;
|
|
55426
|
+
// Mode induit : la chip d'un parent ∞ porte le picto ; sa bulle dit le périmètre couvert.
|
|
55427
|
+
var isR = inducedMode && committedRules.has(n.id);
|
|
55428
|
+
var covered = isR ? valueIdsInclusive(n, []).filter(function (id) {
|
|
55429
|
+
return isIncluded(id, committed, committedRules);
|
|
55430
|
+
}).length : 0;
|
|
55431
|
+
var onEnter = isR ? function (e) {
|
|
55432
|
+
return showTooltip(e, "".concat(n.label, " \u221E"), "Un rattachement. Droits sur ".concat(covered, " organisation").concat(covered > 1 ? 's' : '', " aujourd'hui, et sur celles \xE0 venir."), showChipPath ? ariane || 'Racine' : undefined);
|
|
55433
|
+
} : showChipPath ? function (e) {
|
|
55434
|
+
return showTooltip(e, n.label, ariane || 'Racine');
|
|
55435
|
+
} : undefined;
|
|
55068
55436
|
return /*#__PURE__*/React__default.createElement("span", {
|
|
55069
55437
|
key: n.id,
|
|
55070
|
-
className: "ts-chip",
|
|
55438
|
+
className: "ts-chip ".concat(isR ? 'ts-chip--inf' : ''),
|
|
55071
55439
|
style: {
|
|
55072
55440
|
background: color,
|
|
55073
55441
|
color: contrastText(color)
|
|
55074
55442
|
},
|
|
55075
|
-
onMouseEnter:
|
|
55076
|
-
|
|
55077
|
-
|
|
55078
|
-
|
|
55079
|
-
|
|
55443
|
+
onMouseEnter: onEnter,
|
|
55444
|
+
onMouseLeave: onEnter ? hideTooltip : undefined
|
|
55445
|
+
}, /*#__PURE__*/React__default.createElement("span", null, n.label), isR && /*#__PURE__*/React__default.createElement("span", {
|
|
55446
|
+
className: "ts-chip-inf",
|
|
55447
|
+
"aria-label": "induit"
|
|
55448
|
+
}, /*#__PURE__*/React__default.createElement(IconInfinity, null)), !inert && /*#__PURE__*/React__default.createElement("button", {
|
|
55080
55449
|
type: "button",
|
|
55081
55450
|
"aria-label": "Retirer ".concat(n.label),
|
|
55082
55451
|
onClick: function onClick(e) {
|
|
@@ -55094,7 +55463,7 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
55094
55463
|
title: "Tout effacer",
|
|
55095
55464
|
onClick: function onClick(e) {
|
|
55096
55465
|
e.stopPropagation();
|
|
55097
|
-
setCommitted(new Set());
|
|
55466
|
+
setCommitted(new Set(), new Set());
|
|
55098
55467
|
}
|
|
55099
55468
|
}, /*#__PURE__*/React__default.createElement(IconClear, null)), showExpand && !inert && /*#__PURE__*/React__default.createElement("span", {
|
|
55100
55469
|
className: "ts-expand",
|
|
@@ -55118,10 +55487,10 @@ var TreeSelectMaquette = function TreeSelectMaquette(_ref2) {
|
|
|
55118
55487
|
className: "ts-backdrop",
|
|
55119
55488
|
onClick: dismissOnBackdrop ? close : undefined
|
|
55120
55489
|
}), panel(true)), document.body), tooltip && /*#__PURE__*/createPortal(/*#__PURE__*/React__default.createElement("div", {
|
|
55490
|
+
ref: tooltipRef,
|
|
55121
55491
|
className: "ts-tooltip",
|
|
55122
55492
|
style: {
|
|
55123
|
-
|
|
55124
|
-
top: tooltip.y
|
|
55493
|
+
visibility: 'hidden'
|
|
55125
55494
|
}
|
|
55126
55495
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
55127
55496
|
className: "tt-title"
|
|
@@ -56025,10 +56394,74 @@ var RowActionsInlineCell = function RowActionsInlineCell(_ref3) {
|
|
|
56025
56394
|
* Elle remplace un <div> de 20px en styles inline (`border: 2px solid #d1d5db`,
|
|
56026
56395
|
* vert `#1E976A` a la selection) : trois couleurs codees en dur, hors du systeme.
|
|
56027
56396
|
*/
|
|
56028
|
-
|
|
56029
|
-
|
|
56030
|
-
|
|
56031
|
-
|
|
56397
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
56398
|
+
// PICTO « LIGNES COCHÉES » — trois lignes de tableau, une coche devant celles qui
|
|
56399
|
+
// sont cochées, un tiret devant les autres ; les lignes que le mode masque passent
|
|
56400
|
+
// en transparence. Il dit littéralement ce qu'on va voir. Sert au déclencheur du
|
|
56401
|
+
// picking (où il reflète le mode en cours), à ses entrées de menu, et à l'entrée
|
|
56402
|
+
// « Afficher seulement la sélection » du menu Actions : même sens, même picto.
|
|
56403
|
+
// SVG inline en `currentColor` : la couleur vient du CSS, aucune police d'icônes
|
|
56404
|
+
// requise (primeicons n'est pas chargé dans l'app hôte et la ligature Material ne
|
|
56405
|
+
// se forme pas dans la cellule de filtre du thead).
|
|
56406
|
+
// Décidé le 25/09/2026 (storybook : planches + sandbox « selectionFilter »).
|
|
56407
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
56408
|
+
var LIGNES_PICTO = [{
|
|
56409
|
+
y: 4,
|
|
56410
|
+
cochee: true
|
|
56411
|
+
}, {
|
|
56412
|
+
y: 10.5,
|
|
56413
|
+
cochee: false
|
|
56414
|
+
}, {
|
|
56415
|
+
y: 17,
|
|
56416
|
+
cochee: true
|
|
56417
|
+
}];
|
|
56418
|
+
var PictoLignesCochees = function PictoLignesCochees(_ref4) {
|
|
56419
|
+
var _ref4$mode = _ref4.mode,
|
|
56420
|
+
mode = _ref4$mode === void 0 ? 'all' : _ref4$mode,
|
|
56421
|
+
_ref4$taille = _ref4.taille,
|
|
56422
|
+
taille = _ref4$taille === void 0 ? 22 : _ref4$taille;
|
|
56423
|
+
var visible = function visible(l) {
|
|
56424
|
+
return mode === 'all' || (mode === 'checked' ? l.cochee : !l.cochee);
|
|
56425
|
+
};
|
|
56426
|
+
return /*#__PURE__*/React__default.createElement("svg", {
|
|
56427
|
+
className: "ab-picto-lignes",
|
|
56428
|
+
width: taille,
|
|
56429
|
+
height: taille,
|
|
56430
|
+
viewBox: "0 0 24 24",
|
|
56431
|
+
"aria-hidden": "true",
|
|
56432
|
+
focusable: "false"
|
|
56433
|
+
}, LIGNES_PICTO.map(function (l) {
|
|
56434
|
+
return /*#__PURE__*/React__default.createElement("g", {
|
|
56435
|
+
key: l.y,
|
|
56436
|
+
opacity: visible(l) ? 1 : 0.22
|
|
56437
|
+
}, l.cochee ? /*#__PURE__*/React__default.createElement("path", {
|
|
56438
|
+
d: "M2.5 ".concat(l.y + 1.6, " l1.8 1.8 l3.2 -3.4"),
|
|
56439
|
+
fill: "none",
|
|
56440
|
+
stroke: "currentColor",
|
|
56441
|
+
strokeWidth: "1.9",
|
|
56442
|
+
strokeLinecap: "round",
|
|
56443
|
+
strokeLinejoin: "round"
|
|
56444
|
+
}) : /*#__PURE__*/React__default.createElement("rect", {
|
|
56445
|
+
x: "3",
|
|
56446
|
+
y: l.y + 0.6,
|
|
56447
|
+
width: "4.5",
|
|
56448
|
+
height: "1.9",
|
|
56449
|
+
rx: "0.95",
|
|
56450
|
+
fill: "currentColor"
|
|
56451
|
+
}), /*#__PURE__*/React__default.createElement("rect", {
|
|
56452
|
+
x: "10",
|
|
56453
|
+
y: l.y,
|
|
56454
|
+
width: "12",
|
|
56455
|
+
height: "3",
|
|
56456
|
+
rx: "1.5",
|
|
56457
|
+
fill: "currentColor"
|
|
56458
|
+
}));
|
|
56459
|
+
}));
|
|
56460
|
+
};
|
|
56461
|
+
var CaseACocher = function CaseACocher(_ref5) {
|
|
56462
|
+
var etat = _ref5.etat,
|
|
56463
|
+
_onClick = _ref5.onClick,
|
|
56464
|
+
titre = _ref5.titre;
|
|
56032
56465
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
56033
56466
|
type: "button",
|
|
56034
56467
|
className: "ab-checkbox".concat(etat === 'toutes' ? ' checked' : '').concat(etat === 'partielle' ? ' partial' : ''),
|
|
@@ -56043,12 +56476,12 @@ var CaseACocher = function CaseACocher(_ref4) {
|
|
|
56043
56476
|
className: "material-icons"
|
|
56044
56477
|
}, "check"));
|
|
56045
56478
|
};
|
|
56046
|
-
var RowActionsCell = function RowActionsCell(
|
|
56479
|
+
var RowActionsCell = function RowActionsCell(_ref6) {
|
|
56047
56480
|
var _ajuste$top, _ajuste$left;
|
|
56048
|
-
var actions =
|
|
56049
|
-
rowData =
|
|
56050
|
-
href =
|
|
56051
|
-
labels =
|
|
56481
|
+
var actions = _ref6.actions,
|
|
56482
|
+
rowData = _ref6.rowData,
|
|
56483
|
+
href = _ref6.href,
|
|
56484
|
+
labels = _ref6.labels;
|
|
56052
56485
|
var _useState3 = useState(false),
|
|
56053
56486
|
_useState4 = _slicedToArray$b(_useState3, 2),
|
|
56054
56487
|
open = _useState4[0],
|
|
@@ -56265,10 +56698,10 @@ var RowActionsCell = function RowActionsCell(_ref5) {
|
|
|
56265
56698
|
} else {
|
|
56266
56699
|
extraAttrs.href = actionHref;
|
|
56267
56700
|
}
|
|
56268
|
-
if (action.data) Object.entries(action.data).forEach(function (
|
|
56269
|
-
var
|
|
56270
|
-
k =
|
|
56271
|
-
v =
|
|
56701
|
+
if (action.data) Object.entries(action.data).forEach(function (_ref7) {
|
|
56702
|
+
var _ref8 = _slicedToArray$b(_ref7, 2),
|
|
56703
|
+
k = _ref8[0],
|
|
56704
|
+
v = _ref8[1];
|
|
56272
56705
|
extraAttrs[k] = v;
|
|
56273
56706
|
});
|
|
56274
56707
|
return /*#__PURE__*/React__default.createElement("a", _extends$G({
|
|
@@ -56324,14 +56757,14 @@ var RowActionsCell = function RowActionsCell(_ref5) {
|
|
|
56324
56757
|
className: "material-icons"
|
|
56325
56758
|
}, "more_vert")), dropdown);
|
|
56326
56759
|
};
|
|
56327
|
-
var DeviseBodyCell = function DeviseBodyCell(
|
|
56760
|
+
var DeviseBodyCell = function DeviseBodyCell(_ref9) {
|
|
56328
56761
|
var _col$devises, _col$decimal, _cellDevise$code;
|
|
56329
|
-
var rowData =
|
|
56330
|
-
col =
|
|
56331
|
-
editable =
|
|
56332
|
-
|
|
56333
|
-
isRowEditing =
|
|
56334
|
-
onSave =
|
|
56762
|
+
var rowData = _ref9.rowData,
|
|
56763
|
+
col = _ref9.col,
|
|
56764
|
+
editable = _ref9.editable,
|
|
56765
|
+
_ref9$isRowEditing = _ref9.isRowEditing,
|
|
56766
|
+
isRowEditing = _ref9$isRowEditing === void 0 ? false : _ref9$isRowEditing,
|
|
56767
|
+
onSave = _ref9.onSave;
|
|
56335
56768
|
var _useState9 = useState(false),
|
|
56336
56769
|
_useState0 = _slicedToArray$b(_useState9, 2),
|
|
56337
56770
|
editing = _useState0[0],
|
|
@@ -56358,10 +56791,10 @@ var DeviseBodyCell = function DeviseBodyCell(_ref8) {
|
|
|
56358
56791
|
setDevise(val);
|
|
56359
56792
|
};
|
|
56360
56793
|
var openEdit = function openEdit() {
|
|
56361
|
-
var _displayCell$value,
|
|
56794
|
+
var _displayCell$value, _ref0, _ref1, _displayCell$devise;
|
|
56362
56795
|
if (!editable) return;
|
|
56363
56796
|
setAmount((_displayCell$value = displayCell === null || displayCell === void 0 ? void 0 : displayCell.value) !== null && _displayCell$value !== void 0 ? _displayCell$value : '');
|
|
56364
|
-
var initialDevise = (
|
|
56797
|
+
var initialDevise = (_ref0 = (_ref1 = (_displayCell$devise = displayCell === null || displayCell === void 0 ? void 0 : displayCell.devise) !== null && _displayCell$devise !== void 0 ? _displayCell$devise : col.currency) !== null && _ref1 !== void 0 ? _ref1 : devises[0]) !== null && _ref0 !== void 0 ? _ref0 : null;
|
|
56365
56798
|
deviseRef.current = initialDevise;
|
|
56366
56799
|
setDevise(initialDevise);
|
|
56367
56800
|
setEditing(true);
|
|
@@ -56370,9 +56803,9 @@ var DeviseBodyCell = function DeviseBodyCell(_ref8) {
|
|
|
56370
56803
|
// Sync avec le mode row edit : auto-ouvrir / fermer
|
|
56371
56804
|
useEffect(function () {
|
|
56372
56805
|
if (isRowEditing && !editing) {
|
|
56373
|
-
var _displayCell$value2,
|
|
56806
|
+
var _displayCell$value2, _ref10, _ref11, _displayCell$devise2;
|
|
56374
56807
|
setAmount((_displayCell$value2 = displayCell === null || displayCell === void 0 ? void 0 : displayCell.value) !== null && _displayCell$value2 !== void 0 ? _displayCell$value2 : '');
|
|
56375
|
-
var initialDevise = (
|
|
56808
|
+
var initialDevise = (_ref10 = (_ref11 = (_displayCell$devise2 = displayCell === null || displayCell === void 0 ? void 0 : displayCell.devise) !== null && _displayCell$devise2 !== void 0 ? _displayCell$devise2 : col.currency) !== null && _ref11 !== void 0 ? _ref11 : devises[0]) !== null && _ref10 !== void 0 ? _ref10 : null;
|
|
56376
56809
|
deviseRef.current = initialDevise;
|
|
56377
56810
|
setDevise(initialDevise);
|
|
56378
56811
|
setEditing(true);
|
|
@@ -56479,14 +56912,14 @@ var DeviseBodyCell = function DeviseBodyCell(_ref8) {
|
|
|
56479
56912
|
className: "span-sub"
|
|
56480
56913
|
}, "".concat(numberWithSpaces(value), " ").concat(cellDevise.code)));
|
|
56481
56914
|
};
|
|
56482
|
-
var TreeSelectBodyCell = function TreeSelectBodyCell(
|
|
56915
|
+
var TreeSelectBodyCell = function TreeSelectBodyCell(_ref12) {
|
|
56483
56916
|
var _col$selectionMode, _col$clearable;
|
|
56484
|
-
var rowData =
|
|
56485
|
-
col =
|
|
56486
|
-
editable =
|
|
56487
|
-
|
|
56488
|
-
isRowEditing =
|
|
56489
|
-
onSave =
|
|
56917
|
+
var rowData = _ref12.rowData,
|
|
56918
|
+
col = _ref12.col,
|
|
56919
|
+
editable = _ref12.editable,
|
|
56920
|
+
_ref12$isRowEditing = _ref12.isRowEditing,
|
|
56921
|
+
isRowEditing = _ref12$isRowEditing === void 0 ? false : _ref12$isRowEditing,
|
|
56922
|
+
onSave = _ref12.onSave;
|
|
56490
56923
|
var _useState15 = useState(false),
|
|
56491
56924
|
_useState16 = _slicedToArray$b(_useState15, 2),
|
|
56492
56925
|
editing = _useState16[0],
|
|
@@ -56681,12 +57114,12 @@ var TreeSelectBodyCell = function TreeSelectBodyCell(_ref11) {
|
|
|
56681
57114
|
}, /*#__PURE__*/React__default.createElement(IconCellClear, null)));
|
|
56682
57115
|
})));
|
|
56683
57116
|
};
|
|
56684
|
-
var DocumentEditorCell = function DocumentEditorCell(
|
|
57117
|
+
var DocumentEditorCell = function DocumentEditorCell(_ref13) {
|
|
56685
57118
|
var _options$value;
|
|
56686
|
-
var options =
|
|
56687
|
-
col =
|
|
56688
|
-
onFilePickerOpen =
|
|
56689
|
-
onFilePickerClose =
|
|
57119
|
+
var options = _ref13.options,
|
|
57120
|
+
col = _ref13.col,
|
|
57121
|
+
onFilePickerOpen = _ref13.onFilePickerOpen,
|
|
57122
|
+
onFilePickerClose = _ref13.onFilePickerClose;
|
|
56690
57123
|
var _useState19 = useState(false),
|
|
56691
57124
|
_useState20 = _slicedToArray$b(_useState19, 2),
|
|
56692
57125
|
uploading = _useState20[0],
|
|
@@ -56694,7 +57127,7 @@ var DocumentEditorCell = function DocumentEditorCell(_ref12) {
|
|
|
56694
57127
|
var fileInputRef = useRef(null);
|
|
56695
57128
|
var docs = (_options$value = options.value) !== null && _options$value !== void 0 ? _options$value : [];
|
|
56696
57129
|
var handleFileChange = /*#__PURE__*/function () {
|
|
56697
|
-
var
|
|
57130
|
+
var _ref14 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
|
|
56698
57131
|
var file, formData, res, data, _t, _t2;
|
|
56699
57132
|
return _regenerator().w(function (_context) {
|
|
56700
57133
|
while (1) switch (_context.n) {
|
|
@@ -56749,7 +57182,7 @@ var DocumentEditorCell = function DocumentEditorCell(_ref12) {
|
|
|
56749
57182
|
}, _callee, null, [[2,, 7, 8]]);
|
|
56750
57183
|
}));
|
|
56751
57184
|
return function handleFileChange(_x) {
|
|
56752
|
-
return
|
|
57185
|
+
return _ref14.apply(this, arguments);
|
|
56753
57186
|
};
|
|
56754
57187
|
}();
|
|
56755
57188
|
var handlePickerClick = function handlePickerClick() {
|
|
@@ -56832,17 +57265,17 @@ var DocumentEditorCell = function DocumentEditorCell(_ref12) {
|
|
|
56832
57265
|
onChange: handleFileChange
|
|
56833
57266
|
}));
|
|
56834
57267
|
};
|
|
56835
|
-
var SelfEditableCell = function SelfEditableCell(
|
|
57268
|
+
var SelfEditableCell = function SelfEditableCell(_ref15) {
|
|
56836
57269
|
var _col$header;
|
|
56837
|
-
var rowData =
|
|
56838
|
-
col =
|
|
56839
|
-
editable =
|
|
56840
|
-
isRowEditing =
|
|
56841
|
-
onSave =
|
|
56842
|
-
renderDisplay =
|
|
56843
|
-
onCreateTag =
|
|
56844
|
-
onTagCreated =
|
|
56845
|
-
labels =
|
|
57270
|
+
var rowData = _ref15.rowData,
|
|
57271
|
+
col = _ref15.col,
|
|
57272
|
+
editable = _ref15.editable,
|
|
57273
|
+
isRowEditing = _ref15.isRowEditing,
|
|
57274
|
+
onSave = _ref15.onSave,
|
|
57275
|
+
renderDisplay = _ref15.renderDisplay,
|
|
57276
|
+
onCreateTag = _ref15.onCreateTag,
|
|
57277
|
+
onTagCreated = _ref15.onTagCreated,
|
|
57278
|
+
labels = _ref15.labels;
|
|
56846
57279
|
var _useState21 = useState(false),
|
|
56847
57280
|
_useState22 = _slicedToArray$b(_useState21, 2),
|
|
56848
57281
|
editing = _useState22[0],
|
|
@@ -57402,13 +57835,13 @@ var SelfEditableCell = function SelfEditableCell(_ref14) {
|
|
|
57402
57835
|
}));
|
|
57403
57836
|
}
|
|
57404
57837
|
};
|
|
57405
|
-
var DocumentBodyCell = function DocumentBodyCell(
|
|
57838
|
+
var DocumentBodyCell = function DocumentBodyCell(_ref16) {
|
|
57406
57839
|
var _rowData$col$field2;
|
|
57407
|
-
var rowData =
|
|
57408
|
-
col =
|
|
57409
|
-
editable =
|
|
57410
|
-
isRowEditing =
|
|
57411
|
-
onSave =
|
|
57840
|
+
var rowData = _ref16.rowData,
|
|
57841
|
+
col = _ref16.col,
|
|
57842
|
+
editable = _ref16.editable,
|
|
57843
|
+
isRowEditing = _ref16.isRowEditing,
|
|
57844
|
+
onSave = _ref16.onSave;
|
|
57412
57845
|
var _useState27 = useState(false),
|
|
57413
57846
|
_useState28 = _slicedToArray$b(_useState27, 2),
|
|
57414
57847
|
editing = _useState28[0],
|
|
@@ -57512,81 +57945,81 @@ var resolveGlobalHandler = function resolveGlobalHandler(chemin) {
|
|
|
57512
57945
|
}, window);
|
|
57513
57946
|
return typeof fn === 'function' ? fn : null;
|
|
57514
57947
|
};
|
|
57515
|
-
var Table$1 = function Table(
|
|
57516
|
-
var
|
|
57517
|
-
value =
|
|
57518
|
-
|
|
57519
|
-
columns =
|
|
57520
|
-
|
|
57521
|
-
paginator =
|
|
57522
|
-
|
|
57523
|
-
rows =
|
|
57524
|
-
|
|
57525
|
-
loading =
|
|
57526
|
-
|
|
57527
|
-
stripedRows =
|
|
57528
|
-
|
|
57529
|
-
selectionMode =
|
|
57530
|
-
selection =
|
|
57531
|
-
onSelectionChange =
|
|
57532
|
-
|
|
57533
|
-
editable =
|
|
57534
|
-
|
|
57535
|
-
lockable =
|
|
57536
|
-
|
|
57537
|
-
rowEdit =
|
|
57538
|
-
|
|
57539
|
-
columnFilter =
|
|
57540
|
-
onChange =
|
|
57541
|
-
onCellChange =
|
|
57542
|
-
onLoad =
|
|
57543
|
-
tableId =
|
|
57544
|
-
onAdd =
|
|
57545
|
-
showAdd =
|
|
57546
|
-
|
|
57547
|
-
addLabel =
|
|
57548
|
-
addTooltip =
|
|
57549
|
-
|
|
57550
|
-
addRowPosition =
|
|
57551
|
-
|
|
57552
|
-
defaultRowHeight =
|
|
57553
|
-
onReorderClick =
|
|
57554
|
-
labels =
|
|
57555
|
-
|
|
57556
|
-
lazy =
|
|
57557
|
-
totalRecords =
|
|
57558
|
-
onLazyLoad =
|
|
57559
|
-
|
|
57560
|
-
deletableRows =
|
|
57561
|
-
onDeleteRow =
|
|
57562
|
-
|
|
57563
|
-
confirmDelete =
|
|
57564
|
-
|
|
57565
|
-
editableRows =
|
|
57566
|
-
onEditRow =
|
|
57567
|
-
onCreateTag =
|
|
57568
|
-
|
|
57569
|
-
rowSelection =
|
|
57570
|
-
|
|
57571
|
-
selectionActions =
|
|
57572
|
-
onSelectionAction =
|
|
57573
|
-
selectionActionHandlers =
|
|
57574
|
-
toolbarActionHandlers =
|
|
57575
|
-
|
|
57576
|
-
selectionFilter =
|
|
57577
|
-
|
|
57578
|
-
|
|
57579
|
-
var
|
|
57580
|
-
toolbarActions =
|
|
57581
|
-
onToolbarAction =
|
|
57582
|
-
|
|
57583
|
-
readOnlyStyle =
|
|
57584
|
-
|
|
57585
|
-
freezableColumns =
|
|
57586
|
-
|
|
57587
|
-
hideableColumns =
|
|
57588
|
-
onButtonClick =
|
|
57589
|
-
onCellClick =
|
|
57948
|
+
var Table$1 = function Table(_ref17) {
|
|
57949
|
+
var _ref17$value = _ref17.value,
|
|
57950
|
+
value = _ref17$value === void 0 ? [] : _ref17$value,
|
|
57951
|
+
_ref17$columns = _ref17.columns,
|
|
57952
|
+
columns = _ref17$columns === void 0 ? [] : _ref17$columns,
|
|
57953
|
+
_ref17$paginator = _ref17.paginator,
|
|
57954
|
+
paginator = _ref17$paginator === void 0 ? true : _ref17$paginator,
|
|
57955
|
+
_ref17$rows = _ref17.rows,
|
|
57956
|
+
rows = _ref17$rows === void 0 ? 25 : _ref17$rows,
|
|
57957
|
+
_ref17$loading = _ref17.loading,
|
|
57958
|
+
loading = _ref17$loading === void 0 ? false : _ref17$loading,
|
|
57959
|
+
_ref17$stripedRows = _ref17.stripedRows,
|
|
57960
|
+
stripedRows = _ref17$stripedRows === void 0 ? false : _ref17$stripedRows,
|
|
57961
|
+
_ref17$selectionMode = _ref17.selectionMode,
|
|
57962
|
+
selectionMode = _ref17$selectionMode === void 0 ? null : _ref17$selectionMode,
|
|
57963
|
+
selection = _ref17.selection,
|
|
57964
|
+
onSelectionChange = _ref17.onSelectionChange,
|
|
57965
|
+
_ref17$editable = _ref17.editable,
|
|
57966
|
+
editable = _ref17$editable === void 0 ? false : _ref17$editable,
|
|
57967
|
+
_ref17$lockable = _ref17.lockable,
|
|
57968
|
+
lockable = _ref17$lockable === void 0 ? false : _ref17$lockable,
|
|
57969
|
+
_ref17$rowEdit = _ref17.rowEdit,
|
|
57970
|
+
rowEdit = _ref17$rowEdit === void 0 ? false : _ref17$rowEdit,
|
|
57971
|
+
_ref17$columnFilter = _ref17.columnFilter,
|
|
57972
|
+
columnFilter = _ref17$columnFilter === void 0 ? true : _ref17$columnFilter,
|
|
57973
|
+
onChange = _ref17.onChange,
|
|
57974
|
+
onCellChange = _ref17.onCellChange,
|
|
57975
|
+
onLoad = _ref17.onLoad,
|
|
57976
|
+
tableId = _ref17.tableId,
|
|
57977
|
+
onAdd = _ref17.onAdd,
|
|
57978
|
+
showAdd = _ref17.showAdd,
|
|
57979
|
+
_ref17$addLabel = _ref17.addLabel,
|
|
57980
|
+
addLabel = _ref17$addLabel === void 0 ? '+' : _ref17$addLabel,
|
|
57981
|
+
addTooltip = _ref17.addTooltip,
|
|
57982
|
+
_ref17$addRowPosition = _ref17.addRowPosition,
|
|
57983
|
+
addRowPosition = _ref17$addRowPosition === void 0 ? 'end' : _ref17$addRowPosition,
|
|
57984
|
+
_ref17$defaultRowHeig = _ref17.defaultRowHeight,
|
|
57985
|
+
defaultRowHeight = _ref17$defaultRowHeig === void 0 ? 'small' : _ref17$defaultRowHeig,
|
|
57986
|
+
onReorderClick = _ref17.onReorderClick,
|
|
57987
|
+
labels = _ref17.labels,
|
|
57988
|
+
_ref17$lazy = _ref17.lazy,
|
|
57989
|
+
lazy = _ref17$lazy === void 0 ? false : _ref17$lazy,
|
|
57990
|
+
totalRecords = _ref17.totalRecords,
|
|
57991
|
+
onLazyLoad = _ref17.onLazyLoad,
|
|
57992
|
+
_ref17$deletableRows = _ref17.deletableRows,
|
|
57993
|
+
deletableRows = _ref17$deletableRows === void 0 ? false : _ref17$deletableRows,
|
|
57994
|
+
onDeleteRow = _ref17.onDeleteRow,
|
|
57995
|
+
_ref17$confirmDelete = _ref17.confirmDelete,
|
|
57996
|
+
confirmDelete = _ref17$confirmDelete === void 0 ? true : _ref17$confirmDelete,
|
|
57997
|
+
_ref17$editableRows = _ref17.editableRows,
|
|
57998
|
+
editableRows = _ref17$editableRows === void 0 ? false : _ref17$editableRows,
|
|
57999
|
+
onEditRow = _ref17.onEditRow,
|
|
58000
|
+
onCreateTag = _ref17.onCreateTag,
|
|
58001
|
+
_ref17$rowSelection = _ref17.rowSelection,
|
|
58002
|
+
rowSelection = _ref17$rowSelection === void 0 ? false : _ref17$rowSelection,
|
|
58003
|
+
_ref17$selectionActio = _ref17.selectionActions,
|
|
58004
|
+
selectionActions = _ref17$selectionActio === void 0 ? [] : _ref17$selectionActio,
|
|
58005
|
+
onSelectionAction = _ref17.onSelectionAction,
|
|
58006
|
+
selectionActionHandlers = _ref17.selectionActionHandlers,
|
|
58007
|
+
toolbarActionHandlers = _ref17.toolbarActionHandlers,
|
|
58008
|
+
_ref17$selectionFilte = _ref17.selectionFilter,
|
|
58009
|
+
selectionFilter = _ref17$selectionFilte === void 0 ? false : _ref17$selectionFilte;
|
|
58010
|
+
_ref17.bulkActions;
|
|
58011
|
+
_ref17.onBulkAction;
|
|
58012
|
+
var _ref17$toolbarActions = _ref17.toolbarActions,
|
|
58013
|
+
toolbarActions = _ref17$toolbarActions === void 0 ? [] : _ref17$toolbarActions,
|
|
58014
|
+
onToolbarAction = _ref17.onToolbarAction,
|
|
58015
|
+
_ref17$readOnlyStyle = _ref17.readOnlyStyle,
|
|
58016
|
+
readOnlyStyle = _ref17$readOnlyStyle === void 0 ? true : _ref17$readOnlyStyle,
|
|
58017
|
+
_ref17$freezableColum = _ref17.freezableColumns,
|
|
58018
|
+
freezableColumns = _ref17$freezableColum === void 0 ? true : _ref17$freezableColum,
|
|
58019
|
+
_ref17$hideableColumn = _ref17.hideableColumns,
|
|
58020
|
+
hideableColumns = _ref17$hideableColumn === void 0 ? true : _ref17$hideableColumn,
|
|
58021
|
+
onButtonClick = _ref17.onButtonClick,
|
|
58022
|
+
onCellClick = _ref17.onCellClick;
|
|
57590
58023
|
var _useState31 = useState(true),
|
|
57591
58024
|
_useState32 = _slicedToArray$b(_useState31, 2),
|
|
57592
58025
|
locked = _useState32[0],
|
|
@@ -57698,22 +58131,40 @@ var Table$1 = function Table(_ref16) {
|
|
|
57698
58131
|
};
|
|
57699
58132
|
}, [selectionFilterOpen]);
|
|
57700
58133
|
|
|
58134
|
+
// Le menu de picking est calé sur le bord gauche de sa cellule. Il ne peut
|
|
58135
|
+
// pas sortir à gauche (la colonne est gelée au bord du tableau), mais peut
|
|
58136
|
+
// dépasser à droite sur un écran étroit : on le borne après mesure, même
|
|
58137
|
+
// règle que le menu de colonne (marge 8px dans la fenêtre).
|
|
58138
|
+
var _useState41 = useState(null),
|
|
58139
|
+
_useState42 = _slicedToArray$b(_useState41, 2),
|
|
58140
|
+
pickingAjuste = _useState42[0],
|
|
58141
|
+
setPickingAjuste = _useState42[1];
|
|
58142
|
+
useLayoutEffect(function () {
|
|
58143
|
+
if (!selectionFilterOpen || !selectionMenuRef.current) {
|
|
58144
|
+
setPickingAjuste(null);
|
|
58145
|
+
return;
|
|
58146
|
+
}
|
|
58147
|
+
var m = selectionMenuRef.current.getBoundingClientRect();
|
|
58148
|
+
var marge = 8;
|
|
58149
|
+
if (m.right > window.innerWidth - marge) setPickingAjuste(Math.max(marge, window.innerWidth - marge - m.width));else if (m.left < marge) setPickingAjuste(marge);
|
|
58150
|
+
}, [selectionFilterOpen]);
|
|
58151
|
+
|
|
57701
58152
|
// Pagination contrôlée : indispensable pour amener l'utilisateur sur la page de la
|
|
57702
58153
|
// ligne insérée par handleAddRow. Initialisation avec la même logique de restauration
|
|
57703
58154
|
// que customRestoreState (page 1 par défaut, first restauré seulement s'il reste dans
|
|
57704
58155
|
// la plage de données) — la clé dt-state est recalculée ici car DT_STATE_KEY est
|
|
57705
58156
|
// déclaré plus bas.
|
|
57706
|
-
var
|
|
58157
|
+
var _useState43 = useState(function () {
|
|
57707
58158
|
try {
|
|
57708
58159
|
var s = JSON.parse(localStorage.getItem(tableId ? "dt-state:".concat(tableId) : 'dt-state') || '{}');
|
|
57709
58160
|
if (typeof s.rows === 'number' && s.rows > 0) return s.rows;
|
|
57710
58161
|
} catch (_unused2) {/* noop */}
|
|
57711
58162
|
return rows;
|
|
57712
58163
|
}),
|
|
57713
|
-
|
|
57714
|
-
pageRows =
|
|
57715
|
-
setPageRows =
|
|
57716
|
-
var
|
|
58164
|
+
_useState44 = _slicedToArray$b(_useState43, 2),
|
|
58165
|
+
pageRows = _useState44[0],
|
|
58166
|
+
setPageRows = _useState44[1];
|
|
58167
|
+
var _useState45 = useState(function () {
|
|
57717
58168
|
try {
|
|
57718
58169
|
var s = JSON.parse(localStorage.getItem(tableId ? "dt-state:".concat(tableId) : 'dt-state') || '{}');
|
|
57719
58170
|
var len = Array.isArray(data) ? data.length : 0;
|
|
@@ -57721,19 +58172,19 @@ var Table$1 = function Table(_ref16) {
|
|
|
57721
58172
|
} catch (_unused3) {/* noop */}
|
|
57722
58173
|
return 0;
|
|
57723
58174
|
}),
|
|
57724
|
-
_useState44 = _slicedToArray$b(_useState43, 2),
|
|
57725
|
-
first = _useState44[0],
|
|
57726
|
-
setFirst = _useState44[1];
|
|
57727
|
-
// Scroll différé du viewport vers le point d'insertion après un ajout de ligne.
|
|
57728
|
-
var _useState45 = useState(null),
|
|
57729
58175
|
_useState46 = _slicedToArray$b(_useState45, 2),
|
|
57730
|
-
|
|
57731
|
-
|
|
57732
|
-
//
|
|
58176
|
+
first = _useState46[0],
|
|
58177
|
+
setFirst = _useState46[1];
|
|
58178
|
+
// Scroll différé du viewport vers le point d'insertion après un ajout de ligne.
|
|
57733
58179
|
var _useState47 = useState(null),
|
|
57734
58180
|
_useState48 = _slicedToArray$b(_useState47, 2),
|
|
57735
|
-
|
|
57736
|
-
|
|
58181
|
+
pendingScroll = _useState48[0],
|
|
58182
|
+
setPendingScroll = _useState48[1];
|
|
58183
|
+
// Ligne en attente de confirmation de suppression (prop confirmDelete).
|
|
58184
|
+
var _useState49 = useState(null),
|
|
58185
|
+
_useState50 = _slicedToArray$b(_useState49, 2),
|
|
58186
|
+
deleteCandidate = _useState50[0],
|
|
58187
|
+
setDeleteCandidate = _useState50[1];
|
|
57737
58188
|
var dtRef = useRef(null);
|
|
57738
58189
|
// « Ajuster au contenu » expose hors de son effet : le menu d'un en-tete doit
|
|
57739
58190
|
// pouvoir l'appeler SANS passer par la poignee de redimensionnement, qui
|
|
@@ -57758,10 +58209,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
57758
58209
|
// non avec les autres états, parce que l'effet de redimensionnement juste en
|
|
57759
58210
|
// dessous le lit dans ses dépendances : un `const` déclaré après serait dans sa
|
|
57760
58211
|
// zone morte temporelle et lèverait un ReferenceError au rendu.
|
|
57761
|
-
var
|
|
57762
|
-
|
|
57763
|
-
tableKey =
|
|
57764
|
-
setTableKey =
|
|
58212
|
+
var _useState51 = useState(0),
|
|
58213
|
+
_useState52 = _slicedToArray$b(_useState51, 2),
|
|
58214
|
+
tableKey = _useState52[0],
|
|
58215
|
+
setTableKey = _useState52[1];
|
|
57765
58216
|
|
|
57766
58217
|
// ─── Redimensionnement : en direct, et borné à la butée ──────────────────
|
|
57767
58218
|
//
|
|
@@ -58195,12 +58646,12 @@ var Table$1 = function Table(_ref16) {
|
|
|
58195
58646
|
elements.forEach(function (el) {
|
|
58196
58647
|
max = Math.max(max, el.offsetWidth);
|
|
58197
58648
|
});
|
|
58198
|
-
memo.forEach(function (
|
|
58199
|
-
var
|
|
58200
|
-
el =
|
|
58201
|
-
w =
|
|
58202
|
-
mw =
|
|
58203
|
-
f =
|
|
58649
|
+
memo.forEach(function (_ref18) {
|
|
58650
|
+
var _ref19 = _slicedToArray$b(_ref18, 4),
|
|
58651
|
+
el = _ref19[0],
|
|
58652
|
+
w = _ref19[1],
|
|
58653
|
+
mw = _ref19[2],
|
|
58654
|
+
f = _ref19[3];
|
|
58204
58655
|
el.style.width = w;
|
|
58205
58656
|
el.style.maxWidth = mw;
|
|
58206
58657
|
el.style.flex = f;
|
|
@@ -58247,10 +58698,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
58247
58698
|
}
|
|
58248
58699
|
ajustees.set(indexCss, large);
|
|
58249
58700
|
if (!feuilleAjustee) feuilleAjustee = document.createElement('style');
|
|
58250
|
-
feuilleAjustee.textContent = Array.from(ajustees, function (
|
|
58251
|
-
var
|
|
58252
|
-
i =
|
|
58253
|
-
l =
|
|
58701
|
+
feuilleAjustee.textContent = Array.from(ajustees, function (_ref20) {
|
|
58702
|
+
var _ref21 = _slicedToArray$b(_ref20, 2),
|
|
58703
|
+
i = _ref21[0],
|
|
58704
|
+
l = _ref21[1];
|
|
58254
58705
|
return reglePourColonne(i, l);
|
|
58255
58706
|
}).join('\n');
|
|
58256
58707
|
document.head.appendChild(feuilleAjustee); // remise a la fin : passe devant PrimeReact
|
|
@@ -58325,10 +58776,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
58325
58776
|
total += large;
|
|
58326
58777
|
});
|
|
58327
58778
|
if (!feuilleAjustee) feuilleAjustee = document.createElement('style');
|
|
58328
|
-
feuilleAjustee.textContent = Array.from(ajustees, function (
|
|
58329
|
-
var
|
|
58330
|
-
i =
|
|
58331
|
-
l =
|
|
58779
|
+
feuilleAjustee.textContent = Array.from(ajustees, function (_ref22) {
|
|
58780
|
+
var _ref23 = _slicedToArray$b(_ref22, 2),
|
|
58781
|
+
i = _ref23[0],
|
|
58782
|
+
l = _ref23[1];
|
|
58332
58783
|
return reglePourColonne(i, l);
|
|
58333
58784
|
}).join('\n');
|
|
58334
58785
|
document.head.appendChild(feuilleAjustee);
|
|
@@ -58373,10 +58824,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
58373
58824
|
avantAjustement["delete"](indexCss);
|
|
58374
58825
|
ajustees.set(indexCss, cible);
|
|
58375
58826
|
if (!feuilleAjustee) feuilleAjustee = document.createElement('style');
|
|
58376
|
-
feuilleAjustee.textContent = Array.from(ajustees, function (
|
|
58377
|
-
var
|
|
58378
|
-
i =
|
|
58379
|
-
l =
|
|
58827
|
+
feuilleAjustee.textContent = Array.from(ajustees, function (_ref24) {
|
|
58828
|
+
var _ref25 = _slicedToArray$b(_ref24, 2),
|
|
58829
|
+
i = _ref25[0],
|
|
58830
|
+
l = _ref25[1];
|
|
58380
58831
|
return reglePourColonne(i, l);
|
|
58381
58832
|
}).join('\n');
|
|
58382
58833
|
document.head.appendChild(feuilleAjustee);
|
|
@@ -58438,10 +58889,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
58438
58889
|
onButtonClickRef.current = onButtonClick;
|
|
58439
58890
|
}, [onButtonClick]);
|
|
58440
58891
|
var onCellClickRef = useRef(onCellClick);
|
|
58441
|
-
var
|
|
58442
|
-
|
|
58443
|
-
cellClickEnabled =
|
|
58444
|
-
setCellClickEnabled =
|
|
58892
|
+
var _useState53 = useState(!!onCellClick),
|
|
58893
|
+
_useState54 = _slicedToArray$b(_useState53, 2),
|
|
58894
|
+
cellClickEnabled = _useState54[0],
|
|
58895
|
+
setCellClickEnabled = _useState54[1];
|
|
58445
58896
|
useEffect(function () {
|
|
58446
58897
|
onCellClickRef.current = onCellClick;
|
|
58447
58898
|
setCellClickEnabled(!!onCellClick);
|
|
@@ -58562,10 +59013,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
58562
59013
|
// Visibilité du bouton « + » : opt-in explicite (`showAdd`), sinon déduite de la
|
|
58563
59014
|
// présence de `onAdd`. Voir le commentaire de la prop `showAdd`.
|
|
58564
59015
|
var showAddButton = showAdd === true || showAdd !== false && typeof onAdd === 'function';
|
|
58565
|
-
var
|
|
58566
|
-
|
|
58567
|
-
editingRows =
|
|
58568
|
-
setEditingRows =
|
|
59016
|
+
var _useState55 = useState({}),
|
|
59017
|
+
_useState56 = _slicedToArray$b(_useState55, 2),
|
|
59018
|
+
editingRows = _useState56[0],
|
|
59019
|
+
setEditingRows = _useState56[1];
|
|
58569
59020
|
var onRowEditChange = useCallback(function (e) {
|
|
58570
59021
|
setEditingRows(e.data);
|
|
58571
59022
|
}, []);
|
|
@@ -58665,7 +59116,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
58665
59116
|
var FROZEN_KEY = useMemo(function () {
|
|
58666
59117
|
return tableId ? "Table:frozenColumns:".concat(tableId) : 'Table:frozenColumns';
|
|
58667
59118
|
}, [tableId]);
|
|
58668
|
-
var
|
|
59119
|
+
var _useState57 = useState(function () {
|
|
58669
59120
|
if (!freezableColumns) return new Set();
|
|
58670
59121
|
try {
|
|
58671
59122
|
var v = JSON.parse(localStorage.getItem(FROZEN_KEY) || '[]');
|
|
@@ -58674,9 +59125,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
58674
59125
|
return new Set();
|
|
58675
59126
|
}
|
|
58676
59127
|
}),
|
|
58677
|
-
|
|
58678
|
-
colonnesGelees =
|
|
58679
|
-
setColonnesGelees =
|
|
59128
|
+
_useState58 = _slicedToArray$b(_useState57, 2),
|
|
59129
|
+
colonnesGelees = _useState58[0],
|
|
59130
|
+
setColonnesGelees = _useState58[1];
|
|
58680
59131
|
var applySavedColumnOrder = useCallback(function (cols) {
|
|
58681
59132
|
// Les colonnes `index` (N°) sont ÉPINGLÉES en tête, toujours, quel que soit
|
|
58682
59133
|
// l'ordre sauvegardé (une position figée en localStorage ne doit pas les
|
|
@@ -58722,9 +59173,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
58722
59173
|
return [c, lastKnownRank + 0.5, natIdx];
|
|
58723
59174
|
}).sort(function (a, b) {
|
|
58724
59175
|
return a[1] - b[1] || a[2] - b[2];
|
|
58725
|
-
}).map(function (
|
|
58726
|
-
var
|
|
58727
|
-
c =
|
|
59176
|
+
}).map(function (_ref26) {
|
|
59177
|
+
var _ref27 = _slicedToArray$b(_ref26, 1),
|
|
59178
|
+
c = _ref27[0];
|
|
58728
59179
|
return c;
|
|
58729
59180
|
});
|
|
58730
59181
|
return parGel([].concat(_toConsumableArray$8(pinned), _toConsumableArray$8(sortedRest)));
|
|
@@ -58750,12 +59201,12 @@ var Table$1 = function Table(_ref16) {
|
|
|
58750
59201
|
// Init synchrone (préférences + fusion des nouveautés + ordre sauvegardé) :
|
|
58751
59202
|
// le premier montage du DataTable se fait directement avec les bonnes colonnes,
|
|
58752
59203
|
// donc customRestoreState reconstruit les largeurs sur la bonne structure.
|
|
58753
|
-
var
|
|
59204
|
+
var _useState59 = useState(function () {
|
|
58754
59205
|
return applySavedColumnOrder(computeVisibleColumns());
|
|
58755
59206
|
}),
|
|
58756
|
-
|
|
58757
|
-
visibleColumns =
|
|
58758
|
-
setVisibleColumns =
|
|
59207
|
+
_useState60 = _slicedToArray$b(_useState59, 2),
|
|
59208
|
+
visibleColumns = _useState60[0],
|
|
59209
|
+
setVisibleColumns = _useState60[1];
|
|
58759
59210
|
// Colonnes de tête (frozen) rendues AVANT les colonnes de données : sélection,
|
|
58760
59211
|
// suppression, actions. PrimeReact applique les largeurs sauvegardées par
|
|
58761
59212
|
// nth-child(index) sur l'ensemble des <th> — il faut donc que le tableau de
|
|
@@ -58763,14 +59214,14 @@ var Table$1 = function Table(_ref16) {
|
|
|
58763
59214
|
var leadingColCount = (rowSelection ? 1 : 0) + (deletableRows || onDeleteRow ? 1 : 0) + (editableRows || onEditRow ? 1 : 0) + (columns.some(function (c) {
|
|
58764
59215
|
return c.actionsField;
|
|
58765
59216
|
}) ? 1 : 0);
|
|
58766
|
-
var
|
|
58767
|
-
_useState60 = _slicedToArray$b(_useState59, 2),
|
|
58768
|
-
globalFilter = _useState60[0],
|
|
58769
|
-
setGlobalFilter = _useState60[1];
|
|
58770
|
-
var _useState61 = useState(false),
|
|
59217
|
+
var _useState61 = useState(''),
|
|
58771
59218
|
_useState62 = _slicedToArray$b(_useState61, 2),
|
|
58772
|
-
|
|
58773
|
-
|
|
59219
|
+
globalFilter = _useState62[0],
|
|
59220
|
+
setGlobalFilter = _useState62[1];
|
|
59221
|
+
var _useState63 = useState(false),
|
|
59222
|
+
_useState64 = _slicedToArray$b(_useState63, 2),
|
|
59223
|
+
settingsOpen = _useState64[0],
|
|
59224
|
+
setSettingsOpen = _useState64[1];
|
|
58774
59225
|
|
|
58775
59226
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
58776
59227
|
// ALIGNEMENT DU CONTENU DES CELLULES
|
|
@@ -58786,16 +59237,16 @@ var Table$1 = function Table(_ref16) {
|
|
|
58786
59237
|
var LARGEUR_KEY = useMemo(function () {
|
|
58787
59238
|
return tableId ? "Table:colWidthPreset:".concat(tableId) : 'Table:colWidthPreset';
|
|
58788
59239
|
}, [tableId]);
|
|
58789
|
-
var
|
|
59240
|
+
var _useState65 = useState(function () {
|
|
58790
59241
|
try {
|
|
58791
59242
|
return localStorage.getItem(LARGEUR_KEY) || null;
|
|
58792
59243
|
} catch (_unused8) {
|
|
58793
59244
|
return null;
|
|
58794
59245
|
}
|
|
58795
59246
|
}),
|
|
58796
|
-
|
|
58797
|
-
largeurPreset =
|
|
58798
|
-
setLargeurPreset =
|
|
59247
|
+
_useState66 = _slicedToArray$b(_useState65, 2),
|
|
59248
|
+
largeurPreset = _useState66[0],
|
|
59249
|
+
setLargeurPreset = _useState66[1];
|
|
58799
59250
|
var changerLargeurColonnes = function changerLargeurColonnes(preset) {
|
|
58800
59251
|
var _largeurColonnesRef$c2;
|
|
58801
59252
|
setLargeurPreset(preset);
|
|
@@ -58807,7 +59258,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
58807
59258
|
var ALIGN_KEY = useMemo(function () {
|
|
58808
59259
|
return tableId ? "Table:align:".concat(tableId) : 'Table:align';
|
|
58809
59260
|
}, [tableId]);
|
|
58810
|
-
var
|
|
59261
|
+
var _useState67 = useState(function () {
|
|
58811
59262
|
try {
|
|
58812
59263
|
var v = localStorage.getItem(ALIGN_KEY);
|
|
58813
59264
|
return v === 'center' ? 'center' : 'left';
|
|
@@ -58815,9 +59266,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
58815
59266
|
return 'left';
|
|
58816
59267
|
}
|
|
58817
59268
|
}),
|
|
58818
|
-
|
|
58819
|
-
alignement =
|
|
58820
|
-
setAlignement =
|
|
59269
|
+
_useState68 = _slicedToArray$b(_useState67, 2),
|
|
59270
|
+
alignement = _useState68[0],
|
|
59271
|
+
setAlignement = _useState68[1];
|
|
58821
59272
|
var changerAlignement = function changerAlignement(valeur) {
|
|
58822
59273
|
setAlignement(valeur);
|
|
58823
59274
|
try {
|
|
@@ -58825,24 +59276,24 @@ var Table$1 = function Table(_ref16) {
|
|
|
58825
59276
|
} catch (_unused1) {/* noop */}
|
|
58826
59277
|
};
|
|
58827
59278
|
// Menu ⋯ : les actions de donnees occasionnelles (reordonner, verrouiller).
|
|
58828
|
-
var
|
|
58829
|
-
|
|
58830
|
-
menuOpen =
|
|
58831
|
-
setMenuOpen =
|
|
59279
|
+
var _useState69 = useState(false),
|
|
59280
|
+
_useState70 = _slicedToArray$b(_useState69, 2),
|
|
59281
|
+
menuOpen = _useState70[0],
|
|
59282
|
+
setMenuOpen = _useState70[1];
|
|
58832
59283
|
// Recherche dans la liste des colonnes du panneau : un tableau metier peut en
|
|
58833
59284
|
// compter des dizaines, on ne les parcourt pas a la molette.
|
|
58834
|
-
var
|
|
58835
|
-
|
|
58836
|
-
rechercheColonnes =
|
|
58837
|
-
setRechercheColonnes =
|
|
59285
|
+
var _useState71 = useState(''),
|
|
59286
|
+
_useState72 = _slicedToArray$b(_useState71, 2),
|
|
59287
|
+
rechercheColonnes = _useState72[0],
|
|
59288
|
+
setRechercheColonnes = _useState72[1];
|
|
58838
59289
|
|
|
58839
59290
|
// Menu d'une colonne, ouvert au SURVOL de son picto ⋮. Portalise dans <body> :
|
|
58840
59291
|
// `.p-column-header-content` est en `overflow: hidden` pour l'ellipse du titre,
|
|
58841
59292
|
// un panneau rendu dedans serait coupe net.
|
|
58842
|
-
var
|
|
58843
|
-
|
|
58844
|
-
menuColonne =
|
|
58845
|
-
setMenuColonne =
|
|
59293
|
+
var _useState73 = useState(null),
|
|
59294
|
+
_useState74 = _slicedToArray$b(_useState73, 2),
|
|
59295
|
+
menuColonne = _useState74[0],
|
|
59296
|
+
setMenuColonne = _useState74[1]; // { field, th, x, y }
|
|
58846
59297
|
var menuColTimerRef = useRef(null);
|
|
58847
59298
|
var menuColRef = useRef(null);
|
|
58848
59299
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -58866,16 +59317,16 @@ var Table$1 = function Table(_ref16) {
|
|
|
58866
59317
|
// remettre d'aplomb — et `updateStickyPosition` ne pose son etat que si la
|
|
58867
59318
|
// valeur change, donc pas de boucle.
|
|
58868
59319
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
58869
|
-
var
|
|
58870
|
-
|
|
58871
|
-
recalageGel =
|
|
58872
|
-
setRecalageGel =
|
|
59320
|
+
var _useState75 = useState(0),
|
|
59321
|
+
_useState76 = _slicedToArray$b(_useState75, 2),
|
|
59322
|
+
recalageGel = _useState76[0],
|
|
59323
|
+
setRecalageGel = _useState76[1];
|
|
58873
59324
|
// Correction de position appliquee APRES mesure : la largeur du menu depend de
|
|
58874
59325
|
// ses libelles, on ne la connait pas avant qu'il soit rendu.
|
|
58875
|
-
var
|
|
58876
|
-
|
|
58877
|
-
menuColAjuste =
|
|
58878
|
-
setMenuColAjuste =
|
|
59326
|
+
var _useState77 = useState(null),
|
|
59327
|
+
_useState78 = _slicedToArray$b(_useState77, 2),
|
|
59328
|
+
menuColAjuste = _useState78[0],
|
|
59329
|
+
setMenuColAjuste = _useState78[1];
|
|
58879
59330
|
|
|
58880
59331
|
// Le survol OUVRE, la sortie ferme apres un delai : sans ce delai, le trajet du
|
|
58881
59332
|
// picto vers le menu traverse quelques pixels de vide et le menu se refermait
|
|
@@ -58928,10 +59379,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
58928
59379
|
var garderMenuColonne = function garderMenuColonne() {
|
|
58929
59380
|
return clearTimeout(menuColTimerRef.current);
|
|
58930
59381
|
};
|
|
58931
|
-
var
|
|
58932
|
-
|
|
58933
|
-
fullscreen =
|
|
58934
|
-
setFullscreen =
|
|
59382
|
+
var _useState79 = useState(false),
|
|
59383
|
+
_useState80 = _slicedToArray$b(_useState79, 2),
|
|
59384
|
+
fullscreen = _useState80[0],
|
|
59385
|
+
setFullscreen = _useState80[1];
|
|
58935
59386
|
useEffect(function () {
|
|
58936
59387
|
if (!fullscreen) return;
|
|
58937
59388
|
var onKeyDown = function onKeyDown(e) {
|
|
@@ -58948,7 +59399,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
58948
59399
|
var FILTERS_VALUES_KEY = useMemo(function () {
|
|
58949
59400
|
return tableId ? "Table:filters:".concat(tableId) : 'Table:filters';
|
|
58950
59401
|
}, [tableId]);
|
|
58951
|
-
var
|
|
59402
|
+
var _useState81 = useState(function () {
|
|
58952
59403
|
try {
|
|
58953
59404
|
var _JSON$parse;
|
|
58954
59405
|
return (_JSON$parse = JSON.parse(localStorage.getItem(FILTER_KEY))) !== null && _JSON$parse !== void 0 ? _JSON$parse : false;
|
|
@@ -58956,9 +59407,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
58956
59407
|
return false;
|
|
58957
59408
|
}
|
|
58958
59409
|
}),
|
|
58959
|
-
|
|
58960
|
-
filterVisible =
|
|
58961
|
-
setFilterVisible =
|
|
59410
|
+
_useState82 = _slicedToArray$b(_useState81, 2),
|
|
59411
|
+
filterVisible = _useState82[0],
|
|
59412
|
+
setFilterVisible = _useState82[1];
|
|
58962
59413
|
var toggleFilter = function toggleFilter() {
|
|
58963
59414
|
setFilterVisible(function (v) {
|
|
58964
59415
|
var next = !v;
|
|
@@ -59024,10 +59475,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
59024
59475
|
// Actions groupées : même mécanique de menu que l'engrenage (positionnement absolu
|
|
59025
59476
|
// dans un conteneur relatif + fermeture au clic extérieur), pour un comportement
|
|
59026
59477
|
// homogène entre les deux menus voisins de la barre d'outils.
|
|
59027
|
-
var
|
|
59028
|
-
|
|
59029
|
-
bulkOpen =
|
|
59030
|
-
setBulkOpen =
|
|
59478
|
+
var _useState83 = useState(false),
|
|
59479
|
+
_useState84 = _slicedToArray$b(_useState83, 2),
|
|
59480
|
+
bulkOpen = _useState84[0],
|
|
59481
|
+
setBulkOpen = _useState84[1];
|
|
59031
59482
|
var bulkRef = useRef(null);
|
|
59032
59483
|
useEffect(function () {
|
|
59033
59484
|
if (!bulkOpen) return;
|
|
@@ -59042,10 +59493,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
59042
59493
|
|
|
59043
59494
|
// Un seul menu de `toolbarActions` ouvert à la fois : on mémorise la clé de l'action
|
|
59044
59495
|
// ouverte plutôt qu'un booléen par bouton (le nombre de boutons est libre).
|
|
59045
|
-
var
|
|
59046
|
-
|
|
59047
|
-
openToolbarKey =
|
|
59048
|
-
setOpenToolbarKey =
|
|
59496
|
+
var _useState85 = useState(null),
|
|
59497
|
+
_useState86 = _slicedToArray$b(_useState85, 2),
|
|
59498
|
+
openToolbarKey = _useState86[0],
|
|
59499
|
+
setOpenToolbarKey = _useState86[1];
|
|
59049
59500
|
var toolbarRef = useRef(null);
|
|
59050
59501
|
useEffect(function () {
|
|
59051
59502
|
if (openToolbarKey === null) return;
|
|
@@ -59087,16 +59538,16 @@ var Table$1 = function Table(_ref16) {
|
|
|
59087
59538
|
rowHeightsRef.current = {};
|
|
59088
59539
|
}
|
|
59089
59540
|
}
|
|
59090
|
-
var
|
|
59541
|
+
var _useState87 = useState(function () {
|
|
59091
59542
|
try {
|
|
59092
59543
|
var saved = localStorage.getItem(ROW_PRESET_KEY);
|
|
59093
59544
|
if (saved === 'fit' || ROW_PRESETS[saved]) return saved;
|
|
59094
59545
|
} catch (_unused13) {/* noop */}
|
|
59095
59546
|
return defaultRowHeight === 'fit' || ROW_PRESETS[defaultRowHeight] ? defaultRowHeight : 'small';
|
|
59096
59547
|
}),
|
|
59097
|
-
|
|
59098
|
-
rowPreset =
|
|
59099
|
-
setRowPreset =
|
|
59548
|
+
_useState88 = _slicedToArray$b(_useState87, 2),
|
|
59549
|
+
rowPreset = _useState88[0],
|
|
59550
|
+
setRowPreset = _useState88[1];
|
|
59100
59551
|
var tableWrapperRef = useRef(null);
|
|
59101
59552
|
var applyRowHeights = useCallback(function () {
|
|
59102
59553
|
if (!tableWrapperRef.current) return;
|
|
@@ -59368,10 +59819,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
59368
59819
|
var persistFilters = useCallback(function (f) {
|
|
59369
59820
|
try {
|
|
59370
59821
|
var values = {};
|
|
59371
|
-
Object.entries(f || {}).forEach(function (
|
|
59372
|
-
var
|
|
59373
|
-
field =
|
|
59374
|
-
meta =
|
|
59822
|
+
Object.entries(f || {}).forEach(function (_ref28) {
|
|
59823
|
+
var _ref29 = _slicedToArray$b(_ref28, 2),
|
|
59824
|
+
field = _ref29[0],
|
|
59825
|
+
meta = _ref29[1];
|
|
59375
59826
|
if (meta && meta.value != null && meta.value !== '') {
|
|
59376
59827
|
// Filtre date : persiste en 'yyyy-MM-dd' local (JSON.stringify(Date) donnerait
|
|
59377
59828
|
// un ISO horodaté UTC que parseDateAuto ne relit pas — et J±1 selon le fuseau).
|
|
@@ -59381,12 +59832,12 @@ var Table$1 = function Table(_ref16) {
|
|
|
59381
59832
|
if (Object.keys(values).length) localStorage.setItem(FILTERS_VALUES_KEY, JSON.stringify(values));else localStorage.removeItem(FILTERS_VALUES_KEY);
|
|
59382
59833
|
} catch (_unused16) {}
|
|
59383
59834
|
}, [FILTERS_VALUES_KEY]);
|
|
59384
|
-
var
|
|
59835
|
+
var _useState89 = useState(function () {
|
|
59385
59836
|
return hydrateFilters(initialFilters);
|
|
59386
59837
|
}),
|
|
59387
|
-
|
|
59388
|
-
filters =
|
|
59389
|
-
setFilters =
|
|
59838
|
+
_useState90 = _slicedToArray$b(_useState89, 2),
|
|
59839
|
+
filters = _useState90[0],
|
|
59840
|
+
setFilters = _useState90[1];
|
|
59390
59841
|
|
|
59391
59842
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
59392
59843
|
// Effacer TOUS les filtres colonnes d'un coup.
|
|
@@ -59401,10 +59852,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
59401
59852
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
59402
59853
|
var effacerLesFiltres = useCallback(function () {
|
|
59403
59854
|
var vides = {};
|
|
59404
|
-
Object.entries(filters || {}).forEach(function (
|
|
59405
|
-
var
|
|
59406
|
-
field =
|
|
59407
|
-
meta =
|
|
59855
|
+
Object.entries(filters || {}).forEach(function (_ref30) {
|
|
59856
|
+
var _ref31 = _slicedToArray$b(_ref30, 2),
|
|
59857
|
+
field = _ref31[0],
|
|
59858
|
+
meta = _ref31[1];
|
|
59408
59859
|
vides[field] = _objectSpread2(_objectSpread2({}, meta), {}, {
|
|
59409
59860
|
value: null
|
|
59410
59861
|
});
|
|
@@ -59427,16 +59878,16 @@ var Table$1 = function Table(_ref16) {
|
|
|
59427
59878
|
// Tri actif (pour griser le bouton « Réordonner » : réordonner sous un tri
|
|
59428
59879
|
// corromprait les positions). Initialisé depuis l'état persisté (le tri restauré
|
|
59429
59880
|
// au montage ne déclenche pas onSort), mis à jour ensuite via onSort.
|
|
59430
|
-
var
|
|
59881
|
+
var _useState91 = useState(function () {
|
|
59431
59882
|
var s = readDTState();
|
|
59432
59883
|
return s.sortField ? {
|
|
59433
59884
|
field: s.sortField,
|
|
59434
59885
|
order: s.sortOrder
|
|
59435
59886
|
} : null;
|
|
59436
59887
|
}),
|
|
59437
|
-
|
|
59438
|
-
activeSort =
|
|
59439
|
-
setActiveSort =
|
|
59888
|
+
_useState92 = _slicedToArray$b(_useState91, 2),
|
|
59889
|
+
activeSort = _useState92[0],
|
|
59890
|
+
setActiveSort = _useState92[1];
|
|
59440
59891
|
// Un filtre est actif si un filtre de colonne porte une valeur, ou la recherche globale.
|
|
59441
59892
|
var hasActiveFilter = useMemo(function () {
|
|
59442
59893
|
if (globalFilter && String(globalFilter).trim() !== '') return true;
|
|
@@ -59468,13 +59919,13 @@ var Table$1 = function Table(_ref16) {
|
|
|
59468
59919
|
// onLazyLoad({first, rows, sortField, sortOrder, filters, globalFilter}) :
|
|
59469
59920
|
// l'app requête son endpoint puis re-render avec la nouvelle page.
|
|
59470
59921
|
// Le tri devient contrôlé en lazy (sinon PrimeReact trierait la page seule).
|
|
59471
|
-
var
|
|
59922
|
+
var _useState93 = useState({
|
|
59472
59923
|
sortField: null,
|
|
59473
59924
|
sortOrder: null
|
|
59474
59925
|
}),
|
|
59475
|
-
|
|
59476
|
-
lazySort =
|
|
59477
|
-
setLazySort =
|
|
59926
|
+
_useState94 = _slicedToArray$b(_useState93, 2),
|
|
59927
|
+
lazySort = _useState94[0],
|
|
59928
|
+
setLazySort = _useState94[1];
|
|
59478
59929
|
var onLazyLoadRef = useRef(onLazyLoad);
|
|
59479
59930
|
onLazyLoadRef.current = onLazyLoad;
|
|
59480
59931
|
var fireLazy = useCallback(function () {
|
|
@@ -59597,98 +60048,90 @@ var Table$1 = function Table(_ref16) {
|
|
|
59597
60048
|
});
|
|
59598
60049
|
}, []);
|
|
59599
60050
|
|
|
59600
|
-
//
|
|
59601
|
-
//
|
|
59602
|
-
//
|
|
60051
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
60052
|
+
// LE PICKING — « Afficher : toutes les lignes / cochées / non cochées »
|
|
60053
|
+
// Rendu dans la LIGNE DE FILTRES de la colonne des coches (pas dans l'en-tête),
|
|
60054
|
+
// homogène avec les autres filtres colonne. Décidé le 25/09/2026 (storybook :
|
|
60055
|
+
// planches 1-2 + sandbox « selectionFilter ») :
|
|
60056
|
+
// - le déclencheur est le picto « lignes » (PictoLignesCochees), PAS un
|
|
60057
|
+
// entonnoir : l'entonnoir dit « filtre » sans dire « sur les coches » et se
|
|
60058
|
+
// confond avec les filtres voisins ;
|
|
60059
|
+
// - il REFLÈTE le mode en cours (le picto de l'entrée choisie reste affiché,
|
|
60060
|
+
// en accent) : on voit d'un coup d'œil pourquoi il manque des lignes ;
|
|
60061
|
+
// - le menu reprend les classes des autres menus du tableau (.ab-toolbar__pop
|
|
60062
|
+
// + .ab-menu) et porte le nombre de lignes de chaque groupe ;
|
|
60063
|
+
// - il est calé sur le BORD GAUCHE de la cellule, borné dans la fenêtre, avec
|
|
60064
|
+
// une flèche vers le déclencheur. Avant : `rect.left - 40` → hors écran, la
|
|
60065
|
+
// colonne des coches étant gelée au bord gauche du tableau.
|
|
60066
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
59603
60067
|
var renderSelectionFilterControl = function renderSelectionFilterControl() {
|
|
60068
|
+
var compteurs = {
|
|
60069
|
+
all: data.length,
|
|
60070
|
+
checked: nbSelectionnees,
|
|
60071
|
+
unchecked: data.length - nbSelectionnees
|
|
60072
|
+
};
|
|
60073
|
+
// Position fixe, calculée au rendu (le menu est portalisé dans <body>).
|
|
60074
|
+
// `pickingAjuste` remplace `left` quand le menu a dû être borné ; la flèche
|
|
60075
|
+
// reste sous le centre du déclencheur, où qu'aille le menu.
|
|
60076
|
+
var rect = selectionFilterOpen && selectionFilterRef.current ? selectionFilterRef.current.getBoundingClientRect() : null;
|
|
60077
|
+
var left = rect ? pickingAjuste !== null && pickingAjuste !== void 0 ? pickingAjuste : rect.left : 0;
|
|
59604
60078
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
59605
60079
|
ref: selectionFilterRef,
|
|
59606
|
-
|
|
59607
|
-
|
|
59608
|
-
|
|
59609
|
-
|
|
59610
|
-
minWidth: '24px'
|
|
59611
|
-
}
|
|
59612
|
-
}, /*#__PURE__*/React__default.createElement("svg", {
|
|
59613
|
-
width: "24",
|
|
59614
|
-
height: "24",
|
|
59615
|
-
viewBox: "0 0 24 24",
|
|
60080
|
+
className: "ab-picking"
|
|
60081
|
+
}, /*#__PURE__*/React__default.createElement("button", {
|
|
60082
|
+
type: "button",
|
|
60083
|
+
className: "ab-picking__btn".concat(selectionFilterMode !== 'all' ? ' is-actif' : ''),
|
|
59616
60084
|
title: translate('arengibook.table.selectionFilter.tooltip', labels),
|
|
60085
|
+
"aria-label": translate('arengibook.table.selectionFilter.tooltip', labels),
|
|
60086
|
+
"aria-haspopup": "menu",
|
|
60087
|
+
"aria-expanded": selectionFilterOpen,
|
|
59617
60088
|
onClick: function onClick(e) {
|
|
59618
60089
|
e.stopPropagation();
|
|
59619
60090
|
setSelectionFilterOpen(function (o) {
|
|
59620
60091
|
return !o;
|
|
59621
60092
|
});
|
|
59622
|
-
}
|
|
60093
|
+
}
|
|
60094
|
+
}, /*#__PURE__*/React__default.createElement(PictoLignesCochees, {
|
|
60095
|
+
mode: selectionFilterMode
|
|
60096
|
+
})), rect && /*#__PURE__*/createPortal(/*#__PURE__*/React__default.createElement("div", {
|
|
60097
|
+
ref: selectionMenuRef,
|
|
60098
|
+
className: "ab-toolbar__pop ab-picking__menu",
|
|
60099
|
+
role: "menu",
|
|
59623
60100
|
style: {
|
|
59624
|
-
|
|
59625
|
-
|
|
59626
|
-
|
|
59627
|
-
|
|
59628
|
-
|
|
59629
|
-
|
|
59630
|
-
|
|
59631
|
-
|
|
59632
|
-
|
|
59633
|
-
|
|
59634
|
-
|
|
59635
|
-
|
|
59636
|
-
|
|
59637
|
-
|
|
59638
|
-
|
|
59639
|
-
mode: '
|
|
59640
|
-
|
|
59641
|
-
|
|
59642
|
-
|
|
59643
|
-
|
|
59644
|
-
|
|
59645
|
-
|
|
59646
|
-
|
|
59647
|
-
|
|
59648
|
-
zIndex: 10000,
|
|
59649
|
-
background: '#fff',
|
|
59650
|
-
borderRadius: '6px',
|
|
59651
|
-
boxShadow: '0 4px 16px rgba(0,0,0,.18)',
|
|
59652
|
-
border: '1px solid #e5e7eb',
|
|
59653
|
-
padding: '4px',
|
|
59654
|
-
minWidth: '150px'
|
|
60101
|
+
position: 'fixed',
|
|
60102
|
+
top: rect.bottom + 4,
|
|
60103
|
+
left: left,
|
|
60104
|
+
'--ab-picking-fleche': "".concat(rect.left + rect.width / 2 - left, "px")
|
|
60105
|
+
}
|
|
60106
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
60107
|
+
className: "ab-menu"
|
|
60108
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
60109
|
+
className: "ab-menu__titre"
|
|
60110
|
+
}, translate('arengibook.table.selectionFilter.title', labels)), ['all', 'checked', 'unchecked'].map(function (mode) {
|
|
60111
|
+
return /*#__PURE__*/React__default.createElement("button", {
|
|
60112
|
+
key: mode,
|
|
60113
|
+
type: "button",
|
|
60114
|
+
role: "menuitemradio",
|
|
60115
|
+
"aria-checked": selectionFilterMode === mode,
|
|
60116
|
+
className: "ab-menu__item".concat(selectionFilterMode === mode ? ' is-actif' : '')
|
|
60117
|
+
// Retour en page 1 : le jeu de lignes change, la page courante
|
|
60118
|
+
// peut ne plus exister (même geste que dans le menu Actions).
|
|
60119
|
+
,
|
|
60120
|
+
onClick: function onClick(e) {
|
|
60121
|
+
e.stopPropagation();
|
|
60122
|
+
setSelectionFilterMode(mode);
|
|
60123
|
+
setSelectionFilterOpen(false);
|
|
60124
|
+
setFirst(0);
|
|
59655
60125
|
}
|
|
59656
|
-
},
|
|
59657
|
-
|
|
59658
|
-
|
|
59659
|
-
|
|
59660
|
-
|
|
59661
|
-
|
|
59662
|
-
|
|
59663
|
-
|
|
59664
|
-
|
|
59665
|
-
style: {
|
|
59666
|
-
display: 'flex',
|
|
59667
|
-
alignItems: 'center',
|
|
59668
|
-
gap: '8px',
|
|
59669
|
-
padding: '6px 10px',
|
|
59670
|
-
borderRadius: '4px',
|
|
59671
|
-
cursor: 'pointer',
|
|
59672
|
-
fontSize: '13px',
|
|
59673
|
-
color: active ? '#1E976A' : '#374151',
|
|
59674
|
-
fontWeight: active ? 600 : 400,
|
|
59675
|
-
background: active ? '#f0fdf7' : 'transparent'
|
|
59676
|
-
},
|
|
59677
|
-
onMouseEnter: function onMouseEnter(e) {
|
|
59678
|
-
if (!active) e.currentTarget.style.background = '#f3f4f6';
|
|
59679
|
-
},
|
|
59680
|
-
onMouseLeave: function onMouseLeave(e) {
|
|
59681
|
-
if (!active) e.currentTarget.style.background = 'transparent';
|
|
59682
|
-
}
|
|
59683
|
-
}, /*#__PURE__*/React__default.createElement("span", {
|
|
59684
|
-
className: "material-icons",
|
|
59685
|
-
style: {
|
|
59686
|
-
fontSize: '16px',
|
|
59687
|
-
visibility: active ? 'visible' : 'hidden'
|
|
59688
|
-
}
|
|
59689
|
-
}, "check"), translate(opt.key, labels));
|
|
59690
|
-
}));
|
|
59691
|
-
}(), document.body));
|
|
60126
|
+
}, /*#__PURE__*/React__default.createElement(PictoLignesCochees, {
|
|
60127
|
+
mode: mode,
|
|
60128
|
+
taille: 16
|
|
60129
|
+
}), /*#__PURE__*/React__default.createElement("span", {
|
|
60130
|
+
className: "ab-picking__libelle"
|
|
60131
|
+
}, translate("arengibook.table.selectionFilter.".concat(mode), labels)), /*#__PURE__*/React__default.createElement("span", {
|
|
60132
|
+
className: "ab-picking__compteur"
|
|
60133
|
+
}, compteurs[mode]));
|
|
60134
|
+
}))), document.body));
|
|
59692
60135
|
};
|
|
59693
60136
|
|
|
59694
60137
|
// Clé stable basée sur les champs — ne change que si la structure des colonnes change.
|
|
@@ -59794,10 +60237,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
59794
60237
|
|
|
59795
60238
|
var linkTemplate = useCallback(function (col) {
|
|
59796
60239
|
return function (rowData) {
|
|
59797
|
-
var
|
|
60240
|
+
var _ref33, _col$href2;
|
|
59798
60241
|
var label = rowData[col.field];
|
|
59799
60242
|
if (col.type === 'titleLink') {
|
|
59800
|
-
var
|
|
60243
|
+
var _ref32, _col$href;
|
|
59801
60244
|
// ─────────────────────────────────────────────────────────────────
|
|
59802
60245
|
// Le titre est un LIEN quand une cible existe.
|
|
59803
60246
|
//
|
|
@@ -59809,7 +60252,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
59809
60252
|
// Sans cible, on garde un <span> : un titre en couleur de lien qui ne
|
|
59810
60253
|
// mene nulle part est un mensonge.
|
|
59811
60254
|
// ─────────────────────────────────────────────────────────────────
|
|
59812
|
-
var cible = typeof col.href === 'function' ? col.href(rowData) : (
|
|
60255
|
+
var cible = typeof col.href === 'function' ? col.href(rowData) : (_ref32 = (_col$href = col.href) !== null && _col$href !== void 0 ? _col$href : rowData[col.field + 'Url']) !== null && _ref32 !== void 0 ? _ref32 : null;
|
|
59813
60256
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
59814
60257
|
className: "ab-titre-box",
|
|
59815
60258
|
style: {
|
|
@@ -59824,7 +60267,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
59824
60267
|
className: "table-item-title cell-text"
|
|
59825
60268
|
}, label));
|
|
59826
60269
|
}
|
|
59827
|
-
var href = typeof col.href === 'function' ? col.href(rowData) : (
|
|
60270
|
+
var href = typeof col.href === 'function' ? col.href(rowData) : (_ref33 = (_col$href2 = col.href) !== null && _col$href2 !== void 0 ? _col$href2 : rowData[col.field + 'Url']) !== null && _ref33 !== void 0 ? _ref33 : '#';
|
|
59828
60271
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
59829
60272
|
className: "ab-titre-box",
|
|
59830
60273
|
style: {
|
|
@@ -59916,13 +60359,13 @@ var Table$1 = function Table(_ref16) {
|
|
|
59916
60359
|
}, []);
|
|
59917
60360
|
var lienFormulaireTemplate = useCallback(function (col) {
|
|
59918
60361
|
return function (rowData) {
|
|
59919
|
-
var _col$options5,
|
|
60362
|
+
var _col$options5, _ref34, _opt$label, _ref35, _col$href3;
|
|
59920
60363
|
var val = rowData[col.field];
|
|
59921
60364
|
var opt = (_col$options5 = col.options) === null || _col$options5 === void 0 ? void 0 : _col$options5.find(function (o) {
|
|
59922
60365
|
return o.value === val;
|
|
59923
60366
|
});
|
|
59924
|
-
var label = (
|
|
59925
|
-
var href = typeof col.href === 'function' ? col.href(rowData) : (
|
|
60367
|
+
var label = (_ref34 = (_opt$label = opt === null || opt === void 0 ? void 0 : opt.label) !== null && _opt$label !== void 0 ? _opt$label : val) !== null && _ref34 !== void 0 ? _ref34 : '';
|
|
60368
|
+
var href = typeof col.href === 'function' ? col.href(rowData) : (_ref35 = (_col$href3 = col.href) !== null && _col$href3 !== void 0 ? _col$href3 : opt === null || opt === void 0 ? void 0 : opt.href) !== null && _ref35 !== void 0 ? _ref35 : null;
|
|
59926
60369
|
if (!label) return '';
|
|
59927
60370
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
59928
60371
|
style: {
|
|
@@ -60469,10 +60912,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
60469
60912
|
});
|
|
60470
60913
|
if (option) {
|
|
60471
60914
|
var extra = {};
|
|
60472
|
-
Object.entries(col.updates).forEach(function (
|
|
60473
|
-
var
|
|
60474
|
-
targetField =
|
|
60475
|
-
optionProp =
|
|
60915
|
+
Object.entries(col.updates).forEach(function (_ref36) {
|
|
60916
|
+
var _ref37 = _slicedToArray$b(_ref36, 2),
|
|
60917
|
+
targetField = _ref37[0],
|
|
60918
|
+
optionProp = _ref37[1];
|
|
60476
60919
|
if (option[optionProp] !== undefined) extra[targetField] = option[optionProp];
|
|
60477
60920
|
});
|
|
60478
60921
|
enrichedRow = _objectSpread2(_objectSpread2({}, newRowData), extra);
|
|
@@ -60661,10 +61104,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
60661
61104
|
return opt.value === v;
|
|
60662
61105
|
});
|
|
60663
61106
|
if (option) {
|
|
60664
|
-
Object.entries(col.updates).forEach(function (
|
|
60665
|
-
var
|
|
60666
|
-
tf =
|
|
60667
|
-
op =
|
|
61107
|
+
Object.entries(col.updates).forEach(function (_ref38) {
|
|
61108
|
+
var _ref39 = _slicedToArray$b(_ref38, 2),
|
|
61109
|
+
tf = _ref39[0],
|
|
61110
|
+
op = _ref39[1];
|
|
60668
61111
|
if (option[op] !== undefined) enrichedFields[tf] = option[op];
|
|
60669
61112
|
});
|
|
60670
61113
|
}
|
|
@@ -61145,9 +61588,10 @@ var Table$1 = function Table(_ref16) {
|
|
|
61145
61588
|
setSelectionFilterMode(filtreSelectionActif ? 'all' : 'checked');
|
|
61146
61589
|
setFirst(0);
|
|
61147
61590
|
}
|
|
61148
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
61149
|
-
|
|
61150
|
-
|
|
61591
|
+
}, /*#__PURE__*/React__default.createElement(PictoLignesCochees, {
|
|
61592
|
+
mode: filtreSelectionActif ? 'all' : 'checked',
|
|
61593
|
+
taille: 16
|
|
61594
|
+
}), filtreSelectionActif ? translate('arengibook.table.selection.showAll', labels) : translate('arengibook.table.selection.showOnlySelected', labels)), selectionActions.map(function (a) {
|
|
61151
61595
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
61152
61596
|
key: "sel-".concat(a.key),
|
|
61153
61597
|
type: "button",
|
|
@@ -61165,14 +61609,14 @@ var Table$1 = function Table(_ref16) {
|
|
|
61165
61609
|
className: "ab-menu__filet"
|
|
61166
61610
|
})), actionsSecondaires.length > 0 && /*#__PURE__*/React__default.createElement("div", {
|
|
61167
61611
|
className: "ab-menu__titre"
|
|
61168
|
-
}, translate('arengibook.table.selection.onTable', labels)), actionsSecondaires.map(function (
|
|
61169
|
-
var key =
|
|
61170
|
-
icon =
|
|
61171
|
-
label =
|
|
61172
|
-
title =
|
|
61173
|
-
disabled =
|
|
61174
|
-
danger =
|
|
61175
|
-
action =
|
|
61612
|
+
}, translate('arengibook.table.selection.onTable', labels)), actionsSecondaires.map(function (_ref40) {
|
|
61613
|
+
var key = _ref40.key,
|
|
61614
|
+
icon = _ref40.icon,
|
|
61615
|
+
label = _ref40.label,
|
|
61616
|
+
title = _ref40.title,
|
|
61617
|
+
disabled = _ref40.disabled,
|
|
61618
|
+
danger = _ref40.danger,
|
|
61619
|
+
action = _ref40.action;
|
|
61176
61620
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
61177
61621
|
key: key,
|
|
61178
61622
|
type: "button",
|
|
@@ -61340,9 +61784,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
61340
61784
|
}, {
|
|
61341
61785
|
key: 'fit',
|
|
61342
61786
|
label: translate('arengibook.table.settings.rowHeightFit', labels)
|
|
61343
|
-
}].map(function (
|
|
61344
|
-
var key =
|
|
61345
|
-
label =
|
|
61787
|
+
}].map(function (_ref41) {
|
|
61788
|
+
var key = _ref41.key,
|
|
61789
|
+
label = _ref41.label;
|
|
61346
61790
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
61347
61791
|
key: key,
|
|
61348
61792
|
type: "button",
|
|
@@ -61381,9 +61825,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
61381
61825
|
}, {
|
|
61382
61826
|
key: 'fit',
|
|
61383
61827
|
label: translate('arengibook.table.settings.rowHeightFit', labels)
|
|
61384
|
-
}].map(function (
|
|
61385
|
-
var key =
|
|
61386
|
-
label =
|
|
61828
|
+
}].map(function (_ref42) {
|
|
61829
|
+
var key = _ref42.key,
|
|
61830
|
+
label = _ref42.label;
|
|
61387
61831
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
61388
61832
|
key: key,
|
|
61389
61833
|
type: "button",
|
|
@@ -61414,9 +61858,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
61414
61858
|
}, {
|
|
61415
61859
|
key: 'center',
|
|
61416
61860
|
label: translate('arengibook.table.settings.alignCenter', labels)
|
|
61417
|
-
}].map(function (
|
|
61418
|
-
var key =
|
|
61419
|
-
label =
|
|
61861
|
+
}].map(function (_ref43) {
|
|
61862
|
+
var key = _ref43.key,
|
|
61863
|
+
label = _ref43.label;
|
|
61420
61864
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
61421
61865
|
key: key,
|
|
61422
61866
|
type: "button",
|
|
@@ -61634,6 +62078,19 @@ var Table$1 = function Table(_ref16) {
|
|
|
61634
62078
|
var renderedKeys = [].concat(_toConsumableArray$8(rowSelection ? ['__select__'] : []), _toConsumableArray$8(deletableRows || onDeleteRow ? ['__delete__'] : []), _toConsumableArray$8(editableRows || onEditRow ? ['__edit__'] : []), _toConsumableArray$8(columns.some(function (c) {
|
|
61635
62079
|
return c.actionsField;
|
|
61636
62080
|
}) ? ['__row_actions__'] : []), _toConsumableArray$8(orderFields));
|
|
62081
|
+
// ⚠️ LIGNE DE FILTRES AFFICHÉE = DEUX FOIS PLUS DE LARGEURS.
|
|
62082
|
+
// PrimeReact construit sa chaîne en comptant TOUS les <th> du
|
|
62083
|
+
// thead (`[data-pc-section="thead"] > tr > th`, datatable.cjs.js
|
|
62084
|
+
// saveColumnWidths) : la ligne de filtres en porte autant que la
|
|
62085
|
+
// ligne d'en-têtes. Le compte ne tombait plus juste, et le glissé
|
|
62086
|
+
// n'était JAMAIS enregistré filtres ouverts — la colonne reprenait
|
|
62087
|
+
// sa largeur d'avant au premier remontage (gel, masquage, rechargement).
|
|
62088
|
+
// Constaté le 25/09/2026 : « j'agrandis, je gèle, elle rétrécit ».
|
|
62089
|
+
// Les <th> sont dans l'ordre du document : la ligne d'en-têtes vient
|
|
62090
|
+
// en premier, on ne garde qu'elle.
|
|
62091
|
+
if (widths.length > renderedKeys.length && widths.length % renderedKeys.length === 0) {
|
|
62092
|
+
widths = widths.slice(0, renderedKeys.length);
|
|
62093
|
+
}
|
|
61637
62094
|
if (widths.length === renderedKeys.length) {
|
|
61638
62095
|
renderedKeys.forEach(function (f, i) {
|
|
61639
62096
|
if (!f.startsWith('__') && Number.isFinite(widths[i])) previous[f] = widths[i];
|
|
@@ -61910,7 +62367,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
61910
62367
|
columnKey: "__row_actions__",
|
|
61911
62368
|
header: inline ? actionsCol.actionsHeader || '' : '',
|
|
61912
62369
|
body: function body(rowData) {
|
|
61913
|
-
var
|
|
62370
|
+
var _ref44, _linkCol$href;
|
|
61914
62371
|
var rowActions = rowData[actionsCol.actionsField] || [];
|
|
61915
62372
|
if (inline) {
|
|
61916
62373
|
return /*#__PURE__*/React__default.createElement(RowActionsInlineCell, {
|
|
@@ -61924,7 +62381,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
61924
62381
|
var linkCol = columns.find(function (c) {
|
|
61925
62382
|
return c.type === 'titleLink' || c.type === 'link';
|
|
61926
62383
|
});
|
|
61927
|
-
var linkHref = linkCol ? typeof linkCol.href === 'function' ? linkCol.href(rowData) : (
|
|
62384
|
+
var linkHref = linkCol ? typeof linkCol.href === 'function' ? linkCol.href(rowData) : (_ref44 = (_linkCol$href = linkCol.href) !== null && _linkCol$href !== void 0 ? _linkCol$href : rowData[linkCol.field + 'Url']) !== null && _ref44 !== void 0 ? _ref44 : null : null;
|
|
61928
62385
|
return /*#__PURE__*/React__default.createElement(RowActionsCell, {
|
|
61929
62386
|
actions: rowActions,
|
|
61930
62387
|
rowData: rowData,
|
|
@@ -63409,6 +63866,11 @@ var maqNode = function maqNode(id) {
|
|
|
63409
63866
|
var MAQ_SEL = ['france', 'paris', 'lyon', 'allemagne', 'munich'];
|
|
63410
63867
|
var SEL_MANY = ['france', 'paris', 'lyon', 'allemagne', 'munich', 'usa', 'canada', 'bresil', 'asie', 'japon', 'chine', 'inde'];
|
|
63411
63868
|
|
|
63869
|
+
// Mode induit : Europe en ∞ (une valeur, droits sur toute sa descendance, présente et à venir),
|
|
63870
|
+
// États-Unis et Canada nommés un par un.
|
|
63871
|
+
var INDUCED_SEL = ['europe', 'usa', 'canada'];
|
|
63872
|
+
var INDUCED_RULES = ['europe'];
|
|
63873
|
+
|
|
63412
63874
|
// ── Presets d'intégration ─────────────────────────────────────────────────────
|
|
63413
63875
|
// single → value = nœud complet (ou null) ; multiple/checkbox → tableau d'ids.
|
|
63414
63876
|
var TreeSelectMaquettePresets = {
|
|
@@ -63598,6 +64060,14 @@ var TreeSelectMaquettePresets = {
|
|
|
63598
64060
|
selectionMode: 'single',
|
|
63599
64061
|
label: 'Périmètre concerné',
|
|
63600
64062
|
value: maqNode('paris')
|
|
64063
|
+
},
|
|
64064
|
+
InducedAttachment: {
|
|
64065
|
+
options: perimetresDemo,
|
|
64066
|
+
selectionMode: 'checkbox',
|
|
64067
|
+
label: 'Organisations',
|
|
64068
|
+
value: INDUCED_SEL,
|
|
64069
|
+
induced: true,
|
|
64070
|
+
inducedValue: INDUCED_RULES
|
|
63601
64071
|
}
|
|
63602
64072
|
};
|
|
63603
64073
|
|