@capillarytech/blaze-ui 1.0.3-alpha.16 → 1.0.3-alpha.19

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 CHANGED
@@ -803,6 +803,7 @@ exports.__esModule = true;
803
803
  exports.useCapUnifiedSelect = void 0;
804
804
  var _react = __webpack_require__(9206);
805
805
  var _constants = __webpack_require__(9788);
806
+ var _useInfiniteScroll = __webpack_require__(9103);
806
807
  var _utils = __webpack_require__(8052);
807
808
  const useCapUnifiedSelect = _ref => {
808
809
  let {
@@ -828,23 +829,15 @@ const useCapUnifiedSelect = _ref => {
828
829
  const [tempValue, setTempValue] = (0, _react.useState)(value);
829
830
  const [dropdownOpen, setDropdownOpen] = (0, _react.useState)(false);
830
831
  const [isSearching, setIsSearching] = (0, _react.useState)(false);
831
- const [isLoadingOnScroll, setIsLoadingOnScroll] = (0, _react.useState)(false);
832
832
  const [isResettingData, setIsResettingData] = (0, _react.useState)(false);
833
833
  const [orderedOptions, setOrderedOptions] = (0, _react.useState)(null);
834
834
  const searchTimeoutRef = (0, _react.useRef)(null);
835
- const scrollContainerRef = (0, _react.useRef)(null);
836
- const scrollLoadingTimeoutRef = (0, _react.useRef)(null);
837
- const isScrollProcessingRef = (0, _react.useRef)(false);
838
- const scrollThrottleTimeoutRef = (0, _react.useRef)(null);
839
835
  const optionsRef = (0, _react.useRef)(options);
840
836
  const selectedItemsCacheRef = (0, _react.useRef)(new Map());
841
837
  const lastSearchQueryRef = (0, _react.useRef)('');
842
838
  const searchClearedTimeRef = (0, _react.useRef)(null);
843
839
  const prevOptionsRef = (0, _react.useRef)(options);
844
840
  const prevOptionsBeforeResetRef = (0, _react.useRef)(options);
845
- const prevOptionsCountRef = (0, _react.useRef)(options.length);
846
- const prevOptionsRefForScroll = (0, _react.useRef)(options);
847
- const scrollTriggerOptionsCountRef = (0, _react.useRef)(options.length);
848
841
  const initialSortDoneRef = (0, _react.useRef)(false);
849
842
  const hasInteractedRef = (0, _react.useRef)(false);
850
843
  const initialTempValueRef = (0, _react.useRef)(value);
@@ -852,6 +845,20 @@ const useCapUnifiedSelect = _ref => {
852
845
  const resetDataCalledTimeRef = (0, _react.useRef)(null);
853
846
  const fetchMissingOptionsCalledRef = (0, _react.useRef)(false);
854
847
  const lastMissingValuesRef = (0, _react.useRef)('');
848
+
849
+ // Infinite scroll hook
850
+ const {
851
+ isLoadingOnScroll,
852
+ resetScrollState,
853
+ scrollTriggerOptionsCountRef
854
+ } = (0, _useInfiniteScroll.useInfiniteScroll)({
855
+ onPopupScroll,
856
+ hasMore,
857
+ options,
858
+ dropdownOpen,
859
+ optionsRef,
860
+ hasInteractedRef
861
+ });
855
862
  (0, _react.useEffect)(() => {
856
863
  if (!fetchMissingOptions) {
857
864
  return;
@@ -928,20 +935,13 @@ const useCapUnifiedSelect = _ref => {
928
935
  }
929
936
  }, [options, orderedOptions, tempValue]);
930
937
  const debounceTimeout = searchDebounce != null ? searchDebounce : _constants.TIMEOUTS.DEFAULT_SEARCH_DEBOUNCE;
931
- (0, _react.useEffect)(() => {
932
- optionsRef.current = options;
933
- }, [options]);
938
+
939
+ // Cleanup timeouts on unmount
934
940
  (0, _react.useEffect)(() => {
935
941
  return () => {
936
942
  if (searchTimeoutRef.current) {
937
943
  clearTimeout(searchTimeoutRef.current);
938
944
  }
939
- if (scrollLoadingTimeoutRef.current) {
940
- clearTimeout(scrollLoadingTimeoutRef.current);
941
- }
942
- if (scrollThrottleTimeoutRef.current) {
943
- clearTimeout(scrollThrottleTimeoutRef.current);
944
- }
945
945
  };
946
946
  }, []);
947
947
  (0, _react.useEffect)(() => {
@@ -1011,52 +1011,26 @@ const useCapUnifiedSelect = _ref => {
1011
1011
  }, _constants.TIMEOUTS.RESET_DATA_TIMEOUT);
1012
1012
  return () => clearTimeout(fallbackTimeout);
1013
1013
  }, [isResettingData, options]);
1014
- (0, _react.useEffect)(() => {
1015
- if (!hasMore && isLoadingOnScroll) {
1016
- setIsLoadingOnScroll(false);
1017
- isScrollProcessingRef.current = false;
1018
- if (scrollLoadingTimeoutRef.current) {
1019
- clearTimeout(scrollLoadingTimeoutRef.current);
1020
- scrollLoadingTimeoutRef.current = null;
1021
- }
1022
- }
1023
- }, [hasMore, isLoadingOnScroll]);
1024
- (0, _react.useEffect)(() => {
1025
- if (!isLoadingOnScroll) {
1026
- prevOptionsCountRef.current = options.length;
1027
- prevOptionsRefForScroll.current = options;
1014
+
1015
+ /**
1016
+ * Unified helper function to call resetData with proper state management.
1017
+ * This centralizes all resetData logic to avoid duplication and ensure consistency.
1018
+ *
1019
+ * @param shouldReset - Whether to actually call resetData (based on conditions)
1020
+ */
1021
+ const callResetData = (0, _react.useCallback)(function (shouldReset) {
1022
+ if (shouldReset === void 0) {
1023
+ shouldReset = true;
1028
1024
  }
1029
- if (!isLoadingOnScroll || !onPopupScroll) {
1025
+ if (!resetData || !shouldReset || options.length === 0) {
1030
1026
  return;
1031
1027
  }
1032
- const optionsCountIncreased = options.length > prevOptionsCountRef.current;
1033
- const optionsContentChanged = (() => {
1034
- const prevCount = prevOptionsCountRef.current;
1035
- const currentCount = options.length;
1036
- if (prevCount !== currentCount) {
1037
- return true;
1038
- }
1039
- if (currentCount > 0 && prevCount > 0 && prevOptionsRefForScroll.current.length > 0) {
1040
- const prevOptions = prevOptionsRefForScroll.current;
1041
- const lastPrevOption = prevOptions[prevOptions.length - 1];
1042
- const lastCurrentOption = options[options.length - 1];
1043
- if ((lastPrevOption == null ? void 0 : lastPrevOption.value) !== (lastCurrentOption == null ? void 0 : lastCurrentOption.value) || (lastPrevOption == null ? void 0 : lastPrevOption.label) !== (lastCurrentOption == null ? void 0 : lastCurrentOption.label)) {
1044
- return true;
1045
- }
1046
- }
1047
- return false;
1048
- })();
1049
- if (optionsCountIncreased || optionsContentChanged) {
1050
- setIsLoadingOnScroll(false);
1051
- isScrollProcessingRef.current = false;
1052
- if (scrollLoadingTimeoutRef.current) {
1053
- clearTimeout(scrollLoadingTimeoutRef.current);
1054
- scrollLoadingTimeoutRef.current = null;
1055
- }
1056
- prevOptionsCountRef.current = options.length;
1057
- prevOptionsRefForScroll.current = options;
1058
- }
1059
- }, [options, isLoadingOnScroll, onPopupScroll]);
1028
+ prevOptionsBeforeResetRef.current = options;
1029
+ setIsResettingData(true);
1030
+ resetDataCalledRef.current = true;
1031
+ resetDataCalledTimeRef.current = Date.now();
1032
+ resetData();
1033
+ }, [resetData, options]);
1060
1034
  const handleSearch = (0, _react.useCallback)(query => {
1061
1035
  if (searchTimeoutRef.current) {
1062
1036
  clearTimeout(searchTimeoutRef.current);
@@ -1073,6 +1047,13 @@ const useCapUnifiedSelect = _ref => {
1073
1047
  if (trimmedQuery.length > 0 || lastSearchQueryRef.current.length > 0) {
1074
1048
  hasInteractedRef.current = true;
1075
1049
  }
1050
+
1051
+ // Reset data when search is cleared (search term length < 1)
1052
+ // This handles requirement: "when search term is length less than 1 that is no search needed"
1053
+ // and "when click on X in searched term then we are resetting the data to the initial page"
1054
+ if (isNowCleared && wasSearching && !staticValue) {
1055
+ callResetData();
1056
+ }
1076
1057
  if (!staticValue && onSearch) {
1077
1058
  setIsSearching(true);
1078
1059
  searchTimeoutRef.current = setTimeout(() => {
@@ -1086,7 +1067,7 @@ const useCapUnifiedSelect = _ref => {
1086
1067
  setIsSearching(false);
1087
1068
  }, _constants.TIMEOUTS.STATIC_SEARCH_DELAY);
1088
1069
  }
1089
- }, [onSearch, staticValue, debounceTimeout]);
1070
+ }, [onSearch, staticValue, debounceTimeout, callResetData]);
1090
1071
  const prevOptionsCountBeforeFetchMissingRef = (0, _react.useRef)(options.length);
1091
1072
  const prevOptionsBeforeFetchMissingRef = (0, _react.useRef)(options);
1092
1073
  (0, _react.useEffect)(() => {
@@ -1103,6 +1084,7 @@ const useCapUnifiedSelect = _ref => {
1103
1084
  scrollTriggerOptionsCountRef.current = currentOptions.length;
1104
1085
  }
1105
1086
  }
1087
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1106
1088
  }, [options, orderedOptions, onPopupScroll, tempValue]);
1107
1089
  (0, _react.useEffect)(() => {
1108
1090
  if (!fetchMissingOptions) {
@@ -1218,19 +1200,12 @@ const useCapUnifiedSelect = _ref => {
1218
1200
  onSearch('');
1219
1201
  }
1220
1202
 
1221
- // Call resetData if:
1222
- // 1. resetData is provided AND
1223
- // 2. (there was an active search that we're resetting OR options.length > 0)
1224
- // This ensures we reset data back to initial state after a search + confirm
1225
- if (resetData && (hadActiveSearch || options.length > 0)) {
1226
- prevOptionsBeforeResetRef.current = options;
1227
- setIsResettingData(true);
1228
- resetDataCalledRef.current = true;
1229
- resetDataCalledTimeRef.current = Date.now();
1230
- resetData();
1231
- }
1203
+ // Call resetData if there was an active search that we're resetting
1204
+ // This handles requirement: "when user click confirm & clear button"
1205
+ // Reset data back to initial state after a search + confirm
1206
+ callResetData(hadActiveSearch || options.length > 0);
1232
1207
  onConfirm == null || onConfirm(tempValue);
1233
- }, [onChange, onConfirm, tempValue, resetSearch, isMulti, options, resetData, staticValue, onSearch]);
1208
+ }, [onChange, onConfirm, tempValue, resetSearch, isMulti, options, callResetData, staticValue, onSearch]);
1234
1209
  const handleClearAll = (0, _react.useCallback)(() => {
1235
1210
  const cleared = isMulti ? [] : undefined;
1236
1211
  setSearchText('');
@@ -1241,17 +1216,7 @@ const useCapUnifiedSelect = _ref => {
1241
1216
  clearTimeout(searchTimeoutRef.current);
1242
1217
  searchTimeoutRef.current = null;
1243
1218
  }
1244
- if (scrollLoadingTimeoutRef.current) {
1245
- clearTimeout(scrollLoadingTimeoutRef.current);
1246
- scrollLoadingTimeoutRef.current = null;
1247
- }
1248
- if (scrollThrottleTimeoutRef.current) {
1249
- clearTimeout(scrollThrottleTimeoutRef.current);
1250
- scrollThrottleTimeoutRef.current = null;
1251
- }
1252
- setIsLoadingOnScroll(false);
1253
- isScrollProcessingRef.current = false;
1254
- scrollContainerRef.current = null;
1219
+ resetScrollState();
1255
1220
  setOrderedOptions(null);
1256
1221
  initialSortDoneRef.current = false;
1257
1222
  hasInteractedRef.current = false;
@@ -1261,14 +1226,11 @@ const useCapUnifiedSelect = _ref => {
1261
1226
  setTempValue(cleared);
1262
1227
  onChange == null || onChange(cleared);
1263
1228
  setDropdownOpen(false);
1264
- if (resetData && options.length > 0) {
1265
- prevOptionsBeforeResetRef.current = options;
1266
- setIsResettingData(true);
1267
- resetDataCalledRef.current = true;
1268
- resetDataCalledTimeRef.current = Date.now();
1269
- resetData();
1270
- }
1271
- }, [isMulti, onChange, resetData, options]);
1229
+
1230
+ // Call resetData when user clicks clear button
1231
+ // This handles requirement: "when user click confirm & clear button"
1232
+ callResetData();
1233
+ }, [isMulti, onChange, callResetData, resetScrollState]);
1272
1234
  const handleDropdownVisibilityChange = (0, _react.useCallback)(open => {
1273
1235
  if (open) {
1274
1236
  initialTempValueRef.current = value;
@@ -1280,18 +1242,9 @@ const useCapUnifiedSelect = _ref => {
1280
1242
  clearTimeout(searchTimeoutRef.current);
1281
1243
  searchTimeoutRef.current = null;
1282
1244
  }
1283
- if (scrollLoadingTimeoutRef.current) {
1284
- clearTimeout(scrollLoadingTimeoutRef.current);
1285
- scrollLoadingTimeoutRef.current = null;
1286
- }
1287
- if (scrollThrottleTimeoutRef.current) {
1288
- clearTimeout(scrollThrottleTimeoutRef.current);
1289
- scrollThrottleTimeoutRef.current = null;
1290
- }
1291
1245
  setIsSearching(false);
1292
1246
  searchClearedTimeRef.current = null;
1293
- setIsLoadingOnScroll(false);
1294
- isScrollProcessingRef.current = false;
1247
+ resetScrollState();
1295
1248
  if (isResettingData) {
1296
1249
  setIsResettingData(false);
1297
1250
  prevOptionsBeforeResetRef.current = options;
@@ -1309,23 +1262,11 @@ const useCapUnifiedSelect = _ref => {
1309
1262
  lastSearchQueryRef.current = '';
1310
1263
  searchClearedTimeRef.current = null;
1311
1264
  }
1312
- setIsLoadingOnScroll(false);
1313
- isScrollProcessingRef.current = false;
1314
- if (scrollLoadingTimeoutRef.current) {
1315
- clearTimeout(scrollLoadingTimeoutRef.current);
1316
- scrollLoadingTimeoutRef.current = null;
1317
- }
1318
- if (scrollThrottleTimeoutRef.current) {
1319
- clearTimeout(scrollThrottleTimeoutRef.current);
1320
- scrollThrottleTimeoutRef.current = null;
1321
- }
1322
- scrollContainerRef.current = null;
1323
- if (resetData && hasInteractedRef.current && !resetDataCalledRef.current && options.length > 0) {
1324
- prevOptionsBeforeResetRef.current = options;
1325
- setIsResettingData(true);
1326
- resetDataCalledRef.current = true;
1327
- resetDataCalledTimeRef.current = Date.now();
1328
- resetData();
1265
+ resetScrollState();
1266
+
1267
+ // Call resetData when dropdown closes if user interacted and resetData wasn't called yet
1268
+ if (hasInteractedRef.current && !resetDataCalledRef.current) {
1269
+ callResetData();
1329
1270
  } else if (!hasInteractedRef.current) {
1330
1271
  if (searchTimeoutRef.current) {
1331
1272
  clearTimeout(searchTimeoutRef.current);
@@ -1338,7 +1279,7 @@ const useCapUnifiedSelect = _ref => {
1338
1279
  hasInteractedRef.current = false;
1339
1280
  }
1340
1281
  setDropdownOpen(open);
1341
- }, [customPopupRender, value, onChange, tempValue, resetSearch, resetData, options, isResettingData]);
1282
+ }, [customPopupRender, value, onChange, tempValue, resetSearch, callResetData, options, isResettingData, resetScrollState]);
1342
1283
  const handleSearchChange = (0, _react.useCallback)(e => {
1343
1284
  const query = e.target.value;
1344
1285
  setSearchText(query);
@@ -1352,111 +1293,30 @@ const useCapUnifiedSelect = _ref => {
1352
1293
  e.stopPropagation();
1353
1294
  }
1354
1295
  }, [searchText]);
1355
- const handleScroll = (0, _react.useCallback)(event => {
1356
- if (!onPopupScroll) return;
1357
- const target = event.target;
1358
- if (!target) return;
1359
- const isNearBottom = Math.floor(target.scrollHeight - target.scrollTop) <= target.clientHeight;
1360
- if (!isNearBottom) {
1361
- isScrollProcessingRef.current = false;
1362
- return;
1363
- }
1364
- if (isScrollProcessingRef.current) return;
1365
- if (isLoadingOnScroll) return;
1366
- if (!hasMore) {
1367
- isScrollProcessingRef.current = false;
1368
- return;
1369
- }
1370
- if (scrollThrottleTimeoutRef.current) {
1371
- clearTimeout(scrollThrottleTimeoutRef.current);
1372
- }
1373
- isScrollProcessingRef.current = true;
1374
- scrollThrottleTimeoutRef.current = setTimeout(() => {
1375
- const stillNearBottom = Math.floor(target.scrollHeight - target.scrollTop) <= target.clientHeight;
1376
- if (!stillNearBottom || isLoadingOnScroll || !hasMore) {
1377
- isScrollProcessingRef.current = false;
1378
- return;
1379
- }
1380
- const currentOptions = optionsRef.current;
1381
- prevOptionsCountRef.current = currentOptions.length;
1382
- prevOptionsRefForScroll.current = currentOptions;
1383
- scrollTriggerOptionsCountRef.current = currentOptions.length;
1384
- setIsLoadingOnScroll(true);
1385
- if (scrollLoadingTimeoutRef.current) {
1386
- clearTimeout(scrollLoadingTimeoutRef.current);
1387
- scrollLoadingTimeoutRef.current = null;
1388
- }
1389
- hasInteractedRef.current = true;
1390
- onPopupScroll();
1391
- scrollLoadingTimeoutRef.current = setTimeout(() => {
1392
- setIsLoadingOnScroll(prev => {
1393
- if (prev) {
1394
- scrollLoadingTimeoutRef.current = null;
1395
- isScrollProcessingRef.current = false;
1396
- return false;
1397
- }
1398
- return prev;
1399
- });
1400
- }, _constants.TIMEOUTS.SCROLL_LOADING_TIMEOUT);
1401
- }, 150);
1402
- }, [onPopupScroll, isLoadingOnScroll, hasMore]);
1403
- (0, _react.useEffect)(() => {
1404
- if (!onPopupScroll || !dropdownOpen) return;
1405
- const timeoutId = setTimeout(() => {
1406
- const findScrollContainer = () => {
1407
- const dropdowns = document.querySelectorAll('.ant-select-dropdown:not(.ant-select-dropdown-hidden)');
1408
- if (dropdowns.length === 0) return null;
1409
- const dropdown = Array.from(dropdowns).pop();
1410
- if (!dropdown) return null;
1411
- const treeList = dropdown.querySelector('.ant-select-tree-list-holder');
1412
- if (treeList && treeList.scrollHeight > treeList.clientHeight) {
1413
- return treeList;
1414
- }
1415
- const virtualList = dropdown.querySelector('.rc-virtual-list-holder');
1416
- if (virtualList && virtualList.scrollHeight > virtualList.clientHeight) {
1417
- return virtualList;
1418
- }
1419
- if (dropdown.scrollHeight > dropdown.clientHeight) {
1420
- return dropdown;
1421
- }
1422
- return null;
1423
- };
1424
- const scrollContainer = findScrollContainer();
1425
- if (scrollContainer) {
1426
- scrollContainerRef.current = scrollContainer;
1427
- scrollContainer.addEventListener('scroll', handleScroll, {
1428
- passive: true
1429
- });
1430
- }
1431
- }, _constants.TIMEOUTS.SCROLL_CONTAINER_DELAY);
1432
- return () => {
1433
- clearTimeout(timeoutId);
1434
- if (scrollThrottleTimeoutRef.current) {
1435
- clearTimeout(scrollThrottleTimeoutRef.current);
1436
- scrollThrottleTimeoutRef.current = null;
1437
- }
1438
- if (scrollContainerRef.current) {
1439
- scrollContainerRef.current.removeEventListener('scroll', handleScroll);
1440
- scrollContainerRef.current = null;
1441
- }
1442
- isScrollProcessingRef.current = false;
1443
- };
1444
- }, [onPopupScroll, dropdownOpen, handleScroll]);
1296
+
1297
+ /**
1298
+ * Helper function to handle resetData call when value is cleared.
1299
+ * Only resets data if there was an active search, as resetting on every unselect
1300
+ * would be too aggressive and could reset data unnecessarily when user simply unselects.
1301
+ *
1302
+ * This addresses the question: "If user unselects or clears current selection then do we need to call resetData?"
1303
+ * Answer: Only if there was an active search query, to avoid unnecessary resets.
1304
+ */
1305
+ const handleResetDataOnClear = (0, _react.useCallback)(() => {
1306
+ // Only reset data if there was an active search query
1307
+ // This prevents unnecessary resets when user simply unselects without searching
1308
+ const hadActiveSearch = !staticValue && lastSearchQueryRef.current.trim().length > 0;
1309
+ callResetData(hadActiveSearch);
1310
+ }, [staticValue, callResetData]);
1445
1311
  const handleSingleSelectChange = (0, _react.useCallback)(newValue => {
1446
1312
  if (disabled) {
1447
1313
  return;
1448
1314
  }
1449
1315
  if (newValue === undefined || newValue === null) {
1450
- if (resetData && options.length > 0) {
1451
- prevOptionsBeforeResetRef.current = options;
1452
- setIsResettingData(true);
1453
- resetDataCalledRef.current = true;
1454
- resetDataCalledTimeRef.current = Date.now();
1455
- resetData();
1456
- }
1316
+ handleResetDataOnClear();
1457
1317
  }
1458
1318
  onChange == null || onChange(newValue);
1459
- }, [onChange, resetData, options, disabled]);
1319
+ }, [onChange, disabled, handleResetDataOnClear]);
1460
1320
  const handleMultiSelectChange = (0, _react.useCallback)(newValue => {
1461
1321
  if (disabled) {
1462
1322
  return;
@@ -1467,16 +1327,10 @@ const useCapUnifiedSelect = _ref => {
1467
1327
  hasInteractedRef.current = true;
1468
1328
  }
1469
1329
  if (newValue === undefined || newValue === null || Array.isArray(newValue) && newValue.length === 0) {
1470
- if (resetData && options.length > 0) {
1471
- prevOptionsBeforeResetRef.current = options;
1472
- setIsResettingData(true);
1473
- resetDataCalledRef.current = true;
1474
- resetDataCalledTimeRef.current = Date.now();
1475
- resetData();
1476
- }
1330
+ handleResetDataOnClear();
1477
1331
  }
1478
1332
  setTempValue(newValue);
1479
- }, [resetData, options, disabled]);
1333
+ }, [disabled, handleResetDataOnClear]);
1480
1334
  return {
1481
1335
  searchText,
1482
1336
  setSearchText,
@@ -1937,6 +1791,7 @@ module.exports = ___CSS_LOADER_EXPORT___;
1937
1791
 
1938
1792
  exports.__esModule = true;
1939
1793
  exports.enhanceOptionsWithComponents = void 0;
1794
+ var _classnames = _interopRequireDefault(__webpack_require__(6942));
1940
1795
  var _react = _interopRequireDefault(__webpack_require__(9206));
1941
1796
  var _CapLabel = _interopRequireDefault(__webpack_require__(3737));
1942
1797
  var _CapRow = _interopRequireDefault(__webpack_require__(7375));
@@ -1954,15 +1809,18 @@ const enhanceOptionsWithComponents = (options, type) => {
1954
1809
  if (!(options != null && options.length)) return [];
1955
1810
  const isTree = type === _constants.SELECT_TYPES.TREE_SELECT || type === _constants.SELECT_TYPES.MULTI_TREE_SELECT;
1956
1811
  const enhanceOptions = opts => opts.map(opt => {
1812
+ const displayText = (opt == null ? void 0 : opt.hoverText) || (opt == null ? void 0 : opt.label);
1813
+ const tooltipTitle = (opt == null ? void 0 : opt.hoverText) || undefined;
1957
1814
  const decoratedTitle = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CapRow.default, {
1958
1815
  className: _styles.default['cap-unified-select-option-with-suffix'],
1959
1816
  justify: "space-between",
1960
1817
  align: "middle",
1961
1818
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
1962
- className: _styles.default['cap-unified-select-option-label'],
1819
+ className: (0, _classnames.default)(_styles.default['cap-unified-select-option-label'], _styles.default['truncate-text']),
1820
+ title: tooltipTitle,
1963
1821
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
1964
1822
  type: "label14",
1965
- children: opt == null ? void 0 : opt.label
1823
+ children: displayText
1966
1824
  })
1967
1825
  }), ((opt == null ? void 0 : opt.optionSuffix) || (opt == null ? void 0 : opt.optionTooltipInfo)) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
1968
1826
  className: _styles.default['cap-unified-select-option-end'],
@@ -1985,31 +1843,36 @@ const enhanceOptionsWithComponents = (options, type) => {
1985
1843
  if (isTree) {
1986
1844
  return enhanceOptions(options);
1987
1845
  }
1988
- return options.map(opt => _extends({}, opt, {
1989
- title: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CapRow.default, {
1990
- className: _styles.default['cap-unified-select-option-with-suffix'],
1991
- justify: "space-between",
1992
- align: "middle",
1993
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
1994
- className: _styles.default['cap-unified-select-option-label'],
1995
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
1996
- type: "label14",
1997
- children: opt == null ? void 0 : opt.label
1998
- })
1999
- }), ((opt == null ? void 0 : opt.optionSuffix) || (opt == null ? void 0 : opt.optionTooltipInfo)) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
2000
- className: _styles.default['cap-unified-select-option-end'],
2001
- children: [(opt == null ? void 0 : opt.optionSuffix) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
2002
- className: _styles.default['cap-unified-select-option-suffix'],
2003
- children: [opt == null ? void 0 : opt.optionSuffix, (opt == null ? void 0 : opt.optionSuffixInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
2004
- title: opt == null ? void 0 : opt.optionSuffixInfo
1846
+ return options.map(opt => {
1847
+ const displayText = (opt == null ? void 0 : opt.hoverText) || (opt == null ? void 0 : opt.label);
1848
+ const tooltipTitle = (opt == null ? void 0 : opt.hoverText) || undefined;
1849
+ return _extends({}, opt, {
1850
+ title: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CapRow.default, {
1851
+ className: _styles.default['cap-unified-select-option-with-suffix'],
1852
+ justify: "space-between",
1853
+ align: "middle",
1854
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
1855
+ className: (0, _classnames.default)(_styles.default['cap-unified-select-option-label'], _styles.default['truncate-text']),
1856
+ title: tooltipTitle,
1857
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
1858
+ type: "label14",
1859
+ children: displayText
1860
+ })
1861
+ }), ((opt == null ? void 0 : opt.optionSuffix) || (opt == null ? void 0 : opt.optionTooltipInfo)) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
1862
+ className: _styles.default['cap-unified-select-option-end'],
1863
+ children: [(opt == null ? void 0 : opt.optionSuffix) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
1864
+ className: _styles.default['cap-unified-select-option-suffix'],
1865
+ children: [opt == null ? void 0 : opt.optionSuffix, (opt == null ? void 0 : opt.optionSuffixInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
1866
+ title: opt == null ? void 0 : opt.optionSuffixInfo
1867
+ })]
1868
+ }), (opt == null ? void 0 : opt.optionTooltipInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
1869
+ title: opt == null ? void 0 : opt.optionTooltipInfo
2005
1870
  })]
2006
- }), (opt == null ? void 0 : opt.optionTooltipInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
2007
- title: opt == null ? void 0 : opt.optionTooltipInfo
2008
1871
  })]
2009
- })]
2010
- }),
2011
- label: opt == null ? void 0 : opt.label
2012
- }));
1872
+ }),
1873
+ label: opt == null ? void 0 : opt.label
1874
+ });
1875
+ });
2013
1876
  };
