UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

88 lines (87 loc) 5.45 kB
'use client'; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } var _excluded = ["type", "items", "placement", "direction", "dropdownMenu", "onActionClick", "size"]; 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; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import { Dropdown } from 'antd'; import { MoreHorizontal } from 'lucide-react'; import { memo } from 'react'; import { Flexbox } from 'react-layout-kit'; import ActionIcon from "../ActionIcon"; import Icon from "../Icon"; import { useStyles } from "./style"; import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; var ActionIconGroup = /*#__PURE__*/memo(function (_ref) { var _ref$type = _ref.type, type = _ref$type === void 0 ? 'block' : _ref$type, _ref$items = _ref.items, items = _ref$items === void 0 ? [] : _ref$items, placement = _ref.placement, _ref$direction = _ref.direction, direction = _ref$direction === void 0 ? 'row' : _ref$direction, _ref$dropdownMenu = _ref.dropdownMenu, dropdownMenu = _ref$dropdownMenu === void 0 ? [] : _ref$dropdownMenu, onActionClick = _ref.onActionClick, _ref$size = _ref.size, size = _ref$size === void 0 ? 'small' : _ref$size, rest = _objectWithoutProperties(_ref, _excluded); var _useStyles = useStyles({ type: type }), styles = _useStyles.styles; var tooltipsPlacement = placement || (direction === 'column' ? 'right' : 'top'); return /*#__PURE__*/_jsxs(Flexbox, _objectSpread(_objectSpread({ className: styles.container, horizontal: direction === 'row' }, rest), {}, { children: [(items === null || items === void 0 ? void 0 : items.length) > 0 && items.map(function (item) { return /*#__PURE__*/_jsx(ActionIcon, { disable: item.disable, icon: item.icon, onClick: onActionClick ? function () { return onActionClick === null || onActionClick === void 0 ? void 0 : onActionClick({ item: item, key: item.key, keyPath: [item.key] }); } : undefined, placement: tooltipsPlacement, size: size, title: item.label }, item.key); }), (dropdownMenu === null || dropdownMenu === void 0 ? void 0 : dropdownMenu.length) > 0 && /*#__PURE__*/_jsx(Dropdown, { menu: { items: dropdownMenu.map(function (item) { if (item.type) return item; return _objectSpread(_objectSpread({}, item), {}, { disabled: item.disable, icon: /*#__PURE__*/_jsx(Icon, { icon: item.icon, size: size }), onClick: onActionClick ? function (info) { return onActionClick({ item: item, key: info.key, keyPath: info.keyPath }); } : undefined }); }) }, trigger: ['click'], children: /*#__PURE__*/_jsx(ActionIcon, { icon: MoreHorizontal, placement: tooltipsPlacement, size: size }, "more") })] })); }); export default ActionIconGroup;