UNPKG

@onesy/ui-react

Version:
84 lines 3.42 kB
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; const _excluded = ["menuItems", "Icon", "IconButtonProps", "className"]; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } import { c as _c } from "react/compiler-runtime"; import React from 'react'; import { classNames, style as styleMethod, useOnesyTheme } from '@onesy/style-react'; import IconMaterialMoreVert from '@onesy/icons-material-rounded-react/IconMaterialMoreVertW100'; import IconButtonElement from '../IconButton'; import MenuElement from '../Menu/Menu'; import { staticClassName } from '../utils'; import { jsx as _jsx } from "react/jsx-runtime"; const useStyle = styleMethod(theme => ({ root: {}, iconButton: { flex: '0 0 auto' } }), { name: 'onesy-MoreOptions' }); const MoreOptions = props_ => { const $ = _c(8); const theme = useOnesyTheme(); const props = _objectSpread(_objectSpread(_objectSpread({}, theme?.ui?.elements?.all?.props?.default), theme?.ui?.elements?.onesyMoreOptions?.props?.default), props_); const Menu = theme?.elements?.Menu || MenuElement; const IconButton = theme?.elements?.IconButton || IconButtonElement; const { menuItems, Icon: t0, IconButtonProps, className } = props, other = _objectWithoutProperties(props, _excluded); const Icon_ = t0 === undefined ? IconMaterialMoreVert : t0; const { classes } = useStyle(); const t1 = classNames([staticClassName("MoreOptions", theme) && ["onesy-MoreOptions-root"], className, classes.root]); const t2 = "inherit"; const t3 = "small"; const t4 = !menuItems?.length; const t5 = classNames([staticClassName("MoreOptions", theme) && ["onesy-MoreOptions-icon-button"], IconButtonProps?.className, classes.iconButton]); let t6; if ($[0] !== Icon_) { t6 = /*#__PURE__*/_jsx(Icon_, {}); $[0] = Icon_; $[1] = t6; } else { t6 = $[1]; } let t7; if ($[2] !== IconButton || $[3] !== IconButtonProps || $[4] !== t4 || $[5] !== t5 || $[6] !== t6) { t7 = /*#__PURE__*/_jsx(IconButton, _objectSpread(_objectSpread({ color: t2, size: t3, disabled: t4 }, IconButtonProps), {}, { className: t5, children: t6 })); $[2] = IconButton; $[3] = IconButtonProps; $[4] = t4; $[5] = t5; $[6] = t6; $[7] = t7; } else { t7 = $[7]; } return /*#__PURE__*/_jsx(Menu, _objectSpread(_objectSpread({ alignment: "center", menuItems: menuItems }, other), {}, { ListProps: _objectSpread({ color: "themed", size: "small" }, other?.ListProps), className: t1, children: t7 })); }; MoreOptions.displayName = 'onesy-MoreOptions'; export default MoreOptions;