@capillarytech/blaze-ui 1.0.3-alpha.5 → 1.0.3-alpha.6
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.
|
@@ -775,12 +775,11 @@ var _CapTooltip = _interopRequireDefault(__webpack_require__(5636));
|
|
|
775
775
|
var _CapTooltipWithInfo = _interopRequireDefault(__webpack_require__(2608));
|
|
776
776
|
var _styles = _interopRequireDefault(__webpack_require__(8263));
|
|
777
777
|
var _jsxRuntime = __webpack_require__(4848);
|
|
778
|
-
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", "
|
|
778
|
+
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"];
|
|
779
779
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
780
780
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
781
781
|
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
|
-
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); }
|
|
783
|
-
// import { List, AutoSizer } from 'react-virtualized';
|
|
782
|
+
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 */
|
|
784
783
|
const SELECT_TYPES = {
|
|
785
784
|
SELECT: 'select',
|
|
786
785
|
MULTI_SELECT: 'multiSelect',
|
|
@@ -954,8 +953,7 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
954
953
|
onPopupScroll,
|
|
955
954
|
enableVirtualization = false,
|
|
956
955
|
virtualRowHeight = 32,
|
|
957
|
-
|
|
958
|
-
clearSearchOnClose = true,
|
|
956
|
+
resetSearch = false,
|
|
959
957
|
resetData
|
|
960
958
|
} = _ref4,
|
|
961
959
|
rest = _objectWithoutPropertiesLoose(_ref4, _excluded);
|
|
@@ -964,6 +962,7 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
964
962
|
const [dropdownOpen, setDropdownOpen] = (0, _react.useState)(false);
|
|
965
963
|
const [isSearching, setIsSearching] = (0, _react.useState)(false);
|
|
966
964
|
const [isLoadingOnScroll, setIsLoadingOnScroll] = (0, _react.useState)(false);
|
|
965
|
+
const [isResettingData, setIsResettingData] = (0, _react.useState)(false);
|
|
967
966
|
// Store ordered options after confirm (selected items moved to top based on selection order)
|
|
968
967
|
const [orderedOptions, setOrderedOptions] = (0, _react.useState)(null);
|
|
969
968
|
const searchTimeoutRef = (0, _react.useRef)(null);
|
|
@@ -973,8 +972,12 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
973
972
|
const selectedItemsCacheRef = (0, _react.useRef)(new Map());
|
|
974
973
|
// Track the last search query to detect when options update after search
|
|
975
974
|
const lastSearchQueryRef = (0, _react.useRef)('');
|
|
975
|
+
// Track when search was cleared to help clear loading state
|
|
976
|
+
const searchClearedTimeRef = (0, _react.useRef)(null);
|
|
976
977
|
// Track previous options to detect when they change after a search
|
|
977
978
|
const prevOptionsRef = (0, _react.useRef)(options);
|
|
979
|
+
// Track previous options before resetData is called to detect when options update
|
|
980
|
+
const prevOptionsBeforeResetRef = (0, _react.useRef)(options);
|
|
978
981
|
// Track previous options count to detect when options change after scroll
|
|
979
982
|
const prevOptionsCountRef = (0, _react.useRef)(options.length);
|
|
980
983
|
// Track previous options to detect when options change (even if count stays same)
|
|
@@ -983,6 +986,14 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
983
986
|
const scrollTriggerOptionsCountRef = (0, _react.useRef)(options.length);
|
|
984
987
|
// Track if initial sort has been done (only sort once on initial load with selected values)
|
|
985
988
|
const initialSortDoneRef = (0, _react.useRef)(false);
|
|
989
|
+
// Track if user has interacted with the dropdown during current session (selected, searched, etc.)
|
|
990
|
+
const hasInteractedRef = (0, _react.useRef)(false);
|
|
991
|
+
// Track the initial tempValue when dropdown opens to detect if user made changes
|
|
992
|
+
const initialTempValueRef = (0, _react.useRef)(value);
|
|
993
|
+
// Track if resetData was already called in the current session to prevent duplicate calls
|
|
994
|
+
const resetDataCalledRef = (0, _react.useRef)(false);
|
|
995
|
+
// Track when resetData was called to help clear loading state
|
|
996
|
+
const resetDataCalledTimeRef = (0, _react.useRef)(null);
|
|
986
997
|
(0, _react.useEffect)(() => {
|
|
987
998
|
const isEqual = Array.isArray(value) && Array.isArray(tempValue) ? (value == null ? void 0 : value.length) === (tempValue == null ? void 0 : tempValue.length) && value.every(v => Array.isArray(tempValue) && tempValue.includes(v)) : value === tempValue;
|
|
988
999
|
if (!isEqual) {
|
|
@@ -1075,19 +1086,33 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1075
1086
|
// This prevents showing "No results found" before data arrives
|
|
1076
1087
|
(0, _react.useEffect)(() => {
|
|
1077
1088
|
// Only handle this for API-based searches (staticValue = false)
|
|
1078
|
-
if (
|
|
1089
|
+
// Check if lastSearchQueryRef has been set (including empty string for cleared search)
|
|
1090
|
+
const hasSearchQuery = lastSearchQueryRef.current !== null && lastSearchQueryRef.current !== undefined;
|
|
1091
|
+
if (staticValue || !isSearching || !hasSearchQuery) {
|
|
1079
1092
|
prevOptionsRef.current = options;
|
|
1080
1093
|
return;
|
|
1081
1094
|
}
|
|
1082
1095
|
|
|
1083
1096
|
// Check if options actually changed (reference or content)
|
|
1084
1097
|
const optionsChanged = prevOptionsRef.current !== options || prevOptionsRef.current.length !== options.length;
|
|
1085
|
-
|
|
1098
|
+
|
|
1099
|
+
// Also check if search was cleared (empty string) and enough time has passed
|
|
1100
|
+
// This handles the case where clearing search reloads initial data that might be the same reference
|
|
1101
|
+
const searchCleared = lastSearchQueryRef.current === '';
|
|
1102
|
+
const timeSinceCleared = searchClearedTimeRef.current ? Date.now() - searchClearedTimeRef.current : Infinity;
|
|
1103
|
+
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;
|
|
1106
|
+
if (optionsChanged || clearedSearchReady) {
|
|
1086
1107
|
// Options updated after search - data has arrived
|
|
1087
1108
|
// Use a small delay to ensure state updates are processed
|
|
1088
1109
|
const timeoutId = setTimeout(() => {
|
|
1089
1110
|
setIsSearching(false);
|
|
1090
1111
|
prevOptionsRef.current = options;
|
|
1112
|
+
// Clear timestamp when search loading is cleared
|
|
1113
|
+
if (searchCleared) {
|
|
1114
|
+
searchClearedTimeRef.current = null;
|
|
1115
|
+
}
|
|
1091
1116
|
}, 100);
|
|
1092
1117
|
return () => clearTimeout(timeoutId);
|
|
1093
1118
|
}
|
|
@@ -1098,20 +1123,86 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1098
1123
|
// This handles edge cases where options might not change reference but data has arrived
|
|
1099
1124
|
// Also handles error cases where options don't update after search
|
|
1100
1125
|
(0, _react.useEffect)(() => {
|
|
1101
|
-
if (
|
|
1126
|
+
// Check if lastSearchQueryRef has been set (including empty string for cleared search)
|
|
1127
|
+
const hasSearchQuery = lastSearchQueryRef.current !== null && lastSearchQueryRef.current !== undefined;
|
|
1128
|
+
if (!isSearching || staticValue || !hasSearchQuery) {
|
|
1102
1129
|
return;
|
|
1103
1130
|
}
|
|
1104
1131
|
|
|
1132
|
+
// For cleared search (empty string), use a shorter timeout since it should reload initial data quickly
|
|
1133
|
+
// For regular search, use debounce timeout + buffer
|
|
1134
|
+
const searchCleared = lastSearchQueryRef.current === '';
|
|
1135
|
+
const timeoutDuration = searchCleared ? debounceTimeout + 300 // Shorter timeout for cleared search
|
|
1136
|
+
: debounceTimeout + 500; // Longer timeout for regular search
|
|
1137
|
+
|
|
1105
1138
|
// Calculate timeout: debounce timeout + a small buffer for API response
|
|
1106
1139
|
// This ensures we wait for the API call to complete before showing "No results"
|
|
1107
1140
|
// For error cases where options don't update, this will clear loading state
|
|
1108
1141
|
const fallbackTimeout = setTimeout(() => {
|
|
1109
1142
|
setIsSearching(false);
|
|
1110
|
-
|
|
1111
|
-
|
|
1143
|
+
searchClearedTimeRef.current = null; // Clear search cleared timestamp
|
|
1144
|
+
}, timeoutDuration);
|
|
1112
1145
|
return () => clearTimeout(fallbackTimeout);
|
|
1113
1146
|
}, [isSearching, staticValue, debounceTimeout, options.length]);
|
|
1114
1147
|
|
|
1148
|
+
// Detect when options update after resetData is called to clear loading state
|
|
1149
|
+
(0, _react.useEffect)(() => {
|
|
1150
|
+
if (!isResettingData) {
|
|
1151
|
+
// Update ref even when not resetting to keep it in sync
|
|
1152
|
+
prevOptionsBeforeResetRef.current = options;
|
|
1153
|
+
// Clear timestamp when not resetting
|
|
1154
|
+
resetDataCalledTimeRef.current = null;
|
|
1155
|
+
return;
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
// Check if options actually changed (reference, length, or content)
|
|
1159
|
+
// Compare against the options that existed before resetData was called
|
|
1160
|
+
const prevOptions = prevOptionsBeforeResetRef.current;
|
|
1161
|
+
const currentOptions = options;
|
|
1162
|
+
|
|
1163
|
+
// More robust comparison: check reference, length, or any content differences
|
|
1164
|
+
const optionsChanged = prevOptions !== currentOptions || prevOptions.length !== currentOptions.length ||
|
|
1165
|
+
// Deep comparison: check if any option values or labels changed
|
|
1166
|
+
prevOptions.length === currentOptions.length && prevOptions.length > 0 && prevOptions.some((prevOpt, idx) => {
|
|
1167
|
+
const currentOpt = currentOptions[idx];
|
|
1168
|
+
return !currentOpt || prevOpt.value !== currentOpt.value || prevOpt.label !== currentOpt.label;
|
|
1169
|
+
});
|
|
1170
|
+
|
|
1171
|
+
// Additional check: if enough time has passed since resetData was called
|
|
1172
|
+
// and we have options data, assume data has loaded even if comparison didn't detect change
|
|
1173
|
+
const timeSinceReset = resetDataCalledTimeRef.current ? Date.now() - resetDataCalledTimeRef.current : Infinity;
|
|
1174
|
+
const hasDataAfterTimeout = currentOptions.length > 0 && timeSinceReset > 300 && timeSinceReset < 2000;
|
|
1175
|
+
|
|
1176
|
+
// If options changed or enough time has passed with data, clear the loading state
|
|
1177
|
+
if (optionsChanged || hasDataAfterTimeout) {
|
|
1178
|
+
// Options updated after resetData - data has arrived
|
|
1179
|
+
// Clear immediately without delay for faster response
|
|
1180
|
+
setIsResettingData(false);
|
|
1181
|
+
prevOptionsBeforeResetRef.current = currentOptions;
|
|
1182
|
+
resetDataCalledTimeRef.current = null;
|
|
1183
|
+
}
|
|
1184
|
+
}, [options, isResettingData]);
|
|
1185
|
+
|
|
1186
|
+
// Fallback: Clear resetData loading state after a reasonable timeout
|
|
1187
|
+
// This handles edge cases where options might not change reference but data has arrived
|
|
1188
|
+
(0, _react.useEffect)(() => {
|
|
1189
|
+
if (!isResettingData) {
|
|
1190
|
+
return;
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
// Set a timeout to clear loading state if options don't update
|
|
1194
|
+
// Reduced timeout to 1 second for faster recovery
|
|
1195
|
+
const fallbackTimeout = setTimeout(() => {
|
|
1196
|
+
setIsResettingData(false);
|
|
1197
|
+
// Update ref to current options to prevent false positives in future comparisons
|
|
1198
|
+
prevOptionsBeforeResetRef.current = options;
|
|
1199
|
+
// Clear timestamp
|
|
1200
|
+
resetDataCalledTimeRef.current = null;
|
|
1201
|
+
}, 1000); // 1 second timeout for resetData operations
|
|
1202
|
+
|
|
1203
|
+
return () => clearTimeout(fallbackTimeout);
|
|
1204
|
+
}, [isResettingData, options]);
|
|
1205
|
+
|
|
1115
1206
|
// Detect when options change after scroll to clear loading overlay
|
|
1116
1207
|
(0, _react.useEffect)(() => {
|
|
1117
1208
|
// Always update refs when options change (when not loading)
|
|
@@ -1181,9 +1272,23 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1181
1272
|
}
|
|
1182
1273
|
const trimmedQuery = query.trim();
|
|
1183
1274
|
|
|
1275
|
+
// Track when search is cleared (empty string after having a query)
|
|
1276
|
+
const wasSearching = lastSearchQueryRef.current !== '';
|
|
1277
|
+
const isNowCleared = trimmedQuery === '';
|
|
1278
|
+
if (wasSearching && isNowCleared) {
|
|
1279
|
+
searchClearedTimeRef.current = Date.now();
|
|
1280
|
+
} else if (!isNowCleared) {
|
|
1281
|
+
searchClearedTimeRef.current = null;
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1184
1284
|
// Track the search query to detect when options update
|
|
1185
1285
|
lastSearchQueryRef.current = trimmedQuery;
|
|
1186
1286
|
|
|
1287
|
+
// Mark as interacted if user typed something (even if they clear it later)
|
|
1288
|
+
if (trimmedQuery.length > 0 || lastSearchQueryRef.current.length > 0) {
|
|
1289
|
+
hasInteractedRef.current = true;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1187
1292
|
// For API-based searches (staticValue = false), always call onSearch
|
|
1188
1293
|
// This allows the developer to reload all initial data when search is cleared
|
|
1189
1294
|
if (!staticValue && onSearch) {
|
|
@@ -1201,8 +1306,13 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1201
1306
|
// For static searches, if query is empty, just reset the state
|
|
1202
1307
|
setIsSearching(false);
|
|
1203
1308
|
} else {
|
|
1204
|
-
// For static searches with content,
|
|
1205
|
-
|
|
1309
|
+
// For static searches with content, show brief loading indicator
|
|
1310
|
+
// Set loading state briefly to show user feedback
|
|
1311
|
+
setIsSearching(true);
|
|
1312
|
+
// Clear loading state after a short delay (filtering is instant but we show feedback)
|
|
1313
|
+
searchTimeoutRef.current = setTimeout(() => {
|
|
1314
|
+
setIsSearching(false);
|
|
1315
|
+
}, 150); // Brief delay to show loading indicator
|
|
1206
1316
|
}
|
|
1207
1317
|
}, [onSearch, staticValue, debounceTimeout]);
|
|
1208
1318
|
const isMulti = (0, _react.useMemo)(() => type === SELECT_TYPES.MULTI_SELECT || type === SELECT_TYPES.MULTI_TREE_SELECT, [type]);
|
|
@@ -1382,17 +1492,24 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1382
1492
|
const enhanceOptions = opts => opts.map(opt => {
|
|
1383
1493
|
const decoratedTitle = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CapRow.default, {
|
|
1384
1494
|
className: _styles.default['cap-unified-select-option-with-suffix'],
|
|
1385
|
-
|
|
1386
|
-
|
|
1495
|
+
justify: "space-between",
|
|
1496
|
+
align: "middle",
|
|
1497
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
1387
1498
|
className: _styles.default['cap-unified-select-option-label'],
|
|
1388
|
-
children:
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1499
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
|
|
1500
|
+
type: "label14",
|
|
1501
|
+
children: opt == null ? void 0 : opt.label
|
|
1502
|
+
})
|
|
1503
|
+
}), ((opt == null ? void 0 : opt.optionSuffix) || (opt == null ? void 0 : opt.optionTooltipInfo)) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
1504
|
+
className: _styles.default['cap-unified-select-option-end'],
|
|
1505
|
+
children: [(opt == null ? void 0 : opt.optionSuffix) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
1506
|
+
className: _styles.default['cap-unified-select-option-suffix'],
|
|
1507
|
+
children: [opt == null ? void 0 : opt.optionSuffix, (opt == null ? void 0 : opt.optionSuffixInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
|
|
1508
|
+
title: opt == null ? void 0 : opt.optionSuffixInfo
|
|
1509
|
+
})]
|
|
1510
|
+
}), (opt == null ? void 0 : opt.optionTooltipInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
|
|
1511
|
+
title: opt == null ? void 0 : opt.optionTooltipInfo
|
|
1393
1512
|
})]
|
|
1394
|
-
}), (opt == null ? void 0 : opt.optionTooltipInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
|
|
1395
|
-
title: opt == null ? void 0 : opt.optionTooltipInfo
|
|
1396
1513
|
})]
|
|
1397
1514
|
});
|
|
1398
1515
|
return _extends({}, opt, {
|
|
@@ -1404,17 +1521,24 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1404
1521
|
return isTree ? enhanceOptions(sourceOptions) : sourceOptions.map(opt => _extends({}, opt, {
|
|
1405
1522
|
title: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CapRow.default, {
|
|
1406
1523
|
className: _styles.default['cap-unified-select-option-with-suffix'],
|
|
1407
|
-
|
|
1408
|
-
|
|
1524
|
+
justify: "space-between",
|
|
1525
|
+
align: "middle",
|
|
1526
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
1409
1527
|
className: _styles.default['cap-unified-select-option-label'],
|
|
1410
|
-
children:
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1528
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
|
|
1529
|
+
type: "label14",
|
|
1530
|
+
children: opt == null ? void 0 : opt.label
|
|
1531
|
+
})
|
|
1532
|
+
}), ((opt == null ? void 0 : opt.optionSuffix) || (opt == null ? void 0 : opt.optionTooltipInfo)) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
1533
|
+
className: _styles.default['cap-unified-select-option-end'],
|
|
1534
|
+
children: [(opt == null ? void 0 : opt.optionSuffix) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
1535
|
+
className: _styles.default['cap-unified-select-option-suffix'],
|
|
1536
|
+
children: [opt == null ? void 0 : opt.optionSuffix, (opt == null ? void 0 : opt.optionSuffixInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
|
|
1537
|
+
title: opt == null ? void 0 : opt.optionSuffixInfo
|
|
1538
|
+
})]
|
|
1539
|
+
}), (opt == null ? void 0 : opt.optionTooltipInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
|
|
1540
|
+
title: opt == null ? void 0 : opt.optionTooltipInfo
|
|
1415
1541
|
})]
|
|
1416
|
-
}), (opt == null ? void 0 : opt.optionTooltipInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapTooltipWithInfo.default, {
|
|
1417
|
-
title: opt == null ? void 0 : opt.optionTooltipInfo
|
|
1418
1542
|
})]
|
|
1419
1543
|
}),
|
|
1420
1544
|
label: opt == null ? void 0 : opt.label
|
|
@@ -1475,6 +1599,9 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1475
1599
|
return null;
|
|
1476
1600
|
}, [isMulti, displayValue, treeMaps]);
|
|
1477
1601
|
const handleConfirm = (0, _react.useCallback)(() => {
|
|
1602
|
+
// Mark as interacted since user clicked confirm (explicit action)
|
|
1603
|
+
hasInteractedRef.current = true;
|
|
1604
|
+
|
|
1478
1605
|
// Reorder options based on selection order when confirm is clicked
|
|
1479
1606
|
// Use mergedOptions to include paginated options if they exist
|
|
1480
1607
|
const optionsToReorder = mergedOptions;
|
|
@@ -1494,51 +1621,125 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1494
1621
|
setDropdownOpen(false);
|
|
1495
1622
|
// Always clear searching state since search operation is complete
|
|
1496
1623
|
setIsSearching(false);
|
|
1497
|
-
// Clear search
|
|
1624
|
+
searchClearedTimeRef.current = null; // Clear search cleared timestamp
|
|
1625
|
+
// Clear search text on confirm only if resetSearch is true
|
|
1498
1626
|
// This allows users to keep their search when reopening the dropdown if desired
|
|
1499
|
-
if (
|
|
1627
|
+
if (resetSearch) {
|
|
1500
1628
|
setSearchText('');
|
|
1501
1629
|
lastSearchQueryRef.current = ''; // Clear search query ref
|
|
1502
1630
|
}
|
|
1503
1631
|
// Call resetData to allow developer to reload initial data
|
|
1504
|
-
|
|
1632
|
+
if (resetData) {
|
|
1633
|
+
// Store current options before calling resetData to detect when they update
|
|
1634
|
+
prevOptionsBeforeResetRef.current = mergedOptions;
|
|
1635
|
+
setIsResettingData(true);
|
|
1636
|
+
resetDataCalledRef.current = true;
|
|
1637
|
+
resetDataCalledTimeRef.current = Date.now();
|
|
1638
|
+
resetData();
|
|
1639
|
+
}
|
|
1505
1640
|
onConfirm == null || onConfirm(tempValue);
|
|
1506
|
-
}, [onChange, onConfirm, tempValue,
|
|
1641
|
+
}, [onChange, onConfirm, tempValue, resetSearch, isMulti, mergedOptions, reorderOptionsBySelection, resetData]);
|
|
1507
1642
|
const handleClearAll = (0, _react.useCallback)(() => {
|
|
1643
|
+
// Mark as interacted since user clicked clear (explicit action)
|
|
1644
|
+
hasInteractedRef.current = true;
|
|
1508
1645
|
const cleared = isMulti ? [] : undefined;
|
|
1509
1646
|
setTempValue(cleared);
|
|
1510
1647
|
onChange == null || onChange(cleared);
|
|
1511
1648
|
setDropdownOpen(false);
|
|
1512
1649
|
// Call resetData to allow developer to reload initial data
|
|
1513
|
-
|
|
1514
|
-
|
|
1650
|
+
if (resetData) {
|
|
1651
|
+
// Store current options before calling resetData to detect when they update
|
|
1652
|
+
prevOptionsBeforeResetRef.current = options;
|
|
1653
|
+
setIsResettingData(true);
|
|
1654
|
+
resetDataCalledRef.current = true;
|
|
1655
|
+
resetDataCalledTimeRef.current = Date.now();
|
|
1656
|
+
resetData();
|
|
1657
|
+
}
|
|
1658
|
+
}, [isMulti, onChange, resetData, options]);
|
|
1515
1659
|
const handleDropdownVisibilityChange = (0, _react.useCallback)(open => {
|
|
1516
1660
|
if (readOnly) {
|
|
1517
1661
|
return;
|
|
1518
1662
|
}
|
|
1519
|
-
if (
|
|
1663
|
+
if (open) {
|
|
1664
|
+
// Reset interaction tracking when dropdown opens
|
|
1665
|
+
// Store initial value (not tempValue) to detect if user makes changes
|
|
1666
|
+
// This ensures we track changes from the actual selected value, not temporary state
|
|
1667
|
+
initialTempValueRef.current = value;
|
|
1668
|
+
hasInteractedRef.current = false;
|
|
1669
|
+
resetDataCalledRef.current = false;
|
|
1670
|
+
// Clear any pending search timeouts
|
|
1671
|
+
if (searchTimeoutRef.current) {
|
|
1672
|
+
clearTimeout(searchTimeoutRef.current);
|
|
1673
|
+
searchTimeoutRef.current = null;
|
|
1674
|
+
}
|
|
1675
|
+
// Clear any pending scroll loading timeouts
|
|
1676
|
+
if (scrollLoadingTimeoutRef.current) {
|
|
1677
|
+
clearTimeout(scrollLoadingTimeoutRef.current);
|
|
1678
|
+
scrollLoadingTimeoutRef.current = null;
|
|
1679
|
+
}
|
|
1680
|
+
// Reset loading states
|
|
1681
|
+
setIsSearching(false);
|
|
1682
|
+
searchClearedTimeRef.current = null; // Clear search cleared timestamp
|
|
1683
|
+
setIsLoadingOnScroll(false);
|
|
1684
|
+
// Safety check: Clear isResettingData if it's still true when opening
|
|
1685
|
+
// This handles cases where options updated while dropdown was closed
|
|
1686
|
+
if (isResettingData) {
|
|
1687
|
+
setIsResettingData(false);
|
|
1688
|
+
// Update ref to current options to prevent false positives
|
|
1689
|
+
prevOptionsBeforeResetRef.current = options;
|
|
1690
|
+
// Clear timestamp
|
|
1691
|
+
resetDataCalledTimeRef.current = null;
|
|
1692
|
+
}
|
|
1693
|
+
} else {
|
|
1694
|
+
// Dropdown is closing
|
|
1520
1695
|
if (!customPopupRender) {
|
|
1521
1696
|
onChange == null || onChange(tempValue);
|
|
1522
1697
|
} else {
|
|
1523
1698
|
setTempValue(value);
|
|
1524
1699
|
}
|
|
1525
1700
|
// Clear search when closing (if enabled)
|
|
1526
|
-
if (
|
|
1701
|
+
if (resetSearch) {
|
|
1527
1702
|
setSearchText('');
|
|
1528
1703
|
setIsSearching(false);
|
|
1529
1704
|
lastSearchQueryRef.current = ''; // Clear search query ref
|
|
1705
|
+
searchClearedTimeRef.current = null; // Clear search cleared timestamp
|
|
1530
1706
|
}
|
|
1531
1707
|
// Reset scroll loading state
|
|
1532
1708
|
setIsLoadingOnScroll(false);
|
|
1533
1709
|
if (scrollLoadingTimeoutRef.current) {
|
|
1534
1710
|
clearTimeout(scrollLoadingTimeoutRef.current);
|
|
1711
|
+
scrollLoadingTimeoutRef.current = null;
|
|
1535
1712
|
}
|
|
1536
1713
|
scrollContainerRef.current = null;
|
|
1537
|
-
|
|
1538
|
-
resetData
|
|
1714
|
+
|
|
1715
|
+
// Only call resetData if user actually interacted (selected, searched, etc.)
|
|
1716
|
+
// and resetData hasn't been called already in this session
|
|
1717
|
+
// This prevents multiple API calls when user just opens/closes without interaction
|
|
1718
|
+
if (resetData && hasInteractedRef.current && !resetDataCalledRef.current) {
|
|
1719
|
+
// Store current options before calling resetData to detect when they update
|
|
1720
|
+
prevOptionsBeforeResetRef.current = options;
|
|
1721
|
+
setIsResettingData(true);
|
|
1722
|
+
resetDataCalledRef.current = true;
|
|
1723
|
+
resetDataCalledTimeRef.current = Date.now();
|
|
1724
|
+
resetData();
|
|
1725
|
+
} else if (!hasInteractedRef.current) {
|
|
1726
|
+
// User did nothing - reset everything as if it's a fresh load
|
|
1727
|
+
// Clear any pending operations
|
|
1728
|
+
if (searchTimeoutRef.current) {
|
|
1729
|
+
clearTimeout(searchTimeoutRef.current);
|
|
1730
|
+
searchTimeoutRef.current = null;
|
|
1731
|
+
}
|
|
1732
|
+
setIsSearching(false);
|
|
1733
|
+
setIsResettingData(false);
|
|
1734
|
+
// Reset search query ref
|
|
1735
|
+
lastSearchQueryRef.current = '';
|
|
1736
|
+
}
|
|
1737
|
+
|
|
1738
|
+
// Reset interaction flag for next session
|
|
1739
|
+
hasInteractedRef.current = false;
|
|
1539
1740
|
}
|
|
1540
1741
|
setDropdownOpen(open);
|
|
1541
|
-
}, [customPopupRender, value, onChange, tempValue, readOnly,
|
|
1742
|
+
}, [customPopupRender, value, onChange, tempValue, readOnly, resetSearch, resetData, options]);
|
|
1542
1743
|
const handleFooterDownload = (0, _react.useCallback)(() => {
|
|
1543
1744
|
const currentValues = Array.isArray(tempValue) ? tempValue : tempValue ? [tempValue] : [];
|
|
1544
1745
|
onFooterDownloadChange == null || onFooterDownloadChange(currentValues);
|
|
@@ -1623,6 +1824,9 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1623
1824
|
// isPropagationStopped: () => false,
|
|
1624
1825
|
// } as unknown as React.UIEvent<HTMLElement>;
|
|
1625
1826
|
|
|
1827
|
+
// Mark as interacted when user scrolls (triggers data loading)
|
|
1828
|
+
hasInteractedRef.current = true;
|
|
1829
|
+
|
|
1626
1830
|
// Call the developer's scroll handler - component already checked scroll position
|
|
1627
1831
|
// Developer should check hasMore and isLoading inside the callback
|
|
1628
1832
|
// This triggers the async data loading
|
|
@@ -1759,7 +1963,7 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1759
1963
|
tempValue: Array.isArray(tempValue) ? tempValue : undefined,
|
|
1760
1964
|
setTempValue: val => setTempValue(val),
|
|
1761
1965
|
processTreeData: buildTreeMaps
|
|
1762
|
-
}), currentItems.length === 0 ? isSearching ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
1966
|
+
}), currentItems.length === 0 ? isSearching || isResettingData ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
1763
1967
|
className: _styles.default['cap-unified-select-loading-container'],
|
|
1764
1968
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CapRow.default, {
|
|
1765
1969
|
align: "middle",
|
|
@@ -1783,7 +1987,23 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1783
1987
|
noResultCustomIcon: noResultCustomIcon
|
|
1784
1988
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
1785
1989
|
className: _styles.default['cap-unified-select-menu-wrapper'],
|
|
1786
|
-
children: [menu,
|
|
1990
|
+
children: [menu, (isSearching || isResettingData) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
1991
|
+
className: _styles.default['cap-unified-select-loading-overlay'],
|
|
1992
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CapRow.default, {
|
|
1993
|
+
align: "middle",
|
|
1994
|
+
justify: "center",
|
|
1995
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapSpin.default, {
|
|
1996
|
+
size: "small"
|
|
1997
|
+
})
|
|
1998
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapRow.default, {
|
|
1999
|
+
align: "middle",
|
|
2000
|
+
justify: "center",
|
|
2001
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CapLabel.default, {
|
|
2002
|
+
type: "label14",
|
|
2003
|
+
children: "Loading..."
|
|
2004
|
+
})
|
|
2005
|
+
})]
|
|
2006
|
+
}), isLoadingOnScroll && onPopupScroll && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
1787
2007
|
className: _styles.default['cap-unified-select-loading-overlay'],
|
|
1788
2008
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CapRow.default, {
|
|
1789
2009
|
align: "middle",
|
|
@@ -1840,28 +2060,53 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1840
2060
|
})
|
|
1841
2061
|
})]
|
|
1842
2062
|
});
|
|
1843
|
-
}, [customPopupRender, filteredTree, searchText, isMulti, showUpload, uploadLabel, handleUpload, noResultCustomText, noResultCustomIcon, options, type, tempValue, handleConfirm, handleClearAll, popoverClassName, className, selectedLeafCount, clearText, allowClear, staticValue, showSearch, onFooterDownloadChange, handleFooterDownload, isSearching, handleSearchChange, handleSearchKeyDown, isLoadingOnScroll, onPopupScroll]);
|
|
2063
|
+
}, [customPopupRender, filteredTree, searchText, isMulti, showUpload, uploadLabel, handleUpload, noResultCustomText, noResultCustomIcon, options, type, tempValue, handleConfirm, handleClearAll, popoverClassName, className, selectedLeafCount, clearText, allowClear, staticValue, showSearch, onFooterDownloadChange, handleFooterDownload, isSearching, handleSearchChange, handleSearchKeyDown, isLoadingOnScroll, onPopupScroll, isResettingData]);
|
|
1844
2064
|
const combinedClassName = (0, _react.useMemo)(() => (0, _classnames.default)(containerClassName, _styles.default['cap-unified-tree-select'], {
|
|
1845
2065
|
[_styles.default['cap-unified-tree-select-readonly']]: readOnly
|
|
1846
2066
|
}, className), [containerClassName, className, readOnly]);
|
|
1847
2067
|
|
|
1848
2068
|
// Handle onChange for single select - detect clear button click and call resetData
|
|
1849
2069
|
const handleSingleSelectChange = (0, _react.useCallback)(newValue => {
|
|
2070
|
+
// Mark as interacted if value changed from initial
|
|
2071
|
+
if (newValue !== initialTempValueRef.current) {
|
|
2072
|
+
hasInteractedRef.current = true;
|
|
2073
|
+
}
|
|
2074
|
+
|
|
1850
2075
|
// If value is cleared (becomes undefined), call resetData
|
|
1851
2076
|
if (newValue === undefined || newValue === null) {
|
|
1852
|
-
|
|
2077
|
+
if (resetData) {
|
|
2078
|
+
// Store current options before calling resetData to detect when they update
|
|
2079
|
+
prevOptionsBeforeResetRef.current = options;
|
|
2080
|
+
setIsResettingData(true);
|
|
2081
|
+
resetDataCalledRef.current = true;
|
|
2082
|
+
resetDataCalledTimeRef.current = Date.now();
|
|
2083
|
+
resetData();
|
|
2084
|
+
}
|
|
1853
2085
|
}
|
|
1854
2086
|
onChange == null || onChange(newValue);
|
|
1855
|
-
}, [onChange, resetData]);
|
|
2087
|
+
}, [onChange, resetData, options]);
|
|
1856
2088
|
|
|
1857
2089
|
// Handle onChange for multi select - detect clear and call resetData
|
|
1858
2090
|
const handleMultiSelectChange = (0, _react.useCallback)(newValue => {
|
|
2091
|
+
// Mark as interacted if value changed from initial
|
|
2092
|
+
const initialValue = initialTempValueRef.current;
|
|
2093
|
+
const hasChanged = Array.isArray(newValue) && Array.isArray(initialValue) ? newValue.length !== initialValue.length || !newValue.every(v => initialValue.includes(v)) || !initialValue.every(v => newValue.includes(v)) : newValue !== initialValue;
|
|
2094
|
+
if (hasChanged) {
|
|
2095
|
+
hasInteractedRef.current = true;
|
|
2096
|
+
}
|
|
1859
2097
|
// If value is cleared (becomes empty array or undefined), call resetData
|
|
1860
2098
|
if (newValue === undefined || newValue === null || Array.isArray(newValue) && newValue.length === 0) {
|
|
1861
|
-
|
|
2099
|
+
if (resetData) {
|
|
2100
|
+
// Store current options before calling resetData to detect when they update
|
|
2101
|
+
prevOptionsBeforeResetRef.current = options;
|
|
2102
|
+
setIsResettingData(true);
|
|
2103
|
+
resetDataCalledRef.current = true;
|
|
2104
|
+
resetDataCalledTimeRef.current = Date.now();
|
|
2105
|
+
resetData();
|
|
2106
|
+
}
|
|
1862
2107
|
}
|
|
1863
2108
|
setTempValue(newValue);
|
|
1864
|
-
}, [resetData]);
|
|
2109
|
+
}, [resetData, options]);
|
|
1865
2110
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CapRow.default, {
|
|
1866
2111
|
className: className,
|
|
1867
2112
|
children: [renderHeader, /*#__PURE__*/(0, _jsxRuntime.jsx)(_antdV.TreeSelect, _extends({
|
|
@@ -2700,7 +2945,7 @@ var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = __webpack_require__(1601);
|
|
|
2700
2945
|
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6314);
|
|
2701
2946
|
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);
|
|
2702
2947
|
// Module
|
|
2703
|
-
___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:flex-start;align-items:center;width:100%;height:100%;line-height:1.5;vertical-align:middle}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-unified-select-option-label{flex:1;display:flex;align-items:center}.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;margin-left:.571rem}.blaze-ui-cap-unified-select-popup .blaze-ui-cap-unified-select-option-with-suffix .blaze-ui-cap-tooltip-with-info{margin-left:auto}.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}.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}.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}`, ""]);
|
|
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}`, ""]);
|
|
2704
2949
|
// Exports
|
|
2705
2950
|
___CSS_LOADER_EXPORT___.locals = {
|
|
2706
2951
|
"cap-unified-select-header-wrapper": `blaze-ui-cap-unified-select-header-wrapper`,
|
|
@@ -2740,6 +2985,7 @@ ___CSS_LOADER_EXPORT___.locals = {
|
|
|
2740
2985
|
"cap-unified-select-loading-overlay": `blaze-ui-cap-unified-select-loading-overlay`,
|
|
2741
2986
|
"cap-unified-select-option-with-suffix": `blaze-ui-cap-unified-select-option-with-suffix`,
|
|
2742
2987
|
"cap-unified-select-option-label": `blaze-ui-cap-unified-select-option-label`,
|
|
2988
|
+
"cap-unified-select-option-end": `blaze-ui-cap-unified-select-option-end`,
|
|
2743
2989
|
"cap-unified-select-option-suffix": `blaze-ui-cap-unified-select-option-suffix`,
|
|
2744
2990
|
"cap-tooltip-with-info": `blaze-ui-cap-tooltip-with-info`,
|
|
2745
2991
|
"cap-icon": `blaze-ui-cap-icon`
|