@smart-react-components/ui
Version:
SRC UI includes React and Styled components.
24 lines (23 loc) • 1.81 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const styled_components_1 = require("styled-components");
const DropdownListElement_1 = __importDefault(require("../components/Dropdown/DropdownListElement"));
const wave_effect_1 = require("../util/wave-effect");
const DropdownList = react_1.default.forwardRef((props, forwardRef) => {
const theme = (0, styled_components_1.useTheme)();
const waveEffectPalette = react_1.default.useMemo(() => (0, wave_effect_1.getWaveEffectPalette)(props, theme.$.vars.isDarkMode), [props.waveEffectPalette, props.palette, props.isOutline, props.isSoft, theme.$.vars.isDarkMode]);
return (react_1.default.createElement(DropdownListElement_1.default, Object.assign({ dropdownListSize: props.size, dropdownListSizeSm: props.sizeSm, dropdownListSizeMd: props.sizeMd, dropdownListSizeLg: props.sizeLg, dropdownListSizeXl: props.sizeXl, isOutline: props.isOutline, isSoft: props.isSoft, palette: props.palette, ref: forwardRef }, props.elementProps), (Array.isArray(props.children) ? props.children : [props.children]).map((item, idx) => { var _a; return item && react_1.default.cloneElement(item, { key: (_a = item.key) !== null && _a !== void 0 ? _a : idx, hasHover: props.hasHover, hasWaveEffect: props.hasWaveEffect, isOutline: props.isOutline, isSoft: props.isSoft, palette: props.palette, setStatus: props.setStatus, waveEffectPalette }); })));
});
DropdownList.defaultProps = {
elementProps: {},
hasHover: true,
hasWaveEffect: true,
isOutline: true,
palette: 'primary',
size: 'medium',
};
exports.default = DropdownList;
;