arengibook 3.1.313-main → 3.1.315-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.
Files changed (2) hide show
  1. package/dist/index.js +790 -107
  2. 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$4 = ["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"];
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$4);
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$3 = ["unstyled", "__TYPE", "ptOptions"];
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$3);
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,
@@ -37040,7 +37045,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37040
37045
  _ref$editable = _ref.editable,
37041
37046
  editable = _ref$editable === void 0 ? false : _ref$editable,
37042
37047
  _ref$filter = _ref.filter,
37043
- filter = _ref$filter === void 0 ? filter : _ref$filter,
37048
+ filter = _ref$filter === void 0 ? false : _ref$filter,
37044
37049
  _ref$selectMetaConfig = _ref.selectMetaConfig,
37045
37050
  selectMetaConfig = _ref$selectMetaConfig === void 0 ? {
37046
37051
  labelStyle: null,
@@ -37049,7 +37054,79 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37049
37054
  _ref$objValue = _ref.objValue,
37050
37055
  objValue = _ref$objValue === void 0 ? null : _ref$objValue,
37051
37056
  _ref$required = _ref.required,
37052
- 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;
37053
37130
  var _useState = useState(null),
37054
37131
  _useState2 = _slicedToArray$d(_useState, 2),
37055
37132
  optionSelected = _useState2[0],
@@ -37067,6 +37144,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37067
37144
  inputValue = _useState8[0],
37068
37145
  setInputValue = _useState8[1];
37069
37146
  var dropdownRef = useRef(null);
37147
+ var dropdownComposantRef = useRef(null);
37070
37148
  useRef(null);
37071
37149
  var clickedFromList = useRef(false);
37072
37150
  var _useState9 = useState(''),
@@ -37077,15 +37155,50 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37077
37155
  _useState10 = _slicedToArray$d(_useState1, 2),
37078
37156
  showRequiredError = _useState10[0],
37079
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];
37080
37174
 
37081
37175
  // 🔹 Lazy loading
37082
- var _useState11 = useState(false),
37083
- _useState12 = _slicedToArray$d(_useState11, 2),
37084
- loading = _useState12[0],
37085
- setLoading = _useState12[1];
37176
+ var _useState19 = useState(false),
37177
+ _useState20 = _slicedToArray$d(_useState19, 2),
37178
+ loading = _useState20[0],
37179
+ setLoading = _useState20[1];
37086
37180
  var loadLazyTimeout = useRef();
37087
- useRef(1);
37088
- useRef('');
37181
+ var currentPageRef = useRef(1);
37182
+ var hasMoreRef = useRef(true);
37183
+ var isLoadingRef = useRef(false);
37184
+ var searchTermRef = useRef('');
37185
+ var loadedOptionsRef = useRef([]);
37186
+ var updateLoadedOptions = function updateLoadedOptions(opts) {
37187
+ loadedOptionsRef.current = opts;
37188
+ setLoadedOptions(opts);
37189
+ };
37190
+ var inverseColor = function inverseColor(hexColor) {
37191
+ var r = parseInt(hexColor.substr(1, 2), 16);
37192
+ var g = parseInt(hexColor.substr(3, 2), 16);
37193
+ var b = parseInt(hexColor.substr(5, 2), 16);
37194
+ var luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
37195
+ return luminance > 0.18 ? '#000000' : '#FFFFFF';
37196
+ };
37197
+ var truncateLabel = function truncateLabel(label) {
37198
+ if (!label || typeof label !== 'string') return label;
37199
+ if (!truncateAt || label.length <= truncateAt) return label;
37200
+ return label.slice(0, truncateAt) + '…';
37201
+ };
37089
37202
  var optionTemplate = function optionTemplate(option) {
37090
37203
  var _ref2 = selectMetaConfig || {},
37091
37204
  labelStyle = _ref2.labelStyle,
@@ -37093,17 +37206,69 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37093
37206
  var styleLabel = {
37094
37207
  marginLeft: '10px'
37095
37208
  };
37096
- return /*#__PURE__*/React__default.createElement("div", {
37209
+ var tooltipProps = enableItemTooltip ? {
37210
+ 'data-pr-tooltip': (option === null || option === void 0 ? void 0 : option.tooltip) || (option === null || option === void 0 ? void 0 : option.description),
37211
+ 'data-pr-position': 'right'
37212
+ } : {};
37213
+ var secondaryLabel = enableSecondaryLabel ? option === null || option === void 0 ? void 0 : option[secondaryLabelKey] : null;
37214
+ var isLink = enableItemLink && (option === null || option === void 0 ? void 0 : option.link);
37215
+ var handleLinkClick = function handleLinkClick(e) {
37216
+ if (isLink) {
37217
+ e.preventDefault();
37218
+ e.stopPropagation();
37219
+ window.open(option.link, '_blank', 'noopener,noreferrer');
37220
+ }
37221
+ };
37222
+ var optionAttrs = typeof choice_attr === 'function' ? choice_attr(option) : {};
37223
+ var attrStyle = optionAttrs.style,
37224
+ attrClassName = optionAttrs.className,
37225
+ restAttrs = _objectWithoutProperties$1(optionAttrs, _excluded$3);
37226
+ var className = "flex align-items-center dropdown-tooltip-item ".concat(attrClassName || optionClassname || '').trim();
37227
+ if (withIcon || withColor) {
37228
+ var _ref3 = selectConfig || {},
37229
+ cfgLabelStyle = _ref3.labelStyle,
37230
+ cfgGeneralIcon = _ref3.generalIcon;
37231
+ return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
37232
+ onClick: function onClick() {
37233
+ clickedFromList.current = true;
37234
+ },
37235
+ className: className,
37236
+ style: _objectSpread2(_objectSpread2({
37237
+ fontSize: '14px',
37238
+ display: 'flex',
37239
+ alignItems: 'center',
37240
+ gap: '8px'
37241
+ }, optionStyle), attrStyle)
37242
+ }), withIcon && cfgGeneralIcon && /*#__PURE__*/React__default.createElement("i", {
37243
+ style: {
37244
+ color: option === null || option === void 0 ? void 0 : option.color
37245
+ },
37246
+ className: cfgGeneralIcon
37247
+ }), withColor && option !== null && option !== void 0 && option.color ? /*#__PURE__*/React__default.createElement("span", {
37248
+ className: "dd-color-badge".concat(optionSelected === (option === null || option === void 0 ? void 0 : option[optionValue]) ? ' is-selected' : ''),
37249
+ style: {
37250
+ '--badge-color': option.color,
37251
+ color: inverseColor(option.color)
37252
+ }
37253
+ }, option === null || option === void 0 ? void 0 : option[optionLabel]) : /*#__PURE__*/React__default.createElement("span", {
37254
+ style: _objectSpread2(_objectSpread2({}, cfgLabelStyle), subItem ? {
37255
+ flex: 1
37256
+ } : {})
37257
+ }, option === null || option === void 0 ? void 0 : option[optionLabel]));
37258
+ }
37259
+ return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
37097
37260
  onClick: function onClick() {
37098
37261
  clickedFromList.current = true;
37099
37262
  },
