PromoCursed/node_modules/antd/lib/card/Card.js
2024-08-20 23:25:37 +04:00

198 lines
8.2 KiB
JavaScript

"use strict";
"use client";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _omit = _interopRequireDefault(require("rc-util/lib/omit"));
var _warning = require("../_util/warning");
var _configProvider = require("../config-provider");
var _useSize = _interopRequireDefault(require("../config-provider/hooks/useSize"));
var _skeleton = _interopRequireDefault(require("../skeleton"));
var _tabs = _interopRequireDefault(require("../tabs"));
var _Grid = _interopRequireDefault(require("./Grid"));
var _style = _interopRequireDefault(require("./style"));
var __rest = void 0 && (void 0).__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
const ActionNode = props => {
const {
actionClasses,
actions = [],
actionStyle
} = props;
return /*#__PURE__*/React.createElement("ul", {
className: actionClasses,
style: actionStyle
}, actions.map((action, index) => {
// Move this out since eslint not allow index key
// And eslint-disable makes conflict with rollup
// ref https://github.com/ant-design/ant-design/issues/46022
const key = `action-${index}`;
return /*#__PURE__*/React.createElement("li", {
style: {
width: `${100 / actions.length}%`
},
key: key
}, /*#__PURE__*/React.createElement("span", null, action));
}));
};
const Card = /*#__PURE__*/React.forwardRef((props, ref) => {
const {
prefixCls: customizePrefixCls,
className,
rootClassName,
style,
extra,
headStyle = {},
bodyStyle = {},
title,
loading,
bordered = true,
size: customizeSize,
type,
cover,
actions,
tabList,
children,
activeTabKey,
defaultActiveTabKey,
tabBarExtraContent,
hoverable,
tabProps = {},
classNames: customClassNames,
styles: customStyles
} = props,
others = __rest(props, ["prefixCls", "className", "rootClassName", "style", "extra", "headStyle", "bodyStyle", "title", "loading", "bordered", "size", "type", "cover", "actions", "tabList", "children", "activeTabKey", "defaultActiveTabKey", "tabBarExtraContent", "hoverable", "tabProps", "classNames", "styles"]);
const {
getPrefixCls,
direction,
card
} = React.useContext(_configProvider.ConfigContext);
// =================Warning===================
if (process.env.NODE_ENV !== 'production') {
const warning = (0, _warning.devUseWarning)('Card');
[['headStyle', 'styles.header'], ['bodyStyle', 'styles.body']].forEach(_ref => {
let [deprecatedName, newName] = _ref;
warning.deprecated(!(deprecatedName in props), deprecatedName, newName);
});
}
const onTabChange = key => {
var _a;
(_a = props.onTabChange) === null || _a === void 0 ? void 0 : _a.call(props, key);
};
const moduleClass = moduleName => {
var _a;
return (0, _classnames.default)((_a = card === null || card === void 0 ? void 0 : card.classNames) === null || _a === void 0 ? void 0 : _a[moduleName], customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames[moduleName]);
};
const moduleStyle = moduleName => {
var _a;
return Object.assign(Object.assign({}, (_a = card === null || card === void 0 ? void 0 : card.styles) === null || _a === void 0 ? void 0 : _a[moduleName]), customStyles === null || customStyles === void 0 ? void 0 : customStyles[moduleName]);
};
const isContainGrid = React.useMemo(() => {
let containGrid = false;
React.Children.forEach(children, element => {
if ((element === null || element === void 0 ? void 0 : element.type) === _Grid.default) {
containGrid = true;
}
});
return containGrid;
}, [children]);
const prefixCls = getPrefixCls('card', customizePrefixCls);
const [wrapCSSVar, hashId, cssVarCls] = (0, _style.default)(prefixCls);
const loadingBlock = /*#__PURE__*/React.createElement(_skeleton.default, {
loading: true,
active: true,
paragraph: {
rows: 4
},
title: false
}, children);
const hasActiveTabKey = activeTabKey !== undefined;
const extraProps = Object.assign(Object.assign({}, tabProps), {
[hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey ? activeTabKey : defaultActiveTabKey,
tabBarExtraContent
});
let head;
const mergedSize = (0, _useSize.default)(customizeSize);
const tabSize = !mergedSize || mergedSize === 'default' ? 'large' : mergedSize;
const tabs = tabList ? ( /*#__PURE__*/React.createElement(_tabs.default, Object.assign({
size: tabSize
}, extraProps, {
className: `${prefixCls}-head-tabs`,
onChange: onTabChange,
items: tabList.map(_a => {
var {
tab
} = _a,
item = __rest(_a, ["tab"]);
return Object.assign({
label: tab
}, item);
})
}))) : null;
if (title || extra || tabs) {
const headClasses = (0, _classnames.default)(`${prefixCls}-head`, moduleClass('header'));
const titleClasses = (0, _classnames.default)(`${prefixCls}-head-title`, moduleClass('title'));
const extraClasses = (0, _classnames.default)(`${prefixCls}-extra`, moduleClass('extra'));
const mergedHeadStyle = Object.assign(Object.assign({}, headStyle), moduleStyle('header'));
head = /*#__PURE__*/React.createElement("div", {
className: headClasses,
style: mergedHeadStyle
}, /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-head-wrapper`
}, title && ( /*#__PURE__*/React.createElement("div", {
className: titleClasses,
style: moduleStyle('title')
}, title)), extra && ( /*#__PURE__*/React.createElement("div", {
className: extraClasses,
style: moduleStyle('extra')
}, extra))), tabs);
}
const coverClasses = (0, _classnames.default)(`${prefixCls}-cover`, moduleClass('cover'));
const coverDom = cover ? ( /*#__PURE__*/React.createElement("div", {
className: coverClasses,
style: moduleStyle('cover')
}, cover)) : null;
const bodyClasses = (0, _classnames.default)(`${prefixCls}-body`, moduleClass('body'));
const mergedBodyStyle = Object.assign(Object.assign({}, bodyStyle), moduleStyle('body'));
const body = /*#__PURE__*/React.createElement("div", {
className: bodyClasses,
style: mergedBodyStyle
}, loading ? loadingBlock : children);
const actionClasses = (0, _classnames.default)(`${prefixCls}-actions`, moduleClass('actions'));
const actionDom = (actions === null || actions === void 0 ? void 0 : actions.length) ? ( /*#__PURE__*/React.createElement(ActionNode, {
actionClasses: actionClasses,
actionStyle: moduleStyle('actions'),
actions: actions
})) : null;
const divProps = (0, _omit.default)(others, ['onTabChange']);
const classString = (0, _classnames.default)(prefixCls, card === null || card === void 0 ? void 0 : card.className, {
[`${prefixCls}-loading`]: loading,
[`${prefixCls}-bordered`]: bordered,
[`${prefixCls}-hoverable`]: hoverable,
[`${prefixCls}-contain-grid`]: isContainGrid,
[`${prefixCls}-contain-tabs`]: tabList === null || tabList === void 0 ? void 0 : tabList.length,
[`${prefixCls}-${mergedSize}`]: mergedSize,
[`${prefixCls}-type-${type}`]: !!type,
[`${prefixCls}-rtl`]: direction === 'rtl'
}, className, rootClassName, hashId, cssVarCls);
const mergedStyle = Object.assign(Object.assign({}, card === null || card === void 0 ? void 0 : card.style), style);
return wrapCSSVar( /*#__PURE__*/React.createElement("div", Object.assign({
ref: ref
}, divProps, {
className: classString,
style: mergedStyle
}), head, coverDom, body, actionDom));
});
var _default = exports.default = Card;