@capillarytech/blaze-ui 1.0.3-alpha.6 → 1.0.3-alpha.7

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.
@@ -773,6 +773,7 @@ var _CapRow = _interopRequireDefault(__webpack_require__(7375));
773
773
  var _CapSpin = _interopRequireDefault(__webpack_require__(1549));
774
774
  var _CapTooltip = _interopRequireDefault(__webpack_require__(5636));
775
775
  var _CapTooltipWithInfo = _interopRequireDefault(__webpack_require__(2608));
776
+ var _constants = __webpack_require__(9788);
776
777
  var _styles = _interopRequireDefault(__webpack_require__(8263));
777
778
  var _jsxRuntime = __webpack_require__(4848);
778
779
  const _excluded = ["type", "options", "value", "onChange", "placeholder", "className", "style", "isError", "errorMessage", "containerClassName", "popoverClassName", "allowClear", "headerLabel", "onUpload", "uploadLabel", "tooltip", "bylineText", "disabled", "showUpload", "customPopupRender", "showSearch", "searchBasedOn", "onSearch", "searchDebounce", "onConfirm", "clearText", "noResultCustomText", "noResultCustomIcon", "readOnly", "staticValue", "onFooterDownloadChange", "onPopupScroll", "enableVirtualization", "virtualRowHeight", "resetSearch", "resetData"];
@@ -780,12 +781,6 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
780
781
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
781
782
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
782
783
  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); } /* eslint-disable max-lines */
783
- const SELECT_TYPES = {
784
- SELECT: 'select',
785
- MULTI_SELECT: 'multiSelect',
786
- TREE_SELECT: 'treeSelect',
787
- MULTI_TREE_SELECT: 'multiTreeSelect'
788
- };
789
784
  const NoResult = _ref => {
790
785
  let {
791
786
  noResultCustomText,
@@ -803,7 +798,7 @@ const NoResult = _ref => {
803
798
  size: "m"
804
799
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
805
800
  className: _styles.default['cap-unified-select-no-result-text'],
806
- children: showUpload && (options == null ? void 0 : options.length) === 0 ? noResultCustomText : 'No results found'
801
+ children: showUpload && (options == null ? void 0 : options.length) === 0 ? noResultCustomText : _constants.DEFAULTS.NO_RESULT_TEXT
807
802
  })]
808
803
  });
809
804
  };
@@ -919,11 +914,11 @@ const filterTreeData = function (data, search, searchBasedOn, selectedValues) {
919
914
  };
920
915
  const CapUnifiedSelect = _ref4 => {
921
916
  let {
922
- type = SELECT_TYPES.SELECT,
917
+ type = _constants.SELECT_TYPES.SELECT,
923
918
  options = [],
924
919
  value,
925
920
  onChange,
926
- placeholder = 'Select an option',
921
+ placeholder = _constants.DEFAULTS.PLACEHOLDER,
927
922
  className = '',
928
923
  style,
929
924
  isError = false,
@@ -933,7 +928,7 @@ const CapUnifiedSelect = _ref4 => {
933
928
  allowClear = false,
934
929
  headerLabel,
935
930
  onUpload,
936
- uploadLabel = 'Upload',
931
+ uploadLabel = _constants.DEFAULTS.UPLOAD_LABEL,
937
932
  tooltip,
938
933
  bylineText,
939
934
  disabled = false,
@@ -942,18 +937,18 @@ const CapUnifiedSelect = _ref4 => {
942
937
  showSearch = true,
943
938
  searchBasedOn = 'label',
944
939
  onSearch,
945
- searchDebounce = 300,
940
+ searchDebounce = _constants.TIMEOUTS.DEFAULT_SEARCH_DEBOUNCE,
946
941
  onConfirm,
947
- clearText = 'Clear',
948
- noResultCustomText = 'No results found',
949
- noResultCustomIcon = 'warning',
942
+ clearText = _constants.DEFAULTS.CLEAR_TEXT,
943
+ noResultCustomText = _constants.DEFAULTS.NO_RESULT_TEXT,
944
+ noResultCustomIcon = _constants.DEFAULTS.NO_RESULT_ICON,
950
945
  readOnly = false,
951
946
  staticValue = true,
952
947
  onFooterDownloadChange,
953
948
  onPopupScroll,
954
949
  enableVirtualization = false,
955
- virtualRowHeight = 32,
956
- resetSearch = false,
950
+ virtualRowHeight = _constants.DEFAULTS.VIRTUAL_ROW_HEIGHT,
951
+ resetSearch = true,
957
952
  resetData
958
953
  } = _ref4,
959
954
  rest = _objectWithoutPropertiesLoose(_ref4, _excluded);
@@ -968,6 +963,12 @@ const CapUnifiedSelect = _ref4 => {
968
963
  const searchTimeoutRef = (0, _react.useRef)(null);
969
964
  const scrollContainerRef = (0, _react.useRef)(null);
970
965
  const scrollLoadingTimeoutRef = (0, _react.useRef)(null);
966
+ // Track if scroll handler is currently processing to prevent duplicate calls
967
+ const isScrollProcessingRef = (0, _react.useRef)(false);
968
+ // Throttle ref for scroll events
969
+ const scrollThrottleTimeoutRef = (0, _react.useRef)(null);
970
+ // Ref to track options for scroll handler (avoids recreating handleScroll)
971
+ const optionsRef = (0, _react.useRef)(options);
971
972
  // Cache of selected items from async results to preserve them during search
972
973
  const selectedItemsCacheRef = (0, _react.useRef)(new Map());
973
974
  // Track the last search query to detect when options update after search
@@ -1068,7 +1069,12 @@ const CapUnifiedSelect = _ref4 => {
1068
1069
  }, [options, orderedOptions, tempValue]);
1069
1070
 
1070
1071
  // Extract debounce timeout (extracted early for use in useEffects)
1071
- const debounceTimeout = searchDebounce != null ? searchDebounce : 300;
1072
+ const debounceTimeout = searchDebounce != null ? searchDebounce : _constants.TIMEOUTS.DEFAULT_SEARCH_DEBOUNCE;
1073
+
1074
+ // Keep optionsRef in sync with options
1075
+ (0, _react.useEffect)(() => {
1076
+ optionsRef.current = options;
1077
+ }, [options]);
1072
1078
 
1073
1079
  // Cleanup timeouts on unmount
1074
1080
  (0, _react.useEffect)(() => {
@@ -1079,6 +1085,9 @@ const CapUnifiedSelect = _ref4 => {
1079
1085
  if (scrollLoadingTimeoutRef.current) {
1080
1086
  clearTimeout(scrollLoadingTimeoutRef.current);
1081
1087
  }
1088
+ if (scrollThrottleTimeoutRef.current) {
1089
+ clearTimeout(scrollThrottleTimeoutRef.current);
1090
+ }
1082
1091
  };
1083
1092
  }, []);
1084
1093
 
@@ -1101,8 +1110,8 @@ const CapUnifiedSelect = _ref4 => {
1101
1110
  const searchCleared = lastSearchQueryRef.current === '';
1102
1111
  const timeSinceCleared = searchClearedTimeRef.current ? Date.now() - searchClearedTimeRef.current : Infinity;
1103
1112
  const hasOptionsData = options.length > 0;
1104
- // Wait at least 200ms after search is cleared to allow API call to complete
1105
- const clearedSearchReady = searchCleared && hasOptionsData && timeSinceCleared > 200;
1113
+ // Wait at least SEARCH_CLEARED_TIMEOUT after search is cleared to allow API call to complete
1114
+ const clearedSearchReady = searchCleared && hasOptionsData && timeSinceCleared > _constants.TIMEOUTS.SEARCH_CLEARED_TIMEOUT;
1106
1115
  if (optionsChanged || clearedSearchReady) {
1107
1116
  // Options updated after search - data has arrived
1108
1117
  // Use a small delay to ensure state updates are processed
@@ -1113,7 +1122,7 @@ const CapUnifiedSelect = _ref4 => {
1113
1122
  if (searchCleared) {
1114
1123
  searchClearedTimeRef.current = null;
1115
1124
  }
1116
- }, 100);
1125
+ }, _constants.TIMEOUTS.SEARCH_STATE_UPDATE_DELAY);
1117
1126
  return () => clearTimeout(timeoutId);
1118
1127
  }
1119
1128
  prevOptionsRef.current = options;
@@ -1132,8 +1141,8 @@ const CapUnifiedSelect = _ref4 => {
1132
1141
  // For cleared search (empty string), use a shorter timeout since it should reload initial data quickly
1133
1142
  // For regular search, use debounce timeout + buffer
1134
1143
  const searchCleared = lastSearchQueryRef.current === '';
1135
- const timeoutDuration = searchCleared ? debounceTimeout + 300 // Shorter timeout for cleared search
1136
- : debounceTimeout + 500; // Longer timeout for regular search
1144
+ const timeoutDuration = searchCleared ? debounceTimeout + _constants.TIMEOUTS.SEARCH_CLEARED_BUFFER // Shorter timeout for cleared search
1145
+ : debounceTimeout + _constants.TIMEOUTS.SEARCH_REGULAR_BUFFER; // Longer timeout for regular search
1137
1146
 
1138
1147
  // Calculate timeout: debounce timeout + a small buffer for API response
1139
1148
  // This ensures we wait for the API call to complete before showing "No results"
@@ -1171,7 +1180,7 @@ const CapUnifiedSelect = _ref4 => {
1171
1180
  // Additional check: if enough time has passed since resetData was called
1172
1181
  // and we have options data, assume data has loaded even if comparison didn't detect change
1173
1182
  const timeSinceReset = resetDataCalledTimeRef.current ? Date.now() - resetDataCalledTimeRef.current : Infinity;
1174
- const hasDataAfterTimeout = currentOptions.length > 0 && timeSinceReset > 300 && timeSinceReset < 2000;
1183
+ const hasDataAfterTimeout = currentOptions.length > 0 && timeSinceReset > _constants.TIMEOUTS.RESET_DATA_MIN_TIME && timeSinceReset < _constants.TIMEOUTS.RESET_DATA_MAX_TIME;
1175
1184
 
1176
1185
  // If options changed or enough time has passed with data, clear the loading state
1177
1186
  if (optionsChanged || hasDataAfterTimeout) {
@@ -1198,8 +1207,7 @@ const CapUnifiedSelect = _ref4 => {
1198
1207
  prevOptionsBeforeResetRef.current = options;
1199
1208
  // Clear timestamp
1200
1209
  resetDataCalledTimeRef.current = null;
1201
- }, 1000); // 1 second timeout for resetData operations
1202
-
1210
+ }, _constants.TIMEOUTS.RESET_DATA_TIMEOUT);
1203
1211
  return () => clearTimeout(fallbackTimeout);
1204
1212
  }, [isResettingData, options]);
1205
1213
 
@@ -1252,6 +1260,8 @@ const CapUnifiedSelect = _ref4 => {
1252
1260
  if (optionsCountIncreased || optionsContentChanged) {
1253
1261
  // Options updated after scroll - data has arrived, clear loading overlay
1254
1262
  setIsLoadingOnScroll(false);
1263
+ // Reset processing flag to allow next scroll event
1264
+ isScrollProcessingRef.current = false;
1255
1265
  if (scrollLoadingTimeoutRef.current) {
1256
1266
  clearTimeout(scrollLoadingTimeoutRef.current);
1257
1267
  scrollLoadingTimeoutRef.current = null;
@@ -1312,11 +1322,11 @@ const CapUnifiedSelect = _ref4 => {
1312
1322
  // Clear loading state after a short delay (filtering is instant but we show feedback)
1313
1323
  searchTimeoutRef.current = setTimeout(() => {
1314
1324
  setIsSearching(false);
1315
- }, 150); // Brief delay to show loading indicator
1325
+ }, _constants.TIMEOUTS.STATIC_SEARCH_DELAY);
1316
1326
  }
1317
1327
  }, [onSearch, staticValue, debounceTimeout]);
1318
- const isMulti = (0, _react.useMemo)(() => type === SELECT_TYPES.MULTI_SELECT || type === SELECT_TYPES.MULTI_TREE_SELECT, [type]);
1319
- const isTree = (0, _react.useMemo)(() => type === SELECT_TYPES.TREE_SELECT || type === SELECT_TYPES.MULTI_TREE_SELECT, [type]);
1328
+ const isMulti = (0, _react.useMemo)(() => type === _constants.SELECT_TYPES.MULTI_SELECT || type === _constants.SELECT_TYPES.MULTI_TREE_SELECT, [type]);
1329
+ const isTree = (0, _react.useMemo)(() => type === _constants.SELECT_TYPES.TREE_SELECT || type === _constants.SELECT_TYPES.MULTI_TREE_SELECT, [type]);
1320
1330
 
1321
1331
  // Use options directly since pagination is handled by the developer
1322
1332
  const mergedOptions = (0, _react.useMemo)(() => {
@@ -1677,10 +1687,15 @@ const CapUnifiedSelect = _ref4 => {
1677
1687
  clearTimeout(scrollLoadingTimeoutRef.current);
1678
1688
  scrollLoadingTimeoutRef.current = null;
1679
1689
  }
1690
+ if (scrollThrottleTimeoutRef.current) {
1691
+ clearTimeout(scrollThrottleTimeoutRef.current);
1692
+ scrollThrottleTimeoutRef.current = null;
1693
+ }
1680
1694
  // Reset loading states
1681
1695
  setIsSearching(false);
1682
1696
  searchClearedTimeRef.current = null; // Clear search cleared timestamp
1683
1697
  setIsLoadingOnScroll(false);
1698
+ isScrollProcessingRef.current = false;
1684
1699
  // Safety check: Clear isResettingData if it's still true when opening
1685
1700
  // This handles cases where options updated while dropdown was closed
1686
1701
  if (isResettingData) {
@@ -1706,10 +1721,15 @@ const CapUnifiedSelect = _ref4 => {
1706
1721
  }
1707
1722
  // Reset scroll loading state
1708
1723
  setIsLoadingOnScroll(false);
1724
+ isScrollProcessingRef.current = false;
1709
1725
  if (scrollLoadingTimeoutRef.current) {
1710
1726
  clearTimeout(scrollLoadingTimeoutRef.current);
1711
1727
  scrollLoadingTimeoutRef.current = null;
1712
1728
  }
1729
+ if (scrollThrottleTimeoutRef.current) {
1730
+ clearTimeout(scrollThrottleTimeoutRef.current);
1731
+ scrollThrottleTimeoutRef.current = null;
1732
+ }
1713
1733
  scrollContainerRef.current = null;
1714
1734
 
1715
1735
  // Only call resetData if user actually interacted (selected, searched, etc.)
@@ -1769,6 +1789,7 @@ const CapUnifiedSelect = _ref4 => {
1769
1789
 
1770
1790
  // Handle scroll event - automatically checks if scroll is near bottom
1771
1791
  // Developer handles hasMore and isLoading conditions in onPopupScroll callback
1792
+ // Using refs to avoid recreating the callback when options change
1772
1793
  const handleScroll = (0, _react.useCallback)(event => {
1773
1794
  if (!onPopupScroll) return;
1774
1795
  const target = event.target;
@@ -1779,74 +1800,83 @@ const CapUnifiedSelect = _ref4 => {
1779
1800
 
1780
1801
  // Only call onPopupScroll if scroll is near bottom
1781
1802
  // Developer will handle hasMore and isLoading checks inside the callback
1782
- if (!isNearBottom) return;
1803
+ if (!isNearBottom) {
1804
+ // Reset processing flag when not near bottom
1805
+ isScrollProcessingRef.current = false;
1806
+ return;
1807
+ }
1808
+
1809
+ // Prevent multiple scroll triggers while already processing
1810
+ // This ensures we don't trigger multiple API calls simultaneously
1811
+ if (isScrollProcessingRef.current) return;
1783
1812
 
1784
1813
  // Prevent multiple scroll triggers while already loading
1785
1814
  // This ensures loading state is managed properly and data loading completes
1786
1815
  if (isLoadingOnScroll) return;
1787
1816
 
1788
- // Store current options count and options reference before triggering load
1789
- // This helps detect when new data arrives
1790
- // Store the reference directly - we'll compare by length and last item
1791
- prevOptionsCountRef.current = options.length;
1792
- prevOptionsRefForScroll.current = options;
1793
- // Also store the count at scroll trigger time for orderedOptions update
1794
- scrollTriggerOptionsCountRef.current = options.length;
1795
-
1796
- // Show loading indicator when scrolling near bottom
1797
- // This happens before calling onPopupScroll to provide immediate feedback
1798
- setIsLoadingOnScroll(true);
1799
-
1800
- // Clear any existing timeout
1801
- if (scrollLoadingTimeoutRef.current) {
1802
- clearTimeout(scrollLoadingTimeoutRef.current);
1803
- scrollLoadingTimeoutRef.current = null;
1817
+ // Throttle scroll events to prevent rapid-fire API calls
1818
+ // Clear any existing throttle timeout
1819
+ if (scrollThrottleTimeoutRef.current) {
1820
+ clearTimeout(scrollThrottleTimeoutRef.current);
1804
1821
  }
1805
1822
 
1806
- // Create a React synthetic event-like object with scroll information
1807
- // const syntheticEvent = {
1808
- // target: target,
1809
- // currentTarget: target,
1810
- // nativeEvent: event,
1811
- // bubbles: false,
1812
- // cancelable: false,
1813
- // defaultPrevented: false,
1814
- // eventPhase: 0,
1815
- // isTrusted: false,
1816
- // timeStamp: Date.now(),
1817
- // type: 'scroll',
1818
- // detail: 0,
1819
- // view: null,
1820
- // preventDefault: () => { },
1821
- // stopPropagation: () => { },
1822
- // stopImmediatePropagation: () => { },
1823
- // isDefaultPrevented: () => false,
1824
- // isPropagationStopped: () => false,
1825
- // } as unknown as React.UIEvent<HTMLElement>;
1826
-
1827
- // Mark as interacted when user scrolls (triggers data loading)
1828
- hasInteractedRef.current = true;
1823
+ // Set processing flag immediately to prevent duplicate calls
1824
+ isScrollProcessingRef.current = true;
1829
1825
 
1830
- // Call the developer's scroll handler - component already checked scroll position
1831
- // Developer should check hasMore and isLoading inside the callback
1832
- // This triggers the async data loading
1833
- onPopupScroll();
1834
-
1835
- // Set a fallback timeout to clear loading if options don't change
1836
- // This prevents loading from staying forever if data never arrives
1837
- // Using a longer timeout (10 seconds) to give enough time for slow API calls
1838
- scrollLoadingTimeoutRef.current = setTimeout(() => {
1839
- // Only clear if still loading (options change detection might have cleared it already)
1840
- setIsLoadingOnScroll(prev => {
1841
- if (prev) {
1842
- // Clear the timeout reference when clearing loading state
1843
- scrollLoadingTimeoutRef.current = null;
1844
- return false;
1845
- }
1846
- return prev;
1847
- });
1848
- }, 10000); // 10 seconds fallback - much longer than the previous 500ms
1849
- }, [onPopupScroll, isLoadingOnScroll, options.length]);
1826
+ // Throttle the actual API call to prevent multiple rapid triggers
1827
+ scrollThrottleTimeoutRef.current = setTimeout(() => {
1828
+ // Double-check we're still near bottom and not loading
1829
+ const stillNearBottom = Math.floor(target.scrollHeight - target.scrollTop) <= target.clientHeight;
1830
+ if (!stillNearBottom || isLoadingOnScroll) {
1831
+ isScrollProcessingRef.current = false;
1832
+ return;
1833
+ }
1834
+
1835
+ // Store current options count and options reference before triggering load
1836
+ // This helps detect when new data arrives
1837
+ // Use ref to get current options without depending on options.length
1838
+ const currentOptions = optionsRef.current;
1839
+ prevOptionsCountRef.current = currentOptions.length;
1840
+ prevOptionsRefForScroll.current = currentOptions;
1841
+ // Also store the count at scroll trigger time for orderedOptions update
1842
+ scrollTriggerOptionsCountRef.current = currentOptions.length;
1843
+
1844
+ // Show loading indicator when scrolling near bottom
1845
+ // This happens before calling onPopupScroll to provide immediate feedback
1846
+ setIsLoadingOnScroll(true);
1847
+
1848
+ // Clear any existing timeout
1849
+ if (scrollLoadingTimeoutRef.current) {
1850
+ clearTimeout(scrollLoadingTimeoutRef.current);
1851
+ scrollLoadingTimeoutRef.current = null;
1852
+ }
1853
+
1854
+ // Mark as interacted when user scrolls (triggers data loading)
1855
+ hasInteractedRef.current = true;
1856
+
1857
+ // Call the developer's scroll handler - component already checked scroll position
1858
+ // Developer should check hasMore and isLoading inside the callback
1859
+ // This triggers the async data loading
1860
+ onPopupScroll();
1861
+
1862
+ // Set a fallback timeout to clear loading if options don't change
1863
+ // This prevents loading from staying forever if data never arrives
1864
+ // Using a longer timeout (10 seconds) to give enough time for slow API calls
1865
+ scrollLoadingTimeoutRef.current = setTimeout(() => {
1866
+ // Only clear if still loading (options change detection might have cleared it already)
1867
+ setIsLoadingOnScroll(prev => {
1868
+ if (prev) {
1869
+ // Clear the timeout reference when clearing loading state
1870
+ scrollLoadingTimeoutRef.current = null;
1871
+ // Reset processing flag when loading times out
1872
+ isScrollProcessingRef.current = false;
1873
+ return false;
1874
+ }
1875
+ return prev;
1876
+ });
1877
+ }, _constants.TIMEOUTS.SCROLL_LOADING_TIMEOUT);
1878
+ }, 150); // 150ms throttle to prevent rapid-fire events
1879
+ }, [onPopupScroll, isLoadingOnScroll]);
1850
1880
 
1851
1881
  // Setup scroll listener for onPopupScroll
1852
1882
  (0, _react.useEffect)(() => {
@@ -1890,13 +1920,20 @@ const CapUnifiedSelect = _ref4 => {
1890
1920
  passive: true
1891
1921
  });
1892
1922
  }
1893
- }, 100);
1923
+ }, _constants.TIMEOUTS.SCROLL_CONTAINER_DELAY);
1894
1924
  return () => {
1895
1925
  clearTimeout(timeoutId);
1926
+ // Clear throttle timeout when cleaning up
1927
+ if (scrollThrottleTimeoutRef.current) {
1928
+ clearTimeout(scrollThrottleTimeoutRef.current);
1929
+ scrollThrottleTimeoutRef.current = null;
1930
+ }
1896
1931
  if (scrollContainerRef.current) {
1897
1932
  scrollContainerRef.current.removeEventListener('scroll', handleScroll);
1898
1933
  scrollContainerRef.current = null;
1899
1934
  }
1935
+ // Reset processing flag when listener is removed
1936
+ isScrollProcessingRef.current = false;
1900
1937
  };
1901
1938
  }, [onPopupScroll, dropdownOpen, handleScroll]);
1902
1939
  const renderHeader = (0, _react.useMemo)(() => {
@@ -2051,7 +2088,7 @@ const CapUnifiedSelect = _ref4 => {
2051
2088
  })]
2052
2089
  })]
2053
2090
  })
2054
- }), (type === SELECT_TYPES.SELECT || type === SELECT_TYPES.TREE_SELECT) && allowClear && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapRow.default, {
2091
+ }), (type === _constants.SELECT_TYPES.SELECT || type === _constants.SELECT_TYPES.TREE_SELECT) && allowClear && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapRow.default, {
2055
2092
  className: _styles.default['cap-unified-select-tree-clear-container'],
2056
2093
  onClick: handleClearAll,
2057
2094
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
@@ -2139,7 +2176,7 @@ const CapUnifiedSelect = _ref4 => {
2139
2176
  popupMatchSelectWidth: false,
2140
2177
  disabled: disabled,
2141
2178
  filterTreeNode: false,
2142
- listHeight: 256,
2179
+ listHeight: _constants.DEFAULTS.LIST_HEIGHT,
2143
2180
  listItemHeight: virtualRowHeight,
2144
2181
  popupRender: renderCustomDropdown
2145
2182
  }, rest)), isError && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
@@ -2945,7 +2982,7 @@ var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = __webpack_require__(1601);
2945
2982
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6314);
2946
2983
  var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);
2947
2984
  // Module
2948
- ___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.ant-select-focused .ant-select-selector{border:.071rem solid #091e42 !important}.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 .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}.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:#091e42;line-height:1.429rem}.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}.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}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container .blaze-ui-cap-unified-select-footer-download-label{margin-left:.857rem;color:#2466ea;font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:.857rem;line-height:1.143rem;letter-spacing:0;text-align:right}.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:8px}.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:8px;color:#97a0af}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix{display:flex;justify-content:space-between;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{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}`, ""]);
2985
+ ___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.ant-select-focused .ant-select-selector{border:.071rem solid #091e42 !important}.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 .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}.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:#091e42;line-height:1.429rem}.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}.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}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-footer-download-container .blaze-ui-cap-unified-select-footer-download-label{margin-left:.857rem;color:#2466ea;font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:.857rem;line-height:1.143rem;letter-spacing:0;text-align:right}.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;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{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}`, ""]);
2949
2986
  // Exports
2950
2987
  ___CSS_LOADER_EXPORT___.locals = {
2951
2988
  "cap-unified-select-header-wrapper": `blaze-ui-cap-unified-select-header-wrapper`,
@@ -2993,6 +3030,73 @@ ___CSS_LOADER_EXPORT___.locals = {
2993
3030
  module.exports = ___CSS_LOADER_EXPORT___;
2994
3031
 
2995
3032
 
3033
+ /***/ }),
3034
+
3035
+ /***/ 9788:
3036
+ /***/ ((__unused_webpack_module, exports) => {
3037
+
3038
+ "use strict";
3039
+
3040
+
3041
+ exports.__esModule = true;
3042
+ exports.TIMEOUTS = exports.SELECT_TYPES = exports.DEFAULTS = void 0;
3043
+ /**
3044
+ * Select type constants for CapUnifiedSelect component
3045
+ */
3046
+ const SELECT_TYPES = exports.SELECT_TYPES = {
3047
+ SELECT: 'select',
3048
+ MULTI_SELECT: 'multiSelect',
3049
+ TREE_SELECT: 'treeSelect',
3050
+ MULTI_TREE_SELECT: 'multiTreeSelect'
3051
+ };
3052
+ /**
3053
+ * Timeout constants (in milliseconds)
3054
+ */
3055
+ const TIMEOUTS = exports.TIMEOUTS = {
3056
+ /** Default search debounce timeout */
3057
+ DEFAULT_SEARCH_DEBOUNCE: 300,
3058
+ /** Delay for state updates after search */
3059
+ SEARCH_STATE_UPDATE_DELAY: 100,
3060
+ /** Minimum time since search was cleared to consider data ready */
3061
+ SEARCH_CLEARED_TIMEOUT: 200,
3062
+ /** Buffer time added to debounce for cleared search */
3063
+ SEARCH_CLEARED_BUFFER: 300,
3064
+ /** Buffer time added to debounce for regular search */
3065
+ SEARCH_REGULAR_BUFFER: 500,
3066
+ /** Brief delay to show loading indicator for static search */
3067
+ STATIC_SEARCH_DELAY: 150,
3068
+ /** Timeout for resetData fallback (1 second) */
3069
+ RESET_DATA_TIMEOUT: 1000,
3070
+ /** Minimum time since resetData was called to consider data ready */
3071
+ RESET_DATA_MIN_TIME: 300,
3072
+ /** Maximum time since resetData was called to consider data ready */
3073
+ RESET_DATA_MAX_TIME: 2000,
3074
+ /** Fallback timeout for scroll loading (10 seconds) */
3075
+ SCROLL_LOADING_TIMEOUT: 10000,
3076
+ /** Delay before setting up scroll container listener */
3077
+ SCROLL_CONTAINER_DELAY: 100
3078
+ };
3079
+
3080
+ /**
3081
+ * Default values for component props
3082
+ */
3083
+ const DEFAULTS = exports.DEFAULTS = {
3084
+ /** Default placeholder text */
3085
+ PLACEHOLDER: 'Select an option',
3086
+ /** Default upload button label */
3087
+ UPLOAD_LABEL: 'Upload',
3088
+ /** Default clear button text */
3089
+ CLEAR_TEXT: 'Clear',
3090
+ /** Default no results message */
3091
+ NO_RESULT_TEXT: 'No results found',
3092
+ /** Default no results icon */
3093
+ NO_RESULT_ICON: 'warning',
3094
+ /** Default virtual row height in pixels */
3095
+ VIRTUAL_ROW_HEIGHT: 32,
3096
+ /** Default list height in pixels */
3097
+ LIST_HEIGHT: 256
3098
+ };
3099
+
2996
3100
  /***/ })
2997
3101
 
2998
3102
  /******/ });