37100
- className: "flex align-items-center",
37101
- style: {
37263
+ className: className,
37264
+ style: _objectSpread2({
37102
37265
  padding: '6px 10px',
37103
37266
  height: 'auto'
37104
- }
37105
- }, /*#__PURE__*/React__default.createElement("div", {
37106
- style: _objectSpread2({
37267
+ }, attrStyle)
37268
+ }), /*#__PURE__*/React__default.createElement("div", {
37269
+ style: _objectSpread2(_objectSpread2({}, subItem ? {
37270
+ flex: 1
37271
+ } : {}), {}, {
37107
37272
  fontSize: '15px',
37108
37273
  fontWeight: 'bold'
37109
37274
  }, labelStyle)
@@ -37114,15 +37279,103 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37114
37279
  className: generalIcon
37115
37280
  }), /*#__PURE__*/React__default.createElement("span", {
37116
37281
  style: styleLabel
37117
- }, option === null || option === void 0 ? void 0 : option[optionLabel])));
37282
+ }, option === null || option === void 0 ? void 0 : option[optionLabel]), secondaryLabel && /*#__PURE__*/React__default.createElement("div", {
37283
+ onClick: isLink ? handleLinkClick : undefined,
37284
+ onMouseDown: isLink ? function (e) {
37285
+ return e.stopPropagation();
37286
+ } : undefined,
37287
+ style: {
37288
+ cursor: isLink ? 'pointer' : 'default',
37289
+ marginTop: '2px',
37290
+ width: 'fit-content'
37291
+ }
37292
+ }, /*#__PURE__*/React__default.createElement("small", {
37293
+ style: {
37294
+ opacity: 0.75,
37295
+ fontSize: '12px',
37296
+ textDecoration: isLink ? 'underline' : 'none',
37297
+ color: isLink ? '#3b82f6' : 'inherit',
37298
+ fontWeight: 'normal'
37299
+ }
37300
+ }, /*#__PURE__*/React__default.createElement("span", {
37301
+ style: subItem ? {} : {
37302
+ marginLeft: '10px'
37303
+ }
37304
+ }, secondaryLabel)))));
37118
37305
  };
37306
+ var groupedItemTemplate = function groupedItemTemplate(option) {
37307
+ var _ref4 = groupedItemTemplateConfig || {},
37308
+ showImage = _ref4.showImage,
37309
+ imageKey = _ref4.imageKey,
37310
+ imageStyle = _ref4.imageStyle,
37311
+ showIcon = _ref4.showIcon,
37312
+ iconKey = _ref4.iconKey,
37313
+ labelStyle = _ref4.labelStyle,
37314
+ generalIcon = _ref4.generalIcon,
37315
+ generalImage = _ref4.generalImage;
37316
+ var icon = option.value && option.value[iconKey];
37317
+ var styleLabel = generalIcon || showImage && option[imageKey] || showIcon && icon ? {
37318
+ marginLeft: '10px'
37319
+ } : {};
37320
+ if (option.group) {
37321
+ return /*#__PURE__*/React__default.createElement("div", {
37322
+ className: "flex align-items-center"
37323
+ }, /*#__PURE__*/React__default.createElement("div", {
37324
+ style: _objectSpread2({
37325
+ fontSize: '15px',
37326
+ fontWeight: 'bold'
37327
+ }, labelStyle)
37328
+ }, generalIcon && /*#__PURE__*/React__default.createElement("i", {
37329
+ className: generalIcon,
37330
+ style: _objectSpread2({
37331
+ fontSize: '15px',
37332
+ fontWeight: 'bold'
37333
+ }, labelStyle)
37334
+ }), generalImage && /*#__PURE__*/React__default.createElement("img", {
37335
+ alt: "General",
37336
+ src: generalImage,
37337
+ style: imageStyle || {
37338
+ width: '18px',
37339
+ marginRight: '0.5rem'
37340
+ },
37341
+ className: "mr-2"
37342
+ }), showImage && option[imageKey] && /*#__PURE__*/React__default.createElement("img", {
37343
+ alt: option.label,
37344
+ src: option[imageKey],
37345
+ style: imageStyle || {
37346
+ width: '18px',
37347
+ marginRight: '0.5rem'
37348
+ },
37349
+ className: "mr-2"
37350
+ }), showIcon && icon && /*#__PURE__*/React__default.createElement("i", {
37351
+ className: "mr-2 ".concat(icon),
37352
+ style: _objectSpread2({
37353
+ fontSize: '15px',
37354
+ fontWeight: 'bold'
37355
+ }, labelStyle)
37356
+ }), /*#__PURE__*/React__default.createElement("span", {
37357
+ style: styleLabel
37358
+ }, option.label)));
37359
+ }
37360
+ return null;
37361
+ };
37362
+ var panelFooterTemplate = function panelFooterTemplate() {
37363
+ if (InfoLineValue) {
37364
+ return /*#__PURE__*/React__default.createElement("div", {
37365
+ style: {
37366
+ padding: '8px'
37367
+ }
37368
+ }, /*#__PURE__*/React__default.createElement("b", null, InfoLineValue));
37369
+ }
37370
+ };
37371
+ var isInvalidEffective = invalid || status === 'error' || showRequiredError;
37119
37372
 
