arengibook 3.3.1-preprod → 3.3.1-preprodtable
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 +479 -58
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ var MESSAGES = {
|
|
|
13
13
|
fr: {
|
|
14
14
|
'arengibook.common.save': 'Enregistrer',
|
|
15
15
|
'arengibook.common.cancel': 'Annuler',
|
|
16
|
+
'arengibook.common.close': 'Fermer',
|
|
16
17
|
'arengibook.table.toolbar.search': 'Rechercher…',
|
|
17
18
|
'arengibook.table.filter.clearAll': 'Effacer tous les filtres',
|
|
18
19
|
'arengibook.table.selection.onSelection': 'Sur la sélection',
|
|
@@ -36,6 +37,8 @@ var MESSAGES = {
|
|
|
36
37
|
'arengibook.table.settings.fitColumn': 'Ajuster à la largeur du contenu',
|
|
37
38
|
'arengibook.table.settings.hideColumn': 'Masquer cette colonne',
|
|
38
39
|
'arengibook.table.settings.colVisible': 'Afficher',
|
|
40
|
+
'arengibook.table.settings.colAll': 'Tout afficher',
|
|
41
|
+
'arengibook.table.settings.colNone': 'Tout masquer sauf la première',
|
|
39
42
|
'arengibook.table.settings.colFreeze': 'Geler',
|
|
40
43
|
'arengibook.table.settings.searchColumns': 'Chercher une colonne…',
|
|
41
44
|
'arengibook.table.settings.freeze': 'Geler cette colonne à gauche',
|
|
@@ -84,6 +87,7 @@ var MESSAGES = {
|
|
|
84
87
|
en: {
|
|
85
88
|
'arengibook.common.save': 'Save',
|
|
86
89
|
'arengibook.common.cancel': 'Cancel',
|
|
90
|
+
'arengibook.common.close': 'Close',
|
|
87
91
|
'arengibook.table.toolbar.search': 'Search…',
|
|
88
92
|
'arengibook.table.filter.clearAll': 'Clear all filters',
|
|
89
93
|
'arengibook.table.selection.onSelection': 'On the selection',
|
|
@@ -107,6 +111,8 @@ var MESSAGES = {
|
|
|
107
111
|
'arengibook.table.settings.fitColumn': 'Fit to content width',
|
|
108
112
|
'arengibook.table.settings.hideColumn': 'Hide this column',
|
|
109
113
|
'arengibook.table.settings.colVisible': 'Show',
|
|
114
|
+
'arengibook.table.settings.colAll': 'Show all',
|
|
115
|
+
'arengibook.table.settings.colNone': 'Hide all but the first',
|
|
110
116
|
'arengibook.table.settings.colFreeze': 'Freeze',
|
|
111
117
|
'arengibook.table.settings.searchColumns': 'Find a column…',
|
|
112
118
|
'arengibook.table.settings.freeze': 'Freeze this column to the left',
|
|
@@ -155,6 +161,7 @@ var MESSAGES = {
|
|
|
155
161
|
es: {
|
|
156
162
|
'arengibook.common.save': 'Guardar',
|
|
157
163
|
'arengibook.common.cancel': 'Cancelar',
|
|
164
|
+
'arengibook.common.close': 'Cerrar',
|
|
158
165
|
'arengibook.table.toolbar.search': 'Buscar…',
|
|
159
166
|
'arengibook.table.filter.clearAll': 'Borrar todos los filtros',
|
|
160
167
|
'arengibook.table.selection.onSelection': 'Sobre la selección',
|
|
@@ -178,6 +185,8 @@ var MESSAGES = {
|
|
|
178
185
|
'arengibook.table.settings.fitColumn': 'Ajustar al ancho del contenido',
|
|
179
186
|
'arengibook.table.settings.hideColumn': 'Ocultar esta columna',
|
|
180
187
|
'arengibook.table.settings.colVisible': 'Mostrar',
|
|
188
|
+
'arengibook.table.settings.colAll': 'Mostrar todo',
|
|
189
|
+
'arengibook.table.settings.colNone': 'Ocultar todo excepto la primera',
|
|
181
190
|
'arengibook.table.settings.colFreeze': 'Fijar',
|
|
182
191
|
'arengibook.table.settings.searchColumns': 'Buscar una columna…',
|
|
183
192
|
'arengibook.table.settings.freeze': 'Fijar esta columna a la izquierda',
|
|
@@ -226,6 +235,7 @@ var MESSAGES = {
|
|
|
226
235
|
de: {
|
|
227
236
|
'arengibook.common.save': 'Speichern',
|
|
228
237
|
'arengibook.common.cancel': 'Abbrechen',
|
|
238
|
+
'arengibook.common.close': 'Schließen',
|
|
229
239
|
'arengibook.table.toolbar.search': 'Suchen…',
|
|
230
240
|
'arengibook.table.filter.clearAll': 'Alle Filter löschen',
|
|
231
241
|
'arengibook.table.selection.onSelection': 'Für die Auswahl',
|
|
@@ -249,6 +259,8 @@ var MESSAGES = {
|
|
|
249
259
|
'arengibook.table.settings.fitColumn': 'An Inhaltsbreite anpassen',
|
|
250
260
|
'arengibook.table.settings.hideColumn': 'Diese Spalte ausblenden',
|
|
251
261
|
'arengibook.table.settings.colVisible': 'Anzeigen',
|
|
262
|
+
'arengibook.table.settings.colAll': 'Alle anzeigen',
|
|
263
|
+
'arengibook.table.settings.colNone': 'Alle außer der ersten ausblenden',
|
|
252
264
|
'arengibook.table.settings.colFreeze': 'Fixieren',
|
|
253
265
|
'arengibook.table.settings.searchColumns': 'Spalte suchen…',
|
|
254
266
|
'arengibook.table.settings.freeze': 'Diese Spalte links fixieren',
|
|
@@ -48136,7 +48148,7 @@ if (typeof window !== 'undefined') {
|
|
|
48136
48148
|
window.ArengibookToastPresets = ToastPresets;
|
|
48137
48149
|
}
|
|
48138
48150
|
|
|
48139
|
-
var css_248z$3 = "@charset \"UTF-8\";\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes toastSlideIn {\n from {\n opacity: 0;\n transform: translateX(40px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes toastIconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 60% {\n transform: scale(1.2);\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes toastTextSlide {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.p-paginator {\n font-size: 14px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last,\n.p-paginator .p-paginator-pages .p-paginator-page,\n.p-paginator .p-paginator-current,\n.p-paginator .p-dropdown .p-dropdown-label,\n.p-paginator .p-dropdown-item,\n.p-paginator .p-paginator-page-input .p-inputtext {\n font-size: 14px;\n}\n\n.p-datatable .p-datatable-tbody > tr.air-row--selected > td {\n background-color: #f0fdf8 !important;\n}\n\ntable.ab-table {\n 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: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 .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 .limite_txt_table {\n min-width: 0 !important;\n max-width: 100% !important;\n min-height: 0;\n max-height: var(--ab-content-max, none);\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;\n font-size: 14px;\n}\n.ab-table .limite_txt_table p {\n line-height: 17px;\n font-size: 14px;\n margin: 0;\n}\n.ab-table .limite_txt_table p,\n.ab-table .limite_txt_table div,\n.ab-table .limite_txt_table ul,\n.ab-table .limite_txt_table ol,\n.ab-table .limite_txt_table li,\n.ab-table .limite_txt_table blockquote,\n.ab-table .limite_txt_table h1,\n.ab-table .limite_txt_table h2,\n.ab-table .limite_txt_table h3,\n.ab-table .limite_txt_table h4,\n.ab-table .limite_txt_table h5,\n.ab-table .limite_txt_table h6 {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: 14px;\n line-height: 17px;\n}\n.ab-table .limite_txt_table h1,\n.ab-table .limite_txt_table h2,\n.ab-table .limite_txt_table h3,\n.ab-table .limite_txt_table h4,\n.ab-table .limite_txt_table h5,\n.ab-table .limite_txt_table h6,\n.ab-table .limite_txt_table strong,\n.ab-table .limite_txt_table b {\n font-weight: 600;\n}\n.ab-table .limite_txt_table p::after,\n.ab-table .limite_txt_table div::after,\n.ab-table .limite_txt_table blockquote::after,\n.ab-table .limite_txt_table h1::after,\n.ab-table .limite_txt_table h2::after,\n.ab-table .limite_txt_table h3::after,\n.ab-table .limite_txt_table h4::after,\n.ab-table .limite_txt_table h5::after,\n.ab-table .limite_txt_table h6::after {\n content: \" \";\n}\n.ab-table .limite_txt_table 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: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 border-right: 1px solid #e0e3e8;\n}\ntable.ab-table thead th:last-child {\n border-right: 0;\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(.p-filter-column) {\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;\n}\n\ntable.ab-table thead th:nth-child(2) {\n z-index: 838;\n}\n\ntable.ab-table thead th:nth-child(3) {\n z-index: 837;\n}\n\ntable.ab-table thead th:nth-child(4) {\n z-index: 836;\n}\n\ntable.ab-table thead th:nth-child(5) {\n z-index: 835;\n}\n\ntable.ab-table thead th:nth-child(6) {\n z-index: 834;\n}\n\ntable.ab-table thead th:nth-child(7) {\n z-index: 833;\n}\n\ntable.ab-table thead th:nth-child(8) {\n z-index: 832;\n}\n\ntable.ab-table thead th:nth-child(9) {\n z-index: 831;\n}\n\ntable.ab-table thead th:nth-child(10) {\n z-index: 830;\n}\n\ntable.ab-table thead th:nth-child(11) {\n z-index: 829;\n}\n\ntable.ab-table thead th:nth-child(12) {\n z-index: 828;\n}\n\ntable.ab-table thead th:nth-child(13) {\n z-index: 827;\n}\n\ntable.ab-table thead th:nth-child(14) {\n z-index: 826;\n}\n\ntable.ab-table thead th:nth-child(15) {\n z-index: 825;\n}\n\ntable.ab-table thead th:nth-child(16) {\n z-index: 824;\n}\n\ntable.ab-table thead th:nth-child(17) {\n z-index: 823;\n}\n\ntable.ab-table thead th:nth-child(18) {\n z-index: 822;\n}\n\ntable.ab-table thead th:nth-child(19) {\n z-index: 821;\n}\n\ntable.ab-table thead th:nth-child(20) {\n z-index: 820;\n}\n\ntable.ab-table thead th:nth-child(21) {\n z-index: 819;\n}\n\ntable.ab-table thead th:nth-child(22) {\n z-index: 818;\n}\n\ntable.ab-table thead th:nth-child(23) {\n z-index: 817;\n}\n\ntable.ab-table thead th:nth-child(24) {\n z-index: 816;\n}\n\ntable.ab-table thead th:nth-child(25) {\n z-index: 815;\n}\n\ntable.ab-table thead th:nth-child(26) {\n z-index: 814;\n}\n\ntable.ab-table thead th:nth-child(27) {\n z-index: 813;\n}\n\ntable.ab-table thead th:nth-child(28) {\n z-index: 812;\n}\n\ntable.ab-table thead th:nth-child(29) {\n z-index: 811;\n}\n\ntable.ab-table thead th:nth-child(30) {\n z-index: 810;\n}\n\ntable.ab-table thead th:nth-child(31) {\n z-index: 809;\n}\n\ntable.ab-table thead th:nth-child(32) {\n z-index: 808;\n}\n\ntable.ab-table thead th:nth-child(33) {\n z-index: 807;\n}\n\ntable.ab-table thead th:nth-child(34) {\n z-index: 806;\n}\n\ntable.ab-table thead th:nth-child(35) {\n z-index: 805;\n}\n\ntable.ab-table thead th:nth-child(36) {\n z-index: 804;\n}\n\ntable.ab-table thead th:nth-child(37) {\n z-index: 803;\n}\n\ntable.ab-table thead th:nth-child(38) {\n z-index: 802;\n}\n\ntable.ab-table thead th:nth-child(39) {\n z-index: 801;\n}\n\ntable.ab-table thead th:nth-child(40) {\n z-index: 800;\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: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: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-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-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__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 flex: 1 1 auto;\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 8px;\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__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 .limite_txt_table,\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}";
|
|
48151
|
+
var css_248z$3 = "@charset \"UTF-8\";\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes toastSlideIn {\n from {\n opacity: 0;\n transform: translateX(40px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes toastIconPop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 60% {\n transform: scale(1.2);\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes toastTextSlide {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.p-paginator {\n font-size: 14px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last,\n.p-paginator .p-paginator-pages .p-paginator-page,\n.p-paginator .p-paginator-current,\n.p-paginator .p-dropdown .p-dropdown-label,\n.p-paginator .p-dropdown-item,\n.p-paginator .p-paginator-page-input .p-inputtext {\n font-size: 14px;\n}\n\n.p-datatable .p-datatable-tbody > tr.air-row--selected > td {\n background-color: #f0fdf8 !important;\n}\n\ntable.ab-table {\n background-color: #ffffff;\n font-family: \"Roboto\", sans-serif;\n table-layout: fixed;\n}\ntable.ab-table thead {\n border: 1px solid #e0e3e8;\n}\ntable.ab-table thead th {\n position: sticky;\n top: 0;\n z-index: 800;\n background-color: #e8eaee;\n border-bottom: 1px solid #e0e3e8;\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 14px;\n}\ntable.ab-table tbody tr {\n background-color: transparent;\n}\n\n.ab-table td {\n overflow: hidden;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: left;\n border-right: 1px solid #e8eaee;\n border-bottom: 1px solid #e8eaee;\n}\n\n.ab-table .cell-text {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column {\n z-index: 1;\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr:has(> td.ab-td--editable):hover > td.p-frozen-column {\n background: #f4f5f6 !important;\n}\n\ntable.ab-table thead th.p-frozen-column:not(.row-actions-cell) {\n background: #fff !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column.row-actions-cell,\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column.row-actions-cell {\n background: #ffffff !important;\n box-shadow: none !important;\n padding: 0 !important;\n border-right: 1px solid #e8eaee !important;\n}\n\n.p-datatable .p-datatable-thead > tr > th.row-actions-cell {\n background: #e8eaee !important;\n border: none !important;\n border-right: 1px solid #e0e3e8 !important;\n box-shadow: none !important;\n padding: 0 !important;\n}\n\ntable.ab-table td input.p-inputtext {\n box-sizing: border-box;\n min-height: 26px;\n padding: 0 8px;\n border: 1px solid #e0e3e8;\n border-radius: 3px;\n background: #ffffff;\n box-shadow: none;\n font-family: inherit;\n font-size: 13px;\n font-weight: 300;\n}\ntable.ab-table td input.p-inputtext:enabled:hover {\n border-color: #c8cdd6;\n}\ntable.ab-table td input.p-inputtext:enabled:focus {\n border-color: #3f3f3f;\n box-shadow: none;\n outline: none;\n}\n\n.ab-table .p-cell-editing input,\n.ab-table .p-cell-editing .p-inputtext,\n.ab-table .p-cell-editing .p-dropdown,\n.ab-table .p-cell-editing .p-multiselect,\n.ab-table .p-cell-editing .p-calendar {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.ab-table .cell-devise {\n display: flex;\n flex-direction: column;\n gap: 1.4px;\n font-size: 12.25px;\n}\n.ab-table .cell-devise--editable {\n cursor: pointer;\n}\n.ab-table .cell-devise--empty {\n display: block;\n width: 100%;\n height: 21px;\n cursor: pointer;\n}\n.ab-table .cell-devise .span-sub {\n font-size: 10.5px;\n color: #71717a;\n}\n\n.ab-table .devise-editor {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n padding: 3.5px 0;\n}\n.ab-table .devise-editor-fields {\n display: flex;\n flex-direction: column;\n gap: 5.6px;\n width: 100%;\n position: relative;\n}\n.ab-table .devise-editor-fields .p-dropdown-panel {\n position: absolute;\n z-index: 1000;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.ab-table .devise-editor-save {\n align-self: flex-end;\n}\n\n.ab-table .p-cell-editing .devise-editor-fields input,\n.ab-table .p-cell-editing .devise-editor-fields .p-inputtext,\n.ab-table .p-cell-editing .devise-editor-fields .p-dropdown {\n width: 100%;\n min-width: 0;\n}\n\n.ab-table .select-editor .p-dropdown-label > div {\n min-width: 0;\n}\n.ab-table .select-editor .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 .limite_txt_table {\n min-width: 0 !important;\n max-width: 100% !important;\n min-height: 0;\n max-height: var(--ab-content-max, none);\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;\n font-size: 14px;\n}\n.ab-table .limite_txt_table p {\n line-height: 17px;\n font-size: 14px;\n margin: 0;\n}\n.ab-table .limite_txt_table p,\n.ab-table .limite_txt_table div,\n.ab-table .limite_txt_table ul,\n.ab-table .limite_txt_table ol,\n.ab-table .limite_txt_table li,\n.ab-table .limite_txt_table blockquote,\n.ab-table .limite_txt_table h1,\n.ab-table .limite_txt_table h2,\n.ab-table .limite_txt_table h3,\n.ab-table .limite_txt_table h4,\n.ab-table .limite_txt_table h5,\n.ab-table .limite_txt_table h6 {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: 14px;\n line-height: 17px;\n}\n.ab-table .limite_txt_table h1,\n.ab-table .limite_txt_table h2,\n.ab-table .limite_txt_table h3,\n.ab-table .limite_txt_table h4,\n.ab-table .limite_txt_table h5,\n.ab-table .limite_txt_table h6,\n.ab-table .limite_txt_table strong,\n.ab-table .limite_txt_table b {\n font-weight: 600;\n}\n.ab-table .limite_txt_table p::after,\n.ab-table .limite_txt_table div::after,\n.ab-table .limite_txt_table blockquote::after,\n.ab-table .limite_txt_table h1::after,\n.ab-table .limite_txt_table h2::after,\n.ab-table .limite_txt_table h3::after,\n.ab-table .limite_txt_table h4::after,\n.ab-table .limite_txt_table h5::after,\n.ab-table .limite_txt_table h6::after {\n content: \" \";\n}\n.ab-table .limite_txt_table 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 flex: 1 1 auto;\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 .limite_txt_table,\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\ntable.ab-table thead th.ab-th--editable .ab-th__label::before,\ntable.ab-table thead th.ab-th--lecture .ab-th__label::before {\n font-family: \"Material Icons\";\n font-weight: 400;\n font-style: normal;\n font-size: 15px;\n line-height: 1;\n font-feature-settings: \"liga\";\n -webkit-font-feature-settings: \"liga\";\n text-transform: none;\n letter-spacing: normal;\n vertical-align: -3px;\n margin-right: 5px;\n flex: none;\n}\n\ntable.ab-table thead th.ab-th--editable .ab-th__label::before {\n content: \"edit\"/\"\";\n color: #1a1e26;\n}\n\ntable.ab-table thead th.ab-th--lecture .ab-th__label::before {\n content: \"lock\"/\"\";\n color: #6b7280;\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\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}";
|
|
48140
48152
|
styleInject(css_248z$3);
|
|
48141
48153
|
|
|
48142
48154
|
// src/components/react/Table/Table.tokens.js
|
|
@@ -56951,27 +56963,80 @@ var SelfEditableCell = function SelfEditableCell(_ref14) {
|
|
|
56951
56963
|
useSingleOpenCellEditor(editing && !isRowEditing, function () {
|
|
56952
56964
|
if (col.type === 'date' || col.type === 'html') setEditing(false);else commit(localValueRef.current);
|
|
56953
56965
|
});
|
|
56966
|
+
|
|
56967
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
56968
|
+
// LE DECLENCHEUR EST LA CELLULE, PAS SON CONTENU
|
|
56969
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
56970
|
+
// `mouseenter` et `click` vivaient sur le div d'affichage ci-dessous. Or ce div
|
|
56971
|
+
// ne mesure que la hauteur de son CONTENU — 40px dans une cellule de 57 —
|
|
56972
|
+
// pendant que le fond gris est porte par le <td>, qui couvre tout. Il restait
|
|
56973
|
+
// donc une bande morte de 8px en haut et 9px en bas, exactement le padding de
|
|
56974
|
+
// la cellule (mesure du 08/09/2026) : on entrait dans la cellule, elle grisait,
|
|
56975
|
+
// et l'editeur ne montait qu'apres quelques pixels de plus. D'ou la saccade.
|
|
56976
|
+
// Sur les natures qui s'editent au CLIC, le meme ecart faisait pire : un clic
|
|
56977
|
+
// dans ces 8px ne declenchait rien.
|
|
56978
|
+
//
|
|
56979
|
+
// La voie CSS a ete essayee et refusee : agrandir la boite du div (marge
|
|
56980
|
+
// negative + padding) couvrait bien la cellule, mais faisait grandir la ligne
|
|
56981
|
+
// de 3px sans que les valeurs mesurees l'expliquent.
|
|
56982
|
+
//
|
|
56983
|
+
// Le <td> appartient a PrimeReact : on ne peut pas lui passer de props, mais
|
|
56984
|
+
// rien n'interdit d'y poser des ecouteurs NATIFS, du moment qu'on les retire au
|
|
56985
|
+
// demontage. La cellule est retenue une fois pour toutes dans `celluleRef` :
|
|
56986
|
+
// selon l'etat, l'ancre disponible est le div d'affichage ou `containerRef`, et
|
|
56987
|
+
// aucun des deux n'est monte en permanence.
|
|
56988
|
+
var ancreRef = useRef(null);
|
|
56989
|
+
var celluleRef = useRef(null);
|
|
56990
|
+
useEffect(function () {
|
|
56991
|
+
// ⚠️ SEULEMENT quand le div d'affichage est a l'ecran. C'est la condition
|
|
56992
|
+
// d'origine, et elle n'etait pas explicite : les deux ecouteurs vivaient DANS
|
|
56993
|
+
// la branche `!editing && !monteMaintenant`, donc ils n'existaient tout
|
|
56994
|
+
// simplement pas des que l'editeur etait monte. Sans cette garde, un clic sur
|
|
56995
|
+
// un select deja monte tirait `setEditing` en plus du gestionnaire de
|
|
56996
|
+
// PrimeReact, et le panneau ne se deroulait plus — mesure du 08/09/2026.
|
|
56997
|
+
if (editing || monteMaintenant) return undefined;
|
|
56998
|
+
if (!celluleRef.current) {
|
|
56999
|
+
var ancre = ancreRef.current || containerRef.current;
|
|
57000
|
+
celluleRef.current = ancre ? ancre.closest('td') : null;
|
|
57001
|
+
}
|
|
57002
|
+
var cellule = celluleRef.current;
|
|
57003
|
+
if (!cellule) return undefined;
|
|
57004
|
+
var entrer = function entrer() {
|
|
57005
|
+
if (toujoursMonte) setSurvole(true);
|
|
57006
|
+
};
|
|
57007
|
+
var cliquer = function cliquer(e) {
|
|
57008
|
+
if (!editable) return;
|
|
57009
|
+
// Meme garde qu'avant : un clic sur un bouton fantome de la cellule lui
|
|
57010
|
+
// appartient, il n'ouvre pas l'editeur.
|
|
57011
|
+
if (e.target && e.target.closest && e.target.closest('.ghost-btnBox')) return;
|
|
57012
|
+
committedRef.current = false;
|
|
57013
|
+
daySelectedRef.current = false;
|
|
57014
|
+
setEditing(true);
|
|
57015
|
+
};
|
|
57016
|
+
cellule.addEventListener('mouseenter', entrer);
|
|
57017
|
+
cellule.addEventListener('click', cliquer);
|
|
57018
|
+
return function () {
|
|
57019
|
+
cellule.removeEventListener('mouseenter', entrer);
|
|
57020
|
+
cellule.removeEventListener('click', cliquer);
|
|
57021
|
+
};
|
|
57022
|
+
}, [editable, toujoursMonte, editing, monteMaintenant]);
|
|
56954
57023
|
if (!editing && !monteMaintenant) {
|
|
56955
57024
|
var _rowData$col$field;
|
|
56956
57025
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
56957
57026
|
// Focalisable UNIQUEMENT pour les natures montees au survol : sans ca la
|
|
56958
57027
|
// cellule serait un cul-de-sac au clavier, l'editeur n'existant pas tant
|
|
56959
57028
|
// qu'on ne l'a pas survole a la souris.
|
|
56960
|
-
tabIndex: toujoursMonte ? 0 : undefined
|
|
57029
|
+
tabIndex: toujoursMonte ? 0 : undefined
|
|
57030
|
+
// `onFocus` reste ici : le clavier vise un element focalisable, pas
|
|
57031
|
+
// une cellule. `onMouseEnter` et `onClick` sont partis sur le <td>
|
|
57032
|
+
// (voir le bloc « LE DECLENCHEUR EST LA CELLULE » plus haut) —
|
|
57033
|
+
// les laisser ici les aurait fait tirer deux fois.
|
|
57034
|
+
,
|
|
56961
57035
|
onFocus: toujoursMonte ? function () {
|
|
56962
57036
|
montePourClavierRef.current = true;
|
|
56963
57037
|
setSurvole(true);
|
|
56964
57038
|
} : undefined,
|
|
56965
|
-
|
|
56966
|
-
return setSurvole(true);
|
|
56967
|
-
} : undefined,
|
|
56968
|
-
onClick: function onClick(e) {
|
|
56969
|
-
if (editable && !e.target.closest('.ghost-btnBox')) {
|
|
56970
|
-
committedRef.current = false;
|
|
56971
|
-
daySelectedRef.current = false;
|
|
56972
|
-
setEditing(true);
|
|
56973
|
-
}
|
|
56974
|
-
}
|
|
57039
|
+
ref: ancreRef
|
|
56975
57040
|
// `flex-start` : regle globale du Tableau, tout est aligne a gauche.
|
|
56976
57041
|
// Les colonnes d'icones gardent leur centrage, pose au niveau de la
|
|
56977
57042
|
// colonne. Cf. l'idee de reglage utilisateur dans TODO_DESIGN.md.
|
|
@@ -57357,6 +57422,23 @@ var DocumentBodyCell = function DocumentBodyCell(_ref15) {
|
|
|
57357
57422
|
}, doc.name));
|
|
57358
57423
|
})));
|
|
57359
57424
|
};
|
|
57425
|
+
|
|
57426
|
+
// ─── Ce que fait une action declaree ──────────────────────────────────────────
|
|
57427
|
+
//
|
|
57428
|
+
// Une action de la barre d'outils se DECLARE en JSON (`{ key, icon, label }`),
|
|
57429
|
+
// donc elle traverse `data-props` depuis Twig. Ce qu'elle FAIT est une fonction,
|
|
57430
|
+
// et une fonction ne se serialise pas. `handler: 'app.table.exporter'` est le
|
|
57431
|
+
// pont entre les deux : le nom d'une fonction globale, resolue au clic.
|
|
57432
|
+
//
|
|
57433
|
+
// Resolution au clic et non au montage : l'app enregistre souvent ses fonctions
|
|
57434
|
+
// apres le rendu du tableau (fin de page, module charge en differe).
|
|
57435
|
+
var resolveGlobalHandler = function resolveGlobalHandler(chemin) {
|
|
57436
|
+
if (typeof chemin !== 'string' || !chemin || typeof window === 'undefined') return null;
|
|
57437
|
+
var fn = chemin.split('.').reduce(function (obj, segment) {
|
|
57438
|
+
return obj == null ? obj : obj[segment];
|
|
57439
|
+
}, window);
|
|
57440
|
+
return typeof fn === 'function' ? fn : null;
|
|
57441
|
+
};
|
|
57360
57442
|
var Table$1 = function Table(_ref16) {
|
|
57361
57443
|
var _ref16$value = _ref16.value,
|
|
57362
57444
|
value = _ref16$value === void 0 ? [] : _ref16$value,
|
|
@@ -57416,9 +57498,11 @@ var Table$1 = function Table(_ref16) {
|
|
|
57416
57498
|
_ref16$selectionActio = _ref16.selectionActions,
|
|
57417
57499
|
selectionActions = _ref16$selectionActio === void 0 ? [] : _ref16$selectionActio,
|
|
57418
57500
|
onSelectionAction = _ref16.onSelectionAction,
|
|
57501
|
+
selectionActionHandlers = _ref16.selectionActionHandlers,
|
|
57419
57502
|
_ref16$toolbarActions = _ref16.toolbarActions,
|
|
57420
57503
|
toolbarActions = _ref16$toolbarActions === void 0 ? [] : _ref16$toolbarActions,
|
|
57421
57504
|
onToolbarAction = _ref16.onToolbarAction,
|
|
57505
|
+
toolbarActionHandlers = _ref16.toolbarActionHandlers,
|
|
57422
57506
|
_ref16$selectionFilte = _ref16.selectionFilter,
|
|
57423
57507
|
selectionFilter = _ref16$selectionFilte === void 0 ? false : _ref16$selectionFilte,
|
|
57424
57508
|
onButtonClick = _ref16.onButtonClick,
|
|
@@ -59316,11 +59400,19 @@ var Table$1 = function Table(_ref16) {
|
|
|
59316
59400
|
value: (_options$value3 = options.value) !== null && _options$value3 !== void 0 ? _options$value3 : '',
|
|
59317
59401
|
onChange: function onChange(e) {
|
|
59318
59402
|
return options.filterApplyCallback(e.target.value || null);
|
|
59319
|
-
}
|
|
59403
|
+
}
|
|
59404
|
+
// Le `padding: 2px 4px` qui vivait ici a ete retire : il donnait a ce
|
|
59405
|
+
// champ une hauteur de 25,5px quand les autres en faisaient 40 ou 45,5,
|
|
59406
|
+
// soit trois epaisseurs dans la meme rangee. L'etroitesse de la colonne
|
|
59407
|
+
// est desormais traitee dans Table.scss, en HORIZONTAL uniquement — via
|
|
59408
|
+
// cette classe, qui est le seul point d'accroche possible : la colonne
|
|
59409
|
+
// `index` n'est pas la premiere de la rangee (les coches et les actions
|
|
59410
|
+
// la precedent), donc aucun selecteur positionnel ne la designe.
|
|
59411
|
+
,
|
|
59412
|
+
className: "ab-filtre-compact",
|
|
59320
59413
|
style: {
|
|
59321
59414
|
width: '100%',
|
|
59322
59415
|
minWidth: 0,
|
|
59323
|
-
padding: '2px 4px',
|
|
59324
59416
|
textAlign: 'center'
|
|
59325
59417
|
}
|
|
59326
59418
|
});
|
|
@@ -60474,6 +60566,29 @@ var Table$1 = function Table(_ref16) {
|
|
|
60474
60566
|
var colonneEditable = useCallback(function (col) {
|
|
60475
60567
|
return lockable ? effectiveEditable && col.editable === true : effectiveEditable ? col.editable !== false : col.editable === true;
|
|
60476
60568
|
}, [lockable, effectiveEditable]);
|
|
60569
|
+
|
|
60570
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
60571
|
+
// « LE TABLEAU EST-IL EN EDITION ? » — et surtout PAS `effectiveEditable`
|
|
60572
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
60573
|
+
// Une colonne peut se declarer editable A ELLE SEULE : hors `lockable`,
|
|
60574
|
+
// `colonneEditable` ci-dessus retourne `col.editable === true` des que la prop
|
|
60575
|
+
// `editable` du tableau est fausse. Une colonne opte donc pour l'edition
|
|
60576
|
+
// independamment du tableau, et c'est le contrat voulu.
|
|
60577
|
+
//
|
|
60578
|
+
// Consequence : `effectiveEditable` NE DIT PAS si le tableau est en edition.
|
|
60579
|
+
// Constate le 08/09/2026 sur la story « Tous les types » — `editable: false`
|
|
60580
|
+
// passe en argument d'URL, et pourtant SOIXANTE cellules editables, parce que
|
|
60581
|
+
// les colonnes du preset se declarent elles-memes.
|
|
60582
|
+
//
|
|
60583
|
+
// C'est aussi, mot pour mot, la condition que le CSS lit avec
|
|
60584
|
+
// `:has(td.ab-td--editable)` pour hachurer les colonnes en lecture. Les deux
|
|
60585
|
+
// doivent dire la meme chose : quand elles divergeaient, le tableau affichait
|
|
60586
|
+
// des colonnes hachurees sous des en-tetes muets.
|
|
60587
|
+
var tableauEnEdition = useMemo(function () {
|
|
60588
|
+
return visibleColumns.some(function (c) {
|
|
60589
|
+
return colonneEditable(c);
|
|
60590
|
+
});
|
|
60591
|
+
}, [visibleColumns, colonneEditable]);
|
|
60477
60592
|
var autoWidthsWritten = useRef(false);
|
|
60478
60593
|
useLayoutEffect(function () {
|
|
60479
60594
|
var _visibleColumns;
|
|
@@ -60562,6 +60677,50 @@ var Table$1 = function Table(_ref16) {
|
|
|
60562
60677
|
// Ce sont aussi les deux seuls boutons CONDITIONNELS (ils apparaissent selon le
|
|
60563
60678
|
// tri et les filtres) : dans la barre, leur va-et-vient decalait la position de
|
|
60564
60679
|
// tous leurs voisins et on cliquait a cote.
|
|
60680
|
+
// ── Le contexte remis a une action ──────────────────────────────────────────
|
|
60681
|
+
// Une action metier a besoin des donnees pour agir : exporter demande les
|
|
60682
|
+
// lignes affichees, une action de masse demande les lignes cochees. Sans ce
|
|
60683
|
+
// contexte, l'app devrait tenir en double un etat que le tableau possede deja
|
|
60684
|
+
// (tri, filtres, selection) — et il divergerait.
|
|
60685
|
+
var buildActionContext = useCallback(function (key) {
|
|
60686
|
+
return {
|
|
60687
|
+
key: key,
|
|
60688
|
+
rows: data,
|
|
60689
|
+
// toutes les lignes connues du tableau
|
|
60690
|
+
// ATTENTION — `visibleRows` n'est PAS la vue finale a l'ecran. C'est le
|
|
60691
|
+
// jeu de lignes REMIS au DataTable : seul le filtre de picking (Tous /
|
|
60692
|
+
// Coches / Non coches) y est applique. Le tri, les filtres colonnes et la
|
|
60693
|
+
// recherche globale sont ensuite appliques PAR PrimeReact, en interne, et
|
|
60694
|
+
// n'apparaissent pas ici. Sans `selectionFilter`, visibleRows === rows.
|
|
60695
|
+
// Une action qui veut « ce que je vois » doit refiltrer de son cote.
|
|
60696
|
+
visibleRows: displayData,
|
|
60697
|
+
selectedRows: data.filter(function (r) {
|
|
60698
|
+
return r._selected;
|
|
60699
|
+
}),
|
|
60700
|
+
// lignes cochees
|
|
60701
|
+
columns: visibleColumns,
|
|
60702
|
+
// colonnes affichees, dans leur ordre
|
|
60703
|
+
tableId: tableId,
|
|
60704
|
+
close: function close() {
|
|
60705
|
+
return setMenuOpen(false);
|
|
60706
|
+
} // refermer le menu depuis l'action
|
|
60707
|
+
};
|
|
60708
|
+
}, [data, displayData, visibleColumns, tableId]);
|
|
60709
|
+
|
|
60710
|
+
// Ordre de resolution : onClick de l'action → table { cle: fonction } →
|
|
60711
|
+
// fonction globale nommee par `handler` → filet historique. Le premier qui
|
|
60712
|
+
// repond gagne ; aucun ne repond = avertissement, jamais un clic mort et muet.
|
|
60713
|
+
var runDeclaredAction = useCallback(function (action, handlers, fallback, nomDeLaTable) {
|
|
60714
|
+
var ctx = buildActionContext(action.key);
|
|
60715
|
+
if (typeof action.onClick === 'function') return action.onClick(ctx);
|
|
60716
|
+
var mappe = handlers === null || handlers === void 0 ? void 0 : handlers[action.key];
|
|
60717
|
+
if (typeof mappe === 'function') return mappe(ctx);
|
|
60718
|
+
var global = resolveGlobalHandler(action.handler);
|
|
60719
|
+
if (global) return global(ctx);
|
|
60720
|
+
if (typeof fallback === 'function') return fallback(ctx);
|
|
60721
|
+
console.warn("[arengibook/Table] L'action \xAB ".concat(action.key, " \xBB est declaree mais rien ne l'execute. ") + "Fournir soit action.onClick, soit ".concat(nomDeLaTable, "['").concat(action.key, "'], ") + "soit action.handler: 'nomDeLaFonctionGlobale'.");
|
|
60722
|
+
return undefined;
|
|
60723
|
+
}, [buildActionContext]);
|
|
60565
60724
|
var actionsSecondaires = [].concat(_toConsumableArray$8(toolbarActions.map(function (a) {
|
|
60566
60725
|
var _a$title;
|
|
60567
60726
|
return {
|
|
@@ -60572,7 +60731,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
60572
60731
|
disabled: !!a.disabled,
|
|
60573
60732
|
danger: !!a.danger,
|
|
60574
60733
|
action: function action() {
|
|
60575
|
-
return
|
|
60734
|
+
return runDeclaredAction(a, toolbarActionHandlers, onToolbarAction ? function (ctx) {
|
|
60735
|
+
return onToolbarAction(a.key, ctx);
|
|
60736
|
+
} : null, 'toolbarActionHandlers');
|
|
60576
60737
|
}
|
|
60577
60738
|
};
|
|
60578
60739
|
})), [typeof onReorderClick === 'function' ? function () {
|
|
@@ -60716,6 +60877,48 @@ var Table$1 = function Table(_ref16) {
|
|
|
60716
60877
|
if (!suivant.length) return;
|
|
60717
60878
|
onColumnToggle(suivant);
|
|
60718
60879
|
};
|
|
60880
|
+
|
|
60881
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
60882
|
+
// Tout afficher / tout masquer, sur la liste TELLE QU'ELLE EST AFFICHEE
|
|
60883
|
+
//
|
|
60884
|
+
// La bascule porte sur `colonnesListees`, donc sur le resultat de la recherche
|
|
60885
|
+
// et pas sur les dizaines de colonnes du tableau : chercher « date » puis tout
|
|
60886
|
+
// cocher doit cocher les colonnes de date, pas les autres. C'est la lecture la
|
|
60887
|
+
// moins surprenante, et la seule qui rende la recherche utile.
|
|
60888
|
+
//
|
|
60889
|
+
// Trois etats, comme la case de selection des lignes (meme composant
|
|
60890
|
+
// `CaseACocher`) : rien de coche, une partie, tout.
|
|
60891
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
60892
|
+
var champsListes = colonnesListees.map(function (c) {
|
|
60893
|
+
return c.field;
|
|
60894
|
+
});
|
|
60895
|
+
var nbListeesVisibles = champsListes.filter(function (f) {
|
|
60896
|
+
return visibleColumns.some(function (c) {
|
|
60897
|
+
return c.field === f;
|
|
60898
|
+
});
|
|
60899
|
+
}).length;
|
|
60900
|
+
var etatColonnesListees = nbListeesVisibles === 0 ? 'aucune' : nbListeesVisibles === champsListes.length ? 'toutes' : 'partielle';
|
|
60901
|
+
var basculerToutesLesColonnes = function basculerToutesLesColonnes() {
|
|
60902
|
+
var visibles = visibleColumns.map(function (c) {
|
|
60903
|
+
return c.field;
|
|
60904
|
+
});
|
|
60905
|
+
if (etatColonnesListees === 'toutes') {
|
|
60906
|
+
var _colonnesReglables$;
|
|
60907
|
+
// ⚠️ Un tableau sans aucune colonne ne se rend pas — `basculerColonne`
|
|
60908
|
+
// refuse deja de masquer la derniere. On garde donc la PREMIERE de
|
|
60909
|
+
// l'ordre du tableau : c'est celle qui porte le numero ou l'intitule,
|
|
60910
|
+
// donc la seule dont l'absence rendrait les lignes anonymes.
|
|
60911
|
+
var restant = visibles.filter(function (f) {
|
|
60912
|
+
return !champsListes.includes(f);
|
|
60913
|
+
});
|
|
60914
|
+
var suivant = restant.length ? restant : [(_colonnesReglables$ = colonnesReglables[0]) === null || _colonnesReglables$ === void 0 ? void 0 : _colonnesReglables$.field].filter(Boolean);
|
|
60915
|
+
if (!suivant.length) return;
|
|
60916
|
+
onColumnToggle(suivant);
|
|
60917
|
+
return;
|
|
60918
|
+
}
|
|
60919
|
+
// Rien ou une partie : on affiche tout ce qui est liste, sans toucher au reste.
|
|
60920
|
+
onColumnToggle(_toConsumableArray$8(new Set([].concat(_toConsumableArray$8(visibles), _toConsumableArray$8(champsListes)))));
|
|
60921
|
+
};
|
|
60719
60922
|
var header = /*#__PURE__*/React__default.createElement("div", {
|
|
60720
60923
|
className: "ab-toolbar"
|
|
60721
60924
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -60789,36 +60992,36 @@ var Table$1 = function Table(_ref16) {
|
|
|
60789
60992
|
className: "ab-menu"
|
|
60790
60993
|
}, rowSelection && nbSelectionnees > 0 && selectionActions.length > 0 && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
60791
60994
|
className: "ab-menu__titre"
|
|
60792
|
-
}, translate('arengibook.table.selection.onSelection', labels), ' · ', nbSelectionnees), selectionActions.map(function (
|
|
60793
|
-
var key = _ref39.key,
|
|
60794
|
-
icon = _ref39.icon,
|
|
60795
|
-
label = _ref39.label,
|
|
60796
|
-
danger = _ref39.danger;
|
|
60995
|
+
}, translate('arengibook.table.selection.onSelection', labels), ' · ', nbSelectionnees), selectionActions.map(function (a) {
|
|
60797
60996
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
60798
|
-
key: "sel-".concat(key),
|
|
60997
|
+
key: "sel-".concat(a.key),
|
|
60799
60998
|
type: "button",
|
|
60800
|
-
className: "ab-menu__item".concat(danger ? ' ab-menu__item--danger' : ''),
|
|
60999
|
+
className: "ab-menu__item".concat(a.danger ? ' ab-menu__item--danger' : ''),
|
|
60801
61000
|
onClick: function onClick() {
|
|
60802
61001
|
setMenuOpen(false);
|
|
60803
|
-
|
|
60804
|
-
|
|
60805
|
-
|
|
60806
|
-
|
|
60807
|
-
|
|
61002
|
+
// Meme resolution que pour la barre d'outils : l'app
|
|
61003
|
+
// decide de ce que fait CHAQUE action, pas le composant.
|
|
61004
|
+
// `onSelectionAction(lignes, cle)` garde sa signature
|
|
61005
|
+
// historique en dernier recours.
|
|
61006
|
+
runDeclaredAction(a, selectionActionHandlers, onSelectionAction ? function (ctx) {
|
|
61007
|
+
return onSelectionAction(ctx.selectedRows, a.key, ctx);
|
|
61008
|
+
} : null, 'selectionActionHandlers');
|
|
61009
|
+
}
|
|
61010
|
+
}, a.icon && /*#__PURE__*/React__default.createElement("span", {
|
|
60808
61011
|
className: "material-icons"
|
|
60809
|
-
}, icon), label);
|
|
61012
|
+
}, a.icon), a.label);
|
|
60810
61013
|
}), actionsSecondaires.length > 0 && /*#__PURE__*/React__default.createElement("div", {
|
|
60811
61014
|
className: "ab-menu__filet"
|
|
60812
61015
|
})), actionsSecondaires.length > 0 && /*#__PURE__*/React__default.createElement("div", {
|
|
60813
61016
|
className: "ab-menu__titre"
|
|
60814
|
-
}, translate('arengibook.table.selection.onTable', labels)), actionsSecondaires.map(function (
|
|
60815
|
-
var key =
|
|
60816
|
-
icon =
|
|
60817
|
-
label =
|
|
60818
|
-
title =
|
|
60819
|
-
disabled =
|
|
60820
|
-
danger =
|
|
60821
|
-
action =
|
|
61017
|
+
}, translate('arengibook.table.selection.onTable', labels)), actionsSecondaires.map(function (_ref39) {
|
|
61018
|
+
var key = _ref39.key,
|
|
61019
|
+
icon = _ref39.icon,
|
|
61020
|
+
label = _ref39.label,
|
|
61021
|
+
title = _ref39.title,
|
|
61022
|
+
disabled = _ref39.disabled,
|
|
61023
|
+
danger = _ref39.danger,
|
|
61024
|
+
action = _ref39.action;
|
|
60822
61025
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
60823
61026
|
key: key,
|
|
60824
61027
|
type: "button",
|
|
@@ -60859,7 +61062,17 @@ var Table$1 = function Table(_ref16) {
|
|
|
60859
61062
|
className: "ab-brain__head"
|
|
60860
61063
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
60861
61064
|
className: "material-icons"
|
|
60862
|
-
}, "tune"), translate('arengibook.table.toolbar.settingsPanel', labels)
|
|
61065
|
+
}, "tune"), translate('arengibook.table.toolbar.settingsPanel', labels), /*#__PURE__*/React__default.createElement("button", {
|
|
61066
|
+
type: "button",
|
|
61067
|
+
className: "ab-brain__close",
|
|
61068
|
+
onClick: function onClick() {
|
|
61069
|
+
return setSettingsOpen(false);
|
|
61070
|
+
},
|
|
61071
|
+
title: translate('arengibook.common.close', labels),
|
|
61072
|
+
"aria-label": translate('arengibook.common.close', labels)
|
|
61073
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
|
61074
|
+
className: "material-icons"
|
|
61075
|
+
}, "close"))), /*#__PURE__*/React__default.createElement("div", {
|
|
60863
61076
|
className: "ab-brain__corps"
|
|
60864
61077
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
60865
61078
|
className: "ab-brain__sec ab-brain__sec--cols"
|
|
@@ -60901,7 +61114,13 @@ var Table$1 = function Table(_ref16) {
|
|
|
60901
61114
|
className: "material-icons"
|
|
60902
61115
|
}, "close"))), /*#__PURE__*/React__default.createElement("div", {
|
|
60903
61116
|
className: "ab-brain__cols-legende"
|
|
60904
|
-
}, /*#__PURE__*/React__default.createElement("span",
|
|
61117
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
|
61118
|
+
className: "ab-brain__cols-legende__gauche"
|
|
61119
|
+
}, /*#__PURE__*/React__default.createElement(CaseACocher, {
|
|
61120
|
+
etat: etatColonnesListees,
|
|
61121
|
+
onClick: basculerToutesLesColonnes,
|
|
61122
|
+
titre: etatColonnesListees === 'toutes' ? translate('arengibook.table.settings.colNone', labels) : translate('arengibook.table.settings.colAll', labels)
|
|
61123
|
+
}), translate('arengibook.table.settings.colVisible', labels)), /*#__PURE__*/React__default.createElement("span", null, translate('arengibook.table.settings.colFreeze', labels))), /*#__PURE__*/React__default.createElement("div", {
|
|
60905
61124
|
className: "ab-brain__cols"
|
|
60906
61125
|
}, colonnesListees.map(function (col) {
|
|
60907
61126
|
var visible = visibleColumns.some(function (c) {
|
|
@@ -60969,9 +61188,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
60969
61188
|
}, {
|
|
60970
61189
|
key: 'fit',
|
|
60971
61190
|
label: translate('arengibook.table.settings.rowHeightFit', labels)
|
|
60972
|
-
}].map(function (
|
|
60973
|
-
var key =
|
|
60974
|
-
label =
|
|
61191
|
+
}].map(function (_ref40) {
|
|
61192
|
+
var key = _ref40.key,
|
|
61193
|
+
label = _ref40.label;
|
|
60975
61194
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
60976
61195
|
key: key,
|
|
60977
61196
|
type: "button",
|
|
@@ -61010,9 +61229,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
61010
61229
|
}, {
|
|
61011
61230
|
key: 'fit',
|
|
61012
61231
|
label: translate('arengibook.table.settings.rowHeightFit', labels)
|
|
61013
|
-
}].map(function (
|
|
61014
|
-
var key =
|
|
61015
|
-
label =
|
|
61232
|
+
}].map(function (_ref41) {
|
|
61233
|
+
var key = _ref41.key,
|
|
61234
|
+
label = _ref41.label;
|
|
61016
61235
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
61017
61236
|
key: key,
|
|
61018
61237
|
type: "button",
|
|
@@ -61043,9 +61262,9 @@ var Table$1 = function Table(_ref16) {
|
|
|
61043
61262
|
}, {
|
|
61044
61263
|
key: 'center',
|
|
61045
61264
|
label: translate('arengibook.table.settings.alignCenter', labels)
|
|
61046
|
-
}].map(function (
|
|
61047
|
-
var key =
|
|
61048
|
-
label =
|
|
61265
|
+
}].map(function (_ref42) {
|
|
61266
|
+
var key = _ref42.key,
|
|
61267
|
+
label = _ref42.label;
|
|
61049
61268
|
return /*#__PURE__*/React__default.createElement("button", {
|
|
61050
61269
|
key: key,
|
|
61051
61270
|
type: "button",
|
|
@@ -61086,7 +61305,13 @@ var Table$1 = function Table(_ref16) {
|
|
|
61086
61305
|
className: "material-icons"
|
|
61087
61306
|
}, fullscreen ? 'fullscreen_exit' : 'fullscreen'))));
|
|
61088
61307
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
61089
|
-
|
|
61308
|
+
// `ab-table` sur la RACINE, et non seulement sur le `<table>` : c'est
|
|
61309
|
+
// l'ancetre commun qui permet de cloisonner ce que PrimeReact rend
|
|
61310
|
+
// AUTOUR du tableau — la barre d'outils (`.p-datatable-header`) et le
|
|
61311
|
+
// paginateur. Sans elle, une regle visant l'en-tete devait passer par
|
|
61312
|
+
// `.p-datatable`, qui atteindrait aussi les DataTable propres a
|
|
61313
|
+
// l'application hote (leur `TableEventForm`).
|
|
61314
|
+
className: "ab-table dataTables_wrapper ab-align--".concat(alignement),
|
|
61090
61315
|
ref: tableWrapperRef
|
|
61091
61316
|
// Compteur de recalage des colonnes gelees (cf. `recalageGel`). Present
|
|
61092
61317
|
// dans le DOM pour que le rendu supplementaire ait un effet observable.
|
|
@@ -61533,7 +61758,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
61533
61758
|
columnKey: "__row_actions__",
|
|
61534
61759
|
header: inline ? actionsCol.actionsHeader || '' : '',
|
|
61535
61760
|
body: function body(rowData) {
|
|
61536
|
-
var
|
|
61761
|
+
var _ref43, _linkCol$href;
|
|
61537
61762
|
var rowActions = rowData[actionsCol.actionsField] || [];
|
|
61538
61763
|
if (inline) {
|
|
61539
61764
|
return /*#__PURE__*/React__default.createElement(RowActionsInlineCell, {
|
|
@@ -61547,7 +61772,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
61547
61772
|
var linkCol = columns.find(function (c) {
|
|
61548
61773
|
return c.type === 'titleLink' || c.type === 'link';
|
|
61549
61774
|
});
|
|
61550
|
-
var linkHref = linkCol ? typeof linkCol.href === 'function' ? linkCol.href(rowData) : (
|
|
61775
|
+
var linkHref = linkCol ? typeof linkCol.href === 'function' ? linkCol.href(rowData) : (_ref43 = (_linkCol$href = linkCol.href) !== null && _linkCol$href !== void 0 ? _linkCol$href : rowData[linkCol.field + 'Url']) !== null && _ref43 !== void 0 ? _ref43 : null : null;
|
|
61551
61776
|
return /*#__PURE__*/React__default.createElement(RowActionsCell, {
|
|
61552
61777
|
actions: rowActions,
|
|
61553
61778
|
rowData: rowData,
|
|
@@ -61680,10 +61905,7 @@ var Table$1 = function Table(_ref16) {
|
|
|
61680
61905
|
return dateFilterElement(opts, col);
|
|
61681
61906
|
} : col.type === 'index' ? compactTextFilterElement : textFilterElement,
|
|
61682
61907
|
showFilterMenu: false,
|
|
61683
|
-
showClearButton: col.type === 'index' ? false : undefined
|
|
61684
|
-
filterHeaderStyle: col.type === 'index' ? {
|
|
61685
|
-
padding: '2px'
|
|
61686
|
-
} : undefined
|
|
61908
|
+
showClearButton: col.type === 'index' ? false : undefined
|
|
61687
61909
|
// Point d'enrobage UNIQUE du contenu de cellule : `div-col` est donc
|
|
61688
61910
|
// présente sur toutes les colonnes et dans les deux états — lecture
|
|
61689
61911
|
// comme édition, les éditeurs de cellule étant rendus par le `body`
|
|
@@ -61711,7 +61933,25 @@ var Table$1 = function Table(_ref16) {
|
|
|
61711
61933
|
}, tpl(options));
|
|
61712
61934
|
} : undefined;
|
|
61713
61935
|
}(),
|
|
61714
|
-
onCellEditComplete: !rowEdit && col.type === 'documents' && (effectiveEditable ? col.editable !== false : col.editable === true) ? onCellEditComplete : undefined
|
|
61936
|
+
onCellEditComplete: !rowEdit && col.type === 'documents' && (effectiveEditable ? col.editable !== false : col.editable === true) ? onCellEditComplete : undefined
|
|
61937
|
+
// ──────────────────────────────────────────────────────────
|
|
61938
|
+
// L'EN-TETE DIT CE QUE SA COLONNE PERMET
|
|
61939
|
+
// ──────────────────────────────────────────────────────────
|
|
61940
|
+
// Choix du 08/09/2026 (planche « Le gris est plein ») : le trait
|
|
61941
|
+
// d'accent sous les titres est remplace par une marque PAR
|
|
61942
|
+
// COLONNE — fond plus fonce et crayon pour les modifiables,
|
|
61943
|
+
// cadenas pour les autres. Le CSS peint tout cela, mais il ne
|
|
61944
|
+
// peut pas SAVOIR : une regle ne remonte pas d'un `<td>` vers le
|
|
61945
|
+
// `<th>` de sa colonne, et apparier les index aurait demande
|
|
61946
|
+
// quarante `:has()` reevalues a chaque mutation du corps.
|
|
61947
|
+
//
|
|
61948
|
+
// Rien n'est marque hors edition : `tableauEnEdition` est faux
|
|
61949
|
+
// sous verrou comme sur un tableau ou aucune colonne n'accepte la
|
|
61950
|
+
// saisie, et un tableau ou rien n'est modifiable n'a pas besoin de
|
|
61951
|
+
// le repeter colonne par colonne — l'absence de marque y est l'etat
|
|
61952
|
+
// normal, pas une information a deduire.
|
|
61953
|
+
,
|
|
61954
|
+
headerClassName: tableauEnEdition ? colonneEditable(col) ? 'ab-th--editable' : 'ab-th--lecture' : undefined,
|
|
61715
61955
|
bodyClassName:
|
|
61716
61956
|
// `ab-td--editable` : le CSS ne peut pas deviner qu'une cellule
|
|
61717
61957
|
// s'edite. Sans cette marque, le survol appuye promettrait un clic
|
|
@@ -62414,18 +62654,199 @@ var columnsTyped = [
|
|
|
62414
62654
|
type: 'journal'
|
|
62415
62655
|
}];
|
|
62416
62656
|
|
|
62657
|
+
// ─── Jeu réduit : les presets « capacité » ────────────────────────────────────
|
|
62658
|
+
//
|
|
62659
|
+
// Le preset `Base` montre les 20+ types de colonnes ; tous les autres presets
|
|
62660
|
+
// démontrent UNE capacité du tableau (édition, sélection, pagination…). Ils
|
|
62661
|
+
// partagent volontairement le même petit jeu de colonnes pour que la seule
|
|
62662
|
+
// différence visible entre deux presets soit la capacité qu'ils illustrent.
|
|
62663
|
+
|
|
62664
|
+
var columnsSimples = [{
|
|
62665
|
+
field: 'nom',
|
|
62666
|
+
header: 'Intitulé',
|
|
62667
|
+
type: 'titleLink',
|
|
62668
|
+
editable: true,
|
|
62669
|
+
actionsField: 'nomActions'
|
|
62670
|
+
}, {
|
|
62671
|
+
field: 'statut',
|
|
62672
|
+
header: 'Statut',
|
|
62673
|
+
type: 'select',
|
|
62674
|
+
editable: true,
|
|
62675
|
+
options: statutOptions
|
|
62676
|
+
}, {
|
|
62677
|
+
field: 'categorie',
|
|
62678
|
+
header: 'Catégorie',
|
|
62679
|
+
type: 'select',
|
|
62680
|
+
editable: true,
|
|
62681
|
+
options: categorieOptions
|
|
62682
|
+
}, {
|
|
62683
|
+
field: 'dateInscription',
|
|
62684
|
+
header: 'Inscription',
|
|
62685
|
+
type: 'date',
|
|
62686
|
+
editable: true
|
|
62687
|
+
}, {
|
|
62688
|
+
field: 'budget',
|
|
62689
|
+
header: 'Budget (€)',
|
|
62690
|
+
type: 'numeric',
|
|
62691
|
+
editable: true,
|
|
62692
|
+
min: 0,
|
|
62693
|
+
max: 500000
|
|
62694
|
+
}, {
|
|
62695
|
+
field: 'avancement',
|
|
62696
|
+
header: 'Avancement',
|
|
62697
|
+
type: 'progress'
|
|
62698
|
+
}];
|
|
62699
|
+
|
|
62700
|
+
// Base commune à tous les presets « capacité » : mêmes données, mêmes colonnes,
|
|
62701
|
+
// pas de bouton d'ajout — chaque preset n'ajoute QUE ce qu'il démontre.
|
|
62702
|
+
var capacite = function capacite(tableId, props) {
|
|
62703
|
+
return _objectSpread2({
|
|
62704
|
+
value: dataTyped,
|
|
62705
|
+
columns: columnsSimples,
|
|
62706
|
+
tableId: tableId,
|
|
62707
|
+
editable: false,
|
|
62708
|
+
rowEdit: false,
|
|
62709
|
+
showAdd: false
|
|
62710
|
+
}, props);
|
|
62711
|
+
};
|
|
62712
|
+
|
|
62713
|
+
// ─── Actions de démonstration ─────────────────────────────────────────────────
|
|
62714
|
+
//
|
|
62715
|
+
// Le composant n'embarque AUCUNE action métier : c'est l'application qui décide
|
|
62716
|
+
// des actions de son tableau et de ce qu'elles font. Les listes ci-dessous ne
|
|
62717
|
+
// sont donc pas des défauts, seulement le jeu d'exemple des presets qui montrent
|
|
62718
|
+
// le mécanisme — et elles restent purement DÉCLARATIVES (`{ key, icon, label }`,
|
|
62719
|
+
// sérialisable, donc transmissible depuis Twig par `data-props`). Le code qui
|
|
62720
|
+
// s'exécute est fourni à part, par `toolbarActionHandlers` / `onClick` /
|
|
62721
|
+
// `handler`, comme le ferait l'application hôte.
|
|
62722
|
+
|
|
62723
|
+
var demoToolbarActions = [{
|
|
62724
|
+
key: 'export-csv',
|
|
62725
|
+
icon: 'ios_share',
|
|
62726
|
+
label: 'Exporter en CSV'
|
|
62727
|
+
}, {
|
|
62728
|
+
key: 'copier',
|
|
62729
|
+
icon: 'content_copy',
|
|
62730
|
+
label: 'Copier le tableau'
|
|
62731
|
+
}, {
|
|
62732
|
+
key: 'imprimer',
|
|
62733
|
+
icon: 'print',
|
|
62734
|
+
label: 'Imprimer'
|
|
62735
|
+
}];
|
|
62736
|
+
var demoSelectionActions = [{
|
|
62737
|
+
key: 'copier-selection',
|
|
62738
|
+
icon: 'content_copy',
|
|
62739
|
+
label: 'Copier la sélection'
|
|
62740
|
+
}, {
|
|
62741
|
+
key: 'exporter-selection',
|
|
62742
|
+
icon: 'ios_share',
|
|
62743
|
+
label: 'Exporter la sélection'
|
|
62744
|
+
}, {
|
|
62745
|
+
key: 'supprimer',
|
|
62746
|
+
icon: 'delete',
|
|
62747
|
+
label: 'Supprimer',
|
|
62748
|
+
danger: true
|
|
62749
|
+
}];
|
|
62750
|
+
|
|
62417
62751
|
// ─── Exports ──────────────────────────────────────────────────────────────────
|
|
62418
62752
|
|
|
62419
62753
|
var TablePresets = {
|
|
62754
|
+
// Tableau de référence : tous les types de colonnes, édition active et
|
|
62755
|
+
// sélection de lignes. Aucune action métier déclarée — importer, exporter,
|
|
62756
|
+
// imprimer n'appartiennent pas au composant mais à l'application qui
|
|
62757
|
+
// l'intègre. Voir le preset `ActionsPersonnalisees`.
|
|
62420
62758
|
Base: {
|
|
62421
62759
|
value: dataTyped,
|
|
62422
62760
|
columns: columnsTyped,
|
|
62423
62761
|
editable: true,
|
|
62424
62762
|
tableId: 'table-presets-demo',
|
|
62425
|
-
|
|
62426
|
-
|
|
62763
|
+
rowSelection: true
|
|
62764
|
+
},
|
|
62765
|
+
// Lecture seule : aucune cellule éditable, pas de bouton d'ajout.
|
|
62766
|
+
Lecture: capacite('table-preset-lecture', {
|
|
62767
|
+
columnFilter: false
|
|
62768
|
+
}),
|
|
62769
|
+
// Édition cellule par cellule : un clic sur la cellule ouvre l'éditeur du type.
|
|
62770
|
+
EditionCellule: capacite('table-preset-edition-cellule', {
|
|
62771
|
+
editable: true
|
|
62772
|
+
}),
|
|
62773
|
+
// Édition par ligne : crayon / ✓ / ✗ ; toutes les cellules de la ligne
|
|
62774
|
+
// s'activent d'un coup, la sauvegarde émet `onChange` avec le tableau complet.
|
|
62775
|
+
EditionLigne: capacite('table-preset-edition-ligne', {
|
|
62776
|
+
editable: true,
|
|
62777
|
+
rowEdit: true
|
|
62778
|
+
}),
|
|
62779
|
+
// Cadenas : le tableau est en lecture seule tant que l'utilisateur ne
|
|
62780
|
+
// déverrouille pas explicitement (garde-fou contre l'édition accidentelle).
|
|
62781
|
+
Verrouillage: capacite('table-preset-verrouillage', {
|
|
62782
|
+
editable: true,
|
|
62783
|
+
lockable: true
|
|
62784
|
+
}),
|
|
62785
|
+
// Édition déléguée : le composant n'édite pas, il remonte la ligne à l'app
|
|
62786
|
+
// (`onEditRow`) qui ouvre sa propre UI (fiche latérale, pop-in…).
|
|
62787
|
+
EditionDeleguee: capacite('table-preset-edition-deleguee', {
|
|
62788
|
+
editableRows: true
|
|
62789
|
+
}),
|
|
62790
|
+
// Sélection de lignes : colonne de coches gelée, barre de sélection et
|
|
62791
|
+
// filtre Tous / Cochés / Non cochés.
|
|
62792
|
+
SelectionLignes: capacite('table-preset-selection', {
|
|
62793
|
+
rowSelection: true,
|
|
62794
|
+
selectionFilter: true,
|
|
62795
|
+
selectionActions: demoSelectionActions
|
|
62796
|
+
}),
|
|
62797
|
+
// Suppression : colonne poubelle gelée + pop-in de confirmation.
|
|
62798
|
+
SuppressionLignes: capacite('table-preset-suppression', {
|
|
62799
|
+
deletableRows: true,
|
|
62800
|
+
confirmDelete: true
|
|
62801
|
+
}),
|
|
62802
|
+
// Ajout de ligne : bouton dédié, libellé et infobulle dissociés, insertion
|
|
62803
|
+
// en fin de tableau (le composant amène l'utilisateur sur la ligne créée).
|
|
62804
|
+
AjoutLigne: capacite('table-preset-ajout', {
|
|
62805
|
+
editable: true,
|
|
62806
|
+
showAdd: true,
|
|
62807
|
+
addLabel: '+ Risque',
|
|
62808
|
+
addTooltip: 'Créer un nouveau risque dans ce registre',
|
|
62809
|
+
addRowPosition: 'end'
|
|
62810
|
+
}),
|
|
62811
|
+
// Actions définies par l'application : `toolbarActions` déclare les entrées
|
|
62812
|
+
// du menu « Actions » (sur le tableau) et `selectionActions` celles qui
|
|
62813
|
+
// portent sur les lignes cochées. Les libellés, les icônes ET le code exécuté
|
|
62814
|
+
// viennent tous de l'app — le composant ne fait que les présenter.
|
|
62815
|
+
ActionsPersonnalisees: capacite('table-preset-actions', {
|
|
62816
|
+
rowSelection: true,
|
|
62817
|
+
toolbarActions: demoToolbarActions,
|
|
62818
|
+
selectionActions: demoSelectionActions
|
|
62819
|
+
}),
|
|
62820
|
+
// Recherche par colonne : un champ de filtre sous chaque en-tête.
|
|
62821
|
+
FiltresColonnes: capacite('table-preset-filtres', {
|
|
62822
|
+
columnFilter: true
|
|
62823
|
+
}),
|
|
62824
|
+
// Pagination : 3 lignes par page pour rendre le pied de tableau visible.
|
|
62825
|
+
Pagination: capacite('table-preset-pagination', {
|
|
62826
|
+
paginator: true,
|
|
62827
|
+
rows: 3
|
|
62828
|
+
}),
|
|
62829
|
+
// Hauteur de ligne : préréglage initial, réglable ensuite via le menu ⚙
|
|
62830
|
+
// et persisté par `tableId`.
|
|
62831
|
+
HauteurLignes: capacite('table-preset-hauteur', {
|
|
62832
|
+
defaultRowHeight: 'medium'
|
|
62833
|
+
}),
|
|
62834
|
+
// Lignes zébrées : alternance de fond pour suivre une ligne large du regard.
|
|
62835
|
+
LignesZebrees: capacite('table-preset-zebre', {
|
|
62836
|
+
stripedRows: true
|
|
62837
|
+
}),
|
|
62838
|
+
// État de chargement : squelette/spinner pendant la requête de l'app.
|
|
62839
|
+
Chargement: capacite('table-preset-chargement', {
|
|
62840
|
+
loading: true
|
|
62841
|
+
}),
|
|
62842
|
+
// Libellés i18n surchargés par instance (clés `arengibook.*`).
|
|
62843
|
+
Libelles: capacite('table-preset-libelles', {
|
|
62844
|
+
labels: {
|
|
62845
|
+
'arengibook.table.toolbar.settings': 'Réglages du tableau',
|
|
62846
|
+
'arengibook.table.toolbar.columns': 'Colonnes affichées',
|
|
62847
|
+
'arengibook.table.toolbar.fullscreen': 'Agrandir'
|
|
62427
62848
|
}
|
|
62428
|
-
}
|
|
62849
|
+
})
|
|
62429
62850
|
};
|
|
62430
62851
|
|
|
62431
62852
|
var perimetresDemo = [{
|