arengibook 3.1.4-main → 3.1.5-itemWithTooltip
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 +1394 -203
- 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 = "@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.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/* ===== ItemWithTooltip : deux colonnes (libellé à gauche / picto i à l'extrême droite) ===== */\n/* PrimeReact enveloppe le template dans un span inline (.p-dropdown-item-label)\n qui empêche l'item de s'étirer sur toute la largeur du panel */\n.p-dropdown-item .p-dropdown-item-label:has(.dropdown-item-two-cols) {\n display: block;\n width: 100%;\n}\n\n.p-dropdown-items .p-dropdown-item:has(.dropdown-item-two-cols) {\n padding-right: 10px;\n}\n\n.dropdown-item-two-cols {\n display: flex !important;\n align-items: center;\n justify-content: space-between;\n width: 100% !important;\n max-width: none !important;\n}\n\n.dropdown-item-info-icon {\n font-size: 14px;\n color: #6b7280;\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,74 @@ 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
|
-
useRef(1);
|
|
37087
|
-
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
|
+
};
|
|
37202
|
+
|
|
37203
|
+
// PrimeReact 10 ignore la prop `escape` : sa Tooltip écrit toujours via
|
|
37204
|
+
// createTextNode. Un MutationObserver rescande les `.p-tooltip-text` pour
|
|
37205
|
+
// convertir le texte contenant du HTML en innerHTML rendu.
|
|
37206
|
+
useEffect(function () {
|
|
37207
|
+
if (!enableItemTooltip) return undefined;
|
|
37208
|
+
var rewrite = function rewrite() {
|
|
37209
|
+
document.querySelectorAll('.p-tooltip .p-tooltip-text').forEach(function (el) {
|
|
37210
|
+
var raw = el.textContent;
|
|
37211
|
+
if (raw && /<[a-z][\s\S]*>/i.test(raw) && el.innerHTML !== raw) {
|
|
37212
|
+
el.innerHTML = raw;
|
|
37213
|
+
}
|
|
37214
|
+
});
|
|
37215
|
+
};
|
|
37216
|
+
var observer = new MutationObserver(rewrite);
|
|
37217
|
+
observer.observe(document.body, {
|
|
37218
|
+
childList: true,
|
|
37219
|
+
subtree: true,
|
|
37220
|
+
characterData: true
|
|
37221
|
+
});
|
|
37222
|
+
return function () {
|
|
37223
|
+
return observer.disconnect();
|
|
37224
|
+
};
|
|
37225
|
+
}, [enableItemTooltip]);
|
|
37088
37226
|
var optionTemplate = function optionTemplate(option) {
|
|
37089
37227
|
var _ref2 = selectMetaConfig || {},
|
|
37090
37228
|
labelStyle = _ref2.labelStyle,
|
|
@@ -37092,17 +37230,115 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37092
37230
|
var styleLabel = {
|
|
37093
37231
|
marginLeft: '10px'
|
|
37094
37232
|
};
|
|
37095
|
-
|
|
37233
|
+
var tooltipProps = enableItemTooltip ? {
|
|
37234
|
+
'data-pr-tooltip': (option === null || option === void 0 ? void 0 : option.tooltip) || (option === null || option === void 0 ? void 0 : option.description),
|
|
37235
|
+
'data-pr-position': 'right'
|
|
37236
|
+
} : {};
|
|
37237
|
+
var tooltipContent = (option === null || option === void 0 ? void 0 : option.tooltip) || (option === null || option === void 0 ? void 0 : option.description);
|
|
37238
|
+
var hasTooltip = Boolean(enableItemTooltip && tooltipContent);
|
|
37239
|
+
var infoIcon = hasTooltip ? /*#__PURE__*/React__default.createElement("i", {
|
|
37240
|
+
className: "pi pi-info-circle dropdown-item-info-icon"
|
|
37241
|
+
}) : null;
|
|
37242
|
+
var secondaryLabel = enableSecondaryLabel ? option === null || option === void 0 ? void 0 : option[secondaryLabelKey] : null;
|
|
37243
|
+
var isLink = enableItemLink && (option === null || option === void 0 ? void 0 : option.link);
|
|
37244
|
+
var handleLinkClick = function handleLinkClick(e) {
|
|
37245
|
+
if (isLink) {
|
|
37246
|
+
e.preventDefault();
|
|
37247
|
+
e.stopPropagation();
|
|
37248
|
+
window.open(option.link, '_blank', 'noopener,noreferrer');
|
|
37249
|
+
}
|
|
37250
|
+
};
|
|
37251
|
+
var optionAttrs = typeof choice_attr === 'function' ? choice_attr(option) : {};
|
|
37252
|
+
var attrStyle = optionAttrs.style,
|
|
37253
|
+
attrClassName = optionAttrs.className,
|
|
37254
|
+
restAttrs = _objectWithoutProperties$1(optionAttrs, _excluded$3);
|
|
37255
|
+
var className = "flex align-items-center dropdown-tooltip-item ".concat(attrClassName || optionClassname || '').trim();
|
|
37256
|
+
if (hasTooltip) {
|
|
37257
|
+
// Deux colonnes : libellé à l'extrême gauche, picto "i" à l'extrême droite.
|
|
37258
|
+
// Le tooltip est porté par l'item entier et pointe sur le picto.
|
|
37259
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
|
|
37260
|
+
onClick: function onClick() {
|
|
37261
|
+
clickedFromList.current = true;
|
|
37262
|
+
},
|
|
37263
|
+
className: "".concat(className, " dropdown-item-two-cols").trim(),
|
|
37264
|
+
style: _objectSpread2({
|
|
37265
|
+
display: 'flex',
|
|
37266
|
+
alignItems: 'center',
|
|
37267
|
+
gap: '0.5rem',
|
|
37268
|
+
fontSize: '14px',
|
|
37269
|
+
maxWidth: 'none',
|
|
37270
|
+
overflow: 'hidden',
|
|
37271
|
+
textOverflow: 'ellipsis',
|
|
37272
|
+
whiteSpace: 'nowrap',
|
|
37273
|
+
width: '100%',
|
|
37274
|
+
justifyContent: 'space-between'
|
|
37275
|
+
}, attrStyle)
|
|
37276
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
37277
|
+
className: "dropdown-item-label-col",
|
|
37278
|
+
style: {
|
|
37279
|
+
display: 'flex',
|
|
37280
|
+
alignItems: 'center',
|
|
37281
|
+
gap: '0.5rem',
|
|
37282
|
+
minWidth: 0,
|
|
37283
|
+
overflow: 'hidden',
|
|
37284
|
+
textOverflow: 'ellipsis',
|
|
37285
|
+
whiteSpace: 'nowrap'
|
|
37286
|
+
}
|
|
37287
|
+
}, option === null || option === void 0 ? void 0 : option[optionLabel]), /*#__PURE__*/React__default.createElement("div", {
|
|
37288
|
+
className: "dropdown-item-info-col",
|
|
37289
|
+
style: {
|
|
37290
|
+
flexShrink: 0,
|
|
37291
|
+
display: 'flex',
|
|
37292
|
+
alignItems: 'center',
|
|
37293
|
+
marginLeft: '8px'
|
|
37294
|
+
}
|
|
37295
|
+
}, infoIcon));
|
|
37296
|
+
}
|
|
37297
|
+
if (withIcon || withColor) {
|
|
37298
|
+
var _ref3 = selectConfig || {},
|
|
37299
|
+
cfgLabelStyle = _ref3.labelStyle,
|
|
37300
|
+
cfgGeneralIcon = _ref3.generalIcon;
|
|
37301
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
|
|
37302
|
+
onClick: function onClick() {
|
|
37303
|
+
clickedFromList.current = true;
|
|
37304
|
+
},
|
|
37305
|
+
className: className,
|
|
37306
|
+
style: _objectSpread2(_objectSpread2({
|
|
37307
|
+
fontSize: '14px',
|
|
37308
|
+
display: 'flex',
|
|
37309
|
+
alignItems: 'center',
|
|
37310
|
+
gap: '8px'
|
|
37311
|
+
}, optionStyle), attrStyle)
|
|
37312
|
+
}), withIcon && cfgGeneralIcon && /*#__PURE__*/React__default.createElement("i", {
|
|
37313
|
+
style: {
|
|
37314
|
+
color: option === null || option === void 0 ? void 0 : option.color
|
|
37315
|
+
},
|
|
37316
|
+
className: cfgGeneralIcon
|
|
37317
|
+
}), withColor && option !== null && option !== void 0 && option.color ? /*#__PURE__*/React__default.createElement("span", {
|
|
37318
|
+
className: "dd-color-badge".concat(optionSelected === (option === null || option === void 0 ? void 0 : option[optionValue]) ? ' is-selected' : ''),
|
|
37319
|
+
style: {
|
|
37320
|
+
'--badge-color': option.color,
|
|
37321
|
+
color: inverseColor(option.color)
|
|
37322
|
+
}
|
|
37323
|
+
}, option === null || option === void 0 ? void 0 : option[optionLabel]) : /*#__PURE__*/React__default.createElement("span", {
|
|
37324
|
+
style: _objectSpread2(_objectSpread2({}, cfgLabelStyle), subItem ? {
|
|
37325
|
+
flex: 1
|
|
37326
|
+
} : {})
|
|
37327
|
+
}, option === null || option === void 0 ? void 0 : option[optionLabel]));
|
|
37328
|
+
}
|
|
37329
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
|
|
37096
37330
|
onClick: function onClick() {
|
|
37097
37331
|
clickedFromList.current = true;
|
|
37098
37332
|
},
|
|
37099
|
-
className:
|
|
37100
|
-
style: {
|
|
37333
|
+
className: className,
|
|
37334
|
+
style: _objectSpread2({
|
|
37101
37335
|
padding: '6px 10px',
|
|
37102
37336
|
height: 'auto'
|
|
37103
|
-
}
|
|
37104
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
37105
|
-
style: _objectSpread2({
|
|
37337
|
+
}, attrStyle)
|
|
37338
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
37339
|
+
style: _objectSpread2(_objectSpread2({}, subItem ? {
|
|
37340
|
+
flex: 1
|
|
37341
|
+
} : {}), {}, {
|
|
37106
37342
|
fontSize: '15px',
|
|
37107
37343
|
fontWeight: 'bold'
|
|
37108
37344
|
}, labelStyle)
|
|
@@ -37113,9 +37349,185 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37113
37349
|
className: generalIcon
|
|
37114
37350
|
}), /*#__PURE__*/React__default.createElement("span", {
|
|
37115
37351
|
style: styleLabel
|
|
37116
|
-
}, option === null || option === void 0 ? void 0 : option[optionLabel])
|
|
37352
|
+
}, option === null || option === void 0 ? void 0 : option[optionLabel]), secondaryLabel && /*#__PURE__*/React__default.createElement("div", {
|
|
37353
|
+
onClick: isLink ? handleLinkClick : undefined,
|
|
37354
|
+
onMouseDown: isLink ? function (e) {
|
|
37355
|
+
return e.stopPropagation();
|
|
37356
|
+
} : undefined,
|
|
37357
|
+
style: {
|
|
37358
|
+
cursor: isLink ? 'pointer' : 'default',
|
|
37359
|
+
marginTop: '2px',
|
|
37360
|
+
width: 'fit-content'
|
|
37361
|
+
}
|
|
37362
|
+
}, /*#__PURE__*/React__default.createElement("small", {
|
|
37363
|
+
style: {
|
|
37364
|
+
opacity: 0.75,
|
|
37365
|
+
fontSize: '12px',
|
|
37366
|
+
textDecoration: isLink ? 'underline' : 'none',
|
|
37367
|
+
color: isLink ? '#3b82f6' : 'inherit',
|
|
37368
|
+
fontWeight: 'normal'
|
|
37369
|
+
}
|
|
37370
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
|
37371
|
+
style: subItem ? {} : {
|
|
37372
|
+
marginLeft: '10px'
|
|
37373
|
+
}
|
|
37374
|
+
}, secondaryLabel)))));
|
|
37375
|
+
};
|
|
37376
|
+
var groupedItemTemplate = function groupedItemTemplate(option) {
|
|
37377
|
+
var _ref4 = groupedItemTemplateConfig || {},
|
|
37378
|
+
showImage = _ref4.showImage,
|
|
37379
|
+
imageKey = _ref4.imageKey,
|
|
37380
|
+
imageStyle = _ref4.imageStyle,
|
|
37381
|
+
showIcon = _ref4.showIcon,
|
|
37382
|
+
iconKey = _ref4.iconKey,
|
|
37383
|
+
labelStyle = _ref4.labelStyle,
|
|
37384
|
+
generalIcon = _ref4.generalIcon,
|
|
37385
|
+
generalImage = _ref4.generalImage;
|
|
37386
|
+
var icon = option.value && option.value[iconKey];
|
|
37387
|
+
var styleLabel = generalIcon || showImage && option[imageKey] || showIcon && icon ? {
|
|
37388
|
+
marginLeft: '10px'
|
|
37389
|
+
} : {};
|
|
37390
|
+
if (option.group) {
|
|
37391
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
37392
|
+
className: "flex align-items-center"
|
|
37393
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
37394
|
+
style: _objectSpread2({
|
|
37395
|
+
fontSize: '15px',
|
|
37396
|
+
fontWeight: 'bold'
|
|
37397
|
+
}, labelStyle)
|
|
37398
|
+
}, generalIcon && /*#__PURE__*/React__default.createElement("i", {
|
|
37399
|
+
className: generalIcon,
|
|
37400
|
+
style: _objectSpread2({
|
|
37401
|
+
fontSize: '15px',
|
|
37402
|
+
fontWeight: 'bold'
|
|
37403
|
+
}, labelStyle)
|
|
37404
|
+
}), generalImage && /*#__PURE__*/React__default.createElement("img", {
|
|
37405
|
+
alt: "General",
|
|
37406
|
+
src: generalImage,
|
|
37407
|
+
style: imageStyle || {
|
|
37408
|
+
width: '18px',
|
|
37409
|
+
marginRight: '0.5rem'
|
|
37410
|
+
},
|
|
37411
|
+
className: "mr-2"
|
|
37412
|
+
}), showImage && option[imageKey] && /*#__PURE__*/React__default.createElement("img", {
|
|
37413
|
+
alt: option.label,
|
|
37414
|
+
src: option[imageKey],
|
|
37415
|
+
style: imageStyle || {
|
|
37416
|
+
width: '18px',
|
|
37417
|
+
marginRight: '0.5rem'
|
|
37418
|
+
},
|
|
37419
|
+
className: "mr-2"
|
|
37420
|
+
}), showIcon && icon && /*#__PURE__*/React__default.createElement("i", {
|
|
37421
|
+
className: "mr-2 ".concat(icon),
|
|
37422
|
+
style: _objectSpread2({
|
|
37423
|
+
fontSize: '15px',
|
|
37424
|
+
fontWeight: 'bold'
|
|
37425
|
+
}, labelStyle)
|
|
37426
|
+
}), /*#__PURE__*/React__default.createElement("span", {
|
|
37427
|
+
style: styleLabel
|
|
37428
|
+
}, option.label)));
|
|
37429
|
+
}
|
|
37430
|
+
return null;
|
|
37117
37431
|
};
|
|
37118
|
-
var
|
|
37432
|
+
var panelFooterTemplate = function panelFooterTemplate() {
|
|
37433
|
+
if (InfoLineValue) {
|
|
37434
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
37435
|
+
style: {
|
|
37436
|
+
padding: '8px'
|
|
37437
|
+
}
|
|
37438
|
+
}, /*#__PURE__*/React__default.createElement("b", null, InfoLineValue));
|
|
37439
|
+
}
|
|
37440
|
+
};
|
|
37441
|
+
var isInvalidEffective = invalid || status === 'error' || showRequiredError;
|
|
37442
|
+
|
|
37443
|
+
// 🔹 Chargement des options depuis une URL (même contrat que MultiSelectMetaAsync)
|
|
37444
|
+
var fetchOptionsFromUrl = /*#__PURE__*/function () {
|
|
37445
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
37446
|
+
var search,
|
|
37447
|
+
_ref6,
|
|
37448
|
+
_ref6$page,
|
|
37449
|
+
page,
|
|
37450
|
+
length,
|
|
37451
|
+
start,
|
|
37452
|
+
queryParams,
|
|
37453
|
+
response,
|
|
37454
|
+
responseJSON,
|
|
37455
|
+
dataAjax,
|
|
37456
|
+
mappedOptions,
|
|
37457
|
+
hasMore,
|
|
37458
|
+
_args = arguments,
|
|
37459
|
+
_t;
|
|
37460
|
+
return _regenerator().w(function (_context) {
|
|
37461
|
+
while (1) switch (_context.n) {
|
|
37462
|
+
case 0:
|
|
37463
|
+
search = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
|
|
37464
|
+
_ref6 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref6$page = _ref6.page, page = _ref6$page === void 0 ? 1 : _ref6$page;
|
|
37465
|
+
_context.p = 1;
|
|
37466
|
+
length = 25;
|
|
37467
|
+
start = (page - 1) * length;
|
|
37468
|
+
queryParams = new URLSearchParams();
|
|
37469
|
+
if (search) queryParams.append('search[value]', search);
|
|
37470
|
+
queryParams.append('start', start);
|
|
37471
|
+
queryParams.append('length', length);
|
|
37472
|
+
_context.n = 2;
|
|
37473
|
+
return fetch("".concat(optionsUrl, "?").concat(queryParams.toString()));
|
|
37474
|
+
case 2:
|
|
37475
|
+
response = _context.v;
|
|
37476
|
+
if (response.ok) {
|
|
37477
|
+
_context.n = 4;
|
|
37478
|
+
break;
|
|
37479
|
+
}
|
|
37480
|
+
if (!(response.status === 404)) {
|
|
37481
|
+
_context.n = 3;
|
|
37482
|
+
break;
|
|
37483
|
+
}
|
|
37484
|
+
hasMoreRef.current = false;
|
|
37485
|
+
return _context.a(2, {
|
|
37486
|
+
options: [],
|
|
37487
|
+
hasMore: false
|
|
37488
|
+
});
|
|
37489
|
+
case 3:
|
|
37490
|
+
throw new Error("Erreur HTTP: ".concat(response.status));
|
|
37491
|
+
case 4:
|
|
37492
|
+
_context.n = 5;
|
|
37493
|
+
return response.json();
|
|
37494
|
+
case 5:
|
|
37495
|
+
responseJSON = _context.v;
|
|
37496
|
+
dataAjax = responseJSON.data || [];
|
|
37497
|
+
mappedOptions = dataAjax.map(function (opt) {
|
|
37498
|
+
if (opt.hasOwnProperty('color') && opt.color !== null && opt.color.length > 0) {
|
|
37499
|
+
opt.color = opt.color.toLowerCase();
|
|
37500
|
+
} else {
|
|
37501
|
+
delete opt.color;
|
|
37502
|
+
}
|
|
37503
|
+
opt.label = opt.nom !== undefined && opt.nom !== null ? opt.nom : opt.label;
|
|
37504
|
+
opt.value = opt.id;
|
|
37505
|
+
return opt;
|
|
37506
|
+
});
|
|
37507
|
+
hasMore = start + dataAjax.length < responseJSON.recordsTotal;
|
|
37508
|
+
return _context.a(2, {
|
|
37509
|
+
options: mappedOptions,
|
|
37510
|
+
hasMore: hasMore,
|
|
37511
|
+
additional: {
|
|
37512
|
+
page: page + 1
|
|
37513
|
+
}
|
|
37514
|
+
});
|
|
37515
|
+
case 6:
|
|
37516
|
+
_context.p = 6;
|
|
37517
|
+
_t = _context.v;
|
|
37518
|
+
console.error("Erreur lors de la récupération des options :", _t);
|
|
37519
|
+
return _context.a(2, {
|
|
37520
|
+
options: [],
|
|
37521
|
+
hasMore: false
|
|
37522
|
+
});
|
|
37523
|
+
}
|
|
37524
|
+
}, _callee, null, [[1, 6]]);
|
|
37525
|
+
}));
|
|
37526
|
+
return function fetchOptionsFromUrl() {
|
|
37527
|
+
return _ref5.apply(this, arguments);
|
|
37528
|
+
};
|
|
37529
|
+
}();
|
|
37530
|
+
var loadOptions = typeof options === 'function' ? options : fetchOptionsFromUrl;
|
|
37119
37531
|
var style = {
|
|
37120
37532
|
border: isInvalidEffective ? '1px solid red' : '1px solid #ccc',
|
|
37121
37533
|
width: '100%',
|
|
@@ -37126,36 +37538,38 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37126
37538
|
}, [optionSelected]);
|
|
37127
37539
|
useEffect(function () {
|
|
37128
37540
|
setOptionSelected(objValue ? objValue === null || objValue === void 0 ? void 0 : objValue[optionValue] : value !== null && value !== void 0 ? value : null);
|
|
37541
|
+
currentPageRef.current = 1;
|
|
37542
|
+
hasMoreRef.current = true;
|
|
37543
|
+
isLoadingRef.current = false;
|
|
37129
37544
|
var loadInitialOptions = /*#__PURE__*/function () {
|
|
37130
|
-
var
|
|
37131
|
-
var result,
|
|
37132
|
-
return _regenerator().w(function (
|
|
37133
|
-
while (1) switch (
|
|
37545
|
+
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
37546
|
+
var result, initialOpts, exists;
|
|
37547
|
+
return _regenerator().w(function (_context2) {
|
|
37548
|
+
while (1) switch (_context2.n) {
|
|
37134
37549
|
case 0:
|
|
37135
|
-
|
|
37136
|
-
return
|
|
37550
|
+
_context2.n = 1;
|
|
37551
|
+
return loadOptions('', [], {
|
|
37137
37552
|
page: 1
|
|
37138
37553
|
});
|
|
37139
37554
|
case 1:
|
|
37140
|
-
result =
|
|
37141
|
-
|
|
37555
|
+
result = _context2.v;
|
|
37556
|
+
hasMoreRef.current = (result === null || result === void 0 ? void 0 : result.hasMore) !== false;
|
|
37557
|
+
initialOpts = (result === null || result === void 0 ? void 0 : result.options) || [];
|
|
37142
37558
|
if (objValue) {
|
|
37143
|
-
exists =
|
|
37559
|
+
exists = initialOpts.some(function (opt) {
|
|
37144
37560
|
return opt[optionValue] === objValue[optionValue];
|
|
37145
37561
|
});
|
|
37146
|
-
|
|
37147
|
-
|
|
37148
|
-
|
|
37149
|
-
});
|
|
37150
|
-
}
|
|
37562
|
+
updateLoadedOptions(exists ? initialOpts : [].concat(_toConsumableArray$a(initialOpts), [objValue]));
|
|
37563
|
+
} else {
|
|
37564
|
+
updateLoadedOptions(initialOpts);
|
|
37151
37565
|
}
|
|
37152
37566
|
case 2:
|
|
37153
|
-
return
|
|
37567
|
+
return _context2.a(2);
|
|
37154
37568
|
}
|
|
37155
|
-
},
|
|
37569
|
+
}, _callee2);
|
|
37156
37570
|
}));
|
|
37157
37571
|
return function loadInitialOptions() {
|
|
37158
|
-
return
|
|
37572
|
+
return _ref7.apply(this, arguments);
|
|
37159
37573
|
};
|
|
37160
37574
|
}();
|
|
37161
37575
|
loadInitialOptions();
|
|
@@ -37163,7 +37577,7 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37163
37577
|
return function () {
|
|
37164
37578
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
37165
37579
|
};
|
|
37166
|
-
}, [options, objValue, value]);
|
|
37580
|
+
}, [options, optionsUrl, objValue, value]);
|
|
37167
37581
|
var handleClickOutside = function handleClickOutside(event) {
|
|
37168
37582
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
37169
37583
|
setIsEditing(false);
|
|
@@ -37181,7 +37595,39 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37181
37595
|
}
|
|
37182
37596
|
};
|
|
37183
37597
|
}, [dropdownRef.current]);
|
|
37598
|
+
useEffect(function () {
|
|
37599
|
+
if (enableItemTooltip) {
|
|
37600
|
+
setTooltipKey(function (prevKey) {
|
|
37601
|
+
return prevKey + 1;
|
|
37602
|
+
});
|
|
37603
|
+
}
|
|
37604
|
+
}, [loadedOptions, enableItemTooltip, optionSelected]);
|
|
37605
|
+
var getSelectedGroupLabel = function getSelectedGroupLabel(selectedValue) {
|
|
37606
|
+
if (!isGroupedOption || !selectedValue) return '';
|
|
37607
|
+
var _iterator = _createForOfIteratorHelper$7(loadedOptions),
|
|
37608
|
+
_step;
|
|
37609
|
+
try {
|
|
37610
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
37611
|
+
var group = _step.value;
|
|
37612
|
+
if (showTooltipGroup && group.items && group.items.some(function (item) {
|
|
37613
|
+
return item.value === selectedValue;
|
|
37614
|
+
})) {
|
|
37615
|
+
if (prevTextShowTooltip) return prevTextShowTooltip + ' ' + group.label;
|
|
37616
|
+
return group.label;
|
|
37617
|
+
}
|
|
37618
|
+
}
|
|
37619
|
+
} catch (err) {
|
|
37620
|
+
_iterator.e(err);
|
|
37621
|
+
} finally {
|
|
37622
|
+
_iterator.f();
|
|
37623
|
+
}
|
|
37624
|
+
return '';
|
|
37625
|
+
};
|
|
37626
|
+
useEffect(function () {
|
|
37627
|
+
if (optionSelected) setSelectedGroupLabel(getSelectedGroupLabel(optionSelected));
|
|
37628
|
+
}, [optionSelected, loadedOptions]);
|
|
37184
37629
|
var handleChange = function handleChange(e) {
|
|
37630
|
+
if (readOnly) return;
|
|
37185
37631
|
setOptionSelected(e.value);
|
|
37186
37632
|
if (clickedFromList.current) {
|
|
37187
37633
|
var _selected$optionLabel;
|
|
@@ -37192,69 +37638,92 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37192
37638
|
setInputValue((_selected$optionLabel = selected === null || selected === void 0 ? void 0 : selected[optionLabel]) !== null && _selected$optionLabel !== void 0 ? _selected$optionLabel : '');
|
|
37193
37639
|
}
|
|
37194
37640
|
clickedFromList.current = false;
|
|
37195
|
-
if (onChange)
|
|
37641
|
+
if (typeof onChange === 'function') {
|
|
37642
|
+
onChange(e.value);
|
|
37643
|
+
} else if (typeof onChange === 'string' && typeof window[onChange] === 'function') {
|
|
37644
|
+
window[onChange](e.value);
|
|
37645
|
+
}
|
|
37196
37646
|
};
|
|
37197
37647
|
var handleClear = function handleClear() {
|
|
37198
37648
|
setOptionSelected(null);
|
|
37199
37649
|
setInputValue('');
|
|
37200
|
-
if (onChange)
|
|
37201
|
-
|
|
37650
|
+
if (typeof onChange === 'function') {
|
|
37651
|
+
onChange(null);
|
|
37652
|
+
} else if (typeof onChange === 'string' && typeof window[onChange] === 'function') {
|
|
37653
|
+
window[onChange](null);
|
|
37654
|
+
}
|
|
37655
|
+
searchTermRef.current = '';
|
|
37656
|
+
currentPageRef.current = 1;
|
|
37657
|
+
hasMoreRef.current = true;
|
|
37658
|
+
isLoadingRef.current = false;
|
|
37659
|
+
loadOptions('', [], {
|
|
37202
37660
|
page: 1
|
|
37203
37661
|
}).then(function (result) {
|
|
37204
|
-
|
|
37662
|
+
hasMoreRef.current = (result === null || result === void 0 ? void 0 : result.hasMore) !== false;
|
|
37663
|
+
updateLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
|
|
37205
37664
|
});
|
|
37206
37665
|
};
|
|
37207
37666
|
var handleInputChange = /*#__PURE__*/function () {
|
|
37208
|
-
var
|
|
37209
|
-
var search, result, _result$
|
|
37210
|
-
return _regenerator().w(function (
|
|
37211
|
-
while (1) switch (
|
|
37667
|
+
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(e) {
|
|
37668
|
+
var search, result, _result$options, _result, filteredOptions;
|
|
37669
|
+
return _regenerator().w(function (_context3) {
|
|
37670
|
+
while (1) switch (_context3.n) {
|
|
37212
37671
|
case 0:
|
|
37213
37672
|
search = e.target.value;
|
|
37214
37673
|
setInputValue(search);
|
|
37674
|
+
if (typeof onSearch === 'function') onSearch(search);
|
|
37675
|
+
searchTermRef.current = search;
|
|
37676
|
+
currentPageRef.current = 1;
|
|
37677
|
+
hasMoreRef.current = true;
|
|
37678
|
+
isLoadingRef.current = false;
|
|
37215
37679
|
if (search) {
|
|
37216
|
-
|
|
37680
|
+
_context3.n = 2;
|
|
37217
37681
|
break;
|
|
37218
37682
|
}
|
|
37219
|
-
|
|
37220
|
-
return
|
|
37683
|
+
_context3.n = 1;
|
|
37684
|
+
return loadOptions('', [], {
|
|
37221
37685
|
page: 1
|
|
37222
37686
|
});
|
|
37223
37687
|
case 1:
|
|
37224
|
-
result =
|
|
37225
|
-
|
|
37226
|
-
|
|
37688
|
+
result = _context3.v;
|
|
37689
|
+
hasMoreRef.current = (result === null || result === void 0 ? void 0 : result.hasMore) !== false;
|
|
37690
|
+
updateLoadedOptions((result === null || result === void 0 ? void 0 : result.options) || []);
|
|
37691
|
+
_context3.n = 4;
|
|
37227
37692
|
break;
|
|
37228
37693
|
case 2:
|
|
37229
|
-
|
|
37230
|
-
return
|
|
37694
|
+
_context3.n = 3;
|
|
37695
|
+
return loadOptions(search, [], {
|
|
37231
37696
|
page: 1
|
|
37232
37697
|
});
|
|
37233
37698
|
case 3:
|
|
37234
|
-
_result =
|
|
37235
|
-
|
|
37699
|
+
_result = _context3.v;
|
|
37700
|
+
hasMoreRef.current = (_result === null || _result === void 0 ? void 0 : _result.hasMore) !== false;
|
|
37701
|
+
filteredOptions = (_result === null || _result === void 0 || (_result$options = _result.options) === null || _result$options === void 0 ? void 0 : _result$options.filter(function (opt) {
|
|
37236
37702
|
return opt[optionLabel].toLowerCase().includes(search.toLowerCase());
|
|
37237
37703
|
})) || [];
|
|
37238
|
-
|
|
37704
|
+
updateLoadedOptions(filteredOptions);
|
|
37239
37705
|
case 4:
|
|
37240
|
-
return
|
|
37706
|
+
return _context3.a(2);
|
|
37241
37707
|
}
|
|
37242
|
-
},
|
|
37708
|
+
}, _callee3);
|
|
37243
37709
|
}));
|
|
37244
37710
|
return function handleInputChange(_x) {
|
|
37245
|
-
return
|
|
37711
|
+
return _ref8.apply(this, arguments);
|
|
37246
37712
|
};
|
|
37247
37713
|
}();
|
|
37714
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
37715
|
+
var _dropdownComposantRef;
|
|
37716
|
+
if (!openOnHover || disabled || readOnly) return;
|
|
37717
|
+
(_dropdownComposantRef = dropdownComposantRef.current) === null || _dropdownComposantRef === void 0 || _dropdownComposantRef.show();
|
|
37718
|
+
};
|
|
37719
|
+
var handleMouseLeave = function handleMouseLeave() {
|
|
37720
|
+
var _dropdownComposantRef2;
|
|
37721
|
+
if (!openOnHover) return;
|
|
37722
|
+
(_dropdownComposantRef2 = dropdownComposantRef.current) === null || _dropdownComposantRef2 === void 0 || _dropdownComposantRef2.hide();
|
|
37723
|
+
};
|
|
37248
37724
|
var selectedOption = loadedOptions.find(function (opt) {
|
|
37249
37725
|
return opt[optionValue] === optionSelected;
|
|
37250
37726
|
});
|
|
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
37727
|
var valueTemplate = function valueTemplate() {
|
|
37259
37728
|
if (isEditing) return null;
|
|
37260
37729
|
if (!selectedOption) return /*#__PURE__*/React__default.createElement("span", {
|
|
@@ -37262,7 +37731,42 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37262
37731
|
color: '#aaa'
|
|
37263
37732
|
}
|
|
37264
37733
|
}, placeholder);
|
|
37265
|
-
|
|
37734
|
+
var valueTooltip = enableItemTooltip ? (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.tooltip) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.description) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption[optionLabel]) : null;
|
|
37735
|
+
var valueTooltipAttrs = valueTooltip ? {
|
|
37736
|
+
'data-pr-tooltip': valueTooltip,
|
|
37737
|
+
'data-pr-position': 'top'
|
|
37738
|
+
} : {};
|
|
37739
|
+
if (withIcon || withColor) {
|
|
37740
|
+
var _ref9 = selectConfig || {},
|
|
37741
|
+
labelStyle = _ref9.labelStyle,
|
|
37742
|
+
generalIcon = _ref9.generalIcon;
|
|
37743
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
37744
|
+
style: _objectSpread2({
|
|
37745
|
+
display: 'flex',
|
|
37746
|
+
alignItems: 'center',
|
|
37747
|
+
gap: '8px',
|
|
37748
|
+
fontFamily: 'Arial',
|
|
37749
|
+
fontSize: '14px'
|
|
37750
|
+
}, valueStyle)
|
|
37751
|
+
}, withIcon && generalIcon && /*#__PURE__*/React__default.createElement("i", {
|
|
37752
|
+
style: {
|
|
37753
|
+
color: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color
|
|
37754
|
+
},
|
|
37755
|
+
className: generalIcon
|
|
37756
|
+
}), withColor && selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? /*#__PURE__*/React__default.createElement("span", {
|
|
37757
|
+
className: "dd-color-badge is-selected",
|
|
37758
|
+
style: {
|
|
37759
|
+
'--badge-color': selectedOption.color,
|
|
37760
|
+
color: inverseColor(selectedOption.color)
|
|
37761
|
+
}
|
|
37762
|
+
}, truncateLabel(selectedOption[optionLabel])) : /*#__PURE__*/React__default.createElement("span", {
|
|
37763
|
+
className: valueClassname,
|
|
37764
|
+
style: labelStyle
|
|
37765
|
+
}, truncateLabel(selectedOption[optionLabel])));
|
|
37766
|
+
}
|
|
37767
|
+
return /*#__PURE__*/React__default.createElement("span", _extends$J({
|
|
37768
|
+
className: "".concat(valueClassname || '').concat(valueTooltip ? ' dropdown-tooltip-trigger' : '').trim() || undefined,
|
|
37769
|
+
title: valueTooltip ? undefined : selectedOption[optionLabel],
|
|
37266
37770
|
style: _objectSpread2({
|
|
37267
37771
|
backgroundColor: selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color : '#FFFFFF',
|
|
37268
37772
|
color: selectedOption !== null && selectedOption !== void 0 && selectedOption.color ? inverseColor(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.color) : '#FFFFFF',
|
|
@@ -37273,41 +37777,53 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37273
37777
|
display: 'inline-block',
|
|
37274
37778
|
fontFamily: 'Arial'
|
|
37275
37779
|
}, valueStyle)
|
|
37276
|
-
}, selectedOption[optionLabel]);
|
|
37780
|
+
}, valueTooltipAttrs), truncateLabel(selectedOption[optionLabel]));
|
|
37277
37781
|
};
|
|
37278
37782
|
|
|
37279
|
-
// 🔹
|
|
37783
|
+
// 🔹 Lazy loading paginé au scroll (même logique que MultiSelectMetaAsync)
|
|
37280
37784
|
var onLazyLoad = function onLazyLoad(event) {
|
|
37281
37785
|
setLoading(true);
|
|
37282
|
-
if (
|
|
37283
|
-
|
|
37284
|
-
|
|
37285
|
-
|
|
37286
|
-
|
|
37287
|
-
|
|
37288
|
-
|
|
37289
|
-
|
|
37290
|
-
|
|
37291
|
-
|
|
37292
|
-
|
|
37293
|
-
|
|
37294
|
-
|
|
37295
|
-
|
|
37296
|
-
|
|
37297
|
-
|
|
37298
|
-
|
|
37299
|
-
|
|
37300
|
-
|
|
37301
|
-
|
|
37302
|
-
|
|
37303
|
-
|
|
37304
|
-
|
|
37305
|
-
|
|
37306
|
-
|
|
37307
|
-
|
|
37786
|
+
if (event.last < loadedOptionsRef.current.length - 1 || !hasMoreRef.current) {
|
|
37787
|
+
setTimeout(function () {
|
|
37788
|
+
return setLoading(false);
|
|
37789
|
+
}, 0);
|
|
37790
|
+
return;
|
|
37791
|
+
}
|
|
37792
|
+
if (isLoadingRef.current) return;
|
|
37793
|
+
isLoadingRef.current = true;
|
|
37794
|
+
if (loadLazyTimeout.current) clearTimeout(loadLazyTimeout.current);
|
|
37795
|
+
loadLazyTimeout.current = setTimeout(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
|
|
37796
|
+
var nextPage, result, newOptions;
|
|
37797
|
+
return _regenerator().w(function (_context4) {
|
|
37798
|
+
while (1) switch (_context4.n) {
|
|
37799
|
+
case 0:
|
|
37800
|
+
nextPage = currentPageRef.current + 1;
|
|
37801
|
+
_context4.n = 1;
|
|
37802
|
+
return loadOptions(searchTermRef.current, [], {
|
|
37803
|
+
page: nextPage
|
|
37804
|
+
});
|
|
37805
|
+
case 1:
|
|
37806
|
+
result = _context4.v;
|
|
37807
|
+
newOptions = (result === null || result === void 0 ? void 0 : result.options) || [];
|
|
37808
|
+
if (!(newOptions.length === 0)) {
|
|
37809
|
+
_context4.n = 2;
|
|
37810
|
+
break;
|
|
37811
|
+
}
|
|
37812
|
+
hasMoreRef.current = false;
|
|
37813
|
+
isLoadingRef.current = false;
|
|
37814
|
+
setLoading(false);
|
|
37815
|
+
return _context4.a(2);
|
|
37816
|
+
case 2:
|
|
37817
|
+
updateLoadedOptions([].concat(_toConsumableArray$a(loadedOptionsRef.current), _toConsumableArray$a(newOptions)));
|
|
37818
|
+
hasMoreRef.current = (result === null || result === void 0 ? void 0 : result.hasMore) !== false;
|
|
37819
|
+
currentPageRef.current = nextPage;
|
|
37820
|
+
isLoadingRef.current = false;
|
|
37821
|
+
setLoading(false);
|
|
37822
|
+
case 3:
|
|
37823
|
+
return _context4.a(2);
|
|
37308
37824
|
}
|
|
37309
|
-
}
|
|
37310
|
-
},
|
|
37825
|
+
}, _callee4);
|
|
37826
|
+
})), 500);
|
|
37311
37827
|
};
|
|
37312
37828
|
useEffect(function () {
|
|
37313
37829
|
var handleAnyClick = function handleAnyClick(e) {
|
|
@@ -37334,20 +37850,105 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37334
37850
|
return document.removeEventListener('click', handleAnyClick);
|
|
37335
37851
|
};
|
|
37336
37852
|
}, []);
|
|
37337
|
-
|
|
37338
|
-
|
|
37339
|
-
|
|
37340
|
-
|
|
37853
|
+
|
|
37854
|
+
// 🔹 Options calculées (réordonnancement + tri, comme Dropdown)
|
|
37855
|
+
var smartSort = function smartSort(opts, order, labelKey) {
|
|
37856
|
+
if (!order) return opts;
|
|
37857
|
+
var dir = order === 'desc' ? 1 : -1;
|
|
37858
|
+
return _toConsumableArray$a(opts).sort(function (a, b) {
|
|
37859
|
+
var _a$labelKey, _b$labelKey;
|
|
37860
|
+
var aLabel = String((_a$labelKey = a === null || a === void 0 ? void 0 : a[labelKey]) !== null && _a$labelKey !== void 0 ? _a$labelKey : '').trim();
|
|
37861
|
+
var bLabel = String((_b$labelKey = b === null || b === void 0 ? void 0 : b[labelKey]) !== null && _b$labelKey !== void 0 ? _b$labelKey : '').trim();
|
|
37862
|
+
return dir * aLabel.localeCompare(bLabel, 'fr', {
|
|
37863
|
+
sensitivity: 'base',
|
|
37864
|
+
numeric: true
|
|
37865
|
+
});
|
|
37866
|
+
});
|
|
37867
|
+
};
|
|
37868
|
+
var computedOptions = useMemo(function () {
|
|
37869
|
+
var opts = loadedOptions;
|
|
37870
|
+
if (itemsCheckedToTheTop && optionSelected) {
|
|
37871
|
+
var selected = opts.find(function (opt) {
|
|
37872
|
+
return (opt === null || opt === void 0 ? void 0 : opt[optionValue]) === optionSelected;
|
|
37873
|
+
});
|
|
37874
|
+
if (selected) {
|
|
37875
|
+
opts = [selected].concat(_toConsumableArray$a(opts.filter(function (opt) {
|
|
37876
|
+
return (opt === null || opt === void 0 ? void 0 : opt[optionValue]) !== optionSelected;
|
|
37877
|
+
})));
|
|
37878
|
+
}
|
|
37879
|
+
}
|
|
37880
|
+
if (enableSorting) {
|
|
37881
|
+
opts = smartSort(opts, sortOrder, optionLabel);
|
|
37882
|
+
}
|
|
37883
|
+
return opts;
|
|
37884
|
+
}, [loadedOptions, itemsCheckedToTheTop, optionSelected, enableSorting, sortOrder, optionValue, optionLabel]);
|
|
37885
|
+
var toggleSortOrder = function toggleSortOrder() {
|
|
37886
|
+
setSortOrder(function (prev) {
|
|
37887
|
+
if (prev === null) return 'desc';
|
|
37888
|
+
if (prev === 'desc') return 'asc';
|
|
37889
|
+
return null;
|
|
37890
|
+
});
|
|
37891
|
+
requestAnimationFrame(function () {
|
|
37892
|
+
var _dropdownComposantRef3;
|
|
37893
|
+
(_dropdownComposantRef3 = dropdownComposantRef.current) === null || _dropdownComposantRef3 === void 0 || _dropdownComposantRef3.show();
|
|
37894
|
+
});
|
|
37895
|
+
};
|
|
37896
|
+
var customFilterTemplate = function customFilterTemplate(opts) {
|
|
37897
|
+
if (!enableSorting) return opts.element;
|
|
37898
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
37899
|
+
className: "dd-search-row"
|
|
37900
|
+
}, opts.element, /*#__PURE__*/React__default.createElement("button", {
|
|
37901
|
+
type: "button",
|
|
37902
|
+
className: "dd-sort-btn",
|
|
37903
|
+
onClick: function onClick(e) {
|
|
37904
|
+
e.stopPropagation();
|
|
37905
|
+
toggleSortOrder();
|
|
37906
|
+
}
|
|
37907
|
+
}, /*#__PURE__*/React__default.createElement("i", {
|
|
37908
|
+
className: sortOrder === 'desc' ? 'pi pi-sort-amount-down' : sortOrder === 'asc' ? 'pi pi-sort-amount-up-alt' : 'pi pi-sort-alt'
|
|
37909
|
+
})));
|
|
37910
|
+
};
|
|
37911
|
+
var mergedClassName = "flex flex-col gap-1 ".concat(attr["class"] || '').trim();
|
|
37912
|
+
attr["class"];
|
|
37913
|
+
var cleanAttr = _objectWithoutProperties$1(attr, _excluded2$2);
|
|
37914
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({
|
|
37915
|
+
ref: dropdownRef
|
|
37916
|
+
}, cleanAttr, {
|
|
37917
|
+
className: mergedClassName,
|
|
37918
|
+
style: {
|
|
37919
|
+
width: '100%'
|
|
37920
|
+
},
|
|
37921
|
+
onMouseEnter: handleMouseEnter,
|
|
37922
|
+
onMouseLeave: handleMouseLeave,
|
|
37923
|
+
onClick: isInvalidEffective || disabled || readOnly ? null : function () {
|
|
37341
37924
|
return setIsEditing(editable);
|
|
37342
37925
|
}
|
|
37343
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
37344
|
-
|
|
37926
|
+
}), enableItemTooltip && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
37927
|
+
key: tooltipKey,
|
|
37928
|
+
target: ".dropdown-tooltip-item, .dropdown-tooltip-trigger",
|
|
37929
|
+
appendTo: document.body,
|
|
37930
|
+
position: "right",
|
|
37931
|
+
autoHide: false,
|
|
37932
|
+
hideDelay: 150,
|
|
37933
|
+
style: {
|
|
37934
|
+
zIndex: 9999999
|
|
37935
|
+
}
|
|
37936
|
+
}), /*#__PURE__*/React__default.createElement(Dropdown$1, _extends$J({
|
|
37937
|
+
ref: dropdownComposantRef,
|
|
37938
|
+
options: computedOptions,
|
|
37345
37939
|
onChange: handleChange,
|
|
37940
|
+
onClick: function onClick(e) {
|
|
37941
|
+
if (readOnly) {
|
|
37942
|
+
e.preventDefault();
|
|
37943
|
+
e.stopPropagation();
|
|
37944
|
+
}
|
|
37945
|
+
},
|
|
37346
37946
|
filter: filter,
|
|
37947
|
+
filterTemplate: filter ? customFilterTemplate : undefined,
|
|
37347
37948
|
placeholder: placeholder === "" || placeholder === null ? ' ' : placeholder,
|
|
37348
37949
|
optionLabel: optionLabel,
|
|
37349
37950
|
optionValue: optionValue,
|
|
37350
|
-
showClear:
|
|
37951
|
+
showClear: showClear,
|
|
37351
37952
|
disabled: disabled,
|
|
37352
37953
|
editable: isEditing,
|
|
37353
37954
|
onFocus: function onFocus() {
|
|
@@ -37365,16 +37966,38 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37365
37966
|
},
|
|
37366
37967
|
dropdownMode: "current",
|
|
37367
37968
|
itemTemplate: optionTemplate,
|
|
37368
|
-
valueTemplate: valueTemplate
|
|
37369
|
-
|
|
37969
|
+
valueTemplate: valueTemplate
|
|
37970
|
+
}, hasInfoLine && {
|
|
37971
|
+
panelFooterTemplate: panelFooterTemplate
|
|
37972
|
+
}, {
|
|
37973
|
+
optionGroupTemplate: isGroupedOption ? groupedItemTemplate : null
|
|
37974
|
+
}, isGroupedOption && computedOptions.length > 0 && Array.isArray((_computedOptions$ = computedOptions[0]) === null || _computedOptions$ === void 0 ? void 0 : _computedOptions$.items) && {
|
|
37975
|
+
optionGroupLabel: 'label',
|
|
37976
|
+
optionGroupChildren: 'items'
|
|
37977
|
+
}, {
|
|
37978
|
+
onShow: function onShow() {
|
|
37979
|
+
if (isGroupedOption && showTooltipGroup) setIsDropdownOpen(true);
|
|
37980
|
+
if (enableItemTooltip) setTooltipKey(function (k) {
|
|
37981
|
+
return k + 1;
|
|
37982
|
+
});
|
|
37983
|
+
},
|
|
37984
|
+
onHide: function onHide() {
|
|
37985
|
+
if (isGroupedOption && showTooltipGroup) setIsDropdownOpen(false);
|
|
37986
|
+
},
|
|
37987
|
+
emptyMessage: externalLoading ? 'Chargement…' : 'Aucune option disponible',
|
|
37988
|
+
virtualScrollerOptions: _objectSpread2({
|
|
37370
37989
|
lazy: true,
|
|
37371
37990
|
onLazyLoad: onLazyLoad,
|
|
37372
37991
|
itemSize: 38,
|
|
37373
37992
|
showLoader: true,
|
|
37374
|
-
loading: loading,
|
|
37993
|
+
loading: loading || externalLoading,
|
|
37375
37994
|
delay: 25
|
|
37376
|
-
},
|
|
37377
|
-
className: "w-full
|
|
37995
|
+
}, virtualScrollerOptions),
|
|
37996
|
+
className: "w-full"
|
|
37997
|
+
})), !isDropdownOpen && selectedGroupLabel && isGroupedOption && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
37998
|
+
target: ".p-dropdown-label.p-inputtext",
|
|
37999
|
+
content: selectedGroupLabel,
|
|
38000
|
+
position: "top"
|
|
37378
38001
|
}), name && /*#__PURE__*/React__default.createElement("input", {
|
|
37379
38002
|
type: "hidden",
|
|
37380
38003
|
name: name,
|
|
@@ -37411,9 +38034,6 @@ var DropdownSelectMetaAsync = function DropdownSelectMetaAsync(_ref) {
|
|
|
37411
38034
|
}, 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
38035
|
};
|
|
37413
38036
|
|
|
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
38037
|
var _excluded$2 = ["class"],
|
|
37418
38038
|
_excluded2$1 = ["style", "className"];
|
|
37419
38039
|
var Dropdown = function Dropdown(props) {
|
|
@@ -37519,10 +38139,11 @@ var Dropdown = function Dropdown(props) {
|
|
|
37519
38139
|
_props$subItem = props.subItem,
|
|
37520
38140
|
subItem = _props$subItem === void 0 ? false : _props$subItem,
|
|
37521
38141
|
_props$required = props.required,
|
|
37522
|
-
required = _props$required === void 0 ? false : _props$required
|
|
38142
|
+
required = _props$required === void 0 ? false : _props$required,
|
|
38143
|
+
optionsUrl = props.optionsUrl;
|
|
37523
38144
|
|
|
37524
38145
|
// --- Async delegation ---
|
|
37525
|
-
var isAsyncOptions = typeof options === 'function';
|
|
38146
|
+
var isAsyncOptions = typeof options === 'function' || optionsUrl;
|
|
37526
38147
|
if (isAsyncOptions) {
|
|
37527
38148
|
return /*#__PURE__*/React__default.createElement(DropdownSelectMetaAsync, props);
|
|
37528
38149
|
}
|
|
@@ -37628,7 +38249,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
37628
38249
|
return prevKey + 1;
|
|
37629
38250
|
});
|
|
37630
38251
|
}
|
|
37631
|
-
}, [options, enableItemTooltip]);
|
|
38252
|
+
}, [options, enableItemTooltip, optionSelected]);
|
|
37632
38253
|
|
|
37633
38254
|
// --- Helpers ---
|
|
37634
38255
|
var getSelectedGroupLabel = function getSelectedGroupLabel(selectedValue) {
|
|
@@ -37665,6 +38286,34 @@ var Dropdown = function Dropdown(props) {
|
|
|
37665
38286
|
return label.slice(0, truncateAt) + '…';
|
|
37666
38287
|
};
|
|
37667
38288
|
|
|
38289
|
+
// --- Tooltip HTML support ---
|
|
38290
|
+
// PrimeReact 10 ignore la prop `escape` : sa Tooltip écrit toujours via
|
|
38291
|
+
// createTextNode. Un MutationObserver global rescande les `.p-tooltip-text`
|
|
38292
|
+
// pour convertir le texte contenant du HTML en innerHTML rendu.
|
|
38293
|
+
// On l'installe une seule fois côté document.body, indépendamment du montage
|
|
38294
|
+
// des composants — car onShow ne se déclenche pas lors du changement de
|
|
38295
|
+
// cible pendant que le tooltip est déjà visible.
|
|
38296
|
+
useEffect(function () {
|
|
38297
|
+
if (!enableItemTooltip) return undefined;
|
|
38298
|
+
var rewrite = function rewrite() {
|
|
38299
|
+
document.querySelectorAll('.p-tooltip .p-tooltip-text').forEach(function (el) {
|
|
38300
|
+
var raw = el.textContent;
|
|
38301
|
+
if (raw && /<[a-z][\s\S]*>/i.test(raw) && el.innerHTML !== raw) {
|
|
38302
|
+
el.innerHTML = raw;
|
|
38303
|
+
}
|
|
38304
|
+
});
|
|
38305
|
+
};
|
|
38306
|
+
var observer = new MutationObserver(rewrite);
|
|
38307
|
+
observer.observe(document.body, {
|
|
38308
|
+
childList: true,
|
|
38309
|
+
subtree: true,
|
|
38310
|
+
characterData: true
|
|
38311
|
+
});
|
|
38312
|
+
return function () {
|
|
38313
|
+
return observer.disconnect();
|
|
38314
|
+
};
|
|
38315
|
+
}, [enableItemTooltip]);
|
|
38316
|
+
|
|
37668
38317
|
// --- Event handlers ---
|
|
37669
38318
|
var handleShow = function handleShow() {
|
|
37670
38319
|
return setIsDropdownOpen(true);
|
|
@@ -37712,6 +38361,11 @@ var Dropdown = function Dropdown(props) {
|
|
|
37712
38361
|
} : {
|
|
37713
38362
|
className: 'dropdown-tooltip-item'
|
|
37714
38363
|
};
|
|
38364
|
+
var tooltipContent = option.tooltip || option.description;
|
|
38365
|
+
var hasTooltip = Boolean(enableItemTooltip && tooltipContent);
|
|
38366
|
+
var infoIcon = hasTooltip ? /*#__PURE__*/React__default.createElement("i", {
|
|
38367
|
+
className: "pi pi-info-circle dropdown-item-info-icon"
|
|
38368
|
+
}) : null;
|
|
37715
38369
|
var secondaryLabel = enableSecondaryLabel ? option === null || option === void 0 ? void 0 : option[secondaryLabelKey] : null;
|
|
37716
38370
|
var isLink = enableItemLink && option.link;
|
|
37717
38371
|
var handleLinkClick = function handleLinkClick(e) {
|
|
@@ -37791,10 +38445,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
37791
38445
|
optionAttrs.style;
|
|
37792
38446
|
optionAttrs.className;
|
|
37793
38447
|
var restAttrs = _objectWithoutProperties$1(optionAttrs, _excluded2$1);
|
|
37794
|
-
|
|
37795
|
-
className: className,
|
|
37796
|
-
style: _style
|
|
37797
|
-
}), imgUrl && /*#__PURE__*/React__default.createElement("img", {
|
|
38448
|
+
var labelContent = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, imgUrl && /*#__PURE__*/React__default.createElement("img", {
|
|
37798
38449
|
src: imgUrl,
|
|
37799
38450
|
alt: "",
|
|
37800
38451
|
style: {
|
|
@@ -37845,6 +38496,42 @@ var Dropdown = function Dropdown(props) {
|
|
|
37845
38496
|
marginLeft: '10px'
|
|
37846
38497
|
}
|
|
37847
38498
|
}, secondaryLabel)))) : option[optionLabel]);
|
|
38499
|
+
if (hasTooltip) {
|
|
38500
|
+
// Deux colonnes : libellé à l'extrême gauche, picto "i" à l'extrême droite.
|
|
38501
|
+
// Le tooltip est porté par l'item entier (survol de toute la ligne) et,
|
|
38502
|
+
// en position "right" sur un item pleine largeur, il pointe sur le picto.
|
|
38503
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
|
|
38504
|
+
className: "".concat(className, " dropdown-item-two-cols"),
|
|
38505
|
+
style: _objectSpread2(_objectSpread2({}, _style), {}, {
|
|
38506
|
+
width: '100%',
|
|
38507
|
+
maxWidth: 'none',
|
|
38508
|
+
justifyContent: 'space-between'
|
|
38509
|
+
})
|
|
38510
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
38511
|
+
className: "dropdown-item-label-col",
|
|
38512
|
+
style: {
|
|
38513
|
+
display: 'flex',
|
|
38514
|
+
alignItems: 'center',
|
|
38515
|
+
gap: '0.5rem',
|
|
38516
|
+
minWidth: 0,
|
|
38517
|
+
overflow: 'hidden',
|
|
38518
|
+
textOverflow: 'ellipsis',
|
|
38519
|
+
whiteSpace: 'nowrap'
|
|
38520
|
+
}
|
|
38521
|
+
}, labelContent), /*#__PURE__*/React__default.createElement("div", {
|
|
38522
|
+
className: "dropdown-item-info-col",
|
|
38523
|
+
style: {
|
|
38524
|
+
flexShrink: 0,
|
|
38525
|
+
display: 'flex',
|
|
38526
|
+
alignItems: 'center',
|
|
38527
|
+
marginLeft: '8px'
|
|
38528
|
+
}
|
|
38529
|
+
}, infoIcon));
|
|
38530
|
+
}
|
|
38531
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, restAttrs, {
|
|
38532
|
+
className: className,
|
|
38533
|
+
style: _style
|
|
38534
|
+
}), labelContent);
|
|
37848
38535
|
}
|
|
37849
38536
|
var _ref2 = selectMetaConfig || {},
|
|
37850
38537
|
labelStyle = _ref2.labelStyle,
|
|
@@ -37917,6 +38604,11 @@ var Dropdown = function Dropdown(props) {
|
|
|
37917
38604
|
}, secondaryLabel)))));
|
|
37918
38605
|
};
|
|
37919
38606
|
var valueTemplate = function valueTemplate(option) {
|
|
38607
|
+
var valueTooltip = enableItemTooltip ? (option === null || option === void 0 ? void 0 : option.tooltip) || (option === null || option === void 0 ? void 0 : option.description) || (option === null || option === void 0 ? void 0 : option[optionLabel]) : null;
|
|
38608
|
+
var valueTooltipAttrs = valueTooltip ? {
|
|
38609
|
+
'data-pr-tooltip': valueTooltip,
|
|
38610
|
+
'data-pr-position': 'top'
|
|
38611
|
+
} : {};
|
|
37920
38612
|
if (isSelectMeta) {
|
|
37921
38613
|
if (!isEditing) {
|
|
37922
38614
|
var iconColor = option !== null && option !== void 0 && option.color ? inverseColor(option === null || option === void 0 ? void 0 : option.color) : '#000000';
|
|
@@ -37986,9 +38678,10 @@ var Dropdown = function Dropdown(props) {
|
|
|
37986
38678
|
fontSize: '14px'
|
|
37987
38679
|
}, valueStyle)
|
|
37988
38680
|
};
|
|
37989
|
-
return imgUrl ? /*#__PURE__*/React__default.createElement("div", {
|
|
37990
|
-
style: _style2
|
|
37991
|
-
|
|
38681
|
+
return imgUrl ? /*#__PURE__*/React__default.createElement("div", _extends$J({
|
|
38682
|
+
style: _style2,
|
|
38683
|
+
className: valueTooltip ? 'dropdown-tooltip-trigger' : undefined
|
|
38684
|
+
}, valueTooltipAttrs), /*#__PURE__*/React__default.createElement("img", {
|
|
37992
38685
|
src: imgUrl,
|
|
37993
38686
|
alt: "",
|
|
37994
38687
|
style: {
|
|
@@ -37996,15 +38689,15 @@ var Dropdown = function Dropdown(props) {
|
|
|
37996
38689
|
height: '18px',
|
|
37997
38690
|
objectFit: 'contain'
|
|
37998
38691
|
}
|
|
37999
|
-
}), /*#__PURE__*/React__default.createElement("span", null, option === null || option === void 0 ? void 0 : option[optionLabel])) : /*#__PURE__*/React__default.createElement("span", {
|
|
38000
|
-
className: attrs.className,
|
|
38692
|
+
}), /*#__PURE__*/React__default.createElement("span", null, option === null || option === void 0 ? void 0 : option[optionLabel])) : /*#__PURE__*/React__default.createElement("span", _extends$J({
|
|
38693
|
+
className: "".concat(attrs.className || '').concat(valueTooltip ? ' dropdown-tooltip-trigger' : '').trim() || undefined,
|
|
38001
38694
|
style: _objectSpread2(_objectSpread2(_objectSpread2({}, attrs.style), optionStyle), {}, {
|
|
38002
38695
|
whiteSpace: 'nowrap',
|
|
38003
38696
|
overflow: 'hidden',
|
|
38004
38697
|
textOverflow: 'ellipsis'
|
|
38005
38698
|
}),
|
|
38006
|
-
title: option === null || option === void 0 ? void 0 : option[optionLabel]
|
|
38007
|
-
}, truncateLabel(option === null || option === void 0 ? void 0 : option[optionLabel]) || placeholder);
|
|
38699
|
+
title: valueTooltip ? undefined : option === null || option === void 0 ? void 0 : option[optionLabel]
|
|
38700
|
+
}, valueTooltipAttrs), truncateLabel(option === null || option === void 0 ? void 0 : option[optionLabel]) || placeholder);
|
|
38008
38701
|
}
|
|
38009
38702
|
};
|
|
38010
38703
|
var groupedItemTemplate = function groupedItemTemplate(option) {
|
|
@@ -38149,9 +38842,11 @@ var Dropdown = function Dropdown(props) {
|
|
|
38149
38842
|
}
|
|
38150
38843
|
}, enableItemTooltip && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
38151
38844
|
key: tooltipKey,
|
|
38152
|
-
target: ".dropdown-tooltip-item",
|
|
38845
|
+
target: ".dropdown-tooltip-item, .dropdown-tooltip-trigger",
|
|
38153
38846
|
appendTo: document.body,
|
|
38154
38847
|
position: "right",
|
|
38848
|
+
autoHide: false,
|
|
38849
|
+
hideDelay: 150,
|
|
38155
38850
|
style: {
|
|
38156
38851
|
zIndex: 9999999
|
|
38157
38852
|
}
|
|
@@ -38659,15 +39354,19 @@ var DropdownPresets = {
|
|
|
38659
39354
|
options: [{
|
|
38660
39355
|
label: 'Option A',
|
|
38661
39356
|
value: 'a',
|
|
38662
|
-
tooltip: '
|
|
39357
|
+
tooltip: '<b>Option A</b> — <i>information</i> spécifique.<br/>Prise en charge du <u>HTML</u>.'
|
|
38663
39358
|
}, {
|
|
38664
39359
|
label: 'Option B',
|
|
38665
39360
|
value: 'b',
|
|
38666
|
-
tooltip: 'Détail complémentaire
|
|
39361
|
+
tooltip: '<span style="color:#3b82f6">Détail</span> complémentaire pour <b>B</b>'
|
|
38667
39362
|
}, {
|
|
38668
39363
|
label: 'Option C',
|
|
38669
39364
|
value: 'c',
|
|
38670
|
-
tooltip: 'Contexte métier
|
|
39365
|
+
tooltip: 'Contexte métier :<ul style="margin:4px 0 0 16px;padding:0"><li>Point 1</li><li>Point 2</li></ul>'
|
|
39366
|
+
}, {
|
|
39367
|
+
label: 'Option D',
|
|
39368
|
+
value: 'd',
|
|
39369
|
+
tooltip: 'Documentation : <a href="https://example.com" target="_blank" rel="noopener" style="color:#60a5fa;text-decoration:underline">ouvrir la doc</a>'
|
|
38671
39370
|
}],
|
|
38672
39371
|
filter: true,
|
|
38673
39372
|
enableSorting: true
|
|
@@ -41015,7 +41714,7 @@ var Badge = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inPr
|
|
|
41015
41714
|
}));
|
|
41016
41715
|
Badge.displayName = 'Badge';
|
|
41017
41716
|
|
|
41018
|
-
var css_248z$4 = "@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.multiselect-container {\n position: relative;\n display: inline-block;\n}\n\n/* Application du mixin field sur le wrapper du MultiSelect */\n.multiselect-container .p-multiselect {\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.multiselect-container .p-multiselect:hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\n.multiselect-container .p-multiselect:focus, .multiselect-container .p-multiselect:focus-within, .multiselect-container .p-multiselect.is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.multiselect-container .p-multiselect[disabled], .multiselect-container .p-multiselect.is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n.multiselect-container .p-multiselect[readonly], .multiselect-container .p-multiselect.is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\n.multiselect-container .p-multiselect[readonly]:hover, .multiselect-container .p-multiselect.is-readonly:hover {\n border-color: #e0e3e8;\n}\n.multiselect-container .p-multiselect.is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\n.multiselect-container .p-multiselect.is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\n.multiselect-container .p-multiselect {\n padding: 0;\n display: flex;\n align-items: center;\n height: 40px;\n overflow: hidden;\n}\n.multiselect-container .p-multiselect .p-multiselect-trigger {\n border-left: 1px solid #cccccc;\n}\n\n.selected-options-tooltip {\n position: absolute;\n background-color: #ffffff;\n border: 1px solid #e0e3e8;\n border-radius: 4px;\n padding: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n width: 400px;\n top: 100%;\n left: 0;\n}\n\n.selected-options-tooltip div {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.multiselect-tooltip-item {\n width: 100%;\n cursor: pointer;\n}\n\n/* ===== Checkbox hiding (replaces inline <style> tags) ===== */\n.ms-no-checkbox .p-multiselect-items .p-multiselect-item .p-checkbox {\n display: none !important;\n}\n\n.ms-no-checkbox .p-multiselect-items .p-multiselect-item {\n padding-left: 14px !important;\n align-items: center;\n}\n\n/* ===== Custom panel header ===== */\n.ms-panel-header {\n padding: 0;\n}\n\n.ms-search-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-bottom: 1px solid #e0e3e8;\n}\n.ms-search-row [class*=-filter-container] {\n flex: 1;\n min-width: 0;\n position: relative;\n}\n.ms-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.ms-search-row [class*=-filter-container] [class*=-filter-icon] {\n right: 10.5px;\n color: #b0b8c4;\n}\n\n.ms-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.ms-sort-btn:hover {\n background: #f4f5f6;\n color: #1a1e26;\n}\n\n.ms-selectall-row {\n display: flex;\n align-items: center;\n padding: 10px 12px;\n border-bottom: 1px solid #e0e3e8;\n}\n.ms-selectall-row > div:first-child {\n width: 16px !important;\n height: 16px !important;\n margin-right: 8px;\n display: flex;\n align-items: center;\n}\n.ms-selectall-row > div:first-child .ms-group-checkbox {\n width: 16px;\n height: 16px;\n min-width: 16px;\n min-height: 16px;\n}\n\n.ms-selectall-row .p-checkbox {\n margin-right: 0;\n}\n\n.ms-selectall-label {\n font-size: 14px;\n color: #1a1e26;\n}\n\n.ms-counter {\n font-size: 13px;\n color: #b0b8c4;\n margin-left: auto;\n white-space: nowrap;\n}\n\n/* ===== Custom panel footer ===== */\n.ms-panel-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 8px 12px;\n border-top: 1px solid #e0e3e8;\n}\n\n.ms-cancel-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #b0b8c4;\n font-size: 14px;\n padding: 6px 12px;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.ms-cancel-btn:hover {\n color: #1a1e26;\n}\n\n.ms-apply-btn {\n background: #3f3f3f;\n color: #ffffff;\n border: none;\n border-radius: 4px;\n padding: 6px 16px;\n cursor: pointer;\n font-size: 14px;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.ms-apply-btn:hover {\n background: #1a1e26;\n}\n\n/* ===== Group header ===== */\n.ms-group-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 4px 0;\n user-select: none;\n}\n\n.ms-group-checkbox {\n width: 16px;\n height: 16px;\n min-width: 16px;\n min-height: 16px;\n border: 1.5px solid #e0e3e8;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: #ffffff;\n color: #ffffff;\n font-size: 10px;\n cursor: pointer;\n transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ms-group-checkbox.checked, .ms-group-checkbox.p-highlight {\n background-color: #3f3f3f;\n border-color: #3f3f3f;\n}\n.ms-group-checkbox.partial {\n background: linear-gradient(to top right, #3f3f3f 50%, transparent 50%);\n border-color: #3f3f3f;\n}\n.ms-group-checkbox {\n margin-right: 8px;\n}\n\n.ms-group-label {\n font-weight: bold;\n font-size: 14px;\n flex: 1;\n min-width: 0;\n}\n\n.ms-group-collapse-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.ms-group-collapse-btn:hover {\n background: #f4f5f6;\n color: #1a1e26;\n}\n.ms-group-collapse-btn {\n width: 20px;\n height: 20px;\n border-color: #b0b8c4;\n font-size: 10px;\n font-weight: bold;\n margin-left: 8px;\n}\n\n/* ===== Checkbox PrimeReact — ISO avec ms-group-checkbox ===== */\n.p-checkbox-input {\n display: none;\n}\n\n/* Checkbox PrimeReact — items + select all */\n.p-checkbox {\n display: flex;\n align-items: center;\n margin-right: 8px;\n}\n\n.p-multiselect-item {\n display: flex;\n align-items: center;\n padding: 6px 12px !important;\n font-family: \"Roboto\", sans-serif;\n font-weight: 400 !important;\n}\n.p-multiselect-item > span:not([class]) {\n flex: 1;\n min-width: 0;\n}\n\n.ms-selectall-row {\n display: flex;\n align-items: center;\n}\n\n.p-checkbox .p-checkbox-box {\n width: 16px !important;\n height: 16px !important;\n min-width: 16px;\n min-height: 16px;\n border: 1.5px solid #e0e3e8;\n border-radius: 3px;\n background: #ffffff;\n transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-checkbox .p-checkbox-box svg {\n color: #ffffff;\n width: 10px;\n height: 10px;\n}\n\n.p-checkbox.p-highlight .p-checkbox-box {\n background-color: #3f3f3f !important;\n border-color: #3f3f3f !important;\n}\n.p-checkbox.p-highlight .p-checkbox-box svg {\n color: #ffffff;\n}\n\n/* ===== Tokens (chips de valeurs sélectionnées) — chevauchement ===== */\n/* Label container — prend tout l'espace disponible */\n.p-multiselect .p-multiselect-label-container {\n flex: 1 !important;\n min-width: 0 !important;\n overflow: hidden !important;\n}\n\n/* Tokens en ligne, remplissent tout le container */\n.p-multiselect .p-multiselect-label {\n overflow: hidden !important;\n white-space: nowrap !important;\n width: 100% !important;\n display: flex !important;\n align-items: center;\n gap: 0px !important;\n flex-wrap: nowrap !important;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token {\n position: relative;\n margin-right: 0 !important;\n margin-left: 0 !important;\n flex-shrink: 1;\n min-width: 25%;\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token .p-multiselect-token-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token .p-multiselect-token-icon {\n min-width: 14px;\n min-height: 14px;\n flex-shrink: 0;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:not(:first-child) {\n margin-left: -20px !important;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(1) {\n z-index: 1;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(2) {\n z-index: 2;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(3) {\n z-index: 3;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(4) {\n z-index: 4;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(5) {\n z-index: 5;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(6) {\n z-index: 6;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(7) {\n z-index: 7;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(8) {\n z-index: 8;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(9) {\n z-index: 9;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(10) {\n z-index: 10;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:hover {\n z-index: 100 !important;\n transform: translateY(-2px);\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n}\n\n.p-multiselect-token {\n animation: fadeIn 180ms cubic-bezier(0.4, 0, 0.2, 1) both;\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: 4px 4px 4px 8px;\n border-radius: 14px;\n font-size: 12.25px;\n font-family: \"Roboto\", sans-serif;\n font-weight: normal;\n font-style: normal;\n white-space: nowrap;\n border: 1px solid var(--badge-color, #e0e3e8);\n background-color: var(--badge-color, #f4f5f6);\n color: inherit;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-multiselect-token .p-multiselect-token-label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.p-multiselect-token .p-multiselect-token-icon {\n cursor: pointer;\n min-width: 12px;\n min-height: 12px;\n width: 12px;\n height: 12px;\n flex-shrink: 0;\n border-radius: 100%;\n padding: 0;\n margin-left: 0 !important;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-multiselect-token .p-multiselect-token-icon svg {\n width: 8px;\n height: 8px;\n min-width: 8px;\n min-height: 8px;\n}\n.p-multiselect-token .p-multiselect-token-icon:hover {\n background-color: #ffffff;\n}\n\n/* ===== Badge compteur (> maxSelectedLabels) ===== */\n.ms-counter-badge {\n display: inline-flex;\n align-items: center;\n gap: 5.6px;\n padding: 0;\n font-size: 11.2px;\n font-family: \"Roboto\", sans-serif;\n font-weight: 500;\n white-space: nowrap;\n background: none;\n color: #b0b8c4;\n border: none;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ms-counter-badge:hover {\n color: #1a1e26;\n}\n.ms-counter-badge > span:not([class]) {\n color: #1a1e26;\n}\n\n.ms-counter-dots {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.ms-counter-dots .ms-counter-dot {\n animation: fadeIn 180ms cubic-bezier(0.4, 0, 0.2, 1) both;\n width: 20px;\n height: 20px;\n min-width: 20px;\n border-radius: 100%;\n background-color: #e0e3e8;\n border: 1.5px solid #ffffff;\n display: block;\n cursor: pointer;\n position: relative;\n z-index: 1;\n transform: scale(1);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ms-counter-dots .ms-counter-dot:not(:first-child) {\n margin-left: -5px;\n}\n.ms-counter-dots .ms-counter-dot:hover {\n transform: scale(1.35);\n z-index: 100 !important;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(1) {\n animation-delay: 40ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(2) {\n animation-delay: 80ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(3) {\n animation-delay: 120ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(4) {\n animation-delay: 160ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(5) {\n animation-delay: 200ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(6) {\n animation-delay: 240ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(7) {\n animation-delay: 280ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(8) {\n animation-delay: 320ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(9) {\n animation-delay: 360ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(10) {\n animation-delay: 400ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(11) {\n animation-delay: 440ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(12) {\n animation-delay: 480ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(13) {\n animation-delay: 520ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(14) {\n animation-delay: 560ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(15) {\n animation-delay: 600ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(16) {\n animation-delay: 640ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(17) {\n animation-delay: 680ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(18) {\n animation-delay: 720ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(19) {\n animation-delay: 760ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(20) {\n animation-delay: 800ms;\n}\n\n.ms-counter-label {\n cursor: pointer;\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n}\n\n.ms-counter-end {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.ms-counter-count {\n font-size: 11.2px;\n font-weight: 600;\n color: #1a1e26;\n}\n\n/* Tooltip custom avec dots colorés */\n.ms-counter-tooltip {\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 2px 0;\n}\n\n.ms-counter-tooltip-row {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-family: \"Roboto\", sans-serif;\n white-space: nowrap;\n}\n\n.ms-counter-tooltip-dot {\n width: 8px;\n height: 8px;\n min-width: 8px;\n border-radius: 100%;\n background-color: #e0e3e8;\n flex-shrink: 0;\n}\n\n.ms-counter-clear-icon {\n cursor: pointer;\n font-size: 10px;\n min-width: 16px;\n min-height: 16px;\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #b0b8c4;\n border-radius: 100%;\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.ms-counter-clear-icon:hover {\n color: #1a1e26;\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.p-multiselect-token-label {\n font-size: 12.25px !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n}\n\n/* Un seul token → on autorise les ... si ça dépasse */\n.p-multiselect-token:only-child .p-multiselect-token-label {\n text-overflow: ellipsis !important;\n}\n\n/* ===== Badge couleur dans les items ===== */\n.ms-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.ms-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.ms-color-badge {\n cursor: pointer;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.p-multiselect-item:hover .ms-color-badge {\n background-color: var(--badge-color) !important;\n}\n\n/* ===== Groupes — header + indentation enfants ===== */\n.p-multiselect-item-group {\n font-size: 14px;\n font-weight: 600;\n padding: 8px 12px !important;\n position: sticky;\n top: 0;\n z-index: 5;\n background-color: #ffffff !important;\n border-bottom: 1px solid #e0e3e8;\n}\n\n/* Items enfants décalés quand il y a des groupes */\n.p-multiselect-item-group ~ .p-multiselect-item {\n padding-left: 28px !important;\n}\n\n/* ===== Override PrimeReact default item colors ===== */\n.p-multiselect-items .p-multiselect-item:not(.p-highlight):hover {\n background: #f4f5f6 !important;\n color: #1a1e26 !important;\n}\n.p-multiselect-items .p-multiselect-item.p-highlight {\n background: rgba(63, 63, 63, 0.08) !important;\n color: #1a1e26 !important;\n}\n.p-multiselect-items .p-multiselect-item.p-highlight.p-focus {\n background: rgba(63, 63, 63, 0.12) !important;\n color: #1a1e26 !important;\n}\n.p-multiselect-items .p-multiselect-item.p-focus {\n background: #f4f5f6 !important;\n color: #1a1e26 !important;\n}\n\n/* ===== Override PrimeReact filter input focus ===== */\n.p-multiselect-filter.p-inputtext:hover {\n border-color: #c8cdd6 !important;\n}\n.p-multiselect-filter.p-inputtext:focus, .p-multiselect-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}";
|
|
41717
|
+
var css_248z$4 = "@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.multiselect-container {\n position: relative;\n display: inline-block;\n}\n\n/* Application du mixin field sur le wrapper du MultiSelect */\n.multiselect-container .p-multiselect {\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.multiselect-container .p-multiselect:hover:not(:focus):not(:focus-within):not([disabled]):not(.is-disabled) {\n border-color: #c8cdd6;\n}\n.multiselect-container .p-multiselect:focus, .multiselect-container .p-multiselect:focus-within, .multiselect-container .p-multiselect.is-open {\n border-color: #3f3f3f;\n box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.multiselect-container .p-multiselect[disabled], .multiselect-container .p-multiselect.is-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n.multiselect-container .p-multiselect[readonly], .multiselect-container .p-multiselect.is-readonly {\n background: #f4f5f6;\n cursor: default;\n box-shadow: none;\n}\n.multiselect-container .p-multiselect[readonly]:hover, .multiselect-container .p-multiselect.is-readonly:hover {\n border-color: #e0e3e8;\n}\n.multiselect-container .p-multiselect.is-error {\n border-color: #dc2626;\n box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);\n}\n.multiselect-container .p-multiselect.is-success {\n border-color: #15803d;\n box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);\n}\n.multiselect-container .p-multiselect {\n padding: 0;\n display: flex;\n align-items: center;\n height: 40px;\n overflow: hidden;\n}\n.multiselect-container .p-multiselect .p-multiselect-trigger {\n border-left: 1px solid #cccccc;\n}\n\n.selected-options-tooltip {\n position: absolute;\n background-color: #ffffff;\n border: 1px solid #e0e3e8;\n border-radius: 4px;\n padding: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n width: 400px;\n top: 100%;\n left: 0;\n}\n\n.selected-options-tooltip div {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.multiselect-tooltip-item {\n width: 100%;\n cursor: pointer;\n}\n\n/* ===== ItemWithTooltip : picto info à l'extrême droite de l'item ===== */\n/* PrimeReact enveloppe le template dans un <span> sans classe ; on force ce span\n à s'étirer sur toute la largeur restante pour que le picto touche le bord droit. */\n.p-multiselect-panel .p-multiselect-item > span {\n flex: 1 1 auto;\n min-width: 0;\n display: block;\n width: 100%;\n}\n\n.multiselect-item-info-icon {\n font-size: 14px;\n color: #6b7280;\n}\n\n/* ===== Checkbox hiding (replaces inline <style> tags) ===== */\n.ms-no-checkbox .p-multiselect-items .p-multiselect-item .p-checkbox {\n display: none !important;\n}\n\n.ms-no-checkbox .p-multiselect-items .p-multiselect-item {\n padding-left: 14px !important;\n align-items: center;\n}\n\n/* ===== Custom panel header ===== */\n.ms-panel-header {\n padding: 0;\n}\n\n.ms-search-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-bottom: 1px solid #e0e3e8;\n}\n.ms-search-row [class*=-filter-container] {\n flex: 1;\n min-width: 0;\n position: relative;\n}\n.ms-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.ms-search-row [class*=-filter-container] [class*=-filter-icon] {\n right: 10.5px;\n color: #b0b8c4;\n}\n\n.ms-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.ms-sort-btn:hover {\n background: #f4f5f6;\n color: #1a1e26;\n}\n\n.ms-selectall-row {\n display: flex;\n align-items: center;\n padding: 10px 12px;\n border-bottom: 1px solid #e0e3e8;\n}\n.ms-selectall-row > div:first-child {\n width: 16px !important;\n height: 16px !important;\n margin-right: 8px;\n display: flex;\n align-items: center;\n}\n.ms-selectall-row > div:first-child .ms-group-checkbox {\n width: 16px;\n height: 16px;\n min-width: 16px;\n min-height: 16px;\n}\n\n.ms-selectall-row .p-checkbox {\n margin-right: 0;\n}\n\n.ms-selectall-label {\n font-size: 14px;\n color: #1a1e26;\n}\n\n.ms-counter {\n font-size: 13px;\n color: #b0b8c4;\n margin-left: auto;\n white-space: nowrap;\n}\n\n/* ===== Custom panel footer ===== */\n.ms-panel-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 8px 12px;\n border-top: 1px solid #e0e3e8;\n}\n\n.ms-cancel-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #b0b8c4;\n font-size: 14px;\n padding: 6px 12px;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.ms-cancel-btn:hover {\n color: #1a1e26;\n}\n\n.ms-apply-btn {\n background: #3f3f3f;\n color: #ffffff;\n border: none;\n border-radius: 4px;\n padding: 6px 16px;\n cursor: pointer;\n font-size: 14px;\n transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.ms-apply-btn:hover {\n background: #1a1e26;\n}\n\n/* ===== Group header ===== */\n.ms-group-header {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 4px 0;\n user-select: none;\n}\n\n.ms-group-checkbox {\n width: 16px;\n height: 16px;\n min-width: 16px;\n min-height: 16px;\n border: 1.5px solid #e0e3e8;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: #ffffff;\n color: #ffffff;\n font-size: 10px;\n cursor: pointer;\n transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ms-group-checkbox.checked, .ms-group-checkbox.p-highlight {\n background-color: #3f3f3f;\n border-color: #3f3f3f;\n}\n.ms-group-checkbox.partial {\n background: linear-gradient(to top right, #3f3f3f 50%, transparent 50%);\n border-color: #3f3f3f;\n}\n.ms-group-checkbox {\n margin-right: 8px;\n}\n\n.ms-group-label {\n font-weight: bold;\n font-size: 14px;\n flex: 1;\n min-width: 0;\n}\n\n.ms-group-collapse-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.ms-group-collapse-btn:hover {\n background: #f4f5f6;\n color: #1a1e26;\n}\n.ms-group-collapse-btn {\n width: 20px;\n height: 20px;\n border-color: #b0b8c4;\n font-size: 10px;\n font-weight: bold;\n margin-left: 8px;\n}\n\n/* ===== Checkbox PrimeReact — ISO avec ms-group-checkbox ===== */\n.p-checkbox-input {\n display: none;\n}\n\n/* Checkbox PrimeReact — items + select all */\n.p-checkbox {\n display: flex;\n align-items: center;\n margin-right: 8px;\n}\n\n.p-multiselect-item {\n display: flex;\n align-items: center;\n padding: 6px 12px !important;\n font-family: \"Roboto\", sans-serif;\n font-weight: 400 !important;\n}\n.p-multiselect-item > span:not([class]) {\n flex: 1;\n min-width: 0;\n}\n\n.ms-selectall-row {\n display: flex;\n align-items: center;\n}\n\n.p-checkbox .p-checkbox-box {\n width: 16px !important;\n height: 16px !important;\n min-width: 16px;\n min-height: 16px;\n border: 1.5px solid #e0e3e8;\n border-radius: 3px;\n background: #ffffff;\n transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-checkbox .p-checkbox-box svg {\n color: #ffffff;\n width: 10px;\n height: 10px;\n}\n\n.p-checkbox.p-highlight .p-checkbox-box {\n background-color: #3f3f3f !important;\n border-color: #3f3f3f !important;\n}\n.p-checkbox.p-highlight .p-checkbox-box svg {\n color: #ffffff;\n}\n\n/* ===== Tokens (chips de valeurs sélectionnées) — chevauchement ===== */\n/* Label container — prend tout l'espace disponible */\n.p-multiselect .p-multiselect-label-container {\n flex: 1 !important;\n min-width: 0 !important;\n overflow: hidden !important;\n}\n\n/* Tokens en ligne, remplissent tout le container */\n.p-multiselect .p-multiselect-label {\n overflow: hidden !important;\n white-space: nowrap !important;\n width: 100% !important;\n display: flex !important;\n align-items: center;\n gap: 0px !important;\n flex-wrap: nowrap !important;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token {\n position: relative;\n margin-right: 0 !important;\n margin-left: 0 !important;\n flex-shrink: 1;\n min-width: 25%;\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token .p-multiselect-token-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token .p-multiselect-token-icon {\n min-width: 14px;\n min-height: 14px;\n flex-shrink: 0;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:not(:first-child) {\n margin-left: -20px !important;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(1) {\n z-index: 1;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(2) {\n z-index: 2;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(3) {\n z-index: 3;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(4) {\n z-index: 4;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(5) {\n z-index: 5;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(6) {\n z-index: 6;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(7) {\n z-index: 7;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(8) {\n z-index: 8;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(9) {\n z-index: 9;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:nth-child(10) {\n z-index: 10;\n}\n.p-multiselect .p-multiselect-label .p-multiselect-token:hover {\n z-index: 100 !important;\n transform: translateY(-2px);\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n}\n\n.p-multiselect-token {\n animation: fadeIn 180ms cubic-bezier(0.4, 0, 0.2, 1) both;\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: 4px 4px 4px 8px;\n border-radius: 14px;\n font-size: 12.25px;\n font-family: \"Roboto\", sans-serif;\n font-weight: normal;\n font-style: normal;\n white-space: nowrap;\n border: 1px solid var(--badge-color, #e0e3e8);\n background-color: var(--badge-color, #f4f5f6);\n color: inherit;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-multiselect-token .p-multiselect-token-label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.p-multiselect-token .p-multiselect-token-icon {\n cursor: pointer;\n min-width: 12px;\n min-height: 12px;\n width: 12px;\n height: 12px;\n flex-shrink: 0;\n border-radius: 100%;\n padding: 0;\n margin-left: 0 !important;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.p-multiselect-token .p-multiselect-token-icon svg {\n width: 8px;\n height: 8px;\n min-width: 8px;\n min-height: 8px;\n}\n.p-multiselect-token .p-multiselect-token-icon:hover {\n background-color: #ffffff;\n}\n\n/* ===== Badge compteur (> maxSelectedLabels) ===== */\n.ms-counter-badge {\n display: inline-flex;\n align-items: center;\n gap: 5.6px;\n padding: 0;\n font-size: 11.2px;\n font-family: \"Roboto\", sans-serif;\n font-weight: 500;\n white-space: nowrap;\n background: none;\n color: #b0b8c4;\n border: none;\n transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ms-counter-badge:hover {\n color: #1a1e26;\n}\n.ms-counter-badge > span:not([class]) {\n color: #1a1e26;\n}\n\n.ms-counter-dots {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.ms-counter-dots .ms-counter-dot {\n animation: fadeIn 180ms cubic-bezier(0.4, 0, 0.2, 1) both;\n width: 20px;\n height: 20px;\n min-width: 20px;\n border-radius: 100%;\n background-color: #e0e3e8;\n border: 1.5px solid #ffffff;\n display: block;\n cursor: pointer;\n position: relative;\n z-index: 1;\n transform: scale(1);\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ms-counter-dots .ms-counter-dot:not(:first-child) {\n margin-left: -5px;\n}\n.ms-counter-dots .ms-counter-dot:hover {\n transform: scale(1.35);\n z-index: 100 !important;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(1) {\n animation-delay: 40ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(2) {\n animation-delay: 80ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(3) {\n animation-delay: 120ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(4) {\n animation-delay: 160ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(5) {\n animation-delay: 200ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(6) {\n animation-delay: 240ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(7) {\n animation-delay: 280ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(8) {\n animation-delay: 320ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(9) {\n animation-delay: 360ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(10) {\n animation-delay: 400ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(11) {\n animation-delay: 440ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(12) {\n animation-delay: 480ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(13) {\n animation-delay: 520ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(14) {\n animation-delay: 560ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(15) {\n animation-delay: 600ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(16) {\n animation-delay: 640ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(17) {\n animation-delay: 680ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(18) {\n animation-delay: 720ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(19) {\n animation-delay: 760ms;\n}\n.ms-counter-dots .ms-counter-dot:nth-child(20) {\n animation-delay: 800ms;\n}\n\n.ms-counter-label {\n cursor: pointer;\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n}\n\n.ms-counter-end {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.ms-counter-count {\n font-size: 11.2px;\n font-weight: 600;\n color: #1a1e26;\n}\n\n/* Tooltip custom avec dots colorés */\n.ms-counter-tooltip {\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 2px 0;\n}\n\n.ms-counter-tooltip-row {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-family: \"Roboto\", sans-serif;\n white-space: nowrap;\n}\n\n.ms-counter-tooltip-dot {\n width: 8px;\n height: 8px;\n min-width: 8px;\n border-radius: 100%;\n background-color: #e0e3e8;\n flex-shrink: 0;\n}\n\n.ms-counter-clear-icon {\n cursor: pointer;\n font-size: 10px;\n min-width: 16px;\n min-height: 16px;\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #b0b8c4;\n border-radius: 100%;\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.ms-counter-clear-icon:hover {\n color: #1a1e26;\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.p-multiselect-token-label {\n font-size: 12.25px !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n}\n\n/* Un seul token → on autorise les ... si ça dépasse */\n.p-multiselect-token:only-child .p-multiselect-token-label {\n text-overflow: ellipsis !important;\n}\n\n/* ===== Badge couleur dans les items ===== */\n.ms-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.ms-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.ms-color-badge {\n cursor: pointer;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.p-multiselect-item:hover .ms-color-badge {\n background-color: var(--badge-color) !important;\n}\n\n/* ===== Groupes — header + indentation enfants ===== */\n.p-multiselect-item-group {\n font-size: 14px;\n font-weight: 600;\n padding: 8px 12px !important;\n position: sticky;\n top: 0;\n z-index: 5;\n background-color: #ffffff !important;\n border-bottom: 1px solid #e0e3e8;\n}\n\n/* Items enfants décalés quand il y a des groupes */\n.p-multiselect-item-group ~ .p-multiselect-item {\n padding-left: 28px !important;\n}\n\n/* ===== Override PrimeReact default item colors ===== */\n.p-multiselect-items .p-multiselect-item:not(.p-highlight):hover {\n background: #f4f5f6 !important;\n color: #1a1e26 !important;\n}\n.p-multiselect-items .p-multiselect-item.p-highlight {\n background: rgba(63, 63, 63, 0.08) !important;\n color: #1a1e26 !important;\n}\n.p-multiselect-items .p-multiselect-item.p-highlight.p-focus {\n background: rgba(63, 63, 63, 0.12) !important;\n color: #1a1e26 !important;\n}\n.p-multiselect-items .p-multiselect-item.p-focus {\n background: #f4f5f6 !important;\n color: #1a1e26 !important;\n}\n\n/* ===== Override PrimeReact filter input focus ===== */\n.p-multiselect-filter.p-inputtext:hover {\n border-color: #c8cdd6 !important;\n}\n.p-multiselect-filter.p-inputtext:focus, .p-multiselect-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}";
|
|
41019
41718
|
styleInject(css_248z$4);
|
|
41020
41719
|
|
|
41021
41720
|
var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
@@ -41115,6 +41814,10 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41115
41814
|
valueToapply = _ref.valueToapply,
|
|
41116
41815
|
_ref$closeIcon = _ref.closeIcon,
|
|
41117
41816
|
closeIcon = _ref$closeIcon === void 0 ? null : _ref$closeIcon,
|
|
41817
|
+
_ref$cancelLabel = _ref.cancelLabel,
|
|
41818
|
+
cancelLabel = _ref$cancelLabel === void 0 ? 'Annuler' : _ref$cancelLabel,
|
|
41819
|
+
_ref$applyLabel = _ref.applyLabel,
|
|
41820
|
+
applyLabel = _ref$applyLabel === void 0 ? 'Appliquer' : _ref$applyLabel,
|
|
41118
41821
|
onHide = _ref.onHide;
|
|
41119
41822
|
_ref.withSearch;
|
|
41120
41823
|
_ref.renderValue;
|
|
@@ -41324,9 +42027,16 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41324
42027
|
_context2.n = 5;
|
|
41325
42028
|
break;
|
|
41326
42029
|
case 4:
|
|
41327
|
-
|
|
41328
|
-
|
|
41329
|
-
|
|
42030
|
+
if (Array.isArray(options)) {
|
|
42031
|
+
result = {
|
|
42032
|
+
options: options,
|
|
42033
|
+
hasMore: false
|
|
42034
|
+
};
|
|
42035
|
+
} else {
|
|
42036
|
+
result = {
|
|
42037
|
+
options: []
|
|
42038
|
+
};
|
|
42039
|
+
}
|
|
41330
42040
|
case 5:
|
|
41331
42041
|
hasMoreRef.current = ((_result = result) === null || _result === void 0 ? void 0 : _result.hasMore) !== false;
|
|
41332
42042
|
initialOpts = _flattenOptions(((_result2 = result) === null || _result2 === void 0 ? void 0 : _result2.options) || []);
|
|
@@ -41394,7 +42104,7 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41394
42104
|
if (enableItemTooltip) setTooltipKey(function (k) {
|
|
41395
42105
|
return k + 1;
|
|
41396
42106
|
});
|
|
41397
|
-
}, [loadedOptions, enableItemTooltip]);
|
|
42107
|
+
}, [loadedOptions, enableItemTooltip, selectedOptions]);
|
|
41398
42108
|
var onLazyLoad = function onLazyLoad(event) {
|
|
41399
42109
|
if (isOptionsArray) return;
|
|
41400
42110
|
setLoading(true);
|
|
@@ -41479,6 +42189,30 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41479
42189
|
var getKey = function getKey(v) {
|
|
41480
42190
|
return v && _typeof$g(v) === 'object' ? v[optionValue] : v;
|
|
41481
42191
|
};
|
|
42192
|
+
|
|
42193
|
+
// PrimeReact 10 ignore la prop `escape` : sa Tooltip écrit toujours via
|
|
42194
|
+
// createTextNode. Un MutationObserver rescande les `.p-tooltip-text` pour
|
|
42195
|
+
// convertir le texte contenant du HTML en innerHTML rendu.
|
|
42196
|
+
useEffect(function () {
|
|
42197
|
+
if (!enableItemTooltip) return undefined;
|
|
42198
|
+
var rewrite = function rewrite() {
|
|
42199
|
+
document.querySelectorAll('.p-tooltip .p-tooltip-text').forEach(function (el) {
|
|
42200
|
+
var raw = el.textContent;
|
|
42201
|
+
if (raw && /<[a-z][\s\S]*>/i.test(raw) && el.innerHTML !== raw) {
|
|
42202
|
+
el.innerHTML = raw;
|
|
42203
|
+
}
|
|
42204
|
+
});
|
|
42205
|
+
};
|
|
42206
|
+
var observer = new MutationObserver(rewrite);
|
|
42207
|
+
observer.observe(document.body, {
|
|
42208
|
+
childList: true,
|
|
42209
|
+
subtree: true,
|
|
42210
|
+
characterData: true
|
|
42211
|
+
});
|
|
42212
|
+
return function () {
|
|
42213
|
+
return observer.disconnect();
|
|
42214
|
+
};
|
|
42215
|
+
}, [enableItemTooltip]);
|
|
41482
42216
|
var inverseColor = function inverseColor(hexColor) {
|
|
41483
42217
|
if (!hexColor || !hexColor.startsWith('#')) return '#000000';
|
|
41484
42218
|
var hex = hexColor;
|
|
@@ -41671,6 +42405,11 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41671
42405
|
} : {
|
|
41672
42406
|
className: 'multiselect-tooltip-item'
|
|
41673
42407
|
};
|
|
42408
|
+
var tooltipContent = option.tooltip || option.description;
|
|
42409
|
+
var hasTooltip = Boolean(enableItemTooltip && tooltipContent);
|
|
42410
|
+
var infoIcon = hasTooltip ? /*#__PURE__*/React__default.createElement("i", {
|
|
42411
|
+
className: "pi pi-info-circle multiselect-item-info-icon"
|
|
42412
|
+
}) : null;
|
|
41674
42413
|
var secondaryLabel = enableSecondaryLabel ? option === null || option === void 0 ? void 0 : option[secondaryLabelKey] : null;
|
|
41675
42414
|
var isLink = enableItemLink && option.link;
|
|
41676
42415
|
var handleLinkClick = function handleLinkClick(e) {
|
|
@@ -41716,6 +42455,41 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41716
42455
|
marginLeft: '10px'
|
|
41717
42456
|
}
|
|
41718
42457
|
}, secondaryLabel)));
|
|
42458
|
+
if (hasTooltip) {
|
|
42459
|
+
// Deux colonnes : libellé à l'extrême gauche, picto "i" à l'extrême droite.
|
|
42460
|
+
// Le tooltip est porté par l'item entier et pointe sur le picto.
|
|
42461
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, {
|
|
42462
|
+
style: {
|
|
42463
|
+
display: 'flex',
|
|
42464
|
+
alignItems: 'center',
|
|
42465
|
+
gap: '0.5rem',
|
|
42466
|
+
fontSize: '14px',
|
|
42467
|
+
maxWidth: 'none',
|
|
42468
|
+
overflow: 'hidden',
|
|
42469
|
+
textOverflow: 'ellipsis',
|
|
42470
|
+
whiteSpace: 'nowrap',
|
|
42471
|
+
width: '100%',
|
|
42472
|
+
justifyContent: 'space-between'
|
|
42473
|
+
}
|
|
42474
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
42475
|
+
style: {
|
|
42476
|
+
display: 'flex',
|
|
42477
|
+
alignItems: 'center',
|
|
42478
|
+
gap: '0.5rem',
|
|
42479
|
+
minWidth: 0,
|
|
42480
|
+
overflow: 'hidden',
|
|
42481
|
+
textOverflow: 'ellipsis',
|
|
42482
|
+
whiteSpace: 'nowrap'
|
|
42483
|
+
}
|
|
42484
|
+
}, option[optionLabel]), /*#__PURE__*/React__default.createElement("div", {
|
|
42485
|
+
style: {
|
|
42486
|
+
flexShrink: 0,
|
|
42487
|
+
display: 'flex',
|
|
42488
|
+
alignItems: 'center',
|
|
42489
|
+
marginLeft: '8px'
|
|
42490
|
+
}
|
|
42491
|
+
}, infoIcon));
|
|
42492
|
+
}
|
|
41719
42493
|
if (isSelectMeta) {
|
|
41720
42494
|
var _ref7 = selectMetaConfig || {},
|
|
41721
42495
|
labelStyle = _ref7.labelStyle,
|
|
@@ -41779,6 +42553,7 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41779
42553
|
}, /*#__PURE__*/React__default.createElement("div", tooltipProps, option[optionLabel]), secondaryLabelNode);
|
|
41780
42554
|
};
|
|
41781
42555
|
var selectedItemTemplate = function selectedItemTemplate(paramValue) {
|
|
42556
|
+
var _selectedOption3, _selectedOption4, _selectedOption5;
|
|
41782
42557
|
if (paramValue == null) return null;
|
|
41783
42558
|
if (truncateAt) {
|
|
41784
42559
|
var index = (selectedOptions || []).indexOf(paramValue);
|
|
@@ -41792,11 +42567,16 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41792
42567
|
return o[optionValue] === paramValue;
|
|
41793
42568
|
});
|
|
41794
42569
|
if (!opt) return null;
|
|
41795
|
-
|
|
42570
|
+
var _optTooltip = enableItemTooltip ? opt.tooltip || opt.description || opt[optionLabel] : null;
|
|
42571
|
+
return /*#__PURE__*/React__default.createElement("span", _extends$J({
|
|
41796
42572
|
style: _objectSpread2({
|
|
41797
42573
|
marginRight: '6px'
|
|
41798
|
-
}, valueStyle)
|
|
41799
|
-
|
|
42574
|
+
}, valueStyle),
|
|
42575
|
+
className: _optTooltip ? 'multiselect-selected-tooltip-trigger' : undefined
|
|
42576
|
+
}, _optTooltip ? {
|
|
42577
|
+
'data-pr-tooltip': _optTooltip,
|
|
42578
|
+
'data-pr-position': 'top'
|
|
42579
|
+
} : {}), opt[optionLabel]);
|
|
41800
42580
|
}
|
|
41801
42581
|
if (index === truncateAt) return /*#__PURE__*/React__default.createElement("span", {
|
|
41802
42582
|
style: {
|
|
@@ -41867,11 +42647,16 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41867
42647
|
color: objMatch.color !== undefined ? objMatch.color : selectedOption.color
|
|
41868
42648
|
});
|
|
41869
42649
|
var isLast = (selectedOptions || [])[(selectedOptions || []).length - 1] === paramValue;
|
|
41870
|
-
|
|
42650
|
+
var optTooltip = enableItemTooltip ? ((_selectedOption3 = selectedOption) === null || _selectedOption3 === void 0 ? void 0 : _selectedOption3.tooltip) || ((_selectedOption4 = selectedOption) === null || _selectedOption4 === void 0 ? void 0 : _selectedOption4.description) || ((_selectedOption5 = selectedOption) === null || _selectedOption5 === void 0 ? void 0 : _selectedOption5[optionLabel]) : null;
|
|
42651
|
+
return /*#__PURE__*/React__default.createElement("span", _extends$J({
|
|
41871
42652
|
style: _objectSpread2({
|
|
41872
42653
|
marginRight: '4px'
|
|
41873
|
-
}, valueStyle)
|
|
41874
|
-
|
|
42654
|
+
}, valueStyle),
|
|
42655
|
+
className: optTooltip ? 'multiselect-selected-tooltip-trigger' : undefined
|
|
42656
|
+
}, optTooltip ? {
|
|
42657
|
+
'data-pr-tooltip': optTooltip,
|
|
42658
|
+
'data-pr-position': 'top'
|
|
42659
|
+
} : {}), selectedOption[optionLabel], !isLast && /*#__PURE__*/React__default.createElement("span", {
|
|
41875
42660
|
style: {
|
|
41876
42661
|
opacity: 0.8
|
|
41877
42662
|
}
|
|
@@ -41972,7 +42757,7 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41972
42757
|
var _multiSelectRef$curre4;
|
|
41973
42758
|
return (_multiSelectRef$curre4 = multiSelectRef.current) === null || _multiSelectRef$curre4 === void 0 ? void 0 : _multiSelectRef$curre4.hide();
|
|
41974
42759
|
}
|
|
41975
|
-
},
|
|
42760
|
+
}, cancelLabel), /*#__PURE__*/React__default.createElement("button", {
|
|
41976
42761
|
type: "button",
|
|
41977
42762
|
className: "ms-apply-btn",
|
|
41978
42763
|
onClick: function onClick() {
|
|
@@ -41980,7 +42765,7 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
41980
42765
|
handleApply();
|
|
41981
42766
|
(_multiSelectRef$curre5 = multiSelectRef.current) === null || _multiSelectRef$curre5 === void 0 || _multiSelectRef$curre5.hide();
|
|
41982
42767
|
}
|
|
41983
|
-
},
|
|
42768
|
+
}, applyLabel));
|
|
41984
42769
|
}
|
|
41985
42770
|
if (hasInfoLine) {
|
|
41986
42771
|
var length = selectedOptions ? selectedOptions.length : 0;
|
|
@@ -42100,9 +42885,11 @@ var MultiSelectMetaAsync = function MultiSelectMetaAsync(_ref) {
|
|
|
42100
42885
|
}
|
|
42101
42886
|
}, enableItemTooltip && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
42102
42887
|
key: tooltipKey,
|
|
42103
|
-
target: ".multiselect-tooltip-item",
|
|
42888
|
+
target: ".multiselect-tooltip-item, .multiselect-tooltip-trigger, .multiselect-selected-tooltip-trigger",
|
|
42104
42889
|
appendTo: document.body,
|
|
42105
42890
|
position: "top",
|
|
42891
|
+
autoHide: false,
|
|
42892
|
+
hideDelay: 150,
|
|
42106
42893
|
style: {
|
|
42107
42894
|
zIndex: '9999999'
|
|
42108
42895
|
}
|
|
@@ -42425,7 +43212,11 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42425
43212
|
maxVisibleCounter = props.maxVisibleCounter;
|
|
42426
43213
|
props.maxVisibleChips;
|
|
42427
43214
|
var _props$closeIcon = props.closeIcon,
|
|
42428
|
-
closeIcon = _props$closeIcon === void 0 ? null : _props$closeIcon
|
|
43215
|
+
closeIcon = _props$closeIcon === void 0 ? null : _props$closeIcon,
|
|
43216
|
+
_props$cancelLabel = props.cancelLabel,
|
|
43217
|
+
cancelLabel = _props$cancelLabel === void 0 ? 'Annuler' : _props$cancelLabel,
|
|
43218
|
+
_props$applyLabel = props.applyLabel,
|
|
43219
|
+
applyLabel = _props$applyLabel === void 0 ? 'Appliquer' : _props$applyLabel;
|
|
42429
43220
|
props.withSearch;
|
|
42430
43221
|
var hasInfoLine = props.hasInfoLine,
|
|
42431
43222
|
_props$withIcon = props.withIcon,
|
|
@@ -42691,6 +43482,11 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42691
43482
|
} : {
|
|
42692
43483
|
className: 'multiselect-tooltip-item'
|
|
42693
43484
|
};
|
|
43485
|
+
var tooltipContent = option.tooltip || option.description;
|
|
43486
|
+
var hasTooltip = Boolean(enableItemTooltip && tooltipContent);
|
|
43487
|
+
var infoIcon = hasTooltip ? /*#__PURE__*/React__default.createElement("i", {
|
|
43488
|
+
className: "pi pi-info-circle multiselect-item-info-icon"
|
|
43489
|
+
}) : null;
|
|
42694
43490
|
var secondaryLabel = enableSecondaryLabel ? option === null || option === void 0 ? void 0 : option[secondaryLabelKey] : null;
|
|
42695
43491
|
var isLink = enableItemLink && option.link;
|
|
42696
43492
|
var handleLinkClick = function handleLinkClick(e) {
|
|
@@ -42761,6 +43557,41 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42761
43557
|
}
|
|
42762
43558
|
}, secondaryLabel)))));
|
|
42763
43559
|
}
|
|
43560
|
+
if (hasTooltip) {
|
|
43561
|
+
// Deux colonnes : libellé à l'extrême gauche, picto "i" à l'extrême droite.
|
|
43562
|
+
// Le tooltip est porté par l'item entier et pointe sur le picto.
|
|
43563
|
+
return /*#__PURE__*/React__default.createElement("div", _extends$J({}, tooltipProps, {
|
|
43564
|
+
style: {
|
|
43565
|
+
display: 'flex',
|
|
43566
|
+
alignItems: 'center',
|
|
43567
|
+
gap: '0.5rem',
|
|
43568
|
+
fontSize: '14px',
|
|
43569
|
+
maxWidth: 'none',
|
|
43570
|
+
overflow: 'hidden',
|
|
43571
|
+
textOverflow: 'ellipsis',
|
|
43572
|
+
whiteSpace: 'nowrap',
|
|
43573
|
+
width: '100%',
|
|
43574
|
+
justifyContent: 'space-between'
|
|
43575
|
+
}
|
|
43576
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
43577
|
+
style: {
|
|
43578
|
+
display: 'flex',
|
|
43579
|
+
alignItems: 'center',
|
|
43580
|
+
gap: '0.5rem',
|
|
43581
|
+
minWidth: 0,
|
|
43582
|
+
overflow: 'hidden',
|
|
43583
|
+
textOverflow: 'ellipsis',
|
|
43584
|
+
whiteSpace: 'nowrap'
|
|
43585
|
+
}
|
|
43586
|
+
}, option[optionLabel]), /*#__PURE__*/React__default.createElement("div", {
|
|
43587
|
+
style: {
|
|
43588
|
+
flexShrink: 0,
|
|
43589
|
+
display: 'flex',
|
|
43590
|
+
alignItems: 'center',
|
|
43591
|
+
marginLeft: '8px'
|
|
43592
|
+
}
|
|
43593
|
+
}, infoIcon));
|
|
43594
|
+
}
|
|
42764
43595
|
if (withColor || withIcon) {
|
|
42765
43596
|
var _ref2 = selectConfig || {},
|
|
42766
43597
|
_labelStyle = _ref2.labelStyle,
|
|
@@ -42818,14 +43649,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42818
43649
|
}
|
|
42819
43650
|
}, secondaryLabel)));
|
|
42820
43651
|
}
|
|
42821
|
-
|
|
42822
|
-
style: _objectSpread2({
|
|
42823
|
-
fontFamily: 'Arial',
|
|
42824
|
-
fontSize: '14px',
|
|
42825
|
-
display: 'flex',
|
|
42826
|
-
flexDirection: 'column'
|
|
42827
|
-
}, optionStyle)
|
|
42828
|
-
}, /*#__PURE__*/React__default.createElement("div", tooltipProps, option[optionLabel]), secondaryLabel && /*#__PURE__*/React__default.createElement("div", {
|
|
43652
|
+
var secondaryContent = secondaryLabel ? /*#__PURE__*/React__default.createElement("div", {
|
|
42829
43653
|
className: "secondary-link-zone",
|
|
42830
43654
|
onClick: isLink ? handleLinkClick : undefined,
|
|
42831
43655
|
onMouseDown: isLink ? function (e) {
|
|
@@ -42860,7 +43684,15 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42860
43684
|
style: subItem ? {} : {
|
|
42861
43685
|
marginLeft: '10px'
|
|
42862
43686
|
}
|
|
42863
|
-
}, secondaryLabel)))
|
|
43687
|
+
}, secondaryLabel))) : null;
|
|
43688
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
43689
|
+
style: _objectSpread2({
|
|
43690
|
+
fontFamily: 'Arial',
|
|
43691
|
+
fontSize: '14px',
|
|
43692
|
+
display: 'flex',
|
|
43693
|
+
flexDirection: 'column'
|
|
43694
|
+
}, optionStyle)
|
|
43695
|
+
}, /*#__PURE__*/React__default.createElement("div", tooltipProps, option[optionLabel]), secondaryContent);
|
|
42864
43696
|
};
|
|
42865
43697
|
var inverseColor = function inverseColor(hexColor) {
|
|
42866
43698
|
var r = parseInt(hexColor === null || hexColor === void 0 ? void 0 : hexColor.substr(1, 2), 16);
|
|
@@ -42878,6 +43710,31 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42878
43710
|
window[onChange](ids);
|
|
42879
43711
|
}
|
|
42880
43712
|
};
|
|
43713
|
+
|
|
43714
|
+
// PrimeReact 10 ignore la prop `escape` : sa Tooltip écrit toujours via
|
|
43715
|
+
// createTextNode. Un MutationObserver rescande les `.p-tooltip-text` pour
|
|
43716
|
+
// convertir le texte contenant du HTML en innerHTML rendu — nécessaire car
|
|
43717
|
+
// le tooltip est réutilisé (pas de callback à chaque changement de cible).
|
|
43718
|
+
useEffect(function () {
|
|
43719
|
+
if (!enableItemTooltip) return undefined;
|
|
43720
|
+
var rewrite = function rewrite() {
|
|
43721
|
+
document.querySelectorAll('.p-tooltip .p-tooltip-text').forEach(function (el) {
|
|
43722
|
+
var raw = el.textContent;
|
|
43723
|
+
if (raw && /<[a-z][\s\S]*>/i.test(raw) && el.innerHTML !== raw) {
|
|
43724
|
+
el.innerHTML = raw;
|
|
43725
|
+
}
|
|
43726
|
+
});
|
|
43727
|
+
};
|
|
43728
|
+
var observer = new MutationObserver(rewrite);
|
|
43729
|
+
observer.observe(document.body, {
|
|
43730
|
+
childList: true,
|
|
43731
|
+
subtree: true,
|
|
43732
|
+
characterData: true
|
|
43733
|
+
});
|
|
43734
|
+
return function () {
|
|
43735
|
+
return observer.disconnect();
|
|
43736
|
+
};
|
|
43737
|
+
}, [enableItemTooltip]);
|
|
42881
43738
|
var handleChange = function handleChange(e) {
|
|
42882
43739
|
if (disabled || effectiveReadOnly) return;
|
|
42883
43740
|
var ids = Array.isArray(e.value) ? e.value : [e.value];
|
|
@@ -42920,11 +43777,16 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42920
43777
|
return o.value === option;
|
|
42921
43778
|
});
|
|
42922
43779
|
if (!_opt) return null;
|
|
42923
|
-
|
|
43780
|
+
var _optTooltip = enableItemTooltip ? _opt.tooltip || _opt.description || _opt[optionLabel] : null;
|
|
43781
|
+
return /*#__PURE__*/React__default.createElement("span", _extends$J({
|
|
42924
43782
|
style: _objectSpread2({
|
|
42925
43783
|
marginRight: '6px'
|
|
42926
|
-
}, valueStyle)
|
|
42927
|
-
|
|
43784
|
+
}, valueStyle),
|
|
43785
|
+
className: _optTooltip ? 'multiselect-selected-tooltip-trigger' : undefined
|
|
43786
|
+
}, _optTooltip ? {
|
|
43787
|
+
'data-pr-tooltip': _optTooltip,
|
|
43788
|
+
'data-pr-position': 'top'
|
|
43789
|
+
} : {}), _opt[optionLabel]);
|
|
42928
43790
|
}
|
|
42929
43791
|
if (index === truncateAt) {
|
|
42930
43792
|
return /*#__PURE__*/React__default.createElement("span", {
|
|
@@ -42976,11 +43838,16 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42976
43838
|
var _selectedOption = flatOptions.find(function (opt) {
|
|
42977
43839
|
return opt.value === option;
|
|
42978
43840
|
});
|
|
42979
|
-
|
|
43841
|
+
var _optTooltip2 = enableItemTooltip ? (_selectedOption === null || _selectedOption === void 0 ? void 0 : _selectedOption.tooltip) || (_selectedOption === null || _selectedOption === void 0 ? void 0 : _selectedOption.description) || (_selectedOption === null || _selectedOption === void 0 ? void 0 : _selectedOption[optionLabel]) || option : null;
|
|
43842
|
+
return /*#__PURE__*/React__default.createElement("span", _extends$J({
|
|
42980
43843
|
style: {
|
|
42981
43844
|
marginRight: '4px'
|
|
42982
|
-
}
|
|
42983
|
-
|
|
43845
|
+
},
|
|
43846
|
+
className: _optTooltip2 ? 'multiselect-selected-tooltip-trigger' : undefined
|
|
43847
|
+
}, _optTooltip2 ? {
|
|
43848
|
+
'data-pr-tooltip': _optTooltip2,
|
|
43849
|
+
'data-pr-position': 'top'
|
|
43850
|
+
} : {}), _selectedOption ? "".concat(_selectedOption.label) : "".concat(option), !isLast && /*#__PURE__*/React__default.createElement("span", {
|
|
42984
43851
|
style: {
|
|
42985
43852
|
opacity: 0.8
|
|
42986
43853
|
}
|
|
@@ -42992,11 +43859,16 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
42992
43859
|
return o.value === option;
|
|
42993
43860
|
});
|
|
42994
43861
|
if (!opt) return null;
|
|
42995
|
-
|
|
43862
|
+
var optTooltip = enableItemTooltip ? opt.tooltip || opt.description || opt[optionLabel] : null;
|
|
43863
|
+
return /*#__PURE__*/React__default.createElement("span", _extends$J({
|
|
42996
43864
|
style: _objectSpread2({
|
|
42997
43865
|
marginRight: '4px'
|
|
42998
|
-
}, valueStyle)
|
|
42999
|
-
|
|
43866
|
+
}, valueStyle),
|
|
43867
|
+
className: optTooltip ? 'multiselect-selected-tooltip-trigger' : undefined
|
|
43868
|
+
}, optTooltip ? {
|
|
43869
|
+
'data-pr-tooltip': optTooltip,
|
|
43870
|
+
'data-pr-position': 'top'
|
|
43871
|
+
} : {}), opt[optionLabel], !isLast && /*#__PURE__*/React__default.createElement("span", {
|
|
43000
43872
|
style: {
|
|
43001
43873
|
opacity: 0.8
|
|
43002
43874
|
}
|
|
@@ -43058,21 +43930,6 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
43058
43930
|
}
|
|
43059
43931
|
}, isCollapsed ? '+' : "\u2212"));
|
|
43060
43932
|
};
|
|
43061
|
-
var getSelectedOptionsTooltipText = function getSelectedOptionsTooltipText() {
|
|
43062
|
-
if (selectedOptions.length === 0) return "Aucune option sélectionnée";
|
|
43063
|
-
return selectedOptions.map(function (opt) {
|
|
43064
|
-
if (typeof opt === 'string' || typeof opt === 'number') {
|
|
43065
|
-
var selectedOption = flatOptions.find(function (o) {
|
|
43066
|
-
return o.value === opt || o[optionValue] === opt;
|
|
43067
|
-
});
|
|
43068
|
-
return selectedOption ? selectedOption[optionLabel] : String(opt);
|
|
43069
|
-
}
|
|
43070
|
-
if (_typeof$g(opt) === 'object' && opt !== null) {
|
|
43071
|
-
return opt[optionLabel];
|
|
43072
|
-
}
|
|
43073
|
-
return String(opt);
|
|
43074
|
-
}).join('\n');
|
|
43075
|
-
};
|
|
43076
43933
|
var BADGE_SIZES = {
|
|
43077
43934
|
small: {
|
|
43078
43935
|
fontSize: '10px',
|
|
@@ -43270,7 +44127,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
43270
44127
|
var _multiSelectRef$curre4;
|
|
43271
44128
|
return (_multiSelectRef$curre4 = multiSelectRef.current) === null || _multiSelectRef$curre4 === void 0 ? void 0 : _multiSelectRef$curre4.hide();
|
|
43272
44129
|
}
|
|
43273
|
-
},
|
|
44130
|
+
}, cancelLabel), /*#__PURE__*/React__default.createElement("button", {
|
|
43274
44131
|
type: "button",
|
|
43275
44132
|
className: "ms-apply-btn",
|
|
43276
44133
|
onClick: function onClick() {
|
|
@@ -43278,7 +44135,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
43278
44135
|
handleApply();
|
|
43279
44136
|
(_multiSelectRef$curre5 = multiSelectRef.current) === null || _multiSelectRef$curre5 === void 0 || _multiSelectRef$curre5.hide();
|
|
43280
44137
|
}
|
|
43281
|
-
},
|
|
44138
|
+
}, applyLabel));
|
|
43282
44139
|
}
|
|
43283
44140
|
if (hasInfoLine) {
|
|
43284
44141
|
var length = selectedOptions ? selectedOptions.length : 0;
|
|
@@ -43294,7 +44151,7 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
43294
44151
|
return prevKey + 1;
|
|
43295
44152
|
});
|
|
43296
44153
|
}
|
|
43297
|
-
}, [options, enableItemTooltip]);
|
|
44154
|
+
}, [options, enableItemTooltip, selectedOptions]);
|
|
43298
44155
|
|
|
43299
44156
|
// Ajouter cette logique dans le composant
|
|
43300
44157
|
useEffect(function () {
|
|
@@ -43330,9 +44187,11 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
43330
44187
|
}
|
|
43331
44188
|
}, enableItemTooltip && /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
43332
44189
|
key: tooltipKey,
|
|
43333
|
-
target: ".multiselect-tooltip-item",
|
|
44190
|
+
target: ".multiselect-tooltip-item, .multiselect-tooltip-trigger, .multiselect-selected-tooltip-trigger",
|
|
43334
44191
|
appendTo: document.body,
|
|
43335
44192
|
position: "top",
|
|
44193
|
+
autoHide: false,
|
|
44194
|
+
hideDelay: 150,
|
|
43336
44195
|
style: {
|
|
43337
44196
|
zIndex: '9999999'
|
|
43338
44197
|
}
|
|
@@ -43359,10 +44218,6 @@ var MultiSelect = function MultiSelect(props) {
|
|
|
43359
44218
|
zIndex: 9999999
|
|
43360
44219
|
}
|
|
43361
44220
|
}), /*#__PURE__*/React__default.createElement("div", {
|
|
43362
|
-
"data-pr-tooltip": enableItemTooltip ? getSelectedOptionsTooltipText() : null,
|
|
43363
|
-
"data-pr-position": "right",
|
|
43364
|
-
"data-pr-at": "right+5 top",
|
|
43365
|
-
"data-pr-my": "left center-2",
|
|
43366
44221
|
ref: containerRef,
|
|
43367
44222
|
className: "multiselect-container custom-target-icon",
|
|
43368
44223
|
style: {
|
|
@@ -44076,17 +44931,27 @@ var MultiSelectPresets = {
|
|
|
44076
44931
|
options: [{
|
|
44077
44932
|
label: 'Option 1',
|
|
44078
44933
|
value: '1',
|
|
44079
|
-
tooltip: '
|
|
44934
|
+
tooltip: '<b>Option 1</b> — <i>information</i> spécifique.<br/>Prise en charge du <u>HTML</u>.'
|
|
44080
44935
|
}, {
|
|
44081
44936
|
label: 'Option 2',
|
|
44082
|
-
value: '2'
|
|
44083
|
-
tooltip: 'Détail complémentaire pour l’option 2'
|
|
44937
|
+
value: '2'
|
|
44938
|
+
// tooltip: '<span style="color:#3b82f6">Détail</span> complémentaire pour <b>l’option 2</b>',
|
|
44084
44939
|
}, {
|
|
44085
44940
|
label: 'Option 3',
|
|
44086
44941
|
value: '3',
|
|
44087
|
-
tooltip: 'Contexte métier
|
|
44942
|
+
tooltip: 'Contexte métier :<ul style="margin:4px 0 0 16px;padding:0"><li>Point 1</li><li>Point 2</li></ul>'
|
|
44943
|
+
}, {
|
|
44944
|
+
label: 'Option 4',
|
|
44945
|
+
value: '4',
|
|
44946
|
+
tooltip: 'Documentation : <a href="https://example.com" target="_blank" rel="noopener" style="color:#60a5fa;text-decoration:underline">ouvrir la doc</a>'
|
|
44088
44947
|
}],
|
|
44089
|
-
enableItemTooltip: true
|
|
44948
|
+
enableItemTooltip: true,
|
|
44949
|
+
cancelLabel: 'Fermer',
|
|
44950
|
+
applyLabel: 'Appliquer',
|
|
44951
|
+
onApply: function onApply(values) {
|
|
44952
|
+
// eslint-disable-next-line no-console
|
|
44953
|
+
console.log('Selection appliquée :', values);
|
|
44954
|
+
}
|
|
44090
44955
|
},
|
|
44091
44956
|
ItemWithLink: {
|
|
44092
44957
|
placeholder: 'Choisissez une option',
|
|
@@ -44371,6 +45236,61 @@ var MultiSelectMetaAsyncPresets = {
|
|
|
44371
45236
|
displayCounter: true,
|
|
44372
45237
|
maxVisibleCounter: 1
|
|
44373
45238
|
},
|
|
45239
|
+
ItemWithTooltip: {
|
|
45240
|
+
placeholder: 'Survolez une option',
|
|
45241
|
+
options: [{
|
|
45242
|
+
label: 'Option 1',
|
|
45243
|
+
value: '1',
|
|
45244
|
+
tooltip: '<b>Option 1</b> — <i>information</i> spécifique.<br/>Prise en charge du <u>HTML</u>.'
|
|
45245
|
+
}, {
|
|
45246
|
+
label: 'Option 2',
|
|
45247
|
+
value: '2',
|
|
45248
|
+
tooltip: '<span style="color:#3b82f6">Détail</span> complémentaire pour <b>l’option 2</b>'
|
|
45249
|
+
}, {
|
|
45250
|
+
label: 'Option 3',
|
|
45251
|
+
value: '3',
|
|
45252
|
+
tooltip: 'Contexte métier :<ul style="margin:4px 0 0 16px;padding:0"><li>Point 1</li><li>Point 2</li></ul>'
|
|
45253
|
+
}, {
|
|
45254
|
+
label: 'Option 4',
|
|
45255
|
+
value: '4',
|
|
45256
|
+
tooltip: '<b>Cas particuliers</b><br/><small>Utilisation limitée</small>'
|
|
45257
|
+
}, {
|
|
45258
|
+
label: 'Option 5',
|
|
45259
|
+
value: '5',
|
|
45260
|
+
tooltip: 'Réservée aux <b style="color:#ef4444">administrateurs</b>'
|
|
45261
|
+
}, {
|
|
45262
|
+
label: 'Option 6',
|
|
45263
|
+
value: '6',
|
|
45264
|
+
tooltip: '<i>Recommandée</i> pour la <b>production</b>'
|
|
45265
|
+
}, {
|
|
45266
|
+
label: 'Option 7',
|
|
45267
|
+
value: '7',
|
|
45268
|
+
tooltip: 'Compatible avec les <u>anciens systèmes</u>'
|
|
45269
|
+
}, {
|
|
45270
|
+
label: 'Option 8',
|
|
45271
|
+
value: '8',
|
|
45272
|
+
tooltip: 'Optimisée pour les <b>grandes volumétries</b><br/>> 10 M lignes'
|
|
45273
|
+
}, {
|
|
45274
|
+
label: 'Option 9',
|
|
45275
|
+
value: '9',
|
|
45276
|
+
tooltip: 'Nécessite des <span style="color:#f59e0b">droits étendus</span>'
|
|
45277
|
+
}, {
|
|
45278
|
+
label: 'Option 10',
|
|
45279
|
+
value: '10',
|
|
45280
|
+
tooltip: '<b style="color:#ef4444">⚠ À utiliser avec précaution</b>'
|
|
45281
|
+
}, {
|
|
45282
|
+
label: 'Option 11',
|
|
45283
|
+
value: '11',
|
|
45284
|
+
tooltip: 'Documentation : <a href="https://example.com" target="_blank" rel="noopener" style="color:#60a5fa;text-decoration:underline">ouvrir la doc</a>'
|
|
45285
|
+
}],
|
|
45286
|
+
enableItemTooltip: true,
|
|
45287
|
+
cancelLabel: 'Fermer',
|
|
45288
|
+
applyLabel: 'Appliquer',
|
|
45289
|
+
onApply: function onApply(values) {
|
|
45290
|
+
// eslint-disable-next-line no-console
|
|
45291
|
+
console.log('Selection appliquée :', values);
|
|
45292
|
+
}
|
|
45293
|
+
},
|
|
44374
45294
|
SearchAjaxLoading: {
|
|
44375
45295
|
placeholder: 'Rechercher (Ajax)…',
|
|
44376
45296
|
filter: true,
|
|
@@ -44436,24 +45356,160 @@ var createFakeOptions = function createFakeOptions(start, length) {
|
|
|
44436
45356
|
}
|
|
44437
45357
|
return options;
|
|
44438
45358
|
};
|
|
45359
|
+
var mockPeople = [{
|
|
45360
|
+
label: 'Alice Martin',
|
|
45361
|
+
value: 1,
|
|
45362
|
+
color: '#ff9900',
|
|
45363
|
+
profession: 'Développeuse',
|
|
45364
|
+
tooltip: 'Alice Martin — Développeuse',
|
|
45365
|
+
link: 'https://example.com'
|
|
45366
|
+
}, {
|
|
45367
|
+
label: 'Bruno Lefèvre',
|
|
45368
|
+
value: 2,
|
|
45369
|
+
color: '#3b82f6',
|
|
45370
|
+
profession: 'Chef de projet',
|
|
45371
|
+
tooltip: 'Bruno Lefèvre — Chef de projet',
|
|
45372
|
+
link: 'https://example.com'
|
|
45373
|
+
}, {
|
|
45374
|
+
label: 'Chloé Dubois',
|
|
45375
|
+
value: 3,
|
|
45376
|
+
color: '#10b981',
|
|
45377
|
+
profession: 'Designer',
|
|
45378
|
+
tooltip: 'Chloé Dubois — Designer',
|
|
45379
|
+
link: 'https://example.com'
|
|
45380
|
+
}, {
|
|
45381
|
+
label: 'David Morel',
|
|
45382
|
+
value: 4,
|
|
45383
|
+
color: '#8b5cf6',
|
|
45384
|
+
profession: 'Data analyst',
|
|
45385
|
+
tooltip: 'David Morel — Data analyst',
|
|
45386
|
+
link: 'https://example.com'
|
|
45387
|
+
}, {
|
|
45388
|
+
label: 'Emma Roux',
|
|
45389
|
+
value: 5,
|
|
45390
|
+
color: '#ec4899',
|
|
45391
|
+
profession: 'Product owner',
|
|
45392
|
+
tooltip: 'Emma Roux — Product owner',
|
|
45393
|
+
link: 'https://example.com'
|
|
45394
|
+
}, {
|
|
45395
|
+
label: 'Farid Benali',
|
|
45396
|
+
value: 6,
|
|
45397
|
+
color: '#f59e0b',
|
|
45398
|
+
profession: 'DevOps',
|
|
45399
|
+
tooltip: 'Farid Benali — DevOps',
|
|
45400
|
+
link: 'https://example.com'
|
|
45401
|
+
}, {
|
|
45402
|
+
label: 'Gaëlle Simon',
|
|
45403
|
+
value: 7,
|
|
45404
|
+
color: '#ef4444',
|
|
45405
|
+
profession: 'QA engineer',
|
|
45406
|
+
tooltip: 'Gaëlle Simon — QA engineer',
|
|
45407
|
+
link: 'https://example.com'
|
|
45408
|
+
}, {
|
|
45409
|
+
label: 'Hugo Bernard',
|
|
45410
|
+
value: 8,
|
|
45411
|
+
color: '#10b981',
|
|
45412
|
+
profession: 'Développeur',
|
|
45413
|
+
tooltip: 'Hugo Bernard — Développeur',
|
|
45414
|
+
link: 'https://example.com'
|
|
45415
|
+
}];
|
|
45416
|
+
var asyncPeople = /*#__PURE__*/function () {
|
|
45417
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
45418
|
+
var search,
|
|
45419
|
+
_ref2,
|
|
45420
|
+
_ref2$page,
|
|
45421
|
+
page,
|
|
45422
|
+
filtered,
|
|
45423
|
+
pageSize,
|
|
45424
|
+
start,
|
|
45425
|
+
_args = arguments;
|
|
45426
|
+
return _regenerator().w(function (_context) {
|
|
45427
|
+
while (1) switch (_context.n) {
|
|
45428
|
+
case 0:
|
|
45429
|
+
search = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
|
|
45430
|
+
_ref2 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref2$page = _ref2.page, page = _ref2$page === void 0 ? 1 : _ref2$page;
|
|
45431
|
+
_context.n = 1;
|
|
45432
|
+
return simulateNetworkDelay();
|
|
45433
|
+
case 1:
|
|
45434
|
+
filtered = search ? mockPeople.filter(function (opt) {
|
|
45435
|
+
return opt.label.toLowerCase().includes(search.toLowerCase());
|
|
45436
|
+
}) : mockPeople;
|
|
45437
|
+
pageSize = 30;
|
|
45438
|
+
start = (page - 1) * pageSize;
|
|
45439
|
+
return _context.a(2, {
|
|
45440
|
+
options: filtered.slice(start, start + pageSize),
|
|
45441
|
+
hasMore: start + pageSize < filtered.length,
|
|
45442
|
+
additional: {
|
|
45443
|
+
page: page + 1
|
|
45444
|
+
}
|
|
45445
|
+
});
|
|
45446
|
+
}
|
|
45447
|
+
}, _callee);
|
|
45448
|
+
}));
|
|
45449
|
+
return function asyncPeople() {
|
|
45450
|
+
return _ref.apply(this, arguments);
|
|
45451
|
+
};
|
|
45452
|
+
}();
|
|
45453
|
+
var mockPeopleHtmlTooltips = mockPeople.map(function (p) {
|
|
45454
|
+
return _objectSpread2(_objectSpread2({}, p), {}, {
|
|
45455
|
+
tooltip: "<b>".concat(p.label, "</b> \u2014 <i>").concat(p.profession, "</i><br/>Contact : <a href=\"mailto:").concat(p.label.split(' ')[0].toLowerCase(), "@arengi.fr\" style=\"color:#60a5fa;text-decoration:underline\">").concat(p.label.split(' ')[0].toLowerCase(), "@arengi.fr</a><br/>Doc : <a href=\"https://example.com\" target=\"_blank\" rel=\"noopener\" style=\"color:#60a5fa;text-decoration:underline\">ouvrir la doc</a>")
|
|
45456
|
+
});
|
|
45457
|
+
});
|
|
45458
|
+
var asyncPeopleHtmlTooltip = /*#__PURE__*/function () {
|
|
45459
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
45460
|
+
var search,
|
|
45461
|
+
_ref4,
|
|
45462
|
+
_ref4$page,
|
|
45463
|
+
page,
|
|
45464
|
+
filtered,
|
|
45465
|
+
pageSize,
|
|
45466
|
+
start,
|
|
45467
|
+
_args2 = arguments;
|
|
45468
|
+
return _regenerator().w(function (_context2) {
|
|
45469
|
+
while (1) switch (_context2.n) {
|
|
45470
|
+
case 0:
|
|
45471
|
+
search = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : '';
|
|
45472
|
+
_ref4 = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {}, _ref4$page = _ref4.page, page = _ref4$page === void 0 ? 1 : _ref4$page;
|
|
45473
|
+
_context2.n = 1;
|
|
45474
|
+
return simulateNetworkDelay();
|
|
45475
|
+
case 1:
|
|
45476
|
+
filtered = search ? mockPeopleHtmlTooltips.filter(function (opt) {
|
|
45477
|
+
return opt.label.toLowerCase().includes(search.toLowerCase());
|
|
45478
|
+
}) : mockPeopleHtmlTooltips;
|
|
45479
|
+
pageSize = 30;
|
|
45480
|
+
start = (page - 1) * pageSize;
|
|
45481
|
+
return _context2.a(2, {
|
|
45482
|
+
options: filtered.slice(start, start + pageSize),
|
|
45483
|
+
hasMore: start + pageSize < filtered.length,
|
|
45484
|
+
additional: {
|
|
45485
|
+
page: page + 1
|
|
45486
|
+
}
|
|
45487
|
+
});
|
|
45488
|
+
}
|
|
45489
|
+
}, _callee2);
|
|
45490
|
+
}));
|
|
45491
|
+
return function asyncPeopleHtmlTooltip() {
|
|
45492
|
+
return _ref3.apply(this, arguments);
|
|
45493
|
+
};
|
|
45494
|
+
}();
|
|
44439
45495
|
var DropdownSelectMetaAsyncPresets = {
|
|
44440
45496
|
SelectMetaAsync: {
|
|
44441
45497
|
options: function () {
|
|
44442
|
-
var _options = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
45498
|
+
var _options = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
44443
45499
|
var search,
|
|
44444
|
-
|
|
45500
|
+
_ref5,
|
|
44445
45501
|
page,
|
|
44446
45502
|
allOptions,
|
|
44447
45503
|
filtered,
|
|
44448
45504
|
pageSize,
|
|
44449
45505
|
start,
|
|
44450
|
-
|
|
44451
|
-
return _regenerator().w(function (
|
|
44452
|
-
while (1) switch (
|
|
45506
|
+
_args3 = arguments;
|
|
45507
|
+
return _regenerator().w(function (_context3) {
|
|
45508
|
+
while (1) switch (_context3.n) {
|
|
44453
45509
|
case 0:
|
|
44454
|
-
search =
|
|
44455
|
-
|
|
44456
|
-
|
|
45510
|
+
search = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : '';
|
|
45511
|
+
_ref5 = _args3.length > 2 ? _args3[2] : undefined, page = _ref5.page;
|
|
45512
|
+
_context3.n = 1;
|
|
44457
45513
|
return simulateNetworkDelay();
|
|
44458
45514
|
case 1:
|
|
44459
45515
|
allOptions = createFakeOptions(0, 100);
|
|
@@ -44462,7 +45518,7 @@ var DropdownSelectMetaAsyncPresets = {
|
|
|
44462
45518
|
});
|
|
44463
45519
|
pageSize = 30;
|
|
44464
45520
|
start = (page - 1) * pageSize;
|
|
44465
|
-
return
|
|
45521
|
+
return _context3.a(2, {
|
|
44466
45522
|
options: filtered.slice(start, start + pageSize),
|
|
44467
45523
|
hasMore: start + pageSize < filtered.length,
|
|
44468
45524
|
additional: {
|
|
@@ -44470,7 +45526,7 @@ var DropdownSelectMetaAsyncPresets = {
|
|
|
44470
45526
|
}
|
|
44471
45527
|
});
|
|
44472
45528
|
}
|
|
44473
|
-
},
|
|
45529
|
+
}, _callee3);
|
|
44474
45530
|
}));
|
|
44475
45531
|
function options() {
|
|
44476
45532
|
return _options.apply(this, arguments);
|
|
@@ -44492,6 +45548,141 @@ var DropdownSelectMetaAsyncPresets = {
|
|
|
44492
45548
|
fontSize: '14px',
|
|
44493
45549
|
fontFamily: 'Arial'
|
|
44494
45550
|
}
|
|
45551
|
+
},
|
|
45552
|
+
Base: {
|
|
45553
|
+
options: asyncPeople,
|
|
45554
|
+
value: null,
|
|
45555
|
+
placeholder: 'Sélectionnez une option',
|
|
45556
|
+
editable: true,
|
|
45557
|
+
filter: false,
|
|
45558
|
+
showClear: true,
|
|
45559
|
+
valueStyle: {
|
|
45560
|
+
backgroundColor: 'transparent',
|
|
45561
|
+
color: 'inherit',
|
|
45562
|
+
padding: '0',
|
|
45563
|
+
borderRadius: '0',
|
|
45564
|
+
boxShadow: 'none',
|
|
45565
|
+
fontFamily: 'inherit'
|
|
45566
|
+
}
|
|
45567
|
+
},
|
|
45568
|
+
AsyncOptions: {
|
|
45569
|
+
options: asyncPeople,
|
|
45570
|
+
value: 3,
|
|
45571
|
+
placeholder: 'Sélectionnez une option',
|
|
45572
|
+
editable: true,
|
|
45573
|
+
showClear: true,
|
|
45574
|
+
selectMetaConfig: {
|
|
45575
|
+
labelStyle: {
|
|
45576
|
+
fontWeight: 'bold'
|
|
45577
|
+
},
|
|
45578
|
+
generalIcon: 'pi pi-tag'
|
|
45579
|
+
}
|
|
45580
|
+
},
|
|
45581
|
+
SearchAjaxLoading: {
|
|
45582
|
+
// En prod : optionsUrl: '/api/options' (pagination start/length, recherche search[value])
|
|
45583
|
+
options: asyncPeople,
|
|
45584
|
+
placeholder: 'Rechercher (Ajax)…',
|
|
45585
|
+
filter: true,
|
|
45586
|
+
showClear: true
|
|
45587
|
+
},
|
|
45588
|
+
Sorting: {
|
|
45589
|
+
options: asyncPeople,
|
|
45590
|
+
placeholder: 'Tri A→Z / Z→A',
|
|
45591
|
+
filter: true,
|
|
45592
|
+
enableSorting: true,
|
|
45593
|
+
showClear: true
|
|
45594
|
+
},
|
|
45595
|
+
ItemsCheckedToTheTop: {
|
|
45596
|
+
options: asyncPeople,
|
|
45597
|
+
value: 5,
|
|
45598
|
+
placeholder: 'Sélection remontée en haut',
|
|
45599
|
+
itemsCheckedToTheTop: true,
|
|
45600
|
+
showClear: true
|
|
45601
|
+
},
|
|
45602
|
+
OpenOnHover: {
|
|
45603
|
+
options: asyncPeople,
|
|
45604
|
+
placeholder: 'Ouverture au survol',
|
|
45605
|
+
openOnHover: true
|
|
45606
|
+
},
|
|
45607
|
+
ItemWithTooltip: {
|
|
45608
|
+
options: asyncPeopleHtmlTooltip,
|
|
45609
|
+
placeholder: 'Tooltip sur les options',
|
|
45610
|
+
enableItemTooltip: true
|
|
45611
|
+
},
|
|
45612
|
+
ItemWithSecondaryLabel: {
|
|
45613
|
+
options: asyncPeople,
|
|
45614
|
+
placeholder: 'Label secondaire',
|
|
45615
|
+
enableSecondaryLabel: true,
|
|
45616
|
+
secondaryLabelKey: 'profession'
|
|
45617
|
+
},
|
|
45618
|
+
ItemWithLink: {
|
|
45619
|
+
options: asyncPeople,
|
|
45620
|
+
placeholder: 'Lien sur le label secondaire',
|
|
45621
|
+
enableSecondaryLabel: true,
|
|
45622
|
+
secondaryLabelKey: 'profession',
|
|
45623
|
+
enableItemLink: true
|
|
45624
|
+
},
|
|
45625
|
+
Badge: {
|
|
45626
|
+
options: asyncPeople,
|
|
45627
|
+
value: 2,
|
|
45628
|
+
placeholder: 'Badges colorés',
|
|
45629
|
+
withColor: true,
|
|
45630
|
+
selectConfig: {
|
|
45631
|
+
labelStyle: null,
|
|
45632
|
+
generalIcon: null
|
|
45633
|
+
}
|
|
45634
|
+
},
|
|
45635
|
+
WithIcon: {
|
|
45636
|
+
options: asyncPeople,
|
|
45637
|
+
value: 1,
|
|
45638
|
+
placeholder: 'Icône devant chaque option',
|
|
45639
|
+
withIcon: true,
|
|
45640
|
+
selectConfig: {
|
|
45641
|
+
labelStyle: {
|
|
45642
|
+
fontWeight: '400'
|
|
45643
|
+
},
|
|
45644
|
+
generalIcon: 'pi pi-user'
|
|
45645
|
+
}
|
|
45646
|
+
},
|
|
45647
|
+
Truncate: {
|
|
45648
|
+
options: asyncPeople,
|
|
45649
|
+
value: 2,
|
|
45650
|
+
placeholder: 'Label tronqué',
|
|
45651
|
+
truncateAt: 8,
|
|
45652
|
+
valueStyle: {
|
|
45653
|
+
backgroundColor: 'transparent',
|
|
45654
|
+
color: 'inherit',
|
|
45655
|
+
padding: '0',
|
|
45656
|
+
borderRadius: '0',
|
|
45657
|
+
boxShadow: 'none',
|
|
45658
|
+
fontFamily: 'inherit'
|
|
45659
|
+
}
|
|
45660
|
+
},
|
|
45661
|
+
ReadOnly: {
|
|
45662
|
+
options: asyncPeople,
|
|
45663
|
+
value: 4,
|
|
45664
|
+
readOnly: true,
|
|
45665
|
+
showClear: false
|
|
45666
|
+
},
|
|
45667
|
+
Disabled: {
|
|
45668
|
+
options: asyncPeople,
|
|
45669
|
+
value: 4,
|
|
45670
|
+
disabled: true
|
|
45671
|
+
},
|
|
45672
|
+
Required: {
|
|
45673
|
+
options: asyncPeople,
|
|
45674
|
+
value: null,
|
|
45675
|
+
placeholder: 'Sélection obligatoire',
|
|
45676
|
+
required: true,
|
|
45677
|
+
name: 'monchamp',
|
|
45678
|
+
status: 'error',
|
|
45679
|
+
errorMessage: 'Une option doit être sélectionnée'
|
|
45680
|
+
},
|
|
45681
|
+
InfoLine: {
|
|
45682
|
+
options: asyncPeople,
|
|
45683
|
+
placeholder: 'Avec pied de panel',
|
|
45684
|
+
hasInfoLine: true,
|
|
45685
|
+
InfoLineValue: '8 utilisateurs disponibles'
|
|
44495
45686
|
}
|
|
44496
45687
|
};
|
|
44497
45688
|
|