2014
1877
  exports.enhanceOptionsWithComponents = enhanceOptionsWithComponents;
2015
1878
 
@@ -23159,7 +23022,7 @@ exports.CustomDropdown = CustomDropdown;
23159
23022
 
23160
23023
 
23161
23024
  exports.__esModule = true;
23162
- exports.reorderOptionsBySelection = exports.prepareDataSource = exports.findValueInOptions = exports.findMissingValues = exports.filterTreeData = exports.countSelectedLeaves = exports.buildTreeMaps = void 0;
23025
+ exports.reorderOptionsBySelection = exports.prepareDataSource = exports.getScrollContainer = exports.findValueInOptions = exports.findMissingValues = exports.filterTreeData = exports.countSelectedLeaves = exports.buildTreeMaps = void 0;
23163
23026
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
23164
23027
  /**
23165
23028
  * Builds tree maps for efficient tree operations
@@ -23397,7 +23260,32 @@ const prepareDataSource = (options, orderedOptions, searchText, value, staticVal
23397
23260
  const allOptions = hasSearchQuery ? [...sourceOptions, ...virtualOptions] : [...virtualOptions, ...sourceOptions];
23398
23261
  return allOptions != null && allOptions.length ? allOptions : [];
23399
23262
  };
23263
+
23264
+ /**
23265
+ * Finds the scrollable container element within the dropdown
23266
+ * Checks for tree list holder, virtual list holder, or dropdown itself
23267
+ * Returns the first scrollable container found, or null if none
23268
+ */
23400
23269
  exports.prepareDataSource = prepareDataSource;