37120
37373
  // 🔹 Chargement des options depuis une URL (même contrat que MultiSelectMetaAsync)
37121
37374
  var fetchOptionsFromUrl = /*#__PURE__*/function () {
37122
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
37375
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
37123
37376
  var search,
37124
- _ref4,
37125
- _ref4$page,
37377
+ _ref6,
37378
+ _ref6$page,
37126
37379
  page,
37127
37380
  length,
37128
37381
  start,
@@ -37138,7 +37391,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37138
37391
  while (1) switch (_context.n) {
37139
37392
  case 0:
37140
37393
  search = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
37141
- _ref4 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref4$page = _ref4.page, page = _ref4$page === void 0 ? 1 : _ref4$page;
37394
+ _ref6 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref6$page = _ref6.page, page = _ref6$page === void 0 ? 1 : _ref6$page;
37142
37395
  _context.p = 1;
37143
37396
  length = 25;
37144
37397
  start = (page - 1) * length;
@@ -37158,6 +37411,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37158
37411
  _context.n = 3;
37159
37412
  break;
37160
37413
  }
37414
+ hasMoreRef.current = false;
37161
37415
  return _context.a(2, {
37162
37416
  options: [],
37163
37417
  hasMore: false
@@ -37200,11 +37454,10 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37200
37454
  }, _callee, null, [[1, 6]]);
37201
37455
  }));
37202
37456
  return function fetchOptionsFromUrl() {
37203
- return _ref3.apply(this, arguments);
37457
+ return _ref5.apply(this, arguments);
37204
37458
  };
37205
37459
  }();
37206
37460
  var loadOptions = typeof options === 'function' ? options : fetchOptionsFromUrl;
37207
- var isInvalidEffective = invalid || showRequiredError;
37208
37461
  var style = {
37209
37462
  border: isInvalidEffective ? '1px solid red' : '1px solid #ccc',
37210
37463
  width: '100%',
@@ -37215,9 +37468,12 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37215
37468
  }, [optionSelected]);
37216
37469
  useEffect(function () {
37217
37470
  setOptionSelected(objValue ? objValue === null || objValue === void 0 ? void 0 : objValue[optionValue] : value !== null && value !== void 0 ? value : null);
37471
+ currentPageRef.current = 1;
37472
+ hasMoreRef.current = true;
37473
+ isLoadingRef.current = false;
37218
37474
  var loadInitialOptions = /*#__PURE__*/function () {
37219
- var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
37220
- var result, _result$options, exists;
37475
+ var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
37476
+ var result, initialOpts, exists;
37221
37477
  return _regenerator().w(function (_context2) {
37222
37478
  while (1) switch (_context2.n) {
37223
37479
  case 0:
@@ -37227,16 +37483,15 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37227
37483
  });
37228
37484
  case 1:
37229
37485
  result = _context2.v;
37230
- setLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
37486
+ hasMoreRef.current = (result === null || result === void 0 ? void 0 : result.hasMore) !== false;
37487
+ initialOpts = (result === null || result === void 0 ? void 0 : result.options) || [];
37231
37488
  if (objValue) {
37232
- exists = result === null || result === void 0 || (_result$options = result.options) === null || _result$options === void 0 ? void 0 : _result$options.some(function (opt) {
37489
+ exists = initialOpts.some(function (opt) {
37233
37490
  return opt[optionValue] === objValue[optionValue];
37234
37491
  });
37235
- if (!exists) {
37236
- setLoadedOptions(function (prev) {
37237
- return [].concat(_toConsumableArray$a(prev), [objValue]);
37238
- });
37239
- }
37492
+ updateLoadedOptions(exists ? initialOpts : [].concat(_toConsumableArray$a(initialOpts), [objValue]));
37493
+ } else {
37494
+ updateLoadedOptions(initialOpts);
37240
37495
  }
37241
37496
  case 2:
37242
37497
  return _context2.a(2);
@@ -37244,7 +37499,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37244
37499
  }, _callee2);
37245
37500
  }));
37246
37501
  return function loadInitialOptions() {
37247
- return _ref5.apply(this, arguments);
37502
+ return _ref7.apply(this, arguments);
37248
37503
  };
37249
37504
  }();
37250
37505
  loadInitialOptions();
@@ -37270,7 +37525,39 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37270
37525
  }
37271
37526
  };
37272
37527
  }, [dropdownRef.current]);
37528
+ useEffect(function () {
37529
+ if (enableItemTooltip) {
37530
+ setTooltipKey(function (prevKey) {
37531
+ return prevKey + 1;
37532
+ });
37533
+ }
37534
+ }, [loadedOptions, enableItemTooltip]);
37535
+ var getSelectedGroupLabel = function getSelectedGroupLabel(selectedValue) {
37536
+ if (!isGroupedOption || !selectedValue) return '';
37537
+ var _iterator = _createForOfIteratorHelper$7(loadedOptions),
37538
+ _step;
37539
+ try {
37540
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
37541
+ var group = _step.value;
37542
+ if (showTooltipGroup && group.items && group.items.some(function (item) {
37543
+ return item.value === selectedValue;
37544
+ })) {
37545
+ if (prevTextShowTooltip) return prevTextShowTooltip + ' ' + group.label;
37546
+ return group.label;
37547
+ }
37548
+ }
37549
+ } catch (err) {
37550
+ _iterator.e(err);
37551
+ } finally {
37552
+ _iterator.f();
37553
+ }
37554
+ return '';
37555
+ };
37556
+ useEffect(function () {
37557
+ if (optionSelected) setSelectedGroupLabel(getSelectedGroupLabel(optionSelected));
37558
+ }, [optionSelected, loadedOptions]);
37273
37559
  var handleChange = function handleChange(e) {
37560
+ if (readOnly) return;
37274
37561
  setOptionSelected(e.value);
37275
37562
  if (clickedFromList.current) {
37276
37563
  var _selected$optionLabel;
@@ -37281,26 +37568,44 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37281
37568
  setInputValue((_selected$optionLabel = selected === null || selected === void 0 ? void 0 : selected[optionLabel]) !== null && _selected$optionLabel !== void 0 ? _selected$optionLabel : '');
37282
37569
  }
37283
37570
  clickedFromList.current = false;
37284
- if (onChange) onChange(e.value);
37571
+ if (typeof onChange === 'function') {
37572
+ onChange(e.value);
37573
+ } else if (typeof onChange === 'string' && typeof window[onChange] === 'function') {
37574
+ window[onChange](e.value);
37575
+ }
37285
37576
  };
