arengibook 3.1.312-main → 3.1.314-main
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +827 -122
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13488,7 +13488,7 @@ var LOCALES = {
|
|
|
13488
13488
|
var css_248z$6 = "@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/* Force une largeur à 100% de l'input Calendar */\n.datepicker-fullwidth {\n width: 100%;\n}\n\n.datepicker-fullwidth > .dp-input-wrapper {\n width: 100%;\n}\n.datepicker-fullwidth > .dp-input-wrapper > .p-calendar {\n width: 100%;\n}\n\n.dp-input-wrapper {\n position: relative;\n display: inline-flex;\n}\n.dp-input-wrapper .dp-clear-btn {\n position: absolute;\n right: 7px;\n top: 50%;\n transform: translateY(-50%);\n background: none;\n border: none;\n cursor: pointer;\n padding: 2.8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #b0b8c4;\n z-index: 1;\n border-radius: 50%;\n line-height: 1;\n}\n.dp-input-wrapper .dp-clear-btn:hover {\n color: #1a1e26;\n background-color: rgba(0, 0, 0, 0.06);\n}\n.dp-input-wrapper .dp-clear-btn .pi {\n font-size: 9.1px;\n}\n\n/* Application du mixin field sur l'input du Calendar */\n.p-calendar > .p-inputtext {\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}\n.p-calendar > .p-inputtext:hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\n.p-calendar > .p-inputtext:focus, .p-calendar > .p-inputtext:focus-within, .p-calendar > .p-inputtext.is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.p-calendar > .p-inputtext[disabled], .p-calendar > .p-inputtext.is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n.p-calendar > .p-inputtext[readonly], .p-calendar > .p-inputtext.is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\n.p-calendar > .p-inputtext[readonly]:hover, .p-calendar > .p-inputtext.is-readonly:hover {\n border-color: #e0e3e8;\n}\n.p-calendar > .p-inputtext.is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\n.p-calendar > .p-inputtext.is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\n.p-calendar > .p-inputtext:hover {\n border-color: #c8cdd6 !important;\n}\n.p-calendar > .p-inputtext:focus, .p-calendar > .p-inputtext.p-focus {\n border-color: #3f3f3f !important;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1) !important;\n outline: none;\n}\n\n/* Panel invisible jusqu'au repositionnement (évite le flash position basse → haute) */\n.datepickerbook:not(.dp-ready) {\n visibility: hidden !important;\n}\n\n/* Neutralise les styles hérités */\n.datepickerbook table,\n.datepickerbook tbody,\n.datepickerbook tr,\n.datepickerbook td,\n.datepickerbook th {\n background-color: unset !important;\n color: inherit !important;\n border: none;\n}\n\n/* Restaure les couleurs et l'entete du calendrier */\n.datepickerbook .p-datepicker {\n background-color: #ffffff !important;\n color: #1a1e26 !important;\n border-radius: 7px;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n}\n\n.datepickerbook .datepicker-custom-header {\n display: flex;\n flex-direction: column;\n gap: 7px;\n padding: 7px 10.5px;\n}\n\n.datepickerbook .datepicker-spinner {\n display: flex;\n flex-direction: column;\n align-items: center;\n font-size: 11.9px;\n}\n\n.datepickerbook .dp-label {\n margin: 3.5px 0;\n font-weight: 500;\n}\n\n.p-datepicker .p-datepicker-title,\n.p-datepicker .p-datepicker-prev,\n.p-datepicker .p-datepicker-next {\n display: none !important;\n}\n\n.datepickerbook .p-datepicker-header {\n justify-content: center;\n}\n\n.datepickerbook .dp-popup {\n position: absolute;\n top: 100%;\n margin-top: 3.5px;\n background: #ffffff;\n border: 1px solid #e0e3e8;\n border-radius: 4px;\n padding: 3.5px;\n z-index: 10;\n}\n\n.datepickerbook .dp-popup-months,\n.datepickerbook .dp-popup-years {\n display: grid;\n grid-template-columns: repeat(3, auto);\n gap: 3.5px;\n}\n\n.datepickerbook .dp-popup-item {\n border: none;\n background: transparent;\n padding: 2.1px 5.6px;\n cursor: pointer;\n font-size: 11.2px;\n}\n\n.datepickerbook .dp-popup-item:hover {\n background: #f4f5f6;\n}\n\n/*.datepickerbook .dp-header-top {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 10.5px;\n}*/\n.datepickerbook .dp-header-part {\n display: flex;\n align-items: center;\n gap: 3.5px;\n}\n\n.datepickerbook .dp-label-button {\n border: none;\n background: transparent;\n cursor: pointer;\n font-weight: 800;\n font-size: 16px;\n margin: 3.5px 0;\n}\n\n.datepickerbook.dp-monthyear-mode .dp-monthyear-header {\n padding-bottom: 3.5px;\n}\n\n.datepickerbook {\n display: flex;\n align-items: center;\n gap: 7px;\n margin-bottom: 3.5px;\n}\n\n.datepickerbook .dp-back-button {\n border: none;\n background: transparent;\n cursor: pointer;\n font-size: 12.6px;\n}\n\n.datepickerbook .dp-title {\n font-weight: 600;\n font-size: 12.6px;\n}\n\n/* Colonnes mois / années */\n.datepickerbook .dp-header-lists {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 7px;\n}\n\n.datepickerbook .dp-month-list,\n.datepickerbook .dp-year-list {\n padding-right: 3.5px;\n display: flex;\n flex-direction: column;\n gap: 2.1px;\n}\n\n.datepickerbook .dp-list-item:hover {\n background: #f4f5f6;\n}\n\n.p-datepicker-header.datepicker-custom-header.dp-monthyear-header {\n margin: auto;\n}\n\n/*.p-monthpicker*/\n.p-datepicker.dp-monthyear-mode {\n box-shadow: none !important;\n border-radius: 0px;\n}\n.p-datepicker.dp-monthyear-mode .dp-header-top-alt {\n display: none !important;\n}\n\n.p-datepicker-monthpicker.dp-monthyear-mode {\n box-shadow: none !important;\n border-radius: 0px;\n}\n.p-datepicker-monthpicker.dp-monthyear-mode .dp-header-top-alt {\n display: none !important;\n}\n\n.p-datepicker {\n width: 331px !important;\n min-width: 331px !important;\n max-width: 331px !important;\n}\n.p-datepicker .dp-arrow {\n border: none;\n background-color: transparent;\n color: #b0b8c4;\n cursor: pointer;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-datepicker .dp-arrow:hover {\n color: #3f3f3f;\n background-color: rgba(63, 63, 63, 0.08);\n}\n.p-datepicker.dp-year-only {\n box-shadow: none !important;\n width: auto !important;\n min-width: unset !important;\n max-width: unset !important;\n}\n.p-datepicker.dp-year-only .dp-header-top-alt {\n display: none !important;\n}\n.p-datepicker.dp-year-only .dp-monthyear-header {\n width: 205px;\n min-width: 205px;\n max-width: 205px;\n}\n.p-datepicker.dp-year-only .dp-monthyear-header .dp-year-container {\n width: 100%;\n}\n.p-datepicker.dp-year-only .dp-year-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container {\n width: 100%;\n border-top: 1px solid #e0e3e8;\n height: 51px;\n display: flex;\n align-items: center;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-up {\n border-right: 1px solid #e0e3e8;\n border-radius: 0px 0px 0px 5px !important;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-down {\n border-radius: 0px 0px 5px 0px !important;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-year {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 49%;\n border-radius: 0px;\n flex: 1;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-year:hover {\n background-color: rgba(63, 63, 63, 0.08);\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-year-list {\n width: 100%;\n gap: 0px;\n padding: 0px;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item-active {\n width: 100%;\n color: #ffffff !important;\n background-color: #3f3f3f !important;\n border-bottom: 1px solid #3f3f3f !important;\n font-weight: 600;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item {\n background-color: transparent;\n border: none;\n color: #1a1e26;\n transition: 0s !important;\n height: 25px;\n font-size: 16px;\n border-radius: 0px;\n border-bottom: 1px solid #e0e3e8;\n width: 100%;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item:not(.dp-list-item-big) {\n padding: 3px 10px !important;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item:not(.dp-list-item-big):hover {\n background-color: rgba(63, 63, 63, 0.08) !important;\n color: #3f3f3f;\n}\n.p-datepicker.dp-year-only .dp-year-container .dp-list-item {\n padding: 3px 10px;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.dp-monthyear-mode .p-datepicker-group, .p-datepicker-monthpicker .p-datepicker-group, .dp-year-only .p-datepicker-group {\n padding: 0px !important;\n border: 0px solid transparent !important;\n}\n.dp-monthyear-mode .dp-monthyear-header, .p-datepicker-monthpicker .dp-monthyear-header, .dp-year-only .dp-monthyear-header {\n justify-content: flex-start;\n gap: 0;\n background: #ffffff;\n border: 1px solid rgba(255, 255, 255, 0.33);\n border-radius: 8px;\n position: absolute;\n top: 0;\n left: 0;\n padding: 0px !important;\n width: 331px;\n min-width: 331px;\n max-width: 331px;\n}\n.dp-monthyear-mode .dp-header-top-alt, .p-datepicker-monthpicker .dp-header-top-alt, .dp-year-only .dp-header-top-alt {\n width: 100%;\n height: 50px !important;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-header-top-alt .dp-header-top-alt-part:first-child, .p-datepicker-monthpicker .dp-header-top-alt .dp-header-top-alt-part:first-child, .dp-year-only .dp-header-top-alt .dp-header-top-alt-part:first-child {\n border-right: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-header-top-alt .dp-header-top-alt-part, .p-datepicker-monthpicker .dp-header-top-alt .dp-header-top-alt-part, .dp-year-only .dp-header-top-alt .dp-header-top-alt-part {\n width: 49%;\n height: 50px;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n color: #1a1e26;\n font-size: 16px;\n text-transform: capitalize;\n}\n.dp-monthyear-mode .p-datepicker-calendar-container, .p-datepicker-monthpicker .p-datepicker-calendar-container, .dp-year-only .p-datepicker-calendar-container {\n display: none;\n}\n.dp-monthyear-mode .dp-actions, .p-datepicker-monthpicker .dp-actions, .dp-year-only .dp-actions {\n width: 100%;\n background-color: #ffffff;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 0px 0px 5px 5px;\n padding: 0px 10px 10px 10px;\n}\n.dp-monthyear-mode .dp-actions .p-button:first-child, .p-datepicker-monthpicker .dp-actions .p-button:first-child, .dp-year-only .dp-actions .p-button:first-child {\n border: 0px solid transparent;\n color: #3f3f3f;\n}\n.dp-monthyear-mode .dp-actions .p-button:last-child, .p-datepicker-monthpicker .dp-actions .p-button:last-child, .dp-year-only .dp-actions .p-button:last-child {\n background-color: #ffffff;\n border: 1px solid #3f3f3f;\n color: #3f3f3f;\n}\n.dp-monthyear-mode .dp-actions .p-button:last-child:hover, .p-datepicker-monthpicker .dp-actions .p-button:last-child:hover, .dp-year-only .dp-actions .p-button:last-child:hover {\n background-color: #3f3f3f;\n color: #ffffff;\n}\n.dp-monthyear-mode .dp-actions .p-button, .p-datepicker-monthpicker .dp-actions .p-button, .dp-year-only .dp-actions .p-button {\n padding: 10px 15px;\n}\n.dp-monthyear-mode .dp-actions .p-button .p-button-icon, .p-datepicker-monthpicker .dp-actions .p-button .p-button-icon, .dp-year-only .dp-actions .p-button .p-button-icon {\n display: none;\n}\n.dp-monthyear-mode .dp-header-lists, .p-datepicker-monthpicker .dp-header-lists, .dp-year-only .dp-header-lists {\n width: calc(100% - 20px);\n height: 300px;\n display: flex;\n align-items: flex-start;\n gap: initial;\n padding: 0px;\n margin: 10px;\n}\n.dp-monthyear-mode .dp-month-list, .p-datepicker-monthpicker .dp-month-list, .dp-year-only .dp-month-list {\n transition: none !important;\n border: 1px solid #e0e3e8;\n margin: 0px 10px 0px 0px !important;\n gap: 0px;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item-active, .p-datepicker-monthpicker .dp-month-list .dp-list-item-active, .dp-year-only .dp-month-list .dp-list-item-active {\n width: 100%;\n color: #ffffff !important;\n background-color: #3f3f3f !important;\n border-bottom: 1px solid #3f3f3f !important;\n font-weight: 600;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item, .p-datepicker-monthpicker .dp-month-list .dp-list-item, .dp-year-only .dp-month-list .dp-list-item {\n border: none;\n height: 25px;\n background-color: transparent;\n font-size: 16px;\n text-transform: capitalize;\n border-radius: 0px;\n margin: 0px;\n padding: 3px;\n width: calc(100% - 0px);\n border-bottom: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item:hover, .p-datepicker-monthpicker .dp-month-list .dp-list-item:hover, .dp-year-only .dp-month-list .dp-list-item:hover {\n background-color: rgba(63, 63, 63, 0.08);\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item:last-child, .p-datepicker-monthpicker .dp-month-list .dp-list-item:last-child, .dp-year-only .dp-month-list .dp-list-item:last-child {\n border: none;\n}\n.dp-monthyear-mode .dp-year-container, .p-datepicker-monthpicker .dp-year-container, .dp-year-only .dp-year-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n border: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-year-container .dp-arrow-container, .p-datepicker-monthpicker .dp-year-container .dp-arrow-container, .dp-year-only .dp-year-container .dp-arrow-container {\n width: 100%;\n border-top: 1px solid #e0e3e8;\n height: 51px;\n display: flex;\n align-items: center;\n}\n.dp-monthyear-mode .dp-year-container .dp-arrow-container .dp-arrow-up, .p-datepicker-monthpicker .dp-year-container .dp-arrow-container .dp-arrow-up, .dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-up {\n border-right: 1px solid #e0e3e8;\n}\n.dp-monthyear-mode .dp-year-container .dp-arrow-container .dp-arrow-year, .p-datepicker-monthpicker .dp-year-container .dp-arrow-container .dp-arrow-year, .dp-year-only .dp-year-container .dp-arrow-container .dp-arrow-year {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 49%;\n border-radius: 0px;\n flex: 1;\n}\n.dp-monthyear-mode .dp-year-container .dp-year-list, .p-datepicker-monthpicker .dp-year-container .dp-year-list, .dp-year-only .dp-year-container .dp-year-list {\n width: 100%;\n gap: 0px;\n padding: 0px;\n}\n.dp-monthyear-mode .dp-year-container .dp-list-item-active, .p-datepicker-monthpicker .dp-year-container .dp-list-item-active, .dp-year-only .dp-year-container .dp-list-item-active {\n width: 100%;\n color: #ffffff !important;\n background-color: #3f3f3f !important;\n border-bottom: 1px solid #3f3f3f !important;\n font-weight: 600;\n}\n.dp-monthyear-mode .dp-year-container .dp-list-item, .p-datepicker-monthpicker .dp-year-container .dp-list-item, .dp-year-only .dp-year-container .dp-list-item {\n background-color: transparent;\n border: none;\n color: #1a1e26;\n transition: 0s !important;\n height: 25px;\n font-size: 16px;\n border-radius: 0px;\n border-bottom: 1px solid #e0e3e8;\n width: 100%;\n padding: 3px 10px;\n}\n.dp-monthyear-mode .dp-year-container .dp-list-item:not(.dp-list-item-big), .p-datepicker-monthpicker .dp-year-container .dp-list-item:not(.dp-list-item-big), .dp-year-only .dp-year-container .dp-list-item:not(.dp-list-item-big) {\n padding: 3px 10px !important;\n}\n.dp-monthyear-mode .dp-year-container .dp-list-item:not(.dp-list-item-big):hover, .p-datepicker-monthpicker .dp-year-container .dp-list-item:not(.dp-list-item-big):hover, .dp-year-only .dp-year-container .dp-list-item:not(.dp-list-item-big):hover {\n background-color: rgba(63, 63, 63, 0.08) !important;\n color: #3f3f3f;\n}\n.dp-monthyear-mode .dp-month-list, .dp-monthyear-mode .dp-year-container, .p-datepicker-monthpicker .dp-month-list, .p-datepicker-monthpicker .dp-year-container, .dp-year-only .dp-month-list, .dp-year-only .dp-year-container {\n width: 49%;\n flex: 1;\n margin: 0px;\n background-color: transparent;\n padding: 0px;\n height: 100%;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item, .dp-monthyear-mode .dp-year-container .dp-list-item, .p-datepicker-monthpicker .dp-month-list .dp-list-item, .p-datepicker-monthpicker .dp-year-container .dp-list-item, .dp-year-only .dp-month-list .dp-list-item, .dp-year-only .dp-year-container .dp-list-item {\n cursor: pointer;\n}\n.dp-monthyear-mode .dp-month-list .dp-list-item:hover, .dp-monthyear-mode .dp-year-container .dp-list-item:hover, .p-datepicker-monthpicker .dp-month-list .dp-list-item:hover, .p-datepicker-monthpicker .dp-year-container .dp-list-item:hover, .dp-year-only .dp-month-list .dp-list-item:hover, .dp-year-only .dp-year-container .dp-list-item:hover {\n color: #3f3f3f;\n border-bottom: 1px solid rgba(63, 63, 63, 0.08);\n}\n.dp-monthyear-mode .dp-month-list:hover, .dp-monthyear-mode .dp-year-container:hover, .p-datepicker-monthpicker .dp-month-list:hover, .p-datepicker-monthpicker .dp-year-container:hover, .dp-year-only .dp-month-list:hover, .dp-year-only .dp-year-container:hover {\n background-color: rgba(255, 255, 255, 0.31);\n}\n\n.p-datepicker {\n padding: 0px;\n background-color: #ffffff;\n box-shadow: 1px 2px 26px rgba(0, 0, 0, 0.21);\n width: 321px;\n}\n.p-datepicker .p-datepicker-group-container {\n width: 100%;\n}\n.p-datepicker .p-datepicker-group {\n background: #ffffff;\n border-radius: 8px;\n padding-bottom: 1px;\n}\n.p-datepicker .p-datepicker-header {\n padding: 0px;\n /*position: fixed;\n left: 0;*/\n height: 50px;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #e0e3e8;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-month {\n border-right: 1px solid #e0e3e8;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-month .dp-arrow-left {\n border-radius: 7px 0px 0px 0px;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-year .dp-arrow-right {\n border-radius: 0px 7px 0px 0px;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part {\n width: 49%;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part .dp-arrow {\n width: 30px;\n height: 49px;\n min-width: 30px;\n min-height: 49px;\n max-width: 30px;\n max-height: 49px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part .dp-arrow:hover {\n background-color: rgba(63, 63, 63, 0.08);\n color: #3f3f3f;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part .dp-label-button {\n width: calc(100% - 60px);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 50px;\n margin: 0px;\n text-transform: capitalize;\n color: #3f3f3f;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part .dp-label-button:hover {\n background-color: rgba(63, 63, 63, 0.08);\n font-weight: 800;\n}\n.p-datepicker .p-datepicker-header .datepicker-custom-header .dp-header-top .dp-header-part:hover {\n background-color: rgba(255, 255, 255, 0.31);\n}\n.p-datepicker .p-datepicker-calendar-container {\n padding: 10px;\n /* margin-top: 50px;*/\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar {\n margin: 0px;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar thead tr th {\n padding: 2px;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar thead tr th span {\n color: #1a1e26;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr .p-datepicker-today {\n background-color: transparent;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr .p-datepicker-today span {\n background-color: transparent;\n font-weight: 600;\n color: #3f3f3f;\n border: 1px solid #3f3f3f;\n text-decoration: underline;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td {\n padding: 0px;\n border: 1px solid #f4f5f6;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td .p-highlight {\n color: #ffffff !important;\n background-color: #3f3f3f !important;\n box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.31);\n font-weight: 600;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td .p-disabled {\n opacity: 0.3;\n cursor: not-allowed;\n background-color: transparent !important;\n font-size: 12px;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td span {\n margin: 0;\n width: 100%;\n border-radius: 0px;\n}\n.p-datepicker .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td span:hover {\n background-color: rgba(63, 63, 63, 0.08) !important;\n color: #3f3f3f;\n box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.31);\n}\n\n/* WRAPPER GLOBAL */\n.dp-monthyear-header {\n width: 360px;\n background: #ffffff;\n border-radius: 18px;\n padding: 24px 26px;\n box-shadow: 0 8px 26px rgba(0, 0, 0, 0.1);\n display: flex;\n flex-direction: column;\n font-family: Inter, sans-serif;\n gap: 22px;\n}\n\n/* TITRE */\n.dp-header-top-alt .dp-title {\n font-size: 21.7px;\n font-weight: 700;\n text-align: center;\n color: #1a1e26;\n margin-bottom: 2px;\n}\n\n/* HOVER ANNÉES */\n.datepickerbook .dp-year-list .dp-list-item:hover {\n background: rgba(63, 63, 63, 0.15);\n}\n\n.dp-month-list .dp-list-item-active {\n background: #ffffff;\n font-weight: 600;\n}\n\n/* Centrage parfait */\n.dp-year-list {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 0;\n}\n\n/* Année normale */\n.dp-year-list .dp-list-item {\n font-size: 16.8px;\n color: #b0b8c4;\n padding: 4px 0;\n cursor: pointer;\n transition: 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.dp-year-list .dp-list-item:hover {\n color: #1a1e26;\n}\n\n/* FLECHES */\n.dp-arrow-up,\n.dp-arrow-down {\n font-size: 21px;\n color: #1a1e26;\n padding: 6px;\n border: none;\n background: none;\n cursor: pointer;\n margin: 4px 0;\n}\n\n/* ACTIONS BAS – GROS BOUTONS */\n.dp-actions {\n display: flex;\n justify-content: center;\n gap: 20px;\n padding-top: 5px;\n padding-bottom: 10px;\n}\n\n/* TITRE MOIS ANNEE */\n.dp-header-top {\n margin: auto;\n}\n\n/*DATEPICKER MENSUEL CUSTOMISE*/\n.p-monthpicker {\n display: none !important;\n margin: auto;\n}\n\n.datepickerbook .p-datepicker-header {\n border: none !important;\n border-bottom: none !important;\n box-shadow: none !important;\n background: transparent !important;\n}\n\n.datepickerbook.p-datepicker {\n padding: 0 !important;\n margin: 0 !important;\n}\n\n/*DATEPICKER ANNUEL CUSTOMISE*/\n.p-yearpicker {\n display: none !important;\n}\n\n.datepickerbook .p-datepicker-footer {\n margin-bottom: 20px;\n}\n\n.dp-error-message {\n color: red !important;\n font-style: italic !important;\n display: block !important;\n width: 100% !important;\n max-width: 100% !important;\n white-space: normal !important;\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n line-height: 1.4 !important;\n font-size: 12.25px !important;\n margin-top: 2px !important;\n float: none !important;\n position: static !important;\n}";
|
|
13489
13489
|
styleInject(css_248z$6);
|
|
13490
13490
|
|
|
13491
|
-
var _excluded$
|
|
13491
|
+
var _excluded$5 = ["value", "onChange", "placeholder", "dateFormat", "displayMask", "view", "invalid", "errorMessage", "disabled", "locale", "showTime", "showIcon", "icon", "iconBgButton", "iconPos", "name", "id", "fullWidth", "inputProps", "onBlur", "onSelect", "onClick", "showClear", "reopenOnClick", "invalidDateMessage", "onPanelShow", "onPanelHide"];
|
|
13492
13492
|
var normalizeDate = function normalizeDate(v) {
|
|
13493
13493
|
if (!v) return null;
|
|
13494
13494
|
return v instanceof Date ? v : new Date(v);
|
|
@@ -13542,7 +13542,7 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
13542
13542
|
_ref.invalidDateMessage;
|
|
13543
13543
|
var onPanelShow = _ref.onPanelShow,
|
|
13544
13544
|
onPanelHide = _ref.onPanelHide,
|
|
13545
|
-
rest = _objectWithoutProperties$1(_ref, _excluded$
|
|
13545
|
+
rest = _objectWithoutProperties$1(_ref, _excluded$5);
|
|
13546
13546
|
var _useState = useState(function () {
|
|
13547
13547
|
return normalizeDate(value);
|
|
13548
13548
|
}),
|
|
@@ -33444,7 +33444,7 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
33444
33444
|
});
|
|
33445
33445
|
HeaderCell.displayName = 'HeaderCell';
|
|
33446
33446
|
|
|
33447
|
-
var _excluded$
|
|
33447
|
+
var _excluded$4 = ["unstyled", "__TYPE", "ptOptions"];
|
|
33448
33448
|
function ownKeys$1$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
33449
33449
|
function _objectSpread$1$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1$4(Object(t), true).forEach(function (r) { _defineProperty$7(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
33450
33450
|
var TableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
@@ -33675,7 +33675,7 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
33675
33675
|
unstyled = _RowBase$getProps.unstyled;
|
|
33676
33676
|
_RowBase$getProps.__TYPE;
|
|
33677
33677
|
_RowBase$getProps.ptOptions;
|
|
33678
|
-
var rest = _objectWithoutProperties(_RowBase$getProps, _excluded$
|
|
33678
|
+
var rest = _objectWithoutProperties(_RowBase$getProps, _excluded$4);
|
|
33679
33679
|
var headerRowProps = mergeProps({
|
|
33680
33680
|
role: 'row'
|
|
33681
33681
|
}, unstyled ? _objectSpread$1$4({
|
|
@@ -37016,8 +37016,13 @@ var PopupPresets = {
|
|
|
37016
37016
|
}
|
|
37017
37017
|
};
|
|
37018
37018
|
|
|
37019
|
+
var css_248z$5 = "@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.dropdownbook.p-dropdown-panel {\n z-index: 999999 !important;\n}\n\n.p-tooltip {\n z-index: 1000000 !important;\n}\n\n.dropdown-tooltip-item {\n position: relative;\n width: 100%;\n cursor: pointer;\n}\n\n/* Application du mixin field sur le wrapper du Dropdown */\n.dropdown-container .p-dropdown {\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}\n.dropdown-container .p-dropdown:hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\n.dropdown-container .p-dropdown:focus, .dropdown-container .p-dropdown:focus-within, .dropdown-container .p-dropdown.is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.dropdown-container .p-dropdown[disabled], .dropdown-container .p-dropdown.is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n.dropdown-container .p-dropdown[readonly], .dropdown-container .p-dropdown.is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\n.dropdown-container .p-dropdown[readonly]:hover, .dropdown-container .p-dropdown.is-readonly:hover {\n border-color: #e0e3e8;\n}\n.dropdown-container .p-dropdown.is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\n.dropdown-container .p-dropdown.is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\n.dropdown-container .p-dropdown {\n padding: 0;\n display: flex;\n align-items: center;\n}\n\n.dd-search-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-bottom: 1px solid #e0e3e8;\n}\n.dd-search-row [class*=-filter-container] {\n flex: 1;\n min-width: 0;\n position: relative;\n}\n.dd-search-row [class*=-filter-container] .p-inputtext {\n width: 100%;\n height: 32px;\n padding: 0 24.5px 0 12px;\n font-size: 14px;\n box-sizing: border-box;\n}\n.dd-search-row [class*=-filter-container] [class*=-filter-icon] {\n right: 10.5px;\n color: #b0b8c4;\n}\n\n.dd-sort-btn {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid #e0e3e8;\n border-radius: 7px;\n background: #ffffff;\n cursor: pointer;\n color: #b0b8c4;\n font-size: 14px;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.dd-sort-btn:hover {\n background: #f4f5f6;\n color: #1a1e26;\n}\n\n.dropdownbook .p-dropdown-header:has(.dd-search-row) {\n padding: 0;\n}\n\n/* ===== Badge couleur dans les items ===== */\n.dd-color-badge {\n display: inline-flex;\n align-items: center;\n gap: 7px;\n padding: 4px 10px;\n border-radius: 14px;\n font-size: 12.25px;\n font-family: \"Roboto\", sans-serif;\n white-space: nowrap;\n cursor: default;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n background-color: #f4f5f6;\n color: #1a1e26;\n border: 1px solid #e0e3e8;\n border-color: var(--badge-color, #e0e3e8);\n background-color: color-mix(in srgb, var(--badge-color, #f4f5f6) 50%, transparent);\n}\n.dd-color-badge.is-selected {\n background-color: var(--badge-color, #f4f5f6);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.p-dropdown-item:hover .dd-color-badge {\n background-color: var(--badge-color) !important;\n}\n\n/* ===== Override PrimeReact default item colors ===== */\n.dropdownbook .p-dropdown-items .p-dropdown-item:not(.p-highlight):hover {\n background: #f4f5f6 !important;\n color: #1a1e26 !important;\n}\n.dropdownbook .p-dropdown-items .p-dropdown-item.p-highlight {\n background: rgba(63, 63, 63, 0.08) !important;\n color: #1a1e26 !important;\n}\n.dropdownbook .p-dropdown-items .p-dropdown-item.p-highlight.p-focus {\n background: rgba(63, 63, 63, 0.12) !important;\n color: #1a1e26 !important;\n}\n.dropdownbook .p-dropdown-items .p-dropdown-item.p-focus {\n background: #f4f5f6 !important;\n color: #1a1e26 !important;\n}\n\n/* ===== Override PrimeReact filter input focus ===== */\n.dropdownbook .p-dropdown-filter.p-inputtext:hover {\n border-color: #c8cdd6 !important;\n}\n.dropdownbook .p-dropdown-filter.p-inputtext:focus, .dropdownbook .p-dropdown-filter.p-inputtext.p-focus {\n border-color: #3f3f3f !important;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1) !important;\n outline: none;\n}";
|
|
37020
|
+
styleInject(css_248z$5);
|
|
37021
|
+
|
|
37022
|
+
var _excluded$3 = ["style", "className"],
|
|
37023
|
+
_excluded2$2 = ["class"];
|
|
37019
37024
|
var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
37020
|
-
var _window$Translator, _window$Translator2;
|
|
37025
|
+
var _computedOptions$, _window$Translator, _window$Translator2;
|
|
37021
37026
|
var value = _ref.value,
|
|
37022
37027
|
options = _ref.options,
|
|
37023
37028
|
_ref$placeholder = _ref.placeholder,
|
|
@@ -37028,6 +37033,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37028
37033
|
optionLabel = _ref$optionLabel === void 0 ? 'label' : _ref$optionLabel,
|
|
37029
37034
|
_ref$optionValue = _ref.optionValue,
|
|
37030
37035
|
optionValue = _ref$optionValue === void 0 ? 'value' : _ref$optionValue,
|
|
37036
|
+
optionsUrl = _ref.optionsUrl,
|
|
37031
37037
|
_ref$invalid = _ref.invalid,
|
|
37032
37038
|
invalid = _ref$invalid === void 0 ? false : _ref$invalid,
|
|
37033
37039
|
_ref$errorMessage = _ref.errorMessage,
|
|
@@ -37039,7 +37045,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37039
37045
|
_ref$editable = _ref.editable,
|
|
37040
37046
|
editable = _ref$editable === void 0 ? false : _ref$editable,
|
|
37041
37047
|
_ref$filter = _ref.filter,
|
|
37042
|
-
filter = _ref$filter === void 0 ?
|
|
37048
|
+
filter = _ref$filter === void 0 ? false : _ref$filter,
|
|
37043
37049
|
_ref$selectMetaConfig = _ref.selectMetaConfig,
|
|
37044
37050
|
selectMetaConfig = _ref$selectMetaConfig === void 0 ? {
|
|
37045
37051
|
labelStyle: null,
|
|
@@ -37048,7 +37054,79 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37048
37054
|
_ref$objValue = _ref.objValue,
|
|
37049
37055
|
objValue = _ref$objValue === void 0 ? null : _ref$objValue,
|
|
37050
37056
|
_ref$required = _ref.required,
|
|
37051
|
-
required = _ref$required === void 0 ? false : _ref$required
|
|
37057
|
+
required = _ref$required === void 0 ? false : _ref$required,
|
|
37058
|
+
_ref$attr = _ref.attr,
|
|
37059
|
+
attr = _ref$attr === void 0 ? {} : _ref$attr,
|
|
37060
|
+
_ref$choice_attr = _ref.choice_attr,
|
|
37061
|
+
choice_attr = _ref$choice_attr === void 0 ? function () {
|
|
37062
|
+
return {};
|
|
37063
|
+
} : _ref$choice_attr,
|
|
37064
|
+
_ref$optionClassname = _ref.optionClassname,
|
|
37065
|
+
optionClassname = _ref$optionClassname === void 0 ? null : _ref$optionClassname,
|
|
37066
|
+
_ref$valueClassname = _ref.valueClassname,
|
|
37067
|
+
valueClassname = _ref$valueClassname === void 0 ? null : _ref$valueClassname,
|
|
37068
|
+
_ref$isGroupedOption = _ref.isGroupedOption,
|
|
37069
|
+
isGroupedOption = _ref$isGroupedOption === void 0 ? false : _ref$isGroupedOption,
|
|
37070
|
+
_ref$showTooltipGroup = _ref.showTooltipGroup,
|
|
37071
|
+
showTooltipGroup = _ref$showTooltipGroup === void 0 ? false : _ref$showTooltipGroup,
|
|
37072
|
+
_ref$prevTextShowTool = _ref.prevTextShowTooltip,
|
|
37073
|
+
prevTextShowTooltip = _ref$prevTextShowTool === void 0 ? null : _ref$prevTextShowTool,
|
|
37074
|
+
onSearch = _ref.onSearch,
|
|
37075
|
+
_ref$readOnly = _ref.readOnly,
|
|
37076
|
+
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
|
37077
|
+
_ref$loading = _ref.loading,
|
|
37078
|
+
externalLoading = _ref$loading === void 0 ? false : _ref$loading,
|
|
37079
|
+
status = _ref.status,
|
|
37080
|
+
_ref$optionStyle = _ref.optionStyle,
|
|
37081
|
+
optionStyle = _ref$optionStyle === void 0 ? {
|
|
37082
|
+
maxWidth: '250px',
|
|
37083
|
+
overflow: 'hidden',
|
|
37084
|
+
textOverflow: 'ellipsis',
|
|
37085
|
+
whiteSpace: 'nowrap'
|
|
37086
|
+
} : _ref$optionStyle,
|
|
37087
|
+
_ref$showClear = _ref.showClear,
|
|
37088
|
+
showClear = _ref$showClear === void 0 ? true : _ref$showClear,
|
|
37089
|
+
_ref$groupedItemTempl = _ref.groupedItemTemplateConfig,
|
|
37090
|
+
groupedItemTemplateConfig = _ref$groupedItemTempl === void 0 ? {
|
|
37091
|
+
showIcon: false,
|
|
37092
|
+
iconKey: 'icon',
|
|
37093
|
+
showImage: false,
|
|
37094
|
+
imageKey: 'image',
|
|
37095
|
+
imageStyle: null,
|
|
37096
|
+
labelStyle: null,
|
|
37097
|
+
generalIcon: null,
|
|
37098
|
+
generalImage: null
|
|
37099
|
+
} : _ref$groupedItemTempl;
|
|
37100
|
+
_ref.isSelectMeta;
|
|
37101
|
+
var hasInfoLine = _ref.hasInfoLine,
|
|
37102
|
+
InfoLineValue = _ref.InfoLineValue,
|
|
37103
|
+
_ref$selectConfig = _ref.selectConfig,
|
|
37104
|
+
selectConfig = _ref$selectConfig === void 0 ? {
|
|
37105
|
+
labelStyle: null,
|
|
37106
|
+
generalIcon: null
|
|
37107
|
+
} : _ref$selectConfig,
|
|
37108
|
+
withIcon = _ref.withIcon,
|
|
37109
|
+
withColor = _ref.withColor,
|
|
37110
|
+
_ref$truncateAt = _ref.truncateAt,
|
|
37111
|
+
truncateAt = _ref$truncateAt === void 0 ? null : _ref$truncateAt;
|
|
37112
|
+
_ref.virtualScroll;
|
|
37113
|
+
var virtualScrollerOptions = _ref.virtualScrollerOptions,
|
|
37114
|
+
_ref$enableItemToolti = _ref.enableItemTooltip,
|
|
37115
|
+
enableItemTooltip = _ref$enableItemToolti === void 0 ? false : _ref$enableItemToolti,
|
|
37116
|
+
_ref$enableItemLink = _ref.enableItemLink,
|
|
37117
|
+
enableItemLink = _ref$enableItemLink === void 0 ? false : _ref$enableItemLink,
|
|
37118
|
+
_ref$openOnHover = _ref.openOnHover,
|
|
37119
|
+
openOnHover = _ref$openOnHover === void 0 ? false : _ref$openOnHover,
|
|
37120
|
+
_ref$itemsCheckedToTh = _ref.itemsCheckedToTheTop,
|
|
37121
|
+
itemsCheckedToTheTop = _ref$itemsCheckedToTh === void 0 ? false : _ref$itemsCheckedToTh,
|
|
37122
|
+
_ref$enableSorting = _ref.enableSorting,
|
|
37123
|
+
enableSorting = _ref$enableSorting === void 0 ? false : _ref$enableSorting,
|
|
37124
|
+
_ref$enableSecondaryL = _ref.enableSecondaryLabel,
|
|
37125
|
+
enableSecondaryLabel = _ref$enableSecondaryL === void 0 ? false : _ref$enableSecondaryL,
|
|
37126
|
+
_ref$secondaryLabelKe = _ref.secondaryLabelKey,
|
|
37127
|
+
secondaryLabelKey = _ref$secondaryLabelKe === void 0 ? 'profession' : _ref$secondaryLabelKe,
|
|
37128
|
+
_ref$subItem = _ref.subItem,
|
|
37129
|
+
subItem = _ref$subItem === void 0 ? false : _ref$subItem;
|
|
37052
37130
|
var _useState = useState(null),
|
|
37053
37131
|
_useState2 = _slicedToArray$d(_useState, 2),
|
|
37054
37132
|
optionSelected = _useState2[0],
|
|
@@ -37066,6 +37144,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37066
37144
|
inputValue = _useState8[0],
|
|
37067
37145
|
setInputValue = _useState8[1];
|
|
37068
37146
|
var dropdownRef = useRef(null);
|
|
37147
|
+
var dropdownComposantRef = useRef(null);
|
|
37069
37148
|
useRef(null);
|
|
37070
37149
|
var clickedFromList = useRef(false);
|
|
37071
37150
|
var _useState9 = useState(''),
|
|
@@ -37076,15 +37155,43 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37076
37155
|
_useState10 = _slicedToArray$d(_useState1, 2),
|
|
37077
37156
|
showRequiredError = _useState10[0],
|
|
37078
37157
|
setShowRequiredError = _useState10[1];
|
|
37158
|
+
var _useState11 = useState(0),
|
|
37159
|
+
_useState12 = _slicedToArray$d(_useState11, 2),
|
|
37160
|
+
tooltipKey = _useState12[0],
|
|
37161
|
+
setTooltipKey = _useState12[1];
|
|
37162
|
+
var _useState13 = useState(null),
|
|
37163
|
+
_useState14 = _slicedToArray$d(_useState13, 2),
|
|
37164
|
+
sortOrder = _useState14[0],
|
|
37165
|
+
setSortOrder = _useState14[1];
|
|
37166
|
+
var _useState15 = useState(false),
|
|
37167
|
+
_useState16 = _slicedToArray$d(_useState15, 2),
|
|
37168
|
+
isDropdownOpen = _useState16[0],
|
|
37169
|
+
setIsDropdownOpen = _useState16[1];
|
|
37170
|
+
var _useState17 = useState(''),
|
|
37171
|
+
_useState18 = _slicedToArray$d(_useState17, 2),
|
|
37172
|
+
selectedGroupLabel = _useState18[0],
|
|
37173
|
+
setSelectedGroupLabel = _useState18[1];
|
|
37079
37174
|
|
|
37080
37175
|
// 🔹 Lazy loading
|
|
37081
|
-
var
|
|
37082
|
-
|
|
37083
|
-
loading =
|
|
37084
|
-
setLoading =
|
|
37176
|
+
var _useState19 = useState(false),
|
|
37177
|
+
_useState20 = _slicedToArray$d(_useState19, 2),
|
|
37178
|
+
loading = _useState20[0],
|
|
37179
|
+
setLoading = _useState20[1];
|
|
37085
37180
|
var loadLazyTimeout = useRef();
|
|
37086
37181
|
useRef(1);
|
|
37087
37182
|
useRef('');
|
|
37183
|
+
var inverseColor = function inverseColor(hexColor) {
|
|
37184
|
+
var r = parseInt(hexColor.substr(1, 2), 16);
|
|
37185
|
+
var g = parseInt(hexColor.substr(3, 2), 16);
|
|
37186
|
+
var b = parseInt(hexColor.substr(5, 2), 16);
|
|
37187
|
+
var luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
|
37188
|
+
return luminance > 0.18 ? '#000000' : '#FFFFFF';
|
|
37189
|
+
};
|
|
37190
|
+
var truncateLabel = function truncateLabel(label) {
|
|
37191
|
+
if (!label || typeof label !== 'string') return label;
|
|
37192
|
+
if (!truncateAt || label.length <= truncateAt) return label;
|
|
37193
|
+
return label.slice(0, truncateAt) + '…';
|
|
37194
|
+
};
|
|
37088
37195
|
var optionTemplate = function optionTemplate(option) {
|
|
37089
37196
|
var _ref2 = selectMetaConfig || {},
|
|
37090
37197
|
labelStyle = _ref2.labelStyle,
|
|
@@ -37092,17 +37199,69 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37092
37199
|
var styleLabel = {
|
|
37093
37200
|
marginLeft: '10px'
|
|
37094
37201
|
};
|
|
37095
|
-
|
|
37202
|
+
var tooltipProps = enableItemTooltip ? {
|
|
37203
|
+
'data-pr-tooltip': (option === null || option === void 0 ? void 0 : option.tooltip) || (option === null || option === void 0 ? void 0 : option.description),
|
|
37204
|
+
'data-pr-position': 'right'
|
|
37205
|
+
} : {};
|
|
37206
|
+
var secondaryLabel = enableSecondaryLabel ? option === null || option === void 0 ? void 0 : option[secondaryLabelKey] : null;
|
|
37207
|
+
var isLink = enableItemLink && (option === null || option === void 0 ? void 0 : option.link);
|
|
37208
|
+
var handleLinkClick = function handleLinkClick(e) {
|
|
37209
|
+
if (isLink) {
|
|
37210
|
+
e.preventDefault();
|
|
37211
|
+
e.stopPropagation();
|
|
37212
|
+
window.open(option.link, '_blank', 'noopener,noreferrer');
|
|
37213
|
+
}
|
|
37214
|
+
};
|
|
37215
|
+
var optionAttrs = typeof choice_attr === 'function' ? choice_attr(option) : {};
|
|
37216
|
+
var attrStyle = optionAttrs.style,
|
|
37217
|
+
attrClassName = optionAttrs.className,
|
|
37218
|
+
restAttrs = _objectWithoutProperties$1(optionAttrs, _excluded$3);
|
|
37219
|
+
var className = "flex align-items-center dropdown-tooltip-item ".concat(attrClassName || optionClassname || '').trim();
|
|
37220
|
+
if (withIcon || withColor) {
|
|
37221
|
+
var _ref3 = selectConfig || {},
|
|
37222
|
+
cfgLabelStyle = _ref3.labelStyle,
|
|
37223
|
+
cfgGeneralIcon = _ref3.generalIcon;
|
|
37224
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
|
|
37225
|
+
onClick: function onClick() {
|
|
37226
|
+
clickedFromList.current = true;
|
|
37227
|
+
},
|
|
37228
|
+
className: className,
|
|
37229
|
+
style: _objectSpread2(_objectSpread2({
|
|
37230
|
+
fontSize: '14px',
|
|
37231
|
+
display: 'flex',
|
|
37232
|
+
alignItems: 'center',
|
|
37233
|
+
gap: '8px'
|
|
37234
|
+
}, optionStyle), attrStyle)
|
|
37235
|
+
}), withIcon && cfgGeneralIcon && /*#__PURE__*/React__default.createElement("i", {
|
|
37236
|
+
style: {
|
|
37237
|
+
color: option === null || option === void 0 ? void 0 : option.color
|
|
37238
|
+
},
|
|
37239
|
+
className: cfgGeneralIcon
|
|
37240
|
+
}), withColor && option !== null && option !== void 0 && option.color ? /*#__PURE__*/React__default.createElement("span", {
|
|
37241
|
+
className: "dd-color-badge".concat(optionSelected === (option === null || option === void 0 ? void 0 : option[optionValue]) ? ' is-selected' : ''),
|
|
37242
|
+
style: {
|
|
37243
|
+
'--badge-color': option.color,
|
|
37244
|
+
color: inverseColor(option.color)
|
|
37245
|
+
}
|
|
37246
|
+
}, option === null || option === void 0 ? void 0 : option[optionLabel]) : /*#__PURE__*/React__default.createElement("span", {
|
|
37247
|
+
style: _objectSpread2(_objectSpread2({}, cfgLabelStyle), subItem ? {
|
|
37248
|
+
flex: 1
|
|
37249
|
+
} : {})
|
|
37250
|
+
}, option === null || option === void 0 ? void 0 : option[optionLabel]));
|
|
37251
|
+
}
|
|
37252
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
|
|
37096
37253
|
onClick: function onClick() {
|
|
37097
37254
|
clickedFromList.current = true;
|
|
37098
37255
|
},
|
|
37099
|
-
className:
|
|
37100
|
-
style: {
|
|
37256
|
+
className: className,
|
|
37257
|
+
style: _objectSpread2({
|
|
37101
37258
|
padding: '6px 10px',
|
|
37102
37259
|
height: 'auto'
|
|
37103
|
-
}
|
|
37104
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
37105
|
-
style: _objectSpread2({
|
|
37260
|
+
}, attrStyle)
|
|
37261
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
37262
|
+
style: _objectSpread2(_objectSpread2({}, subItem ? {
|
|
37263
|
+
flex: 1
|
|
37264
|
+
} : {}), {}, {
|
|
37106
37265
|
fontSize: '15px',
|
|
37107
37266
|
fontWeight: 'bold'
|
|
37108
37267
|
}, labelStyle)
|
|
@@ -37113,9 +37272,184 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37113
37272
|
className: generalIcon
|
|
37114
37273
|
}), /*#__PURE__*/React__default.createElement("span", {
|
|
37115
37274
|
style: styleLabel
|
|
37116
|
-
}, option === null || option === void 0 ? void 0 : option[optionLabel])
|
|
37275
|
+
}, option === null || option === void 0 ? void 0 : option[optionLabel]), secondaryLabel && /*#__PURE__*/React__default.createElement("div", {
|
|
37276
|
+
onClick: isLink ? handleLinkClick : undefined,
|
|
37277
|
+
onMouseDown: isLink ? function (e) {
|
|
37278
|
+
return e.stopPropagation();
|
|
37279
|
+
} : undefined,
|
|
37280
|
+
style: {
|
|
37281
|
+
cursor: isLink ? 'pointer' : 'default',
|
|
37282
|
+
marginTop: '2px',
|
|
37283
|
+
width: 'fit-content'
|
|
37284
|
+
}
|
|
37285
|
+
}, /*#__PURE__*/React__default.createElement("small", {
|
|
37286
|
+
style: {
|
|
37287
|
+
opacity: 0.75,
|
|
37288
|
+
fontSize: '12px',
|
|
37289
|
+
textDecoration: isLink ? 'underline' : 'none',
|
|
37290
|
+
color: isLink ? '#3b82f6' : 'inherit',
|
|
37291
|
+
fontWeight: 'normal'
|
|
37292
|
+
}
|
|
37293
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
|
37294
|
+
style: subItem ? {} : {
|
|
37295
|
+
marginLeft: '10px'
|
|
37296
|
+
}
|
|
37297
|
+
}, secondaryLabel)))));
|
|
37298
|
+
};
|
|
37299
|
+
var groupedItemTemplate = function groupedItemTemplate(option) {
|
|
37300
|
+
var _ref4 = groupedItemTemplateConfig || {},
|
|
37301
|
+
showImage = _ref4.showImage,
|
|
37302
|
+
imageKey = _ref4.imageKey,
|
|
37303
|
+
imageStyle = _ref4.imageStyle,
|
|
37304
|
+
showIcon = _ref4.showIcon,
|
|
37305
|
+
iconKey = _ref4.iconKey,
|
|
37306
|
+
labelStyle = _ref4.labelStyle,
|
|
37307
|
+
generalIcon = _ref4.generalIcon,
|
|
37308
|
+
generalImage = _ref4.generalImage;
|
|
37309
|
+
var icon = option.value && option.value[iconKey];
|
|
37310
|
+
var styleLabel = generalIcon || showImage && option[imageKey] || showIcon && icon ? {
|
|
37311
|
+
marginLeft: '10px'
|
|
37312
|
+
} : {};
|
|
37313
|
+
if (option.group) {
|
|
37314
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
37315
|
+
className: "flex align-items-center"
|
|
37316
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
37317
|
+
style: _objectSpread2({
|
|
37318
|
+
fontSize: '15px',
|
|
37319
|
+
fontWeight: 'bold'
|
|
37320
|
+
}, labelStyle)
|
|
37321
|
+
}, generalIcon && /*#__PURE__*/React__default.createElement("i", {
|
|
37322
|
+
className: generalIcon,
|
|
37323
|
+
style: _objectSpread2({
|
|
37324
|
+
fontSize: '15px',
|
|
37325
|
+
fontWeight: 'bold'
|
|
37326
|
+
}, labelStyle)
|
|
37327
|
+
}), generalImage && /*#__PURE__*/React__default.createElement("img", {
|
|
37328
|
+
alt: "General",
|
|
37329
|
+
src: generalImage,
|
|
37330
|
+
style: imageStyle || {
|
|
37331
|
+
width: '18px',
|
|
37332
|
+
marginRight: '0.5rem'
|
|
37333
|
+
},
|
|
37334
|
+
className: "mr-2"
|
|
37335
|
+
}), showImage && option[imageKey] && /*#__PURE__*/React__default.createElement("img", {
|
|
37336
|
+
alt: option.label,
|
|
37337
|
+
src: option[imageKey],
|
|
37338
|
+
style: imageStyle || {
|
|
37339
|
+
width: '18px',
|
|
37340
|
+
marginRight: '0.5rem'
|
|
37341
|
+
},
|
|
37342
|
+
className: "mr-2"
|
|
37343
|
+
}), showIcon && icon && /*#__PURE__*/React__default.createElement("i", {
|
|
37344
|
+
className: "mr-2 ".concat(icon),
|
|
37345
|
+
style: _objectSpread2({
|
|
37346
|
+
fontSize: '15px',
|
|
37347
|
+
fontWeight: 'bold'
|
|
37348
|
+
}, labelStyle)
|
|
37349
|
+
}), /*#__PURE__*/React__default.createElement("span", {
|
|
37350
|
+
style: styleLabel
|
|
37351
|
+
}, option.label)));
|
|
37352
|
+
}
|
|
37353
|
+
return null;
|
|
37117
37354
|
};
|
|
37118
|
-
var
|
|
37355
|
+
var panelFooterTemplate = function panelFooterTemplate() {
|
|
37356
|
+
if (InfoLineValue) {
|
|
37357
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
37358
|
+
style: {
|
|
37359
|
+
padding: '8px'
|
|
37360
|
+
}
|
|
37361
|
+
}, /*#__PURE__*/React__default.createElement("b", null, InfoLineValue));
|
|
37362
|
+
}
|
|
37363
|
+
};
|
|
37364
|
+
var isInvalidEffective = invalid || status === 'error' || showRequiredError;
|
|
37365
|
+
|
|
37366
|
+
// 🔹 Chargement des options depuis une URL (même contrat que MultiSelectMetaAsync)
|
|
37367
|
+
var fetchOptionsFromUrl = /*#__PURE__*/function () {
|
|
37368
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
37369
|
+
var search,
|
|
37370
|
+
_ref6,
|
|
37371
|
+
_ref6$page,
|
|
37372
|
+
page,
|
|
37373
|
+
length,
|
|
37374
|
+
start,
|
|
37375
|
+
queryParams,
|
|
37376
|
+
response,
|
|
37377
|
+
responseJSON,
|
|
37378
|
+
dataAjax,
|
|
37379
|
+
mappedOptions,
|
|
37380
|
+
hasMore,
|
|
37381
|
+
_args = arguments,
|
|
37382
|
+
_t;
|
|
37383
|
+
return _regenerator().w(function (_context) {
|
|
37384
|
+
while (1) switch (_context.n) {
|
|
37385
|
+
case 0:
|
|
37386
|
+
search = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
|
|
37387
|
+
_ref6 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref6$page = _ref6.page, page = _ref6$page === void 0 ? 1 : _ref6$page;
|
|
37388
|
+
_context.p = 1;
|
|
37389
|
+
length = 25;
|
|
37390
|
+
start = (page - 1) * length;
|
|
37391
|
+
queryParams = new URLSearchParams();
|
|
37392
|
+
if (search) queryParams.append('search[value]', search);
|
|
37393
|
+
queryParams.append('start', start);
|
|
37394
|
+
queryParams.append('length', length);
|
|
37395
|
+
_context.n = 2;
|
|
37396
|
+
return fetch("".concat(optionsUrl, "?").concat(queryParams.toString()));
|
|
37397
|
+
case 2:
|
|
37398
|
+
response = _context.v;
|
|
37399
|
+
if (response.ok) {
|
|
37400
|
+
_context.n = 4;
|
|
37401
|
+
break;
|
|
37402
|
+
}
|
|
37403
|
+
if (!(response.status === 404)) {
|
|
37404
|
+
_context.n = 3;
|
|
37405
|
+
break;
|
|
37406
|
+
}
|
|
37407
|
+
return _context.a(2, {
|
|
37408
|
+
options: [],
|
|
37409
|
+
hasMore: false
|
|
37410
|
+
});
|
|
37411
|
+
case 3:
|
|
37412
|
+
throw new Error("Erreur HTTP: ".concat(response.status));
|
|
37413
|
+
case 4:
|
|
37414
|
+
_context.n = 5;
|
|
37415
|
+
return response.json();
|
|
37416
|
+
case 5:
|
|
37417
|
+
responseJSON = _context.v;
|
|
37418
|
+
dataAjax = responseJSON.data || [];
|
|
37419
|
+
mappedOptions = dataAjax.map(function (opt) {
|
|
37420
|
+
if (opt.hasOwnProperty('color') && opt.color !== null && opt.color.length > 0) {
|
|
37421
|
+
opt.color = opt.color.toLowerCase();
|
|
37422
|
+
} else {
|
|
37423
|
+
delete opt.color;
|
|
37424
|
+
}
|
|
37425
|
+
opt.label = opt.nom !== undefined && opt.nom !== null ? opt.nom : opt.label;
|
|
37426
|
+
opt.value = opt.id;
|
|
37427
|
+
return opt;
|
|
37428
|
+
});
|
|
37429
|
+
hasMore = start + dataAjax.length < responseJSON.recordsTotal;
|
|
37430
|
+
return _context.a(2, {
|
|
37431
|
+
options: mappedOptions,
|
|
37432
|
+
hasMore: hasMore,
|
|
37433
|
+
additional: {
|
|
37434
|
+
page: page + 1
|
|
37435
|
+
}
|
|
37436
|
+
});
|
|
37437
|
+
case 6:
|
|
37438
|
+
_context.p = 6;
|
|
37439
|
+
_t = _context.v;
|
|
37440
|
+
console.error("Erreur lors de la récupération des options :", _t);
|
|
37441
|
+
return _context.a(2, {
|
|
37442
|
+
options: [],
|
|
37443
|
+
hasMore: false
|
|
37444
|
+
});
|
|
37445
|
+
}
|
|
37446
|
+
}, _callee, null, [[1, 6]]);
|
|
37447
|
+
}));
|
|
37448
|
+
return function fetchOptionsFromUrl() {
|
|
37449
|
+
return _ref5.apply(this, arguments);
|
|
37450
|
+
};
|
|
37451
|
+
}();
|
|
37452
|
+
var loadOptions = typeof options === 'function' ? options : fetchOptionsFromUrl;
|
|
37119
37453
|
var style = {
|
|
37120
37454
|
border: isInvalidEffective ? '1px solid red' : '1px solid #ccc',
|
|
37121
37455
|
width: '100%',
|
|
@@ -37127,17 +37461,17 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37127
37461
|
useEffect(function () {
|
|
37128
37462
|
setOptionSelected(objValue ? objValue === null || objValue === void 0 ? void 0 : objValue[optionValue] : value !== null && value !== void 0 ? value : null);
|
|
37129
37463
|
var loadInitialOptions = /*#__PURE__*/function () {
|
|
37130
|
-
var
|
|
37464
|
+
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
37131
37465
|
var result, _result$options, exists;
|
|
37132
|
-
return _regenerator().w(function (
|
|
37133
|
-
while (1) switch (
|
|
37466
|
+
return _regenerator().w(function (_context2) {
|
|
37467
|
+
while (1) switch (_context2.n) {
|
|
37134
37468
|
case 0:
|
|
37135
|
-
|
|
37136
|
-
return
|
|
37469
|
+
_context2.n = 1;
|
|
37470
|
+
return loadOptions('', [], {
|
|
37137
37471
|
page: 1
|
|
37138
37472
|
});
|
|
37139
37473
|
case 1:
|
|
37140
|
-
result =
|
|
37474
|
+
result = _context2.v;
|
|
37141
37475
|
setLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
|
|
37142
37476
|
if (objValue) {
|
|
37143
37477
|
exists = result === null || result === void 0 || (_result$options = result.options) === null || _result$options === void 0 ? void 0 : _result$options.some(function (opt) {
|
|
@@ -37150,12 +37484,12 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37150
37484
|
}
|
|
37151
37485
|
}
|
|
37152
37486
|
case 2:
|
|
37153
|
-
return
|
|
37487
|
+
return _context2.a(2);
|
|
37154
37488
|
}
|
|
37155
|
-
},
|
|
37489
|
+
}, _callee2);
|
|
37156
37490
|
}));
|
|
37157
37491
|
return function loadInitialOptions() {
|
|
37158
|
-
return
|
|
37492
|
+
return _ref7.apply(this, arguments);
|
|
37159
37493
|
};
|
|
37160
37494
|
}();
|
|
37161
37495
|
loadInitialOptions();
|
|
@@ -37163,7 +37497,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37163
37497
|
return function () {
|
|
37164
37498
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
37165
37499
|
};
|
|
37166
|
-
}, [options, objValue, value]);
|
|
37500
|
+
}, [options, optionsUrl, objValue, value]);
|
|
37167
37501
|
var handleClickOutside = function handleClickOutside(event) {
|
|
37168
37502
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
37169
37503
|
setIsEditing(false);
|
|
@@ -37181,7 +37515,39 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37181
37515
|
}
|
|
37182
37516
|
};
|
|
37183
37517
|
}, [dropdownRef.current]);
|
|
37518
|
+
useEffect(function () {
|
|
37519
|
+
if (enableItemTooltip) {
|
|
37520
|
+
setTooltipKey(function (prevKey) {
|
|
37521
|
+
return prevKey + 1;
|
|
37522
|
+
});
|
|
37523
|
+
}
|
|
37524
|
+
}, [loadedOptions, enableItemTooltip]);
|
|
37525
|
+
var getSelectedGroupLabel = function getSelectedGroupLabel(selectedValue) {
|
|
37526
|
+
if (!isGroupedOption || !selectedValue) return '';
|
|
37527
|
+
var _iterator = _createForOfIteratorHelper$7(loadedOptions),
|
|
37528
|
+
_step;
|
|
37529
|
+
try {
|
|
37530
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
37531
|
+
var group = _step.value;
|
|
37532
|
+
if (showTooltipGroup && group.items && group.items.some(function (item) {
|
|
37533
|
+
return item.value === selectedValue;
|
|
37534
|
+
})) {
|
|
37535
|
+
if (prevTextShowTooltip) return prevTextShowTooltip + ' ' + group.label;
|
|
37536
|
+
return group.label;
|
|
37537
|
+
}
|
|
37538
|
+
}
|
|
37539
|
+
} catch (err) {
|
|
37540
|
+
_iterator.e(err);
|
|
37541
|
+
} finally {
|
|
37542
|
+
_iterator.f();
|
|
37543
|
+
}
|
|
37544
|
+
return '';
|
|
37545
|
+
};
|
|
37546
|
+
useEffect(function () {
|
|
37547
|
+
if (optionSelected) setSelectedGroupLabel(getSelectedGroupLabel(optionSelected));
|
|
37548
|
+
}, [optionSelected, loadedOptions]);
|
|
37184
37549
|
var handleChange = function handleChange(e) {
|
|
37550
|
+
if (readOnly) return;
|
|
37185
37551
|
setOptionSelected(e.value);
|
|
37186
37552
|
if (clickedFromList.current) {
|
|
37187
37553
|
var _selected$optionLabel;
|
|
@@ -37192,69 +37558,81 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37192
37558
|
setInputValue((_selected$optionLabel = selected === null || selected === void 0 ? void 0 : selected[optionLabel]) !== null && _selected$optionLabel !== void 0 ? _selected$optionLabel : '');
|
|
37193
37559
|
}
|
|
37194
37560
|
clickedFromList.current = false;
|
|
37195
|
-
if (onChange)
|
|
37561
|
+
if (typeof onChange === 'function') {
|
|
37562
|
+
onChange(e.value);
|
|
37563
|
+
} else if (typeof onChange === 'string' && typeof window[onChange] === 'function') {
|
|
37564
|
+
window[onChange](e.value);
|
|
37565
|
+
}
|
|
37196
37566
|
};
|
|
37197
37567
|
var handleClear = function handleClear() {
|
|
37198
37568
|
setOptionSelected(null);
|
|
37199
37569
|
setInputValue('');
|
|
37200
|
-
if (onChange)
|
|
37201
|
-
|
|
37570
|
+
if (typeof onChange === 'function') {
|
|
37571
|
+
onChange(null);
|
|
37572
|
+
} else if (typeof onChange === 'string' && typeof window[onChange] === 'function') {
|
|
37573
|
+
window[onChange](null);
|
|
37574
|
+
}
|
|
37575
|
+
loadOptions('', [], {
|
|
37202
37576
|
page: 1
|
|
37203
37577
|
}).then(function (result) {
|
|
37204
37578
|
setLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
|
|
37205
37579
|
});
|
|
37206
37580
|
};
|
|
37207
37581
|
var handleInputChange = /*#__PURE__*/function () {
|
|
37208
|
-
var
|
|
37582
|
+
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(e) {
|
|
37209
37583
|
var search, result, _result$options2, _result, filteredOptions;
|
|
37210
|
-
return _regenerator().w(function (
|
|
37211
|
-
while (1) switch (
|
|
37584
|
+
return _regenerator().w(function (_context3) {
|
|
37585
|
+
while (1) switch (_context3.n) {
|
|
37212
37586
|
case 0:
|
|
37213
37587
|
search = e.target.value;
|
|
37214
37588
|
setInputValue(search);
|
|
37589
|
+
if (typeof onSearch === 'function') onSearch(search);
|
|
37215
37590
|
if (search) {
|
|
37216
|
-
|
|
37591
|
+
_context3.n = 2;
|
|
37217
37592
|
break;
|
|
37218
37593
|
}
|
|
37219
|
-
|
|
37220
|
-
return
|
|
37594
|
+
_context3.n = 1;
|
|
37595
|
+
return loadOptions('', [], {
|
|
37221
37596
|
page: 1
|
|
37222
37597
|
});
|
|
37223
37598
|
case 1:
|
|
37224
|
-
result =
|
|
37599
|
+
result = _context3.v;
|
|
37225
37600
|
setLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
|
|
37226
|
-
|
|
37601
|
+
_context3.n = 4;
|
|
37227
37602
|
break;
|
|
37228
37603
|
case 2:
|
|
37229
|
-
|
|
37230
|
-
return
|
|
37604
|
+
_context3.n = 3;
|
|
37605
|
+
return loadOptions(search, [], {
|
|
37231
37606
|
page: 1
|
|
37232
37607
|
});
|
|
37233
37608
|
case 3:
|
|
37234
|
-
_result =
|
|
37609
|
+
_result = _context3.v;
|
|
37235
37610
|
filteredOptions = (_result === null || _result === void 0 || (_result$options2 = _result.options) === null || _result$options2 === void 0 ? void 0 : _result$options2.filter(function (opt) {
|
|
37236
37611
|
return opt[optionLabel].toLowerCase().includes(search.toLowerCase());
|
|
37237
37612
|
})) || [];
|
|
37238
37613
|
setLoadedOptions(filteredOptions);
|
|
37239
37614
|
case 4:
|
|
37240
|
-
return
|
|
37615
|
+
return _context3.a(2);
|
|
37241
37616
|
}
|
|
37242
|
-
},
|
|
37617
|
+
}, _callee3);
|
|
37243
37618
|
}));
|
|
37244
37619
|
return function handleInputChange(_x) {
|
|
37245
|
-
return
|
|
37620
|
+
return _ref8.apply(this, arguments);
|
|
37246
37621
|
};
|
|
37247
37622
|
}();
|
|
37623
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
37624
|
+
var _dropdownComposantRef;
|
|
37625
|
+
if (!openOnHover || disabled || readOnly) return;
|
|
37626
|
+
(_dropdownComposantRef = dropdownComposantRef.current) === null || _dropdownComposantRef === void 0 || _dropdownComposantRef.show();
|
|
37627
|
+
};
|
|
37628
|
+
var handleMouseLeave = function handleMouseLeave() {
|
|
37629
|
+
var _dropdownComposantRef2;
|
|
37630
|
+
if (!openOnHover) return;
|
|
37631
|
+
(_dropdownComposantRef2 = dropdownComposantRef.current) === null || _dropdownComposantRef2 === void 0 || _dropdownComposantRef2.hide();
|
|
37632
|
+
};
|
|
37248
37633
|
var selectedOption = loadedOptions.find(function (opt) {
|
|
37249
37634
|
return opt[optionValue] === optionSelected;
|
|
37250
37635
|
});
|
|
37251
|
-
var inverseColor = function inverseColor(hexColor) {
|
|
37252
|
-
var r = parseInt(hexColor.substr(1, 2), 16);
|
|
37253
|
-
var g = parseInt(hexColor.substr(3, 2), 16);
|
|
37254
|
-
var b = parseInt(hexColor.substr(5, 2), 16);
|
|
37255
|
-
var luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
|
37256
|
-
return luminance > 0.18 ? '#000000' : '#FFFFFF';
|
|
37257
|
-
};
|
|
37258
37636
|
var valueTemplate = function valueTemplate() {
|
|
37259
37637
|
if (isEditing) return null;
|
|
37260
37638
|
if (!selectedOption) return /*#__PURE__*/React__default.createElement("span", {
|
|
@@ -37262,7 +37640,37 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37262
37640
|
color: '#aaa'
|
|
37263
37641
|
}
|
|
37264
37642
|
}, placeholder);
|
|
37643
|
+
if (withIcon || withColor) {
|
|
37644
|
+
var _ref9 = selectConfig || {},
|
|
37645
|
+
labelStyle = _ref9.labelStyle,
|
|
37646
|
+
generalIcon = _ref9.generalIcon;
|
|
37647
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
37648
|
+
style: _objectSpread2({
|
|
37649
|
+
display: 'flex',
|
|
37650
|
+
alignItems: 'center',
|
|
37651
|
+
gap: '8px',
|
|
37652
|
+
fontFamily: 'Arial',
|
|
37653
|
+
fontSize: '14px'
|
|
37654
|
+
}, valueStyle)
|
|
37655
|
+
}, withIcon && generalIcon && /*#__PURE__*/React__default.createElement("i", {
|
|
37656
|
+
style: {
|
|
37657
|
+
color: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color
|
|
37658
|
+
},
|
|
37659
|
+
className: generalIcon
|
|
37660
|
+
}), withColor && selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? /*#__PURE__*/React__default.createElement("span", {
|
|
37661
|
+
className: "dd-color-badge is-selected",
|
|
37662
|
+
style: {
|
|
37663
|
+
'--badge-color': selectedOption.color,
|
|
37664
|
+
color: inverseColor(selectedOption.color)
|
|
37665
|
+
}
|
|
37666
|
+
}, truncateLabel(selectedOption[optionLabel])) : /*#__PURE__*/React__default.createElement("span", {
|
|
37667
|
+
className: valueClassname,
|
|
37668
|
+
style: labelStyle
|
|
37669
|
+
}, truncateLabel(selectedOption[optionLabel])));
|
|
37670
|
+
}
|
|
37265
37671
|
return /*#__PURE__*/React__default.createElement("span", {
|
|
37672
|
+
className: valueClassname,
|
|
37673
|
+
title: selectedOption[optionLabel],
|
|
37266
37674
|
style: _objectSpread2({
|
|
37267
37675
|
backgroundColor: selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color : '#FFFFFF',
|
|
37268
37676
|
color: selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? inverseColor(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color) : '#FFFFFF',
|
|
@@ -37273,7 +37681,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37273
37681
|
display: 'inline-block',
|
|
37274
37682
|
fontFamily: 'Arial'
|
|
37275
37683
|
}, valueStyle)
|
|
37276
|
-
}, selectedOption[optionLabel]);
|
|
37684
|
+
}, truncateLabel(selectedOption[optionLabel]));
|
|
37277
37685
|
};
|
|
37278
37686
|
|
|
37279
37687
|
// 🔹 Fonction de lazy loading (simulation d’un backend)
|
|
@@ -37334,20 +37742,103 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37334
37742
|
return document.removeEventListener('click', handleAnyClick);
|
|
37335
37743
|
};
|
|
37336
37744
|
}, []);
|
|
37337
|
-
|
|
37338
|
-
|
|
37339
|
-
|
|
37340
|
-
|
|
37745
|
+
|
|
37746
|
+
// 🔹 Options calculées (réordonnancement + tri, comme Dropdown)
|
|
37747
|
+
var smartSort = function smartSort(opts, order, labelKey) {
|
|
37748
|
+
if (!order) return opts;
|
|
37749
|
+
var dir = order === 'desc' ? 1 : -1;
|
|
37750
|
+
return _toConsumableArray$a(opts).sort(function (a, b) {
|
|
37751
|
+
var _a$labelKey, _b$labelKey;
|
|
37752
|
+
var aLabel = String((_a$labelKey = a === null || a === void 0 ? void 0 : a[labelKey]) !== null && _a$labelKey !== void 0 ? _a$labelKey : '').trim();
|
|
37753
|
+
var bLabel = String((_b$labelKey = b === null || b === void 0 ? void 0 : b[labelKey]) !== null && _b$labelKey !== void 0 ? _b$labelKey : '').trim();
|
|
37754
|
+
return dir * aLabel.localeCompare(bLabel, 'fr', {
|
|
37755
|
+
sensitivity: 'base',
|
|
37756
|
+
numeric: true
|
|
37757
|
+
});
|
|
37758
|
+
});
|
|
37759
|
+
};
|
|
37760
|
+
var computedOptions = useMemo(function () {
|
|
37761
|
+
var opts = loadedOptions;
|
|
37762
|
+
if (itemsCheckedToTheTop && optionSelected) {
|
|
37763
|
+
var selected = opts.find(function (opt) {
|
|
37764
|
+
return (opt === null || opt === void 0 ? void 0 : opt[optionValue]) === optionSelected;
|
|
37765
|
+
});
|
|
37766
|
+
if (selected) {
|
|
37767
|
+
opts = [selected].concat(_toConsumableArray$a(opts.filter(function (opt) {
|
|
37768
|
+
return (opt === null || opt === void 0 ? void 0 : opt[optionValue]) !== optionSelected;
|
|
37769
|
+
})));
|
|
37770
|
+
}
|
|
37771
|
+
}
|
|
37772
|
+
if (enableSorting) {
|
|
37773
|
+
opts = smartSort(opts, sortOrder, optionLabel);
|
|
37774
|
+
}
|
|
37775
|
+
return opts;
|
|
37776
|
+
}, [loadedOptions, itemsCheckedToTheTop, optionSelected, enableSorting, sortOrder, optionValue, optionLabel]);
|
|
37777
|
+
var toggleSortOrder = function toggleSortOrder() {
|
|
37778
|
+
setSortOrder(function (prev) {
|
|
37779
|
+
if (prev === null) return 'desc';
|
|
37780
|
+
if (prev === 'desc') return 'asc';
|
|
37781
|
+
return null;
|
|
37782
|
+
});
|
|
37783
|
+
requestAnimationFrame(function () {
|
|
37784
|
+
var _dropdownComposantRef3;
|
|
37785
|
+
(_dropdownComposantRef3 = dropdownComposantRef.current) === null || _dropdownComposantRef3 === void 0 || _dropdownComposantRef3.show();
|
|
37786
|
+
});
|
|
37787
|
+
};
|
|
37788
|
+
var customFilterTemplate = function customFilterTemplate(opts) {
|
|
37789
|
+
if (!enableSorting) return opts.element;
|
|
37790
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
37791
|
+
className: "dd-search-row"
|
|
37792
|
+
}, opts.element, /*#__PURE__*/React__default.createElement("button", {
|
|
37793
|
+
type: "button",
|
|
37794
|
+
className: "dd-sort-btn",
|
|
37795
|
+
onClick: function onClick(e) {
|
|
37796
|
+
e.stopPropagation();
|
|
37797
|
+
toggleSortOrder();
|
|
37798
|
+
}
|
|
37799
|
+
}, /*#__PURE__*/React__default.createElement("i", {
|
|
37800
|
+
className: sortOrder === 'desc' ? 'pi pi-sort-amount-down' : sortOrder === 'asc' ? 'pi pi-sort-amount-up-alt' : 'pi pi-sort-alt'
|
|
37801
|
+
})));
|
|
37802
|
+
};
|
|
37803
|
+
var mergedClassName = "flex flex-col gap-1 ".concat(attr["class"] || '').trim();
|
|
37804
|
+
attr["class"];
|
|
37805
|
+
var cleanAttr = _objectWithoutProperties$1(attr, _excluded2$2);
|
|
37806
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({
|
|
37807
|
+
ref: dropdownRef
|
|
37808
|
+
}, cleanAttr, {
|
|
37809
|
+
className: mergedClassName,
|
|
37810
|
+
style: {
|
|
37811
|
+
width: '100%'
|
|
37812
|
+
},
|
|
37813
|
+
onMouseEnter: handleMouseEnter,
|
|
37814
|
+
onMouseLeave: handleMouseLeave,
|
|
37815
|
+
onClick: isInvalidEffective || disabled || readOnly ? null : function () {
|
|
37341
37816
|
return setIsEditing(editable);
|
|
37342
37817
|
}
|
|
37343
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
37344
|
-
|
|
37818
|
+
}), enableItemTooltip && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
37819
|
+
key: tooltipKey,
|
|
37820
|
+
target: ".dropdown-tooltip-item",
|
|
37821
|
+
appendTo: document.body,
|
|
37822
|
+
position: "right",
|
|
37823
|
+
style: {
|
|
37824
|
+
zIndex: 9999999
|
|
37825
|
+
}
|
|
37826
|
+
}), /*#__PURE__*/React__default.createElement(Dropdown$1, _extends$J({
|
|
37827
|
+
ref: dropdownComposantRef,
|
|
37828
|
+
options: computedOptions,
|
|
37345
37829
|
onChange: handleChange,
|
|
37830
|
+
onClick: function onClick(e) {
|
|
37831
|
+
if (readOnly) {
|
|
37832
|
+
e.preventDefault();
|
|
37833
|
+
e.stopPropagation();
|
|
37834
|
+
}
|
|
37835
|
+
},
|
|
37346
37836
|
filter: filter,
|
|
37837
|
+
filterTemplate: filter ? customFilterTemplate : undefined,
|
|
37347
37838
|
placeholder: placeholder === "" || placeholder === null ? ' ' : placeholder,
|
|
37348
37839
|
optionLabel: optionLabel,
|
|
37349
37840
|
optionValue: optionValue,
|
|
37350
|
-
showClear:
|
|
37841
|
+
showClear: showClear,
|
|
37351
37842
|
disabled: disabled,
|
|
37352
37843
|
editable: isEditing,
|
|
37353
37844
|
onFocus: function onFocus() {
|
|
@@ -37365,16 +37856,38 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37365
37856
|
},
|
|
37366
37857
|
dropdownMode: "current",
|
|
37367
37858
|
itemTemplate: optionTemplate,
|
|
37368
|
-
valueTemplate: valueTemplate
|
|
37369
|
-
|
|
37859
|
+
valueTemplate: valueTemplate
|
|
37860
|
+
}, hasInfoLine && {
|
|
37861
|
+
panelFooterTemplate: panelFooterTemplate
|
|
37862
|
+
}, {
|
|
37863
|
+
optionGroupTemplate: isGroupedOption ? groupedItemTemplate : null
|
|
37864
|
+
}, isGroupedOption && computedOptions.length > 0 && Array.isArray((_computedOptions$ = computedOptions[0]) === null || _computedOptions$ === void 0 ? void 0 : _computedOptions$.items) && {
|
|
37865
|
+
optionGroupLabel: 'label',
|
|
37866
|
+
optionGroupChildren: 'items'
|
|
37867
|
+
}, {
|
|
37868
|
+
onShow: function onShow() {
|
|
37869
|
+
if (isGroupedOption && showTooltipGroup) setIsDropdownOpen(true);
|
|
37870
|
+
if (enableItemTooltip) setTooltipKey(function (k) {
|
|
37871
|
+
return k + 1;
|
|
37872
|
+
});
|
|
37873
|
+
},
|
|
37874
|
+
onHide: function onHide() {
|
|
37875
|
+
if (isGroupedOption && showTooltipGroup) setIsDropdownOpen(false);
|
|
37876
|
+
},
|
|
37877
|
+
emptyMessage: externalLoading ? 'Chargement…' : 'Aucune option disponible',
|
|
37878
|
+
virtualScrollerOptions: _objectSpread2({
|
|
37370
37879
|
lazy: true,
|
|
37371
37880
|
onLazyLoad: onLazyLoad,
|
|
37372
37881
|
itemSize: 38,
|
|
37373
37882
|
showLoader: true,
|
|
37374
|
-
loading: loading,
|
|
37883
|
+
loading: loading || externalLoading,
|
|
37375
37884
|
delay: 25
|
|
37376
|
-
},
|
|
37377
|
-
className: "w-full
|
|
37885
|
+
}, virtualScrollerOptions),
|
|
37886
|
+
className: "w-full"
|
|
37887
|
+
})), !isDropdownOpen && selectedGroupLabel && isGroupedOption && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
37888
|
+
target: ".p-dropdown-label.p-inputtext",
|
|
37889
|
+
content: selectedGroupLabel,
|
|
37890
|
+
position: "top"
|
|
37378
37891
|
}), name && /*#__PURE__*/React__default.createElement("input", {
|
|
37379
37892
|
type: "hidden",
|
|
37380
37893
|
name: name,
|
|
@@ -37411,9 +37924,6 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37411
37924
|
}, errorMessage || (showRequiredError ? ((_window$Translator = window.Translator) === null || _window$Translator === void 0 ? void 0 : _window$Translator.trans('error.required')) || 'Veuillez renseigner ce champ' : ((_window$Translator2 = window.Translator) === null || _window$Translator2 === void 0 ? void 0 : _window$Translator2.trans('error.invalid_selection')) || 'Sélection invalide'))));
|
|
37412
37925
|
};
|
|
37413
37926
|
|
|
37414
|
-
var css_248z$5 = "@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.dropdownbook.p-dropdown-panel {\n z-index: 999999 !important;\n}\n\n.p-tooltip {\n z-index: 1000000 !important;\n}\n\n.dropdown-tooltip-item {\n position: relative;\n width: 100%;\n cursor: pointer;\n}\n\n/* Application du mixin field sur le wrapper du Dropdown */\n.dropdown-container .p-dropdown {\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}\n.dropdown-container .p-dropdown:hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\n.dropdown-container .p-dropdown:focus, .dropdown-container .p-dropdown:focus-within, .dropdown-container .p-dropdown.is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.dropdown-container .p-dropdown[disabled], .dropdown-container .p-dropdown.is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n.dropdown-container .p-dropdown[readonly], .dropdown-container .p-dropdown.is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\n.dropdown-container .p-dropdown[readonly]:hover, .dropdown-container .p-dropdown.is-readonly:hover {\n border-color: #e0e3e8;\n}\n.dropdown-container .p-dropdown.is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\n.dropdown-container .p-dropdown.is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\n.dropdown-container .p-dropdown {\n padding: 0;\n display: flex;\n align-items: center;\n}\n\n.dd-search-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-bottom: 1px solid #e0e3e8;\n}\n.dd-search-row [class*=-filter-container] {\n flex: 1;\n min-width: 0;\n position: relative;\n}\n.dd-search-row [class*=-filter-container] .p-inputtext {\n width: 100%;\n height: 32px;\n padding: 0 24.5px 0 12px;\n font-size: 14px;\n box-sizing: border-box;\n}\n.dd-search-row [class*=-filter-container] [class*=-filter-icon] {\n right: 10.5px;\n color: #b0b8c4;\n}\n\n.dd-sort-btn {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid #e0e3e8;\n border-radius: 7px;\n background: #ffffff;\n cursor: pointer;\n color: #b0b8c4;\n font-size: 14px;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.dd-sort-btn:hover {\n background: #f4f5f6;\n color: #1a1e26;\n}\n\n.dropdownbook .p-dropdown-header:has(.dd-search-row) {\n padding: 0;\n}\n\n/* ===== Badge couleur dans les items ===== */\n.dd-color-badge {\n display: inline-flex;\n align-items: center;\n gap: 7px;\n padding: 4px 10px;\n border-radius: 14px;\n font-size: 12.25px;\n font-family: \"Roboto\", sans-serif;\n white-space: nowrap;\n cursor: default;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n background-color: #f4f5f6;\n color: #1a1e26;\n border: 1px solid #e0e3e8;\n border-color: var(--badge-color, #e0e3e8);\n background-color: color-mix(in srgb, var(--badge-color, #f4f5f6) 50%, transparent);\n}\n.dd-color-badge.is-selected {\n background-color: var(--badge-color, #f4f5f6);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.p-dropdown-item:hover .dd-color-badge {\n background-color: var(--badge-color) !important;\n}\n\n/* ===== Override PrimeReact default item colors ===== */\n.dropdownbook .p-dropdown-items .p-dropdown-item:not(.p-highlight):hover {\n background: #f4f5f6 !important;\n color: #1a1e26 !important;\n}\n.dropdownbook .p-dropdown-items .p-dropdown-item.p-highlight {\n background: rgba(63, 63, 63, 0.08) !important;\n color: #1a1e26 !important;\n}\n.dropdownbook .p-dropdown-items .p-dropdown-item.p-highlight.p-focus {\n background: rgba(63, 63, 63, 0.12) !important;\n color: #1a1e26 !important;\n}\n.dropdownbook .p-dropdown-items .p-dropdown-item.p-focus {\n background: #f4f5f6 !important;\n color: #1a1e26 !important;\n}\n\n/* ===== Override PrimeReact filter input focus ===== */\n.dropdownbook .p-dropdown-filter.p-inputtext:hover {\n border-color: #c8cdd6 !important;\n}\n.dropdownbook .p-dropdown-filter.p-inputtext:focus, .dropdownbook .p-dropdown-filter.p-inputtext.p-focus {\n border-color: #3f3f3f !important;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1) !important;\n outline: none;\n}";
|
|
37415
|
-
styleInject(css_248z$5);
|
|
37416
|
-
|
|
37417
37927
|
var _excluded$2 = ["class"],
|
|
37418
37928
|
_excluded2$1 = ["style", "className"];
|
|
37419
37929
|
var Dropdown = function Dropdown(props) {
|
|
@@ -37519,10 +38029,11 @@ var Dropdown = function Dropdown(props) {
|
|
|
37519
38029
|
_props$subItem = props.subItem,
|
|
37520
38030
|
subItem = _props$subItem === void 0 ? false : _props$subItem,
|
|
37521
38031
|
_props$required = props.required,
|
|
37522
|
-
required = _props$required === void 0 ? false : _props$required
|
|
38032
|
+
required = _props$required === void 0 ? false : _props$required,
|
|
38033
|
+
optionsUrl = props.optionsUrl;
|
|
37523
38034
|
|
|
37524
38035
|
// --- Async delegation ---
|
|
37525
|
-
var isAsyncOptions = typeof options === 'function';
|
|
38036
|
+
var isAsyncOptions = typeof options === 'function' || optionsUrl;
|
|
37526
38037
|
if (isAsyncOptions) {
|
|
37527
38038
|
return /*#__PURE__*/React__default.createElement(DropdownSelectMetaAsync, props);
|
|
37528
38039
|
}
|
|
@@ -44436,24 +44947,118 @@ var createFakeOptions = function createFakeOptions(start, length) {
|
|
|
44436
44947
|
}
|
|
44437
44948
|
return options;
|
|
44438
44949
|
};
|
|
44950
|
+
var mockPeople = [{
|
|
44951
|
+
label: 'Alice Martin',
|
|
44952
|
+
value: 1,
|
|
44953
|
+
color: '#ff9900',
|
|
44954
|
+
profession: 'Développeuse',
|
|
44955
|
+
tooltip: 'Alice Martin — Développeuse',
|
|
44956
|
+
link: 'https://example.com'
|
|
44957
|
+
}, {
|
|
44958
|
+
label: 'Bruno Lefèvre',
|
|
44959
|
+
value: 2,
|
|
44960
|
+
color: '#3b82f6',
|
|
44961
|
+
profession: 'Chef de projet',
|
|
44962
|
+
tooltip: 'Bruno Lefèvre — Chef de projet',
|
|
44963
|
+
link: 'https://example.com'
|
|
44964
|
+
}, {
|
|
44965
|
+
label: 'Chloé Dubois',
|
|
44966
|
+
value: 3,
|
|
44967
|
+
color: '#10b981',
|
|
44968
|
+
profession: 'Designer',
|
|
44969
|
+
tooltip: 'Chloé Dubois — Designer',
|
|
44970
|
+
link: 'https://example.com'
|
|
44971
|
+
}, {
|
|
44972
|
+
label: 'David Morel',
|
|
44973
|
+
value: 4,
|
|
44974
|
+
color: '#8b5cf6',
|
|
44975
|
+
profession: 'Data analyst',
|
|
44976
|
+
tooltip: 'David Morel — Data analyst',
|
|
44977
|
+
link: 'https://example.com'
|
|
44978
|
+
}, {
|
|
44979
|
+
label: 'Emma Roux',
|
|
44980
|
+
value: 5,
|
|
44981
|
+
color: '#ec4899',
|
|
44982
|
+
profession: 'Product owner',
|
|
44983
|
+
tooltip: 'Emma Roux — Product owner',
|
|
44984
|
+
link: 'https://example.com'
|
|
44985
|
+
}, {
|
|
44986
|
+
label: 'Farid Benali',
|
|
44987
|
+
value: 6,
|
|
44988
|
+
color: '#f59e0b',
|
|
44989
|
+
profession: 'DevOps',
|
|
44990
|
+
tooltip: 'Farid Benali — DevOps',
|
|
44991
|
+
link: 'https://example.com'
|
|
44992
|
+
}, {
|
|
44993
|
+
label: 'Gaëlle Simon',
|
|
44994
|
+
value: 7,
|
|
44995
|
+
color: '#ef4444',
|
|
44996
|
+
profession: 'QA engineer',
|
|
44997
|
+
tooltip: 'Gaëlle Simon — QA engineer',
|
|
44998
|
+
link: 'https://example.com'
|
|
44999
|
+
}, {
|
|
45000
|
+
label: 'Hugo Bernard',
|
|
45001
|
+
value: 8,
|
|
45002
|
+
color: '#10b981',
|
|
45003
|
+
profession: 'Développeur',
|
|
45004
|
+
tooltip: 'Hugo Bernard — Développeur',
|
|
45005
|
+
link: 'https://example.com'
|
|
45006
|
+
}];
|
|
45007
|
+
var asyncPeople = /*#__PURE__*/function () {
|
|
45008
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
45009
|
+
var search,
|
|
45010
|
+
_ref2,
|
|
45011
|
+
_ref2$page,
|
|
45012
|
+
page,
|
|
45013
|
+
filtered,
|
|
45014
|
+
pageSize,
|
|
45015
|
+
start,
|
|
45016
|
+
_args = arguments;
|
|
45017
|
+
return _regenerator().w(function (_context) {
|
|
45018
|
+
while (1) switch (_context.n) {
|
|
45019
|
+
case 0:
|
|
45020
|
+
search = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
|
|
45021
|
+
_ref2 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref2$page = _ref2.page, page = _ref2$page === void 0 ? 1 : _ref2$page;
|
|
45022
|
+
_context.n = 1;
|
|
45023
|
+
return simulateNetworkDelay();
|
|
45024
|
+
case 1:
|
|
45025
|
+
filtered = search ? mockPeople.filter(function (opt) {
|
|
45026
|
+
return opt.label.toLowerCase().includes(search.toLowerCase());
|
|
45027
|
+
}) : mockPeople;
|
|
45028
|
+
pageSize = 30;
|
|
45029
|
+
start = (page - 1) * pageSize;
|
|
45030
|
+
return _context.a(2, {
|
|
45031
|
+
options: filtered.slice(start, start + pageSize),
|
|
45032
|
+
hasMore: start + pageSize < filtered.length,
|
|
45033
|
+
additional: {
|
|
45034
|
+
page: page + 1
|
|
45035
|
+
}
|
|
45036
|
+
});
|
|
45037
|
+
}
|
|
45038
|
+
}, _callee);
|
|
45039
|
+
}));
|
|
45040
|
+
return function asyncPeople() {
|
|
45041
|
+
return _ref.apply(this, arguments);
|
|
45042
|
+
};
|
|
45043
|
+
}();
|
|
44439
45044
|
var DropdownSelectMetaAsyncPresets = {
|
|
44440
45045
|
SelectMetaAsync: {
|
|
44441
45046
|
options: function () {
|
|
44442
|
-
var _options = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
45047
|
+
var _options = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
44443
45048
|
var search,
|
|
44444
|
-
|
|
45049
|
+
_ref3,
|
|
44445
45050
|
page,
|
|
44446
45051
|
allOptions,
|
|
44447
45052
|
filtered,
|
|
44448
45053
|
pageSize,
|
|
44449
45054
|
start,
|
|
44450
|
-
|
|
44451
|
-
return _regenerator().w(function (
|
|
44452
|
-
while (1) switch (
|
|
45055
|
+
_args2 = arguments;
|
|
45056
|
+
return _regenerator().w(function (_context2) {
|
|
45057
|
+
while (1) switch (_context2.n) {
|
|
44453
45058
|
case 0:
|
|
44454
|
-
search =
|
|
44455
|
-
|
|
44456
|
-
|
|
45059
|
+
search = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : '';
|
|
45060
|
+
_ref3 = _args2.length > 2 ? _args2[2] : undefined, page = _ref3.page;
|
|
45061
|
+
_context2.n = 1;
|
|
44457
45062
|
return simulateNetworkDelay();
|
|
44458
45063
|
case 1:
|
|
44459
45064
|
allOptions = createFakeOptions(0, 100);
|
|
@@ -44462,7 +45067,7 @@ var DropdownSelectMetaAsyncPresets = {
|
|
|
44462
45067
|
});
|
|
44463
45068
|
pageSize = 30;
|
|
44464
45069
|
start = (page - 1) * pageSize;
|
|
44465
|
-
return
|
|
45070
|
+
return _context2.a(2, {
|
|
44466
45071
|
options: filtered.slice(start, start + pageSize),
|
|
44467
45072
|
hasMore: start + pageSize < filtered.length,
|
|
44468
45073
|
additional: {
|
|
@@ -44470,7 +45075,7 @@ var DropdownSelectMetaAsyncPresets = {
|
|
|
44470
45075
|
}
|
|
44471
45076
|
});
|
|
44472
45077
|
}
|
|
44473
|
-
},
|
|
45078
|
+
}, _callee2);
|
|
44474
45079
|
}));
|
|
44475
45080
|
function options() {
|
|
44476
45081
|
return _options.apply(this, arguments);
|
|
@@ -44492,6 +45097,141 @@ var DropdownSelectMetaAsyncPresets = {
|
|
|
44492
45097
|
fontSize: '14px',
|
|
44493
45098
|
fontFamily: 'Arial'
|
|
44494
45099
|
}
|
|
45100
|
+
},
|
|
45101
|
+
Base: {
|
|
45102
|
+
options: asyncPeople,
|
|
45103
|
+
value: null,
|
|
45104
|
+
placeholder: 'Sélectionnez une option',
|
|
45105
|
+
editable: true,
|
|
45106
|
+
filter: false,
|
|
45107
|
+
showClear: true,
|
|
45108
|
+
valueStyle: {
|
|
45109
|
+
backgroundColor: 'transparent',
|
|
45110
|
+
color: 'inherit',
|
|
45111
|
+
padding: '0',
|
|
45112
|
+
borderRadius: '0',
|
|
45113
|
+
boxShadow: 'none',
|
|
45114
|
+
fontFamily: 'inherit'
|
|
45115
|
+
}
|
|
45116
|
+
},
|
|
45117
|
+
AsyncOptions: {
|
|
45118
|
+
options: asyncPeople,
|
|
45119
|
+
value: 3,
|
|
45120
|
+
placeholder: 'Sélectionnez une option',
|
|
45121
|
+
editable: true,
|
|
45122
|
+
showClear: true,
|
|
45123
|
+
selectMetaConfig: {
|
|
45124
|
+
labelStyle: {
|
|
45125
|
+
fontWeight: 'bold'
|
|
45126
|
+
},
|
|
45127
|
+
generalIcon: 'pi pi-tag'
|
|
45128
|
+
}
|
|
45129
|
+
},
|
|
45130
|
+
SearchAjaxLoading: {
|
|
45131
|
+
// En prod : optionsUrl: '/api/options' (pagination start/length, recherche search[value])
|
|
45132
|
+
options: asyncPeople,
|
|
45133
|
+
placeholder: 'Rechercher (Ajax)…',
|
|
45134
|
+
filter: true,
|
|
45135
|
+
showClear: true
|
|
45136
|
+
},
|
|
45137
|
+
Sorting: {
|
|
45138
|
+
options: asyncPeople,
|
|
45139
|
+
placeholder: 'Tri A→Z / Z→A',
|
|
45140
|
+
filter: true,
|
|
45141
|
+
enableSorting: true,
|
|
45142
|
+
showClear: true
|
|
45143
|
+
},
|
|
45144
|
+
ItemsCheckedToTheTop: {
|
|
45145
|
+
options: asyncPeople,
|
|
45146
|
+
value: 5,
|
|
45147
|
+
placeholder: 'Sélection remontée en haut',
|
|
45148
|
+
itemsCheckedToTheTop: true,
|
|
45149
|
+
showClear: true
|
|
45150
|
+
},
|
|
45151
|
+
OpenOnHover: {
|
|
45152
|
+
options: asyncPeople,
|
|
45153
|
+
placeholder: 'Ouverture au survol',
|
|
45154
|
+
openOnHover: true
|
|
45155
|
+
},
|
|
45156
|
+
ItemWithTooltip: {
|
|
45157
|
+
options: asyncPeople,
|
|
45158
|
+
placeholder: 'Tooltip sur les options',
|
|
45159
|
+
enableItemTooltip: true
|
|
45160
|
+
},
|
|
45161
|
+
ItemWithSecondaryLabel: {
|
|
45162
|
+
options: asyncPeople,
|
|
45163
|
+
placeholder: 'Label secondaire',
|
|
45164
|
+
enableSecondaryLabel: true,
|
|
45165
|
+
secondaryLabelKey: 'profession'
|
|
45166
|
+
},
|
|
45167
|
+
ItemWithLink: {
|
|
45168
|
+
options: asyncPeople,
|
|
45169
|
+
placeholder: 'Lien sur le label secondaire',
|
|
45170
|
+
enableSecondaryLabel: true,
|
|
45171
|
+
secondaryLabelKey: 'profession',
|
|
45172
|
+
enableItemLink: true
|
|
45173
|
+
},
|
|
45174
|
+
Badge: {
|
|
45175
|
+
options: asyncPeople,
|
|
45176
|
+
value: 2,
|
|
45177
|
+
placeholder: 'Badges colorés',
|
|
45178
|
+
withColor: true,
|
|
45179
|
+
selectConfig: {
|
|
45180
|
+
labelStyle: null,
|
|
45181
|
+
generalIcon: null
|
|
45182
|
+
}
|
|
45183
|
+
},
|
|
45184
|
+
WithIcon: {
|
|
45185
|
+
options: asyncPeople,
|
|
45186
|
+
value: 1,
|
|
45187
|
+
placeholder: 'Icône devant chaque option',
|
|
45188
|
+
withIcon: true,
|
|
45189
|
+
selectConfig: {
|
|
45190
|
+
labelStyle: {
|
|
45191
|
+
fontWeight: '400'
|
|
45192
|
+
},
|
|
45193
|
+
generalIcon: 'pi pi-user'
|
|
45194
|
+
}
|
|
45195
|
+
},
|
|
45196
|
+
Truncate: {
|
|
45197
|
+
options: asyncPeople,
|
|
45198
|
+
value: 2,
|
|
45199
|
+
placeholder: 'Label tronqué',
|
|
45200
|
+
truncateAt: 8,
|
|
45201
|
+
valueStyle: {
|
|
45202
|
+
backgroundColor: 'transparent',
|
|
45203
|
+
color: 'inherit',
|
|
45204
|
+
padding: '0',
|
|
45205
|
+
borderRadius: '0',
|
|
45206
|
+
boxShadow: 'none',
|
|
45207
|
+
fontFamily: 'inherit'
|
|
45208
|
+
}
|
|
45209
|
+
},
|
|
45210
|
+
ReadOnly: {
|
|
45211
|
+
options: asyncPeople,
|
|
45212
|
+
value: 4,
|
|
45213
|
+
readOnly: true,
|
|
45214
|
+
showClear: false
|
|
45215
|
+
},
|
|
45216
|
+
Disabled: {
|
|
45217
|
+
options: asyncPeople,
|
|
45218
|
+
value: 4,
|
|
45219
|
+
disabled: true
|
|
45220
|
+
},
|
|
45221
|
+
Required: {
|
|
45222
|
+
options: asyncPeople,
|
|
45223
|
+
value: null,
|
|
45224
|
+
placeholder: 'Sélection obligatoire',
|
|
45225
|
+
required: true,
|
|
45226
|
+
name: 'monchamp',
|
|
45227
|
+
status: 'error',
|
|
45228
|
+
errorMessage: 'Une option doit être sélectionnée'
|
|
45229
|
+
},
|
|
45230
|
+
InfoLine: {
|
|
45231
|
+
options: asyncPeople,
|
|
45232
|
+
placeholder: 'Avec pied de panel',
|
|
45233
|
+
hasInfoLine: true,
|
|
45234
|
+
InfoLineValue: '8 utilisateurs disponibles'
|
|
44495
45235
|
}
|
|
44496
45236
|
};
|
|
44497
45237
|
|
|
@@ -55744,41 +56484,12 @@ var Table$1 = function Table(_ref13) {
|
|
|
55744
56484
|
locked = _useState32[0],
|
|
55745
56485
|
setLocked = _useState32[1];
|
|
55746
56486
|
var effectiveEditable = lockable ? editable && !locked : editable;
|
|
55747
|
-
|
|
55748
|
-
// Construit l'attributeData complet d'une ligne : une entrée par colonne
|
|
55749
|
-
// qui déclare attributeData, disponible dès le chargement (avant toute édition).
|
|
55750
|
-
var buildAttributeData = useCallback(function () {
|
|
55751
|
-
var result = {};
|
|
55752
|
-
columns.forEach(function (col) {
|
|
55753
|
-
if (col.attributeData !== undefined) result[col.field] = col.attributeData;
|
|
55754
|
-
});
|
|
55755
|
-
return result;
|
|
55756
|
-
}, [columns]);
|
|
55757
|
-
|
|
55758
|
-
// Enrichit chaque ligne avec l'attributeData de toutes les colonnes.
|
|
55759
|
-
// Comme les mises à jour font toujours { ...row, [field]: newVal },
|
|
55760
|
-
// l'attributeData posé ici est préservé à travers toutes les éditions.
|
|
55761
|
-
var enrichRows = useCallback(function (rows) {
|
|
55762
|
-
var attributeData = buildAttributeData();
|
|
55763
|
-
if (!Object.keys(attributeData).length) return rows;
|
|
55764
|
-
return rows.map(function (row) {
|
|
55765
|
-
return _objectSpread2(_objectSpread2({}, row), {}, {
|
|
55766
|
-
attributeData: attributeData
|
|
55767
|
-
});
|
|
55768
|
-
});
|
|
55769
|
-
}, [buildAttributeData]);
|
|
55770
|
-
var _useState33 = useState(function () {
|
|
55771
|
-
return enrichRows(value);
|
|
55772
|
-
}),
|
|
56487
|
+
var _useState33 = useState(value),
|
|
55773
56488
|
_useState34 = _slicedToArray$d(_useState33, 2),
|
|
55774
56489
|
data = _useState34[0],
|
|
55775
56490
|
setData = _useState34[1];
|
|
55776
|
-
// Dépendre uniquement de `value` : enrichRows change de référence si `columns`
|
|
55777
|
-
// est recréé par le parent à chaque rendu, ce qui re-synchroniserait la data
|
|
55778
|
-
// et écraserait les éditions en cours.
|
|
55779
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55780
56491
|
useEffect(function () {
|
|
55781
|
-
setData(
|
|
56492
|
+
setData(value);
|
|
55782
56493
|
}, [value]);
|
|
55783
56494
|
var onCellChangeRef = useRef(onCellChange);
|
|
55784
56495
|
useEffect(function () {
|
|
@@ -55822,8 +56533,7 @@ var Table$1 = function Table(_ref13) {
|
|
|
55822
56533
|
var handleAddRow = useCallback(function () {
|
|
55823
56534
|
// id temporaire négatif pour éviter les collisions avec les id BDD positifs
|
|
55824
56535
|
var newRow = {
|
|
55825
|
-
id: -Date.now()
|
|
55826
|
-
attributeData: buildAttributeData()
|
|
56536
|
+
id: -Date.now()
|
|
55827
56537
|
};
|
|
55828
56538
|
columns.forEach(function (col) {
|
|
55829
56539
|
switch (col.type) {
|
|
@@ -55842,7 +56552,7 @@ var Table$1 = function Table(_ref13) {
|
|
|
55842
56552
|
onAdd === null || onAdd === void 0 || onAdd(newRow, updated);
|
|
55843
56553
|
return updated;
|
|
55844
56554
|
});
|
|
55845
|
-
}, [columns, onChange, onAdd
|
|
56555
|
+
}, [columns, onChange, onAdd]);
|
|
55846
56556
|
var _useState37 = useState({}),
|
|
55847
56557
|
_useState38 = _slicedToArray$d(_useState37, 2),
|
|
55848
56558
|
editingRows = _useState38[0],
|
|
@@ -56966,6 +57676,7 @@ var Table$1 = function Table(_ref13) {
|
|
|
56966
57676
|
rowData: rowData,
|
|
56967
57677
|
col: col,
|
|
56968
57678
|
editable: colEditable,
|
|
57679
|
+
isRowEditing: !!editingRows[rowData.id],
|
|
56969
57680
|
onSave: function onSave(v) {
|
|
56970
57681
|
var _onCellChangeRef$curr2;
|
|
56971
57682
|
var enrichedFields = _defineProperty$g({}, col.field, v);
|
|
@@ -56996,7 +57707,6 @@ var Table$1 = function Table(_ref13) {
|
|
|
56996
57707
|
newValue: v
|
|
56997
57708
|
});
|
|
56998
57709
|
},
|
|
56999
|
-
isRowEditing: !!editingRows[rowData.id],
|
|
57000
57710
|
renderDisplay: displayFn !== null && displayFn !== void 0 ? displayFn : function (rd) {
|
|
57001
57711
|
var _rd$col$field;
|
|
57002
57712
|
return (_rd$col$field = rd[col.field]) !== null && _rd$col$field !== void 0 ? _rd$col$field : '';
|
|
@@ -58160,12 +58870,7 @@ var columnsTyped = [
|
|
|
58160
58870
|
header: 'Inscription',
|
|
58161
58871
|
type: 'date',
|
|
58162
58872
|
editable: true,
|
|
58163
|
-
dbDateFormat: 'MMMM/y'
|
|
58164
|
-
attributeData: {
|
|
58165
|
-
'data-value': 'bonjour',
|
|
58166
|
-
'data-tata': 'hello',
|
|
58167
|
-
'data-tab': []
|
|
58168
|
-
}
|
|
58873
|
+
dbDateFormat: 'MMMM/y'
|
|
58169
58874
|
}, {
|
|
58170
58875
|
field: 'dateNaissance',
|
|
58171
58876
|
header: 'Naissance',
|