From 6ed15ff7eb08fd5e608b2591d6ef951ffecd082c Mon Sep 17 00:00:00 2001 From: Jon Thompson Date: Sat, 2 Jun 2018 21:09:08 +0100 Subject: [PATCH] feat(Dropdown): add flex prop --- src/components/Dropdown/Dropdown.react.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/components/Dropdown/Dropdown.react.js b/src/components/Dropdown/Dropdown.react.js index fc08d01c..579ad84c 100644 --- a/src/components/Dropdown/Dropdown.react.js +++ b/src/components/Dropdown/Dropdown.react.js @@ -28,6 +28,10 @@ type DefaultProps = {| * Is this Dropdown a Card option? */ +isOption?: boolean, + /** + * Add flex classes to the Dropdown + */ + +flex?: boolean | "xs" | "sm" | "md" | "lg" | "xl", |}; type WithAnyTriggerProps = {| @@ -159,13 +163,22 @@ class Dropdown extends React.Component { }; render(): React.Node { - const { className, children, desktopOnly, isOption, ...props } = this.props; + const { + className, + children, + desktopOnly, + isOption, + flex = false, + ...props + } = this.props; const classes = cn( { dropdown: true, "d-none": desktopOnly, - "d-md-flex": desktopOnly, + "d-md-flex": desktopOnly || flex === "md", + [`d-{flex}-flex`]: ["xs", "sm", "lg", "xl"].includes(flex), + "d-flex": typeof flex === "boolean", "card-options-dropdown": isOption, show: this.state.isOpen, },