37286
37577
  var handleClear = function handleClear() {
37287
37578
  setOptionSelected(null);
37288
37579
  setInputValue('');
37289
- if (onChange) onChange(null);
37580
+ if (typeof onChange === 'function') {
37581
+ onChange(null);
37582
+ } else if (typeof onChange === 'string' && typeof window[onChange] === 'function') {
37583
+ window[onChange](null);
37584
+ }
37585
+ searchTermRef.current = '';
37586
+ currentPageRef.current = 1;
37587
+ hasMoreRef.current = true;
37588
+ isLoadingRef.current = false;
37290
37589
  loadOptions('', [], {
37291
37590
  page: 1
37292
37591
  }).then(function (result) {
37293
- setLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
37592
+ hasMoreRef.current = (result === null || result === void 0 ? void 0 : result.hasMore) !== false;
37593
+ updateLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
37294
37594
  });
37295
37595
  };
37296
37596
  var handleInputChange = /*#__PURE__*/function () {
37297
- var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(e) {
37298
- var search, result, _result$options2, _result, filteredOptions;
37597
+ var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(e) {
37598
+ var search, result, _result$options, _result, filteredOptions;
37299
37599
  return _regenerator().w(function (_context3) {
37300
37600
  while (1) switch (_context3.n) {
37301
37601
  case 0:
37302
37602
  search = e.target.value;
37303
37603
  setInputValue(search);
37604
+ if (typeof onSearch === 'function') onSearch(search);
37605
+ searchTermRef.current = search;
37606
+ currentPageRef.current = 1;
37607
+ hasMoreRef.current = true;
37608
+ isLoadingRef.current = false;
37304
37609
  if (search) {
37305
37610
  _context3.n = 2;
37306
37611
  break;
@@ -37311,7 +37616,8 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37311
37616
  });
37312
37617
  case 1:
37313
37618
  result = _context3.v;
37314
- setLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
37619
+ hasMoreRef.current = (result === null || result === void 0 ? void 0 : result.hasMore) !== false;
37620
+ updateLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
37315
37621
  _context3.n = 4;
37316
37622
  break;
37317
37623
  case 2:
@@ -37321,29 +37627,33 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37321
37627
  });
37322
37628
  case 3:
37323
37629
  _result = _context3.v;
37324
- filteredOptions = (_result === null || _result === void 0 || (_result$options2 = _result.options) === null || _result$options2 === void 0 ? void 0 : _result$options2.filter(function (opt) {
37630
+ hasMoreRef.current = (_result === null || _result === void 0 ? void 0 : _result.hasMore) !== false;
37631
+ filteredOptions = (_result === null || _result === void 0 || (_result$options = _result.options) === null || _result$options === void 0 ? void 0 : _result$options.filter(function (opt) {
37325
37632
  return opt[optionLabel].toLowerCase().includes(search.toLowerCase());
37326
37633
  })) || [];
37327
- setLoadedOptions(filteredOptions);
37634
+ updateLoadedOptions(filteredOptions);
37328
37635
  case 4:
37329
37636
  return _context3.a(2);
37330
37637
  }
37331
37638
  }, _callee3);
37332
37639
  }));
37333
37640
  return function handleInputChange(_x) {
37334
- return _ref6.apply(this, arguments);
37641
+ return _ref8.apply(this, arguments);
37335
37642
  };
37336
37643
  }();
37644
+ var handleMouseEnter = function handleMouseEnter() {
37645
+ var _dropdownComposantRef;
37646
+ if (!openOnHover || disabled || readOnly) return;
37647
+ (_dropdownComposantRef = dropdownComposantRef.current) === null || _dropdownComposantRef === void 0 || _dropdownComposantRef.show();
37648
+ };
37649
+ var handleMouseLeave = function handleMouseLeave() {
37650
+ var _dropdownComposantRef2;
37651
+ if (!openOnHover) return;
37652
+ (_dropdownComposantRef2 = dropdownComposantRef.current) === null || _dropdownComposantRef2 === void 0 || _dropdownComposantRef2.hide();
37653
+ };
37337
37654
  var selectedOption = loadedOptions.find(function (opt) {
37338
37655
  return opt[optionValue] === optionSelected;
37339
37656
  });
37340
- var inverseColor = function inverseColor(hexColor) {
37341
- var r = parseInt(hexColor.substr(1, 2), 16);
37342
- var g = parseInt(hexColor.substr(3, 2), 16);
37343
- var b = parseInt(hexColor.substr(5, 2), 16);
37344
- var luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
37345
- return luminance > 0.18 ? '#000000' : '#FFFFFF';
37346
- };
37347
37657
  var valueTemplate = function valueTemplate() {
37348
37658
  if (isEditing) return null;
37349
37659
  if (!selectedOption) return /*#__PURE__*/React__default.createElement("span", {
@@ -37351,7 +37661,37 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37351
37661
  color: '#aaa'
37352
37662
  }
37353
37663
  }, placeholder);
