@alicloudfe/components
Version:
A react component library for aliyun
49 lines (48 loc) • 2.19 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var next_1 = require("@alifd/next");
var react_1 = __importDefault(require("react"));
var hoist_non_react_statics_1 = __importDefault(require("hoist-non-react-statics"));
var popupHoc_1 = __importDefault(require("../utils/popupHoc"));
var useCssVar_1 = require("../utils/useCssVar");
var Select = react_1.default.forwardRef(function (props, ref) {
var _a;
var theme = useCssVar_1.useCssVar('--alicloudfe-components-theme');
var isWind = theme.trim() === 'wind';
var menuProps = (function () {
if (!isWind)
return props.menuProps;
return __assign({ isSelectIconRight: true }, props.menuProps);
})();
var defaultAutoHighlightFirstItem = function (theme) {
if (theme === 'yunxiao' ||
theme === 'yunxiao-dark' ||
theme === 'hybridcloud' ||
theme === 'hybridcloud-dark') {
return false;
}
return true;
};
// xconsole以及其他大部分主题,select下拉menu的padding较大,
// 不能autoWidth,否则内容区域太短
var defaultAutoWidth = isWind ? true : false;
return (react_1.default.createElement(next_1.Select, __assign({ autoHighlightFirstItem: defaultAutoHighlightFirstItem(theme.trim()) }, props, { autoWidth: (_a = props.autoWidth) !== null && _a !== void 0 ? _a : defaultAutoWidth, menuProps: menuProps, ref: ref })));
});
Select = popupHoc_1.default(Select, false);
hoist_non_react_statics_1.default(Select, next_1.Select);
Select.AutoComplete = popupHoc_1.default(next_1.Select.AutoComplete, false);
exports.default = Select;
;