23270
+ const getScrollContainer = () => {
23271
+ const dropdowns = document.querySelectorAll('.ant-select-dropdown:not(.ant-select-dropdown-hidden)');
23272
+ if (dropdowns.length === 0) return null;
23273
+ const dropdown = Array.from(dropdowns).pop();
23274
+ if (!dropdown) return null;
23275
+ const treeList = dropdown.querySelector('.ant-select-tree-list-holder');
23276
+ if (treeList && treeList.scrollHeight > treeList.clientHeight) {
23277
+ return treeList;
23278
+ }
23279
+ const virtualList = dropdown.querySelector('.rc-virtual-list-holder');
23280
+ if (virtualList && virtualList.scrollHeight > virtualList.clientHeight) {
23281
+ return virtualList;
23282
+ }
23283
+ if (dropdown.scrollHeight > dropdown.clientHeight) {
23284
+ return dropdown;
23285
+ }
23286
+ return null;
23287
+ };
23288
+ exports.getScrollContainer = getScrollContainer;
23401
23289
 
23402
23290
  /***/ }),
23403
23291
 
@@ -23566,6 +23454,227 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
23566
23454
 
23567
23455
  /***/ }),
23568
23456
 
23457
+ /***/ 9103:
23458
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
23459
+
23460
+ "use strict";
23461
+
23462
+
23463
+ exports.__esModule = true;
23464
+ exports.useInfiniteScroll = void 0;
23465
+ var _react = __webpack_require__(9206);
23466
+ var _constants = __webpack_require__(9788);
23467
+ var _utils = __webpack_require__(8052);
23468
+ /**
23469
+ * Custom hook for handling infinite scroll/pagination in dropdown
23470
+ * Manages scroll event listeners, loading states, and triggers onPopupScroll callback
23471
+ */
23472
+ const useInfiniteScroll = _ref => {
23473
+ let {
23474
+ onPopupScroll,
23475
+ hasMore,
23476
+ options,
23477
+ dropdownOpen,
23478
+ optionsRef,
23479
+ hasInteractedRef
23480
+ } = _ref;
23481
+ const [isLoadingOnScroll, setIsLoadingOnScroll] = (0, _react.useState)(false);
23482
+ const scrollContainerRef = (0, _react.useRef)(null);
23483
+ const scrollLoadingTimeoutRef = (0, _react.useRef)(null);
23484
+ const isScrollProcessingRef = (0, _react.useRef)(false);
23485
+ const scrollThrottleTimeoutRef = (0, _react.useRef)(null);
23486
+ const prevOptionsRefForScroll = (0, _react.useRef)(options);
23487
+ const scrollTriggerOptionsCountRef = (0, _react.useRef)(options.length);
23488
+ const prevOptionsCountRef = (0, _react.useRef)(options.length);
23489
+ (0, _react.useEffect)(() => {
23490
+ optionsRef.current = options;
23491
+ }, [options, optionsRef]);
23492
+ (0, _react.useEffect)(() => {
23493
+ return () => {
23494
+ if (scrollLoadingTimeoutRef.current) {
23495
+ clearTimeout(scrollLoadingTimeoutRef.current);
23496
+ }
23497
+ if (scrollThrottleTimeoutRef.current) {
23498
+ clearTimeout(scrollThrottleTimeoutRef.current);
23499
+ }
23500
+ };
23501
+ }, []);
23502
+ (0, _react.useEffect)(() => {
23503
+ if (!hasMore && isLoadingOnScroll) {
23504
+ setIsLoadingOnScroll(false);
23505
+ isScrollProcessingRef.current = false;
23506
+ if (scrollLoadingTimeoutRef.current) {
23507
+ clearTimeout(scrollLoadingTimeoutRef.current);
23508
+ scrollLoadingTimeoutRef.current = null;
23509
+ }
23510
+ }
23511
+ }, [hasMore, isLoadingOnScroll]);
23512
+
23513
+ /**
23514
+ * PRIMARY MECHANISM: Detect when API call completes by monitoring options changes
23515
+ * When onPopupScroll() is called, it triggers an API call. When the API completes,
23516
+ * the options prop will change (new data loaded). This effect detects that change
23517
+ * and sets loading to false, which is the correct way to handle API completion.
23518
+ *
23519
+ * This is the primary mechanism for detecting API completion when onPopupScroll
23520
+ * doesn't return a Promise (backward compatibility).
23521
+ */
23522
+ (0, _react.useEffect)(() => {
23523
+ if (!isLoadingOnScroll) {
23524
+ prevOptionsCountRef.current = options.length;
23525
+ prevOptionsRefForScroll.current = options;
23526
+ return;
23527
+ }
23528
+ if (!onPopupScroll) {
23529
+ return;
23530
+ }
23531
+ const optionsCountIncreased = options.length > prevOptionsCountRef.current;
23532
+ const optionsContentChanged = (() => {
23533
+ const prevCount = prevOptionsCountRef.current;
23534
+ const currentCount = options.length;
23535
+ if (prevCount !== currentCount) {
23536
+ return true;
23537
+ }
23538
+ if (currentCount > 0 && prevCount > 0 && prevOptionsRefForScroll.current.length > 0) {
23539
+ const prevOptions = prevOptionsRefForScroll.current;
23540
+ const lastPrevOption = prevOptions[prevOptions.length - 1];
23541
+ const lastCurrentOption = options[options.length - 1];
23542
+ if ((lastPrevOption == null ? void 0 : lastPrevOption.value) !== (lastCurrentOption == null ? void 0 : lastCurrentOption.value) || (lastPrevOption == null ? void 0 : lastPrevOption.label) !== (lastCurrentOption == null ? void 0 : lastCurrentOption.label)) {
23543
+ return true;
23544
+ }
23545
+ }
23546
+ return false;
23547
+ })();
23548
+ if (optionsCountIncreased || optionsContentChanged) {
23549
+ setIsLoadingOnScroll(false);
23550
+ isScrollProcessingRef.current = false;
23551
+ if (scrollLoadingTimeoutRef.current) {
23552
+ clearTimeout(scrollLoadingTimeoutRef.current);
23553
+ scrollLoadingTimeoutRef.current = null;
23554
+ }
23555
+ prevOptionsCountRef.current = options.length;
23556
+ prevOptionsRefForScroll.current = options;
23557
+ }
23558
+ }, [options, isLoadingOnScroll, onPopupScroll]);
23559
+ const handleScroll = (0, _react.useCallback)(event => {
23560
+ if (!onPopupScroll) return;
23561
+ const target = event.target;
23562
+ if (!target) return;
23563
+ const isNearBottom = Math.floor(target.scrollHeight - target.scrollTop) <= target.clientHeight;
23564
+ if (!isNearBottom) {
23565
+ isScrollProcessingRef.current = false;
23566
+ return;
23567
+ }
23568
+ if (isScrollProcessingRef.current) return;
23569
+ if (isLoadingOnScroll) return;
23570
+ if (!hasMore) {
23571
+ isScrollProcessingRef.current = false;
23572
+ return;
23573
+ }
23574
+ if (scrollThrottleTimeoutRef.current) {
23575
+ clearTimeout(scrollThrottleTimeoutRef.current);
23576
+ }
23577
+ isScrollProcessingRef.current = true;
23578
+ scrollThrottleTimeoutRef.current = setTimeout(() => {
23579
+ const stillNearBottom = Math.floor(target.scrollHeight - target.scrollTop) <= target.clientHeight;
23580
+ if (!stillNearBottom || isLoadingOnScroll || !hasMore) {
23581
+ isScrollProcessingRef.current = false;
23582
+ return;
23583
+ }
23584
+ const currentOptions = optionsRef.current;
23585
+ prevOptionsCountRef.current = currentOptions.length;
23586
+ prevOptionsRefForScroll.current = currentOptions;
23587
+ scrollTriggerOptionsCountRef.current = currentOptions.length;
23588
+ setIsLoadingOnScroll(true);
23589
+ if (scrollLoadingTimeoutRef.current) {
23590
+ clearTimeout(scrollLoadingTimeoutRef.current);
23591
+ scrollLoadingTimeoutRef.current = null;
23592
+ }
23593
+ hasInteractedRef.current = true;
23594
+ const scrollResult = onPopupScroll();
23595
+ if (scrollResult && typeof scrollResult === 'object' && 'then' in scrollResult) {
23596
+ Promise.resolve(scrollResult).then(() => {
23597
+ setIsLoadingOnScroll(false);
23598
+ isScrollProcessingRef.current = false;
23599
+ if (scrollLoadingTimeoutRef.current) {
23600
+ clearTimeout(scrollLoadingTimeoutRef.current);
23601
+ scrollLoadingTimeoutRef.current = null;
23602
+ }
23603
+ }).catch(() => {
23604
+ setIsLoadingOnScroll(false);
23605
+ isScrollProcessingRef.current = false;
23606
+ if (scrollLoadingTimeoutRef.current) {
23607
+ clearTimeout(scrollLoadingTimeoutRef.current);
23608
+ scrollLoadingTimeoutRef.current = null;
23609
+ }
23610
+ });
23611
+ }
23612
+ scrollLoadingTimeoutRef.current = setTimeout(() => {
23613
+ setIsLoadingOnScroll(prev => {
23614
+ if (prev) {
23615
+ scrollLoadingTimeoutRef.current = null;
23616
+ isScrollProcessingRef.current = false;
23617
+ return false;
23618
+ }
23619
+ return prev;
23620
+ });
23621
+ }, _constants.TIMEOUTS.SCROLL_LOADING_TIMEOUT);
23622
+ }, 150);
23623
+ }, [onPopupScroll, isLoadingOnScroll, hasMore, optionsRef, hasInteractedRef]);
23624
+ (0, _react.useEffect)(() => {
23625
+ if (!onPopupScroll || !dropdownOpen) return;
23626
+ const timeoutId = setTimeout(() => {
23627
+ const scrollContainer = (0, _utils.getScrollContainer)();
23628
+ if (scrollContainer) {
23629
+ scrollContainerRef.current = scrollContainer;
23630
+ scrollContainer.addEventListener('scroll', handleScroll, {
23631
+ passive: true
23632
+ });
23633
+ }
23634
+ }, _constants.TIMEOUTS.SCROLL_CONTAINER_DELAY);
23635
+ return () => {
23636
+ clearTimeout(timeoutId);
23637
+ if (scrollThrottleTimeoutRef.current) {
23638
+ clearTimeout(scrollThrottleTimeoutRef.current);
23639
+ scrollThrottleTimeoutRef.current = null;
23640
+ }
23641
+ if (scrollContainerRef.current) {
23642
+ scrollContainerRef.current.removeEventListener('scroll', handleScroll);
23643
+ scrollContainerRef.current = null;
23644
+ }
23645
+ isScrollProcessingRef.current = false;
23646
+ };
23647
+ }, [onPopupScroll, dropdownOpen, handleScroll]);
23648
+
23649
+ /**
23650
+ * Reset scroll state - used when clearing or closing dropdown
23651
+ */
23652
+ const resetScrollState = (0, _react.useCallback)(() => {
23653
+ setIsLoadingOnScroll(false);
23654
+ isScrollProcessingRef.current = false;
23655
+ if (scrollLoadingTimeoutRef.current) {
23656
+ clearTimeout(scrollLoadingTimeoutRef.current);
23657
+ scrollLoadingTimeoutRef.current = null;
23658
+ }
23659
+ if (scrollThrottleTimeoutRef.current) {
23660
+ clearTimeout(scrollThrottleTimeoutRef.current);
23661
+ scrollThrottleTimeoutRef.current = null;
23662
+ }
23663
+ if (scrollContainerRef.current) {
23664
+ scrollContainerRef.current.removeEventListener('scroll', handleScroll);
23665
+ scrollContainerRef.current = null;
23666
+ }
23667
+ }, [handleScroll]);
23668
+ return {
23669
+ isLoadingOnScroll,
23670
+ resetScrollState,
23671
+ scrollTriggerOptionsCountRef
23672
+ };
23673
+ };
23674
+ exports.useInfiniteScroll = useInfiniteScroll;
23675
+
23676
+ /***/ }),
23677
+
23569
23678
  /***/ 9162:
23570
23679
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
23571
23680
 
@@ -23747,7 +23856,7 @@ var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = __webpack_require__(1601);
23747
23856
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6314);
23748
23857
  var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);
23749
23858
  // Module
23750
- ___CSS_LOADER_EXPORT___.push([module.id, `.blaze-ui-cap-unified-select-header-wrapper{display:flex;align-items:center}.blaze-ui-cap-unified-select-header-wrapper.blaze-ui-disabled{opacity:.5;cursor:not-allowed}.blaze-ui-cap-unified-select-header-wrapper .blaze-ui-cap-unified-select-header-label{font-family:"Roboto",sans-serif;font-weight:500;font-size:1rem;line-height:1.429rem;letter-spacing:0}.blaze-ui-cap-unified-select-header-byline-text{font-family:"Roboto",sans-serif;font-weight:400;font-size:.857rem;letter-spacing:0;color:#97a0af}.blaze-ui-cap-unified-select-container{text-align:justify;min-width:13.786rem}.blaze-ui-cap-unified-select-container.blaze-ui-disabled{cursor:not-allowed}.blaze-ui-cap-unified-select-container .blaze-ui-cap-unified-select-more-text{cursor:pointer;color:#091e42;margin-right:.286rem;position:relative}.blaze-ui-cap-unified-select-container.ant-select-disabled .blaze-ui-cap-unified-select-more-text{color:unset !important;cursor:not-allowed}.blaze-ui-cap-unified-select-container.ant-select-focused .ant-select-selector{border:.071rem solid #091e42 !important}.blaze-ui-cap-unified-select-container .blaze-ui-cap-unified-select-suffix-icon{color:#7a869a}.blaze-ui-cap-unified-select-container .blaze-ui-cap-tooltip-with-info-icon{margin-top:.143rem}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select.blaze-ui-cap-unified-tree-select-readonly{pointer-events:none}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select.blaze-ui-cap-unified-tree-select-readonly .blaze-ui-cap-unified-select-more-text{pointer-events:auto;color:unset !important}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select .ant-select-tree-treenode{padding-left:.286rem}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly .ant-select-selector{background-color:#fff;border-color:#ebecf0 !important;cursor:default}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly .ant-select-arrow{pointer-events:auto;color:#b3bac5}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly.ant-select-outlined:hover .ant-select-selector,.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly.ant-select-outlined:active .ant-select-selector,.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly.ant-select-outlined:focus .ant-select-selector{border-color:#ebecf0 !important}.blaze-ui-cap-unified-select-container .blaze-ui-cap-unified-select-status{color:#ea213a}.blaze-ui-cap-unified-select-container .ant-select-outlined:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer):hover .ant-select-selector{border-color:#7a869a}.blaze-ui-cap-unified-select-container .ant-select-selector{background-color:#fff !important;border:.071rem solid #7a869a !important;border-radius:.286rem !important}.blaze-ui-cap-unified-select-container .ant-select-selector .ant-select-selection-placeholder{pointer-events:unset;color:#97a0af;display:flex;align-items:center}.blaze-ui-cap-unified-select-container .ant-select-prefix{font-size:1rem;font-weight:400;color:unset !important;line-height:1.429rem}.blaze-ui-cap-unified-select-container .ant-select-disabled .ant-select-prefix{color:unset !important}.blaze-ui-cap-unified-select-container .ant-input-affix-wrapper .ant-input-prefix{left:.857rem}.blaze-ui-cap-unified-select-container .ant-select-selector{border-color:#7a869a !important;box-shadow:none !important;outline:0}.blaze-ui-cap-unified-select-container .ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background-color:#47af46}.blaze-ui-cap-unified-select-container .ant-select-dropdown{margin-top:-0.571rem !important;border-radius:.286rem;background-color:#fff;box-shadow:0 .286rem .571rem -0.143rem rgba(9,30,66,.15),0 0 .071rem 0 rgba(9,30,66,.1);max-height:25.714rem;overflow:visible}.blaze-ui-cap-unified-select-container .ant-select-outlined.ant-select-multiple .ant-select-selection-wrap .ant-select-selection-item{background:rgba(0,0,0,0)}.blaze-ui-cap-unified-select-container .ant-select-multiple .ant-select-selection-wrap .ant-select-selection-item,.blaze-ui-cap-unified-select-container .ant-select-selection-wrap .ant-select-selection-item{background:rgba(0,0,0,0)}.blaze-ui-cap-unified-select-container .ant-select-multiple .ant-select-selection-wrap{align-self:center}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-search-container{border-bottom:.071rem solid #ebecf0 !important;line-height:2.857rem !important}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-search-container .blaze-ui-cap-unified-select-search-icon{color:#b3bac5}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-select-all-container{padding:.643rem 1.071rem;display:flex;align-items:center;border-bottom:.071rem solid #ebecf0;height:2.857rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-select-all-container .blaze-ui-cap-unified-select-select-all-checkbox{display:contents !important}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-upload-container{cursor:pointer;display:flex;align-items:center;border-bottom:.071rem solid #ebecf0;height:2.857rem;padding-left:1.143rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-upload-container .blaze-ui-cap-unified-select-upload-icon{color:#2466ea}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-upload-container .blaze-ui-cap-unified-select-upload-label{margin-left:.857rem;color:#2466ea}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container{display:flex;align-items:center;height:3.429rem;padding:.5rem;border-top:.071rem solid #ebecf0}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group{display:flex;padding-left:.571rem;align-items:center;width:100%}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-confirm-button{background-color:#47af46;height:2.286rem;width:6.714rem;color:#fff}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-confirm-button:hover{background-color:#1f9a1d}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-confirm-button:disabled{background-color:#a1d8a0}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-cancel-button{border:rgba(0,0,0,0);box-shadow:none;width:5.714rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-selected-count{display:flex;margin-left:auto;font-size:.857rem;font-weight:400;line-height:1.143rem;color:#5e6c84}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-tree-clear-container{display:flex;justify-content:center;align-items:center;height:2.857rem;border-top:.071rem solid #ebecf0;cursor:pointer;color:#091e42}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-tree-clear-container:hover{background-color:#ebecf0}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-tree-clear-container .blaze-ui-cap-unified-select-tree-clear-label{font-size:1rem;font-weight:400}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container{cursor:pointer;display:flex;align-items:center;margin-left:auto;padding-right:1.143rem;gap:.857rem;flex-wrap:nowrap}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container:hover{opacity:.8}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container .blaze-ui-cap-unified-select-footer-download-icon{color:#2466ea;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container .blaze-ui-cap-unified-select-footer-download-label{color:#2466ea;font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:.857rem;line-height:1.143rem;letter-spacing:0;white-space:nowrap;display:inline-flex;align-items:center}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-no-result{display:flex;flex-direction:column;align-items:center;justify-content:center;height:14.286rem;color:#97a0af;font-size:1rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-no-result .blaze-ui-cap-unified-select-no-result-text{font-weight:500}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:14.286rem;width:100%;gap:.571rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-loading-more{display:flex;align-items:center;justify-content:center;padding:.857rem;border-top:.071rem solid #ebecf0;color:#97a0af}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-menu-wrapper{position:relative;width:100%}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:rgba(255,255,255,.8);z-index:10;gap:.571rem;color:#97a0af}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix{display:flex;justify-content:start;align-items:center;width:100%;height:100%;line-height:1.5;vertical-align:middle;flex:1}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-label{display:flex;align-items:center;flex-shrink:1;min-width:0}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-end{display:flex;align-items:center;gap:.571rem;flex-shrink:0;margin-left:auto}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-suffix{display:flex;align-items:center;padding:0 .571rem;max-height:1.429rem;white-space:nowrap}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-tooltip-with-info .blaze-ui-cap-tooltip-with-info-icon{margin-top:.357rem;color:#42526e}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-tooltip-with-info .blaze-ui-cap-tooltip-with-info-icon .blaze-ui-cap-icon{color:#42526e}.blaze-ui-cap-unified-select-popup .ant-select-dropdown .ant-select-dropdown-menu{margin-top:0 !important}.blaze-ui-cap-unified-select-popup .ant-select-dropdown .ant-select-dropdown-menu .ant-select-dropdown-menu-item{padding:.571rem 1.714rem !important;height:unset !important;font-size:1rem !important}.blaze-ui-cap-unified-select-popup .ant-select-dropdown .ant-select-dropdown-menu-item-disabled{color:rgba(0,0,0,.25) !important;cursor:not-allowed !important;line-height:1.428rem !important;font-size:1rem !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-content-wrapper{background-color:rgba(0,0,0,0);height:100%;display:flex;align-items:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-content-wrapper:hover{background-color:rgba(0,0,0,0)}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper{background-color:rgba(0,0,0,0) !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode{height:2.857rem;margin-bottom:0;display:flex;align-items:center;width:100%}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode:hover{background-color:#fffbe6}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-selected{background-color:#f4f5f7 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-disabled{cursor:not-allowed !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-disabled .blaze-ui-cap-unified-select-option-label{color:#b3bac5}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-disabled .blaze-ui-cap-icon{color:#b3bac5 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode.ant-select-tree-treenode-selected{background-color:#f4f5f7}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-leaf .ant-select-tree-switcher-noop{display:none}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox{display:flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox .ant-select-tree-checkbox-inner{height:1.286rem;width:1.286rem;border:.143rem solid #b3bac5;border-radius:.286rem;display:flex;align-items:center;justify-content:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner{background-color:#47af46;border:.143rem solid #47af46 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:hover{background-color:#47af46;border:.143rem solid #47af46 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner{background-color:#47af46 !important;border-color:#47af46 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after{content:"";position:absolute;top:50%;left:50%;width:.714rem;height:.143rem;background-color:#fff;transform:translate(-50%, -50%);border-radius:.071rem}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-content-wrapper{border-radius:0;padding-left:.214rem;width:100%;display:flex;align-items:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-title{width:100%;display:flex}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-indent{margin-left:.857rem;display:flex;align-items:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-switcher{display:flex;align-items:center;justify-content:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-switcher:not(.ant-select-tree-switcher-noop):hover:before{background-color:rgba(0,0,0,0)}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-switcher .ant-select-tree-switcher-icon{font-size:.857rem;margin-top:1.286rem}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-list-holder-inner{width:fit-content !important;min-width:100%}.blaze-ui-cap-unified-select-popup .ant-tree-select:hover .ant-select-selector{border-color:#7a869a}.blaze-ui-cap-unified-select-popup .ant-tree-select-focused .ant-select-selector,.blaze-ui-cap-unified-select-popup .ant-tree-select-open .ant-select-selector{border-color:#7a869a;box-shadow:none;outline:none}.blaze-ui-cap-unified-select-popup .ant-checkbox-inner{height:1.286rem;width:1.286rem;border:.143rem solid #b3bac5;border-radius:.286rem}.blaze-ui-cap-unified-select-popup .ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-checked:not(.ant-checkbox-disabled) .ant-checkbox-inner{background-color:#47af46;border:.143rem solid #47af46 !important}.blaze-ui-cap-unified-select-popup .ant-checkbox-indeterminate .ant-checkbox-inner{background-color:#47af46 !important;border-color:#47af46 !important}.blaze-ui-cap-unified-select-popup .ant-checkbox-indeterminate .ant-checkbox-inner::after{content:"";position:absolute;top:50%;left:50%;width:.714rem;height:.143rem;background-color:#fff;transform:translate(-50%, -50%);border-radius:.071rem}.blaze-ui-cap-unified-select-popup .ant-input-affix-wrapper{padding-left:.571rem;border:none;box-shadow:none;border-radius:0;border-bottom:.071rem solid rgba(0,0,0,0);transition:border-color .2s ease}.blaze-ui-cap-unified-select-popup .ant-input-affix-wrapper:hover{border-bottom:.071rem solid #7a869a !important;box-shadow:none}.blaze-ui-cap-unified-select-popup .ant-input-affix-wrapper:focus-within{border-bottom:.071rem solid #091e42 !important;box-shadow:none;outline:none}.blaze-ui-cap-unified-select-popup .ant-input-affix-wrapper .ant-input{border:none !important;box-shadow:none !important}`, ""]);
23859
+ ___CSS_LOADER_EXPORT___.push([module.id, `.blaze-ui-cap-unified-select-header-wrapper{display:flex;align-items:center}.blaze-ui-cap-unified-select-header-wrapper.blaze-ui-disabled{opacity:.5;cursor:not-allowed}.blaze-ui-cap-unified-select-header-wrapper .blaze-ui-cap-unified-select-header-label{font-family:"Roboto",sans-serif;font-weight:500;font-size:1rem;line-height:1.429rem;letter-spacing:0}.blaze-ui-cap-unified-select-header-byline-text{font-family:"Roboto",sans-serif;font-weight:400;font-size:.857rem;letter-spacing:0;color:#97a0af}.blaze-ui-cap-unified-select-container{text-align:justify;min-width:13.786rem}.blaze-ui-cap-unified-select-container.blaze-ui-disabled{cursor:not-allowed}.blaze-ui-cap-unified-select-container .blaze-ui-cap-unified-select-more-text{cursor:pointer;color:#091e42;margin-right:.286rem;position:relative}.blaze-ui-cap-unified-select-container.ant-select-disabled .blaze-ui-cap-unified-select-more-text{color:unset !important;cursor:not-allowed}.blaze-ui-cap-unified-select-container.ant-select-focused .ant-select-selector{border:.071rem solid #091e42 !important}.blaze-ui-cap-unified-select-container .blaze-ui-cap-unified-select-suffix-icon{color:#7a869a}.blaze-ui-cap-unified-select-container .blaze-ui-cap-tooltip-with-info-icon{margin-top:.143rem}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select.blaze-ui-cap-unified-tree-select-readonly{pointer-events:none}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select.blaze-ui-cap-unified-tree-select-readonly .blaze-ui-cap-unified-select-more-text{pointer-events:auto;color:unset !important}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select .ant-select-tree-treenode{padding-left:.286rem}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly .ant-select-selector{background-color:#fff;border-color:#ebecf0 !important;cursor:default}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly .ant-select-arrow{pointer-events:auto;color:#b3bac5}.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly.ant-select-outlined:hover .ant-select-selector,.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly.ant-select-outlined:active .ant-select-selector,.blaze-ui-cap-unified-select-container.blaze-ui-cap-unified-tree-select-readonly.ant-select-outlined:focus .ant-select-selector{border-color:#ebecf0 !important}.blaze-ui-cap-unified-select-container .blaze-ui-cap-unified-select-status{color:#ea213a}.blaze-ui-cap-unified-select-container .ant-select-outlined:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer):hover .ant-select-selector{border-color:#7a869a}.blaze-ui-cap-unified-select-container .ant-select-selector{background-color:#fff !important;border:.071rem solid #7a869a !important;border-radius:.286rem !important}.blaze-ui-cap-unified-select-container .ant-select-selector .ant-select-selection-placeholder{pointer-events:unset;color:#97a0af;display:flex;align-items:center}.blaze-ui-cap-unified-select-container .ant-select-prefix{font-size:1rem;font-weight:400;color:unset !important;line-height:1.429rem}.blaze-ui-cap-unified-select-container .ant-select-disabled .ant-select-prefix{color:unset !important}.blaze-ui-cap-unified-select-container .ant-input-affix-wrapper .ant-input-prefix{left:.857rem}.blaze-ui-cap-unified-select-container .ant-select-selector{border-color:#7a869a !important;box-shadow:none !important;outline:0}.blaze-ui-cap-unified-select-container .ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background-color:#47af46}.blaze-ui-cap-unified-select-container .ant-select-dropdown{margin-top:-0.571rem !important;border-radius:.286rem;background-color:#fff;box-shadow:0 .286rem .571rem -0.143rem rgba(9,30,66,.15),0 0 .071rem 0 rgba(9,30,66,.1);max-height:25.714rem;overflow:visible}.blaze-ui-cap-unified-select-container .ant-select-outlined.ant-select-multiple .ant-select-selection-wrap .ant-select-selection-item{background:rgba(0,0,0,0)}.blaze-ui-cap-unified-select-container .ant-select-multiple .ant-select-selection-wrap .ant-select-selection-item,.blaze-ui-cap-unified-select-container .ant-select-selection-wrap .ant-select-selection-item{background:rgba(0,0,0,0)}.blaze-ui-cap-unified-select-container .ant-select-multiple .ant-select-selection-wrap{align-self:center}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-search-container{border-bottom:.071rem solid #ebecf0 !important;line-height:2.857rem !important}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-search-container .blaze-ui-cap-unified-select-search-icon{color:#b3bac5}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-select-all-container{padding:.643rem 1.071rem;display:flex;align-items:center;border-bottom:.071rem solid #ebecf0;height:2.857rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-select-all-container .blaze-ui-cap-unified-select-select-all-checkbox{display:contents !important}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-upload-container{cursor:pointer;display:flex;align-items:center;border-bottom:.071rem solid #ebecf0;height:2.857rem;padding-left:1.143rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-upload-container .blaze-ui-cap-unified-select-upload-icon{color:#2466ea}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-upload-container .blaze-ui-cap-unified-select-upload-label{margin-left:.857rem;color:#2466ea}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container{display:flex;align-items:center;height:3.429rem;padding:.5rem;border-top:.071rem solid #ebecf0}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group{display:flex;padding-left:.571rem;align-items:center;width:100%}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-confirm-button{background-color:#47af46;height:2.286rem;width:6.714rem;color:#fff}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-confirm-button:hover{background-color:#1f9a1d}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-confirm-button:disabled{background-color:#a1d8a0}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-cancel-button{border:rgba(0,0,0,0);box-shadow:none;width:5.714rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-confirm-container .blaze-ui-cap-unified-select-confirm-button-group .blaze-ui-cap-unified-select-selected-count{display:flex;margin-left:auto;font-size:.857rem;font-weight:400;line-height:1.143rem;color:#5e6c84}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-tree-clear-container{display:flex;justify-content:center;align-items:center;height:2.857rem;border-top:.071rem solid #ebecf0;cursor:pointer;color:#091e42}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-tree-clear-container:hover{background-color:#ebecf0}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-tree-clear-container .blaze-ui-cap-unified-select-tree-clear-label{font-size:1rem;font-weight:400}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container{cursor:pointer;display:flex;align-items:center;margin-left:auto;padding-right:1.143rem;gap:.857rem;flex-wrap:nowrap}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container:hover{opacity:.8}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container .blaze-ui-cap-unified-select-footer-download-icon{color:#2466ea;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container .blaze-ui-cap-unified-select-footer-download-label{color:#2466ea;font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:.857rem;line-height:1.143rem;letter-spacing:0;white-space:nowrap;display:inline-flex;align-items:center}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-no-result{display:flex;flex-direction:column;align-items:center;justify-content:center;height:14.286rem;color:#97a0af;font-size:1rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-no-result .blaze-ui-cap-unified-select-no-result-text{font-weight:500}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:14.286rem;width:100%;gap:.571rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-loading-more{display:flex;align-items:center;justify-content:center;padding:.857rem;border-top:.071rem solid #ebecf0;color:#97a0af}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-menu-wrapper{position:relative;width:100%}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:rgba(255,255,255,.8);z-index:10;gap:.571rem;color:#97a0af}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix{display:flex;justify-content:start;align-items:center;width:100%;height:100%;line-height:1.5;vertical-align:middle;flex:1}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-label{display:flex;align-items:center;flex-shrink:1;min-width:0}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-label.blaze-ui-truncate-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-label.blaze-ui-truncate-text .cap-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-end{display:flex;align-items:center;gap:.571rem;flex-shrink:0;margin-left:auto}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-suffix{display:flex;align-items:center;padding:0 .571rem;max-height:1.429rem;white-space:nowrap}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-tooltip-with-info .blaze-ui-cap-tooltip-with-info-icon{margin-top:.357rem;color:#42526e}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-tooltip-with-info .blaze-ui-cap-tooltip-with-info-icon .blaze-ui-cap-icon{color:#42526e}.blaze-ui-cap-unified-select-popup .ant-select-dropdown .ant-select-dropdown-menu{margin-top:0 !important}.blaze-ui-cap-unified-select-popup .ant-select-dropdown .ant-select-dropdown-menu .ant-select-dropdown-menu-item{padding:.571rem 1.714rem !important;height:unset !important;font-size:1rem !important}.blaze-ui-cap-unified-select-popup .ant-select-dropdown .ant-select-dropdown-menu-item-disabled{color:rgba(0,0,0,.25) !important;cursor:not-allowed !important;line-height:1.428rem !important;font-size:1rem !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-content-wrapper{background-color:rgba(0,0,0,0);height:100%;display:flex;align-items:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-content-wrapper:hover{background-color:rgba(0,0,0,0)}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper{background-color:rgba(0,0,0,0) !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode{height:2.857rem;margin-bottom:0;display:flex;align-items:center;width:100%}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode:hover{background-color:#fffbe6}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-selected{background-color:#f4f5f7 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-disabled{cursor:not-allowed !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-disabled .blaze-ui-cap-unified-select-option-label{color:#b3bac5}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-disabled .blaze-ui-cap-icon{color:#b3bac5 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode.ant-select-tree-treenode-selected{background-color:#f4f5f7}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-treenode-leaf .ant-select-tree-switcher-noop{display:none}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox{display:flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox .ant-select-tree-checkbox-inner{height:1.286rem;width:1.286rem;border:.143rem solid #b3bac5;border-radius:.286rem;display:flex;align-items:center;justify-content:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner{background-color:#47af46;border:.143rem solid #47af46 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:hover{background-color:#47af46;border:.143rem solid #47af46 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner{background-color:#47af46 !important;border-color:#47af46 !important}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-checkbox.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after{content:"";position:absolute;top:50%;left:50%;width:.714rem;height:.143rem;background-color:#fff;transform:translate(-50%, -50%);border-radius:.071rem}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-content-wrapper{border-radius:0;padding-left:.214rem;width:100%;display:flex;align-items:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-title{width:100%;display:flex}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-indent{margin-left:.857rem;display:flex;align-items:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-switcher{display:flex;align-items:center;justify-content:center}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-switcher:not(.ant-select-tree-switcher-noop):hover:before{background-color:rgba(0,0,0,0)}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-switcher .ant-select-tree-switcher-icon{font-size:.857rem;margin-top:1.286rem}.blaze-ui-cap-unified-select-popup .ant-select-tree .ant-select-tree-list-holder-inner{width:fit-content !important;min-width:100%}.blaze-ui-cap-unified-select-popup .ant-tree-select:hover .ant-select-selector{border-color:#7a869a}.blaze-ui-cap-unified-select-popup .ant-tree-select-focused .ant-select-selector,.blaze-ui-cap-unified-select-popup .ant-tree-select-open .ant-select-selector{border-color:#7a869a;box-shadow:none;outline:none}.blaze-ui-cap-unified-select-popup .ant-checkbox-inner{height:1.286rem;width:1.286rem;border:.143rem solid #b3bac5;border-radius:.286rem}.blaze-ui-cap-unified-select-popup .ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-checked:not(.ant-checkbox-disabled) .ant-checkbox-inner{background-color:#47af46;border:.143rem solid #47af46 !important}.blaze-ui-cap-unified-select-popup .ant-checkbox-indeterminate .ant-checkbox-inner{background-color:#47af46 !important;border-color:#47af46 !important}.blaze-ui-cap-unified-select-popup .ant-checkbox-indeterminate .ant-checkbox-inner::after{content:"";position:absolute;top:50%;left:50%;width:.714rem;height:.143rem;background-color:#fff;transform:translate(-50%, -50%);border-radius:.071rem}.blaze-ui-cap-unified-select-popup .ant-input-affix-wrapper{padding-left:.571rem;border:none;box-shadow:none;border-radius:0;border-bottom:.071rem solid rgba(0,0,0,0);transition:border-color .2s ease}.blaze-ui-cap-unified-select-popup .ant-input-affix-wrapper:hover{border-bottom:.071rem solid #7a869a !important;box-shadow:none}.blaze-ui-cap-unified-select-popup .ant-input-affix-wrapper:focus-within{border-bottom:.071rem solid #091e42 !important;box-shadow:none;outline:none}.blaze-ui-cap-unified-select-popup .ant-input-affix-wrapper .ant-input{border:none !important;box-shadow:none !important}`, ""]);
23751
23860
  // Exports