37664
+ if (withIcon || withColor) {
37665
+ var _ref9 = selectConfig || {},
37666
+ labelStyle = _ref9.labelStyle,
37667
+ generalIcon = _ref9.generalIcon;
37668
+ return /*#__PURE__*/React__default.createElement("div", {
37669
+ style: _objectSpread2({
37670
+ display: 'flex',
37671
+ alignItems: 'center',
37672
+ gap: '8px',
37673
+ fontFamily: 'Arial',
37674
+ fontSize: '14px'
37675
+ }, valueStyle)
37676
+ }, withIcon && generalIcon && /*#__PURE__*/React__default.createElement("i", {
37677
+ style: {
37678
+ color: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color
37679
+ },
37680
+ className: generalIcon
37681
+ }), withColor && selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? /*#__PURE__*/React__default.createElement("span", {
37682
+ className: "dd-color-badge is-selected",
37683
+ style: {
37684
+ '--badge-color': selectedOption.color,
37685
+ color: inverseColor(selectedOption.color)
37686
+ }
37687
+ }, truncateLabel(selectedOption[optionLabel])) : /*#__PURE__*/React__default.createElement("span", {
37688
+ className: valueClassname,
37689
+ style: labelStyle
37690
+ }, truncateLabel(selectedOption[optionLabel])));
37691
+ }
37354
37692
  return /*#__PURE__*/React__default.createElement("span", {
37693
+ className: valueClassname,
37694
+ title: selectedOption[optionLabel],
37355
37695
  style: _objectSpread2({
37356
37696
  backgroundColor: selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color : '#FFFFFF',
37357
37697
  color: selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? inverseColor(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color) : '#FFFFFF',
@@ -37362,41 +37702,53 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37362
37702
  display: 'inline-block',
37363
37703
  fontFamily: 'Arial'
37364
37704
  }, valueStyle)
37365
- }, selectedOption[optionLabel]);
37705
+ }, truncateLabel(selectedOption[optionLabel]));
37366
37706
  };
37367
37707
 
37368
- // 🔹 Fonction de lazy loading (simulation d’un backend)
37708
+ // 🔹 Lazy loading paginé au scroll (même logique que MultiSelectMetaAsync)
37369
37709
  var onLazyLoad = function onLazyLoad(event) {
37370
37710
  setLoading(true);
37371
- if (loadLazyTimeout.current) {
37372
- clearTimeout(loadLazyTimeout.current);
37373
- }
37374
- loadLazyTimeout.current = setTimeout(function () {
37375
- var first = event.first,
37376
- last = event.last;
37377
- var _items = _toConsumableArray$a(loadedOptions);
37378
- for (var i = first; i < last; i++) {
37379
- if (!_items[i]) {
37380
- _items[i] = _defineProperty$g(_defineProperty$g({}, optionLabel, "Option #".concat(i)), optionValue, i);
37381
- }
37382
- }
37383
- setLoadedOptions(_items);
37384
- setLoading(false);
37385
- var virtualscroll1 = document.querySelector('.p-virtualscroller.p-dropdown-items-wrapper');
37386
- if (virtualscroll1) {
37387
- virtualscroll1.style.height = "auto";
37388
- }
37389
- var hiddenSelectDiv = document.querySelector('.p-hidden-accessible.p-dropdown-hidden-select');
37390
- if (hiddenSelectDiv) {
37391
- var nextEl = hiddenSelectDiv.nextElementSibling;
37392
- if (nextEl && nextEl.tagName === 'INPUT' && nextEl.value && nextEl.value.trim() !== '') {
37393
- var virtualscroll = document.querySelector('.p-virtualscroller.p-dropdown-items-wrapper');
37394
- if (virtualscroll) {
37395
- virtualscroll.style.height = 'auto';
37396
- }
37711
+ if (event.last < loadedOptionsRef.current.length - 1 || !hasMoreRef.current) {
37712
+ setTimeout(function () {
37713
+ return setLoading(false);
37714
+ }, 0);
37715
+ return;
37716
+ }
37717
+ if (isLoadingRef.current) return;
37718
+ isLoadingRef.current = true;
37719
+ if (loadLazyTimeout.current) clearTimeout(loadLazyTimeout.current);
37720
+ loadLazyTimeout.current = setTimeout(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
37721
+ var nextPage, result, newOptions;
37722
+ return _regenerator().w(function (_context4) {
37723
+ while (1) switch (_context4.n) {
37724
+ case 0:
37725
+ nextPage = currentPageRef.current + 1;
37726
+ _context4.n = 1;
37727
+ return loadOptions(searchTermRef.current, [], {
37728
+ page: nextPage
37729
+ });
37730
+ case 1:
37731
+ result = _context4.v;
37732
+ newOptions = (result === null || result === void 0 ? void 0 : result.options) || [];
37733
+ if (!(newOptions.length === 0)) {
37734
+ _context4.n = 2;
37735
+ break;
37736
+ }
37737
+ hasMoreRef.current = false;
37738
+ isLoadingRef.current = false;
37739
+ setLoading(false);
37740
+ return _context4.a(2);
37741
+ case 2:
37742
+ updateLoadedOptions([].concat(_toConsumableArray$a(loadedOptionsRef.current), _toConsumableArray$a(newOptions)));
37743
+ hasMoreRef.current = (result === null || result === void 0 ? void 0 : result.hasMore) !== false;
37744
+ currentPageRef.current = nextPage;
37745
+ isLoadingRef.current = false;
37746
+ setLoading(false);
37747
+ case 3:
37748
+ return _context4.a(2);
37397
37749
  }
37398
- }
37399
- }, Math.random() * 1000 + 250);
37750
+ }, _callee4);
37751
+ })), 500);
37400
37752
  };
37401
37753
  useEffect(function () {
37402
37754
  var handleAnyClick = function handleAnyClick(e) {
@@ -37423,20 +37775,103 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37423
37775
  return document.removeEventListener('click', handleAnyClick);
37424
37776
  };
37425
37777
  }, []);
