UNPKG

@zohodesk/components

Version:

In this Package, we Provide Some Basic Components to Build Web App

76 lines (68 loc) 2.31 kB
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;