23752
23861
  ___CSS_LOADER_EXPORT___.locals = {
23753
23862
  "cap-unified-select-header-wrapper": `blaze-ui-cap-unified-select-header-wrapper`,
@@ -23787,6 +23896,7 @@ ___CSS_LOADER_EXPORT___.locals = {
23787
23896
  "cap-unified-select-loading-overlay": `blaze-ui-cap-unified-select-loading-overlay`,
23788
23897
  "cap-unified-select-option-with-suffix": `blaze-ui-cap-unified-select-option-with-suffix`,
23789
23898
  "cap-unified-select-option-label": `blaze-ui-cap-unified-select-option-label`,
23899
+ "truncate-text": `blaze-ui-truncate-text`,
23790
23900
  "cap-unified-select-option-end": `blaze-ui-cap-unified-select-option-end`,
23791
23901
  "cap-unified-select-option-suffix": `blaze-ui-cap-unified-select-option-suffix`,
23792
23902
  "cap-tooltip-with-info": `blaze-ui-cap-tooltip-with-info`,
@@ -23965,7 +24075,7 @@ var _default = exports["default"] = LocaleHoc;
23965
24075
 
23966
24076
  exports.__esModule = true;
23967
24077
  exports.CAP_SPACE_52 = exports.CAP_SPACE_48 = exports.CAP_SPACE_44 = exports.CAP_SPACE_42 = exports.CAP_SPACE_40 = exports.CAP_SPACE_36 = exports.CAP_SPACE_32 = exports.CAP_SPACE_28 = exports.CAP_SPACE_24 = exports.CAP_SPACE_23 = exports.CAP_SPACE_20 = exports.CAP_SPACE_19 = exports.CAP_SPACE_18 = exports.CAP_SPACE_16 = exports.CAP_SPACE_12 = exports.CAP_SPACE_08 = exports.CAP_SPACE_06 = exports.CAP_SPACE_04 = exports.CAP_SPACE_03 = exports.CAP_SPACE_02 = exports.CAP_SPACE_01 = exports.CAP_SPACE_00 = exports.CAP_SECONDARY = exports.CAP_RED03 = exports.CAP_RED02 = exports.CAP_RED01 = exports.CAP_RED = exports.CAP_PURPLE04 = exports.CAP_PURPLE03 = exports.CAP_PURPLE02 = exports.CAP_PURPLE01 = exports.CAP_PURPLE = exports.CAP_PRIMARY = exports.CAP_PINK = exports.CAP_PALE_GREY = exports.CAP_ORANGE02 = exports.CAP_ORANGE01 = exports.CAP_ORANGE = exports.CAP_ICON = exports.CAP_GREEN02 = exports.CAP_GREEN01 = exports.CAP_G20 = exports.CAP_G19 = exports.CAP_G18 = exports.CAP_G17 = exports.CAP_G16 = exports.CAP_G15 = exports.CAP_G14 = exports.CAP_G13 = exports.CAP_G12 = exports.CAP_G11 = exports.CAP_G10 = exports.CAP_G09 = exports.CAP_G08 = exports.CAP_G07 = exports.CAP_G06 = exports.CAP_G05 = exports.CAP_G04 = exports.CAP_G03 = exports.CAP_G02 = exports.CAP_G01 = exports.CAP_COLOR_27 = exports.CAP_COLOR_26 = exports.CAP_COLOR_25 = exports.CAP_COLOR_24 = exports.CAP_COLOR_23 = exports.CAP_COLOR_22 = exports.CAP_COLOR_21 = exports.CAP_COLOR_20 = exports.CAP_COLOR_19 = exports.CAP_COLOR_18 = exports.CAP_COLOR_17 = exports.CAP_COLOR_16 = exports.CAP_COLOR_15 = exports.CAP_COLOR_14 = exports.CAP_COLOR_13 = exports.CAP_COLOR_12 = exports.CAP_COLOR_11 = exports.CAP_COLOR_10 = exports.CAP_COLOR_09 = exports.CAP_COLOR_08 = exports.CAP_COLOR_07 = exports.CAP_COLOR_06 = exports.CAP_COLOR_05 = exports.CAP_COLOR_04 = exports.CAP_COLOR_03 = exports.CAP_COLOR_02 = exports.CAP_COLOR_01 = exports.CAP_BLUE02 = exports.CAP_BLUE01 = exports.CAP_BLUE = exports.CAP_BLACK_ALPHA01 = exports.CAP_BLACK = exports.BUTTON_HEIGHT = exports.BORDER_WIDTH_2 = exports.BORDER_WIDTH_1 = exports.BG_08 = exports.BG_03 = exports.BG_02 = exports.BG_01 = void 0;
23968
- exports.TRANSITION_ALL = exports.SPACING_32 = exports.SPACING_24 = exports.SPACING_16 = exports.SPACING_12 = exports.SPACING_08 = exports.SPACING_04 = exports.RADIUS_08 = exports.RADIUS_04 = exports.NORMAL_LINE_HEIGHT = exports.INPUT_HEIGHT = exports.ICON_SIZE_XS = exports.ICON_SIZE_S = exports.ICON_SIZE_M = exports.ICON_SIZE_L = exports.FONT_WEIGHT_REGULAR = exports.FONT_WEIGHT_MEDIUM = exports.FONT_SIZE_VS = exports.FONT_SIZE_VL = exports.FONT_SIZE_S = exports.FONT_SIZE_M = exports.FONT_SIZE_L = exports.FONT_FAMILY = exports.FONT_COLOR_06 = exports.FONT_COLOR_05 = exports.FONT_COLOR_04 = exports.FONT_COLOR_03 = exports.FONT_COLOR_02 = exports.FONT_COLOR_01 = exports.COLOR_WARNING = exports.COLOR_SUCCESS = exports.COLOR_INFO = exports.COLOR_ERROR = exports.CAP_YELLOW02 = exports.CAP_YELLOW01 = exports.CAP_YELLOW = exports.CAP_WHITE = exports.CAP_SPACE_80 = exports.CAP_SPACE_72 = exports.CAP_SPACE_64 = exports.CAP_SPACE_60 = exports.CAP_SPACE_56 = void 0;
24078
+ exports.TRANSITION_ALL = exports.SPACING_32 = exports.SPACING_24 = exports.SPACING_16 = exports.SPACING_12 = exports.SPACING_08 = exports.SPACING_04 = exports.RADIUS_08 = exports.RADIUS_04 = exports.NORMAL_LINE_HEIGHT = exports.INPUT_HEIGHT = exports.ICON_SIZE_XS = exports.ICON_SIZE_S = exports.ICON_SIZE_M = exports.ICON_SIZE_L = exports.FONT_WEIGHT_REGULAR = exports.FONT_WEIGHT_MEDIUM = exports.FONT_SIZE_VS = exports.FONT_SIZE_VL = exports.FONT_SIZE_S = exports.FONT_SIZE_M = exports.FONT_SIZE_L = exports.FONT_FAMILY = exports.FONT_COLOR_06 = exports.FONT_COLOR_05 = exports.FONT_COLOR_04 = exports.FONT_COLOR_03 = exports.FONT_COLOR_02 = exports.FONT_COLOR_01 = exports.COLOR_WARNING = exports.COLOR_SUCCESS = exports.COLOR_INFO = exports.COLOR_ERROR = exports.CAP_YELLOW02 = exports.CAP_YELLOW01 = exports.CAP_YELLOW = exports.CAP_WHITE_OVERLAY = exports.CAP_WHITE = exports.CAP_SPACE_80 = exports.CAP_SPACE_72 = exports.CAP_SPACE_64 = exports.CAP_SPACE_60 = exports.CAP_SPACE_56 = void 0;
23969
24079
  /* Color Palette */
23970
24080
  //========================
23971
24081
 
@@ -24030,6 +24140,7 @@ const CAP_G18 = exports.CAP_G18 = '#dcdee2';
24030
24140
  const CAP_G19 = exports.CAP_G19 = '#8a9ab2';
24031
24141
  const CAP_G20 = exports.CAP_G20 = '#c2c2c2';
24032
24142
  const CAP_WHITE = exports.CAP_WHITE = '#ffffff';
24143
+ const CAP_WHITE_OVERLAY = exports.CAP_WHITE_OVERLAY = 'rgba(255, 255, 255, 0.8)';
24033
24144
  const CAP_BLACK = exports.CAP_BLACK = '#000000';
24034
24145
  const CAP_BLACK_ALPHA01 = exports.CAP_BLACK_ALPHA01 = '#00000022';
24035
24146