UNPKG

@grafana/ui

Version:
59 lines (52 loc) 2.05 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var jsxRuntime = require('react/jsx-runtime'); var css = require('@emotion/css'); var RCCascader = require('@rc-component/cascader'); var ThemeContext = require('../../themes/ThemeContext.cjs'); var Button = require('../Button/Button.cjs'); var optionMappings = require('../Cascader/optionMappings.cjs'); var styles = require('../Cascader/styles.cjs'); var Icon = require('../Icon/Icon.cjs'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var RCCascader__default = /*#__PURE__*/_interopDefaultCompat(RCCascader); "use strict"; const ButtonCascader = (props) => { const { onChange, className, loadData, icon, buttonProps, hideDownIcon, variant, disabled, ...rest } = props; const styles$1 = ThemeContext.useStyles2(getStyles); const cascaderStyles = ThemeContext.useStyles2(styles.getCascaderStyles); let content = props.children; if (!hideDownIcon) { content = [props.children, /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: "angle-down", className: styles$1.icons.right }, "down-icon")]; } return /* @__PURE__ */ jsxRuntime.jsx( RCCascader__default.default, { onChange: optionMappings.onChangeCascader(onChange), loadData: optionMappings.onLoadDataCascader(loadData), popupClassName: css.cx(cascaderStyles.dropdown, styles$1.popup), ...rest, expandIcon: null, children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { icon, disabled, variant, ...buttonProps != null ? buttonProps : {}, children: content }) } ); }; ButtonCascader.displayName = "ButtonCascader"; const getStyles = (theme) => { return { popup: css.css({ label: "popup", zIndex: theme.zIndex.dropdown }), icons: { right: css.css({ margin: "1px 0 0 4px" }), left: css.css({ margin: "-1px 4px 0 0" }) } }; }; exports.ButtonCascader = ButtonCascader; //# sourceMappingURL=ButtonCascader.cjs.map