37426
- return /*#__PURE__*/React__default.createElement("div", {
37427
- ref: dropdownRef,
37428
- className: "flex flex-col gap-1",
37429
- onClick: isInvalidEffective || disabled ? null : function () {
37778
+
37779
+ // 🔹 Options calculées (réordonnancement + tri, comme Dropdown)
37780
+ var smartSort = function smartSort(opts, order, labelKey) {
37781
+ if (!order) return opts;
37782
+ var dir = order === 'desc' ? 1 : -1;
37783
+ return _toConsumableArray$a(opts).sort(function (a, b) {
37784
+ var _a$labelKey, _b$labelKey;
37785
+ var aLabel = String((_a$labelKey = a === null || a === void 0 ? void 0 : a[labelKey]) !== null && _a$labelKey !== void 0 ? _a$labelKey : '').trim();
37786
+ var bLabel = String((_b$labelKey = b === null || b === void 0 ? void 0 : b[labelKey]) !== null && _b$labelKey !== void 0 ? _b$labelKey : '').trim();
37787
+ return dir * aLabel.localeCompare(bLabel, 'fr', {
37788
+ sensitivity: 'base',
37789
+ numeric: true
37790
+ });
37791
+ });
37792
+ };
37793
+ var computedOptions = useMemo(function () {
37794
+ var opts = loadedOptions;
37795
+ if (itemsCheckedToTheTop && optionSelected) {
37796
+ var selected = opts.find(function (opt) {
37797
+ return (opt === null || opt === void 0 ? void 0 : opt[optionValue]) === optionSelected;
37798
+ });
37799
+ if (selected) {
37800
+ opts = [selected].concat(_toConsumableArray$a(opts.filter(function (opt) {
37801
+ return (opt === null || opt === void 0 ? void 0 : opt[optionValue]) !== optionSelected;
37802
+ })));
37803
+ }
37804
+ }
37805
+ if (enableSorting) {
37806
+ opts = smartSort(opts, sortOrder, optionLabel);
37807
+ }
37808
+ return opts;
37809
+ }, [loadedOptions, itemsCheckedToTheTop, optionSelected, enableSorting, sortOrder, optionValue, optionLabel]);
37810
+ var toggleSortOrder = function toggleSortOrder() {
37811
+ setSortOrder(function (prev) {
37812
+ if (prev === null) return 'desc';
37813
+ if (prev === 'desc') return 'asc';
37814
+ return null;
37815
+ });
37816
+ requestAnimationFrame(function () {
37817
+ var _dropdownComposantRef3;
37818
+ (_dropdownComposantRef3 = dropdownComposantRef.current) === null || _dropdownComposantRef3 === void 0 || _dropdownComposantRef3.show();
37819
+ });
37820
+ };
37821
+ var customFilterTemplate = function customFilterTemplate(opts) {
37822
+ if (!enableSorting) return opts.element;
37823
+ return /*#__PURE__*/React__default.createElement("div", {
37824
+ className: "dd-search-row"
37825
+ }, opts.element, /*#__PURE__*/React__default.createElement("button", {
37826
+ type: "button",
37827
+ className: "dd-sort-btn",
37828
+ onClick: function onClick(e) {
37829
+ e.stopPropagation();
37830
+ toggleSortOrder();
37831
+ }
37832
+ }, /*#__PURE__*/React__default.createElement("i", {
37833
+ className: sortOrder === 'desc' ? 'pi pi-sort-amount-down' : sortOrder === 'asc' ? 'pi pi-sort-amount-up-alt' : 'pi pi-sort-alt'
37834
+ })));
37835
+ };
37836
+ var mergedClassName = "flex flex-col gap-1 ".concat(attr["class"] || '').trim();
37837
+ attr["class"];
37838
+ var cleanAttr = _objectWithoutProperties$1(attr, _excluded2$2);
37839
+ return /*#__PURE__*/React__default.createElement("div", _extends$J({
37840
+ ref: dropdownRef
37841
+ }, cleanAttr, {
37842
+ className: mergedClassName,
37843
+ style: {
37844
+ width: '100%'
37845
+ },
37846
+ onMouseEnter: handleMouseEnter,
37847
+ onMouseLeave: handleMouseLeave,
37848
+ onClick: isInvalidEffective || disabled || readOnly ? null : function () {
37430
37849
  return setIsEditing(editable);
37431
37850
  }
37432
- }, /*#__PURE__*/React__default.createElement(Dropdown$1, {
37433
- options: loadedOptions,
37851
+ }), enableItemTooltip && /*#__PURE__*/React__default.createElement(Tooltip$1, {
37852
+ key: tooltipKey,
37853
+ target: ".dropdown-tooltip-item",
37854
+ appendTo: document.body,
37855
+ position: "right",
37856
+ style: {
37857
+ zIndex: 9999999
37858
+ }
37859
+ }), /*#__PURE__*/React__default.createElement(Dropdown$1, _extends$J({
37860
+ ref: dropdownComposantRef,
37861
+ options: computedOptions,
37434
37862
  onChange: handleChange,
37863
+ onClick: function onClick(e) {
37864
+ if (readOnly) {
37865
+ e.preventDefault();
37866
+ e.stopPropagation();
37867
+ }
37868
+ },
37435
37869
  filter: filter,
37870
+ filterTemplate: filter ? customFilterTemplate : undefined,
37436
37871
  placeholder: placeholder === "" || placeholder === null ? ' ' : placeholder,
37437
37872
  optionLabel: optionLabel,
37438
37873
  optionValue: optionValue,
37439
- showClear: true,
37874
+ showClear: showClear,
37440
37875
  disabled: disabled,
37441
37876
  editable: isEditing,
37442
37877
  onFocus: function onFocus() {
@@ -37454,16 +37889,38 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37454
37889
  },
37455
37890
  dropdownMode: "current",
37456
37891
  itemTemplate: optionTemplate,
37457
- valueTemplate: valueTemplate,
37458
- virtualScrollerOptions: {
37892
+ valueTemplate: valueTemplate
37893
+ }, hasInfoLine && {
37894
+ panelFooterTemplate: panelFooterTemplate
37895
+ }, {
37896
+ optionGroupTemplate: isGroupedOption ? groupedItemTemplate : null
37897
+ }, isGroupedOption && computedOptions.length > 0 && Array.isArray((_computedOptions$ = computedOptions[0]) === null || _computedOptions$ === void 0 ? void 0 : _computedOptions$.items) && {
37898
+ optionGroupLabel: 'label',
37899
+ optionGroupChildren: 'items'
37900
+ }, {
37901
+ onShow: function onShow() {
37902
+ if (isGroupedOption && showTooltipGroup) setIsDropdownOpen(true);
37903
+ if (enableItemTooltip) setTooltipKey(function (k) {
37904
+ return k + 1;
37905
+ });
37906
+ },
37907
+ onHide: function onHide() {
37908
+ if (isGroupedOption && showTooltipGroup) setIsDropdownOpen(false);
37909
+ },
37910
+ emptyMessage: externalLoading ? 'Chargement…' : 'Aucune option disponible',
37911
+ virtualScrollerOptions: _objectSpread2({
37459
37912
  lazy: true,
37460
37913
  onLazyLoad: onLazyLoad,
37461
37914
  itemSize: 38,
37462
37915
  showLoader: true,
37463
- loading: loading,
37916
+ loading: loading || externalLoading,
37464
37917
  delay: 25
37465
- },
37466
- className: "w-full md:w-14rem"
37918
+ }, virtualScrollerOptions),
37919
+ className: "w-full"
37920
+ })), !isDropdownOpen && selectedGroupLabel && isGroupedOption && /*#__PURE__*/React__default.createElement(Tooltip$1, {
37921
+ target: ".p-dropdown-label.p-inputtext",
37922
+ content: selectedGroupLabel,
37923
+ position: "top"
37467
37924
  }), name && /*#__PURE__*/React__default.createElement("input", {
37468
37925
  type: "hidden",
37469
37926
  name: name,
@@ -37500,9 +37957,6 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
37500
37957
  }, 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'))));
37501
37958
  };
37502
37959
 
37503
- 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}";
37504
- styleInject(css_248z$5);
37505
-
37506
37960
  var _excluded$2 = ["class"],
37507
37961
  _excluded2$1 = ["style", "className"];
37508
37962
  var Dropdown = function Dropdown(props) {
@@ -44526,24 +44980,118 @@ var createFakeOptions = function createFakeOptions(start, length) {
44526
44980
  }
44527
44981
  return options;
44528
44982
  };
44983
+ var mockPeople = [{
44984
+ label: 'Alice Martin',
44985
+ value: 1,
44986
+ color: '#ff9900',
44987
+ profession: 'Développeuse',
44988
+ tooltip: 'Alice Martin — Développeuse',
44989
+ link: 'https://example.com'
44990
+ }, {
44991
+ label: 'Bruno Lefèvre',
44992
+ value: 2,
44993
+ color: '#3b82f6',
44994
+ profession: 'Chef de projet',
44995
+ tooltip: 'Bruno Lefèvre — Chef de projet',
44996
+ link: 'https://example.com'
44997
+ }, {
44998
+ label: 'Chloé Dubois',
44999
+ value: 3,
45000
+ color: '#10b981',
45001
+ profession: 'Designer',
45002
+ tooltip: 'Chloé Dubois — Designer',
45003
+ link: 'https://example.com'
45004
+ }, {
45005
+ label: 'David Morel',
45006
+ value: 4,
45007
+ color: '#8b5cf6',
45008
+ profession: 'Data analyst',
45009
+ tooltip: 'David Morel — Data analyst',
45010
+ link: 'https://example.com'
45011
+ }, {
45012
+ label: 'Emma Roux',
45013
+ value: 5,
45014
+ color: '#ec4899',
45015
+ profession: 'Product owner',
45016
+ tooltip: 'Emma Roux — Product owner',
45017
+ link: 'https://example.com'
45018
+ }, {
45019
+ label: 'Farid Benali',
45020
+ value: 6,
45021
+ color: '#f59e0b',
45022
+ profession: 'DevOps',
45023
+ tooltip: 'Farid Benali — DevOps',
45024
+ link: 'https://example.com'
45025
+ }, {
45026
+ label: 'Gaëlle Simon',
45027
+ value: 7,
45028
+ color: '#ef4444',
45029
+ profession: 'QA engineer',
45030
+ tooltip: 'Gaëlle Simon — QA engineer',
45031
+ link: 'https://example.com'
45032
+ }, {
45033
+ label: 'Hugo Bernard',
45034
+ value: 8,
45035
+ color: '#10b981',
45036
+ profession: 'Développeur',
45037
+ tooltip: 'Hugo Bernard — Développeur',
45038
+ link: 'https://example.com'
45039
+ }];
45040
+ var asyncPeople = /*#__PURE__*/function () {
45041
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
45042
+ var search,
45043
+ _ref2,
45044
+ _ref2$page,
45045
+ page,
45046
+ filtered,
45047
+ pageSize,
45048
+ start,
45049
+ _args = arguments;
45050
+ return _regenerator().w(function (_context) {
45051
+ while (1) switch (_context.n) {
45052
+ case 0:
45053
+ search = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
45054
+ _ref2 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref2$page = _ref2.page, page = _ref2$page === void 0 ? 1 : _ref2$page;
45055
+ _context.n = 1;
45056
+ return simulateNetworkDelay();
45057
+ case 1:
45058
+ filtered = search ? mockPeople.filter(function (opt) {
45059
+ return opt.label.toLowerCase().includes(search.toLowerCase());
45060
+ }) : mockPeople;
45061
+ pageSize = 30;
45062
+ start = (page - 1) * pageSize;
45063
+ return _context.a(2, {
45064
+ options: filtered.slice(start, start + pageSize),
45065
+ hasMore: start + pageSize < filtered.length,
45066
+ additional: {
45067
+ page: page + 1
45068
+ }
45069
+ });
45070
+ }
45071
+ }, _callee);
45072
+ }));
45073
+ return function asyncPeople() {
45074
+ return _ref.apply(this, arguments);
45075
+ };
45076
+ }();
44529
45077
  var DropdownSelectMetaAsyncPresets = {
44530
45078
  SelectMetaAsync: {
44531
45079
  options: function () {
44532
- var _options = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
45080
+ var _options = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
44533
45081
  var search,
44534
- _ref,
45082
+ _ref3,
44535
45083
  page,
44536
45084
  allOptions,
44537
45085
  filtered,
44538
45086
  pageSize,
44539
45087
  start,
44540
- _args = arguments;
44541
- return _regenerator().w(function (_context) {
44542
- while (1) switch (_context.n) {
45088
+ _args2 = arguments;
45089
+ return _regenerator().w(function (_context2) {
45090
+ while (1) switch (_context2.n) {
44543
45091
  case 0:
44544
- search = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
44545
- _ref = _args.length > 2 ? _args[2] : undefined, page = _ref.page;
44546
- _context.n = 1;
45092
+ search = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : '';
45093
+ _ref3 = _args2.length > 2 ? _args2[2] : undefined, page = _ref3.page;
45094
+ _context2.n = 1;
44547
45095
  return simulateNetworkDelay();
44548
45096
  case 1:
44549
45097
  allOptions = createFakeOptions(0, 100);
@@ -44552,7 +45100,7 @@ var DropdownSelectMetaAsyncPresets = {
44552
45100
  });
44553
45101
  pageSize = 30;
44554
45102
  start = (page - 1) * pageSize;
44555
- return _context.a(2, {
45103
+ return _context2.a(2, {
44556
45104
  options: filtered.slice(start, start + pageSize),
44557
45105
  hasMore: start + pageSize < filtered.length,
44558
45106
  additional: {
@@ -44560,7 +45108,7 @@ var DropdownSelectMetaAsyncPresets = {
44560
45108
  }
44561
45109
  });
44562
45110
  }
44563
- }, _callee);
45111
+ }, _callee2);
44564
45112
  }));
44565
45113
  function options() {
44566
45114
  return _options.apply(this, arguments);
@@ -44582,6 +45130,141 @@ var DropdownSelectMetaAsyncPresets = {
44582
45130
  fontSize: '14px',
44583
45131
  fontFamily: 'Arial'
44584
45132
  }
45133
+ },
45134
+ Base: {
45135
+ options: asyncPeople,
45136
+ value: null,
45137
+ placeholder: 'Sélectionnez une option',
45138
+ editable: true,
45139
+ filter: false,
45140
+ showClear: true,
45141
+ valueStyle: {
45142
+ backgroundColor: 'transparent',
45143
+ color: 'inherit',
45144
+ padding: '0',
45145
+ borderRadius: '0',
45146
+ boxShadow: 'none',
45147
+ fontFamily: 'inherit'
45148
+ }
45149
+ },
45150
+ AsyncOptions: {
45151
+ options: asyncPeople,
45152
+ value: 3,
45153
+ placeholder: 'Sélectionnez une option',
45154
+ editable: true,
45155
+ showClear: true,
45156
+ selectMetaConfig: {
45157
+ labelStyle: {
45158
+ fontWeight: 'bold'
45159
+ },
45160
+ generalIcon: 'pi pi-tag'
45161
+ }
45162
+ },
45163
+ SearchAjaxLoading: {
45164
+ // En prod : optionsUrl: '/api/options' (pagination start/length, recherche search[value])
45165
+ options: asyncPeople,
45166
+ placeholder: 'Rechercher (Ajax)…',
45167
+ filter: true,
45168
+ showClear: true
45169
+ },
45170
+ Sorting: {
45171
+ options: asyncPeople,
45172
+ placeholder: 'Tri A→Z / Z→A',
45173
+ filter: true,
45174
+ enableSorting: true,
45175
+ showClear: true
45176
+ },
45177
+ ItemsCheckedToTheTop: {
45178
+ options: asyncPeople,
45179
+ value: 5,
45180
+ placeholder: 'Sélection remontée en haut',
45181
+ itemsCheckedToTheTop: true,
45182
+ showClear: true
45183
+ },
45184
+ OpenOnHover: {
45185
+ options: asyncPeople,
45186
+ placeholder: 'Ouverture au survol',
45187
+ openOnHover: true
45188
+ },
45189
+ ItemWithTooltip: {
45190
+ options: asyncPeople,
45191
+ placeholder: 'Tooltip sur les options',
45192
+ enableItemTooltip: true
45193
+ },
45194
+ ItemWithSecondaryLabel: {
45195
+ options: asyncPeople,
45196
+ placeholder: 'Label secondaire',
45197
+ enableSecondaryLabel: true,
45198
+ secondaryLabelKey: 'profession'
45199
+ },
45200
+ ItemWithLink: {
45201
+ options: asyncPeople,
45202
+ placeholder: 'Lien sur le label secondaire',
45203
+ enableSecondaryLabel: true,
45204
+ secondaryLabelKey: 'profession',
45205
+ enableItemLink: true
45206
+ },
45207
+ Badge: {
45208
+ options: asyncPeople,
45209
+ value: 2,
45210
+ placeholder: 'Badges colorés',
45211
+ withColor: true,
45212
+ selectConfig: {
45213
+ labelStyle: null,
45214
+ generalIcon: null
45215
+ }
45216
+ },
45217
+ WithIcon: {
45218
+ options: asyncPeople,
45219
+ value: 1,
45220
+ placeholder: 'Icône devant chaque option',
45221
+ withIcon: true,
45222
+ selectConfig: {
45223
+ labelStyle: {
45224
+ fontWeight: '400'
45225
+ },
45226
+ generalIcon: 'pi pi-user'
45227
+ }
45228
+ },
45229
+ Truncate: {
45230
+ options: asyncPeople,
45231
+ value: 2,
45232
+ placeholder: 'Label tronqué',
45233
+ truncateAt: 8,
45234
+ valueStyle: {
45235
+ backgroundColor: 'transparent',
45236
+ color: 'inherit',
45237
+ padding: '0',
45238
+ borderRadius: '0',
45239
+ boxShadow: 'none',
45240
+ fontFamily: 'inherit'
45241
+ }
45242
+ },
45243
+ ReadOnly: {
45244
+ options: asyncPeople,
45245
+ value: 4,
45246
+ readOnly: true,
45247
+ showClear: false
45248
+ },
45249
+ Disabled: {
45250
+ options: asyncPeople,
45251
+ value: 4,
45252
+ disabled: true
45253
+ },
45254
+ Required: {
45255
+ options: asyncPeople,
45256
+ value: null,
45257
+ placeholder: 'Sélection obligatoire',
45258
+ required: true,
45259
+ name: 'monchamp',
45260
+ status: 'error',
45261
+ errorMessage: 'Une option doit être sélectionnée'
45262
+ },
45263
+ InfoLine: {
45264
+ options: asyncPeople,
45265
+ placeholder: 'Avec pied de panel',
45266
+ hasInfoLine: true,
45267
+ InfoLineValue: '8 utilisateurs disponibles'
44585
45268
  }
44586
45269
  };
44587
45270
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "3.1.313-main",
4
+ "version": "3.1.315-main",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {