@capillarytech/blaze-ui 1.0.3-alpha.10 → 1.0.3-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapUnifiedSelect/CapUnifiedSelect.d.ts.map +1 -1
- package/CapUnifiedSelect/constants.d.ts +2 -0
- package/CapUnifiedSelect/constants.d.ts.map +1 -1
- package/CapUnifiedSelect/index.js +53 -9
- package/CapUnifiedSelect/index.js.map +1 -1
- package/CapUnifiedSelect/testData.d.ts +18 -0
- package/CapUnifiedSelect/testData.d.ts.map +1 -1
- package/index.js +53 -9
- package/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapUnifiedSelect.d.ts","sourceRoot":"","sources":["../../components/CapUnifiedSelect/CapUnifiedSelect.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CapUnifiedSelect.d.ts","sourceRoot":"","sources":["../../components/CapUnifiedSelect/CapUnifiedSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -53,5 +53,7 @@ export declare const DEFAULTS: {
|
|
|
53
53
|
readonly VIRTUAL_ROW_HEIGHT: 32;
|
|
54
54
|
/** Default list height in pixels */
|
|
55
55
|
readonly LIST_HEIGHT: 256;
|
|
56
|
+
/** Default search input placeholder */
|
|
57
|
+
readonly SEARCH_PLACEHOLDER: "Search";
|
|
56
58
|
};
|
|
57
59
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../components/CapUnifiedSelect/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,sCAAsC;;IAEtC,2CAA2C;;IAE3C,mEAAmE;;IAEnE,uDAAuD;;IAEvD,uDAAuD;;IAEvD,8DAA8D;;IAE9D,gDAAgD;;IAEhD,qEAAqE;;IAErE,qEAAqE;;IAErE,uDAAuD;;IAEvD,wDAAwD;;CAEhD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,+BAA+B;;IAE/B,kCAAkC;;IAElC,gCAAgC;;IAEhC,iCAAiC;;IAEjC,8BAA8B;;IAE9B,2CAA2C;;IAE3C,oCAAoC;;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../components/CapUnifiedSelect/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,sCAAsC;;IAEtC,2CAA2C;;IAE3C,mEAAmE;;IAEnE,uDAAuD;;IAEvD,uDAAuD;;IAEvD,8DAA8D;;IAE9D,gDAAgD;;IAEhD,qEAAqE;;IAErE,qEAAqE;;IAErE,uDAAuD;;IAEvD,wDAAwD;;CAEhD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,+BAA+B;;IAE/B,kCAAkC;;IAElC,gCAAgC;;IAEhC,iCAAiC;;IAEjC,8BAA8B;;IAE9B,2CAA2C;;IAE3C,oCAAoC;;IAEpC,uCAAuC;;CAE/B,CAAC"}
|
|
@@ -1648,7 +1648,49 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1648
1648
|
// During search, use normal options (mergedOptions) to show filtered results without selected items at top
|
|
1649
1649
|
// When not searching, use ordered options if available (selected items at top), otherwise use merged options
|
|
1650
1650
|
const sourceOptions = searchText.trim() ? mergedOptions : orderedOptions || mergedOptions;
|
|
1651
|
-
|
|
1651
|
+
|
|
1652
|
+
// Get current selected values to check for missing ones
|
|
1653
|
+
// Use value prop (external state) instead of tempValue (internal state)
|
|
1654
|
+
// This ensures we only create virtual options for values that are actually selected
|
|
1655
|
+
// and not just temporarily selected during dropdown interaction
|
|
1656
|
+
const selectedValues = Array.isArray(value) ? value : value ? [value] : [];
|
|
1657
|
+
const hasSearchQuery = searchText.trim().length > 0;
|
|
1658
|
+
|
|
1659
|
+
// Find selected values that don't exist in the current options
|
|
1660
|
+
// Only include missing values when not searching (so they're always visible)
|
|
1661
|
+
// or when searching but they should still be shown
|
|
1662
|
+
const missingSelectedValues = [];
|
|
1663
|
+
if (selectedValues.length > 0) {
|
|
1664
|
+
selectedValues.forEach(val => {
|
|
1665
|
+
if (!findValueInOptions(sourceOptions, val)) {
|
|
1666
|
+
missingSelectedValues.push(val);
|
|
1667
|
+
}
|
|
1668
|
+
});
|
|
1669
|
+
}
|
|
1670
|
+
|
|
1671
|
+
// Create virtual option nodes for missing selected values
|
|
1672
|
+
// Use cached option data if available, otherwise create a simple node with value as label
|
|
1673
|
+
const virtualOptions = missingSelectedValues.map(val => {
|
|
1674
|
+
const cachedOption = selectedItemsCacheRef.current.get(val);
|
|
1675
|
+
return _extends({
|
|
1676
|
+
value: val,
|
|
1677
|
+
label: (cachedOption == null ? void 0 : cachedOption.label) || String(val),
|
|
1678
|
+
key: (cachedOption == null ? void 0 : cachedOption.key) || val,
|
|
1679
|
+
title: cachedOption == null ? void 0 : cachedOption.title,
|
|
1680
|
+
optionSuffix: cachedOption == null ? void 0 : cachedOption.optionSuffix,
|
|
1681
|
+
optionSuffixInfo: cachedOption == null ? void 0 : cachedOption.optionSuffixInfo,
|
|
1682
|
+
optionTooltipInfo: cachedOption == null ? void 0 : cachedOption.optionTooltipInfo,
|
|
1683
|
+
disabled: cachedOption == null ? void 0 : cachedOption.disabled
|
|
1684
|
+
}, (cachedOption == null ? void 0 : cachedOption.children) && {
|
|
1685
|
+
children: cachedOption.children
|
|
1686
|
+
});
|
|
1687
|
+
});
|
|
1688
|
+
|
|
1689
|
+
// Combine source options with virtual options for missing selected values
|
|
1690
|
+
// When not searching, add virtual options at the beginning so selected items appear first
|
|
1691
|
+
// When searching, still include them if they match the search (handled by filterTreeData)
|
|
1692
|
+
const allOptions = hasSearchQuery ? [...sourceOptions, ...virtualOptions] : [...virtualOptions, ...sourceOptions];
|
|
1693
|
+
if (!(allOptions != null && allOptions.length)) return [];
|
|
1652
1694
|
const enhanceOptions = opts => opts.map(opt => {
|
|
1653
1695
|
const decoratedTitle = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CapRow.default, {
|
|
1654
1696
|
className: _styles.default['cap-unified-select-option-with-suffix'],
|
|
@@ -1678,7 +1720,7 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1678
1720
|
children: opt != null && opt.children ? enhanceOptions(opt.children) : []
|
|
1679
1721
|
});
|
|
1680
1722
|
});
|
|
1681
|
-
return isTree ? enhanceOptions(
|
|
1723
|
+
return isTree ? enhanceOptions(allOptions) : allOptions.map(opt => _extends({}, opt, {
|
|
1682
1724
|
title: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CapRow.default, {
|
|
1683
1725
|
className: _styles.default['cap-unified-select-option-with-suffix'],
|
|
1684
1726
|
justify: "space-between",
|
|
@@ -1703,17 +1745,17 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
1703
1745
|
}),
|
|
1704
1746
|
label: opt == null ? void 0 : opt.label
|
|
1705
1747
|
}));
|
|
1706
|
-
}, [isTree, mergedOptions, orderedOptions, searchText]);
|
|
1748
|
+
}, [isTree, mergedOptions, orderedOptions, searchText, value, findValueInOptions]);
|
|
1707
1749
|
const filteredTree = (0, _react.useMemo)(() => {
|
|
1708
1750
|
const selectedValues = Array.isArray(tempValue) ? tempValue : tempValue ? [tempValue] : [];
|
|
1709
|
-
const hasSearchQuery = searchText.trim().length > 0;
|
|
1710
1751
|
|
|
1711
1752
|
// If staticValue is true, use local filtering on existing options
|
|
1712
1753
|
// If staticValue is false, still use local filtering for immediate feedback,
|
|
1713
1754
|
// but onSearch callback will be triggered for parent to update options
|
|
1714
|
-
//
|
|
1715
|
-
//
|
|
1716
|
-
|
|
1755
|
+
// Always include selectedValues to ensure uploaded/selected items are visible
|
|
1756
|
+
// This ensures that when dev uploads values, they remain visible in the dropdown
|
|
1757
|
+
// even if they're not in the options array yet
|
|
1758
|
+
return filterTreeData(dataSource, searchText.trim(), searchBasedOn, selectedValues.length > 0 ? selectedValues : undefined);
|
|
1717
1759
|
}, [dataSource, searchText, searchBasedOn, tempValue]);
|
|
1718
1760
|
const treeMaps = (0, _react.useMemo)(() => buildTreeMaps(options), [options]);
|
|
1719
1761
|
const selectedLeafCount = (0, _react.useMemo)(() => countSelectedLeaves(treeMaps, Array.isArray(tempValue) ? tempValue : undefined), [treeMaps, tempValue]);
|
|
@@ -2136,7 +2178,7 @@ const CapUnifiedSelect = _ref4 => {
|
|
|
2136
2178
|
size: "s",
|
|
2137
2179
|
className: _styles.default['cap-unified-select-search-icon']
|
|
2138
2180
|
}),
|
|
2139
|
-
placeholder:
|
|
2181
|
+
placeholder: _constants.DEFAULTS.SEARCH_PLACEHOLDER,
|
|
2140
2182
|
variant: "borderless",
|
|
2141
2183
|
value: searchText,
|
|
2142
2184
|
onChange: handleSearchChange,
|
|
@@ -3255,7 +3297,9 @@ const DEFAULTS = exports.DEFAULTS = {
|
|
|
3255
3297
|
/** Default virtual row height in pixels */
|
|
3256
3298
|
VIRTUAL_ROW_HEIGHT: 32,
|
|
3257
3299
|
/** Default list height in pixels */
|
|
3258
|
-
LIST_HEIGHT: 256
|
|
3300
|
+
LIST_HEIGHT: 256,
|
|
3301
|
+
/** Default search input placeholder */
|
|
3302
|
+
SEARCH_PLACEHOLDER: 'Search'
|
|
3259
3303
|
};
|
|
3260
3304
|
|
|
3261
3305
|
/***/ })
|