@zohodesk/components
Version:
In this Package, we Provide Some Basic Components to Build Web App
76 lines (68 loc) • 2.31 kB
JavaScript
import React from 'react';
import { DropDown_propTypes, DropDownTarget_propTypes, DropDownContainer_propTypes, DropDownItemContainer_propTypes } from "./props/propTypes";
import { DropDownItemContainer_defaultProps } from "./props/defaultProps";
import style from "./DropDown.module.css";
import PopOver, { PopOverTarget, PopOverContainer } from "../PopOver/PopOver";
/* eslint css-modules/no-unused-class: [2, { markAsUsed: ['dropdown', 'shadow', 'target', 'menu', 'header', 'headertext', 'list', 'padding', 'listHover', 'active', 'children', 'user', 'footer', 'separator', 'small', 'search', 'medium', 'heading'] }] */
export default class DropDown extends React.Component {
render() {
let {
children
} = this.props;
return /*#__PURE__*/React.createElement(PopOver, { ...this.props
}, /*#__PURE__*/React.createElement(PopOverTarget, null, children[0]), /*#__PURE__*/React.createElement(PopOverContainer, null, children[1]));
}
}
DropDown.propTypes = DropDown_propTypes;
export class DropDownTarget extends React.Component {
render() {
let {
children
} = this.props;
return /*#__PURE__*/React.createElement("div", null, children);
}
}
DropDownTarget.propTypes = DropDownTarget_propTypes;
export class DropDownContainer extends React.Component {
render() {
let {
children
} = this.props;
return /*#__PURE__*/React.createElement("div", null, " ", children, " ");
}
}
DropDownContainer.propTypes = DropDownContainer_propTypes;
export class DropDownItemContainer extends React.Component {
constructor(props) {
super(props);
this.getRef = this.getRef.bind(this);
this.onScroll = this.onScroll.bind(this);
}
onScroll(e) {
let {
onScroll
} = this.props;
onScroll && onScroll(e);
}
getRef(ele) {
let {
getRef
} = this.props;
getRef && getRef(ele);
}
render() {
let {
children,
dataId
} = this.props;
return /*#__PURE__*/React.createElement("div", {
className: style.listGroup,
onScroll: this.onScroll,
ref: this.getRef,
"data-id": dataId,
"data-test-id": dataId
}, children);
}
}
DropDownItemContainer.propTypes = DropDownItemContainer_propTypes;
DropDownItemContainer.defaultProps = DropDownItemContainer_defaultProps;