Update from Vibe Studio

This commit is contained in:
Vibe Studio
2026-01-16 02:20:32 +00:00
parent a4605e311a
commit 71de1506ca
28603 changed files with 2179459 additions and 0 deletions

View File

@@ -0,0 +1,183 @@
import React from 'react';
export type CheckCardValueType = string | number | boolean;
/**
* Represents the possible value types for a CheckGroup.
* It can be an array of CheckCardValueTypes, a single CheckCardValueType, or undefined.
*/
export type CheckGroupValueType = CheckCardValueType[] | CheckCardValueType | undefined;
/**
* Represents an option for a CheckCard component.
*/
export interface CheckCardOptionType {
/**
* The title to be displayed.
*
* @title Title
*/
title?: React.ReactNode;
/**
* The value of the option.
*
* @title Value
*/
value: CheckCardValueType;
/**
* The description to be displayed.
*
* @title Description
*/
description?: React.ReactNode;
/**
* The size of the component. Supports three default sizes: 'large', 'default', 'small'.
* Users can also customize the width and height.
*
* @default default
* @title Component Size
*/
size?: 'large' | 'default' | 'small';
/**
* The avatar to be displayed on the left side. Can be a link or a ReactNode.
*
* @title Left Avatar Area
*/
avatar?: React.ReactNode;
/**
* The cover image. In this mode, other display values are ignored.
*
* @title Cover Image
*/
cover?: React.ReactNode;
/**
* Specifies if the option is disabled.
*
* @default false
* @title Disabled
*/
disabled?: boolean;
/**
* Change callback function.
*
* @param checked - Indicates whether the option is checked or not.
* @title Change Callback
*/
onChange?: (checked: boolean) => void;
/**
* Child options.
*/
children?: CheckCardOptionType[];
}
export interface AbstractCheckCardGroupProps {
/** @ignore */
prefixCls?: string;
/** @ignore */
className?: string;
/** 指定可选项 */
options?: (CheckCardOptionType | string)[];
/** 整组失效 */
disabled?: boolean;
/** @ignore */
style?: React.CSSProperties;
/**
* 组件尺寸,支持大,中,小三种默认尺寸,用户可以自定义宽高
*
* @default default
*/
size?: 'large' | 'default' | 'small';
/**
* @acceptions CheckCard
* @ignore
*/
children?: React.ReactNode;
}
export declare const CardLoading: React.FC<{
prefixCls: string;
hashId: string;
}>;
export interface CheckCardGroupProps extends AbstractCheckCardGroupProps {
/**
* 是否多选
*
* @title 是否多选
*/
multiple?: boolean;
/**
* 默认选中的选项
*
* @title 默认选中的选项
*/
defaultValue?: CheckGroupValueType;
/**
* 指定选中的选项
*
* @title 指定选中的选项
*/
value?: CheckGroupValueType;
/**
* 当卡片组内容还在加载中时,可以用 loading 展示一个占位
*
* @title 加载中
*/
loading?: boolean;
/**
* 是否显示边框
*
* @title 显示边框
*/
bordered?: boolean;
/** 变化时回调函数 */
onChange?: (checkedValue: CheckGroupValueType) => void;
}
/**
* Represents the state of a CheckCardGroup component.
*/
export interface CheckCardGroupState {
value: CheckGroupValueType;
registeredValues: CheckCardValueType[];
}
/**
* Represents the props for the CheckCardGroup component.
*/
export type CheckCardGroupConnextType = {
/**
* A function to toggle the selected option.
* @param option - The option to toggle.
*/
toggleOption?: (option: CheckCardOptionType) => void;
/**
* The currently selected value.
*/
value?: any;
/**
* Specifies whether the component is disabled.
*/
disabled?: boolean;
/**
* The size of the component.
*/
size?: any;
/**
* Specifies whether the component is in a loading state.
*/
loading?: any;
/**
* Specifies whether the component has a border.
*/
bordered?: any;
/**
* Specifies whether multiple options can be selected.
*/
multiple?: any;
/**
* A function to register a value.
* @param value - The value to register.
*/
registerValue?: (value: any) => void;
/**
* A function to cancel a value.
* @param value - The value to cancel.
*/
cancelValue?: (value: any) => void;
};
export declare const CheckCardGroupConnext: React.Context<CheckCardGroupConnextType>;
declare const _default: (props: CheckCardGroupProps) => import("react/jsx-runtime").JSX.Element;
export default _default;

View File

@@ -0,0 +1,250 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.CheckCardGroupConnext = exports.CardLoading = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _proUtils = require("@ant-design/pro-utils");
var _antd = require("antd");
var _icons = require("@ant-design/icons");
var _proProvider = require("@ant-design/pro-provider");
var _classnames = _interopRequireDefault(require("classnames"));
var _omit = _interopRequireDefault(require("rc-util/lib/omit"));
var _react = _interopRequireWildcard(require("react"));
var _index = _interopRequireDefault(require("./index"));
var _style = require("./style");
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["prefixCls", "className", "style", "options", "loading", "multiple", "bordered", "onChange"];
/**
* Represents the possible value types for a CheckGroup.
* It can be an array of CheckCardValueTypes, a single CheckCardValueType, or undefined.
*/
/**
* Represents an option for a CheckCard component.
*/
var CardLoading = exports.CardLoading = function CardLoading(_ref) {
var prefixCls = _ref.prefixCls,
hashId = _ref.hashId;
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-loading-content"), hashId),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Skeleton, {
loading: true,
active: true,
paragraph: {
rows: 4
},
title: false
})
});
};
/**
* Represents the state of a CheckCardGroup component.
*/
/**
* Represents the props for the CheckCardGroup component.
*/
var CheckCardGroupConnext = exports.CheckCardGroupConnext = /*#__PURE__*/(0, _react.createContext)(null);
/**
* SubCheckCardGroup component.
*
* @component
* @param {React.ReactNode} title - The title of the group.
* @param {React.ReactNode} children - The content of the group.
* @param {string} prefix - The prefix for CSS class names.
* @returns {React.ReactNode} The rendered SubCheckCardGroup component.
*/
var SubCheckCardGroup = function SubCheckCardGroup(props) {
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
collapse = _useState2[0],
setCollapse = _useState2[1];
var _proTheme$useToken = _proProvider.proTheme.useToken(),
hashId = _proTheme$useToken.hashId;
var baseCls = "".concat(props.prefix, "-sub-check-card");
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: (0, _classnames.default)(baseCls, hashId),
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: (0, _classnames.default)("".concat(baseCls, "-title"), hashId),
onClick: function onClick() {
setCollapse(!collapse);
},
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.RightOutlined, {
style: {
transform: "rotate(".concat(collapse ? 90 : 0, "deg)"),
transition: 'transform 0.3s'
}
}), props.title]
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(baseCls, "-panel"), hashId, (0, _defineProperty2.default)({}, "".concat(baseCls, "-panel-collapse"), collapse)),
children: props.children
})]
});
};
var CheckCardGroup = function CheckCardGroup(props) {
var customizePrefixCls = props.prefixCls,
className = props.className,
style = props.style,
_props$options = props.options,
options = _props$options === void 0 ? [] : _props$options,
_props$loading = props.loading,
loading = _props$loading === void 0 ? false : _props$loading,
_props$multiple = props.multiple,
multiple = _props$multiple === void 0 ? false : _props$multiple,
_props$bordered = props.bordered,
bordered = _props$bordered === void 0 ? true : _props$bordered,
onChange = props.onChange,
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var antdContext = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext);
var getOptions = (0, _react.useCallback)(function () {
return options === null || options === void 0 ? void 0 : options.map(function (option) {
if (typeof option === 'string') {
return {
title: option,
value: option
};
}
return option;
});
}, [options]);
var prefixCls = antdContext.getPrefixCls('pro-checkcard', customizePrefixCls);
var _useStyle = (0, _style.useStyle)(prefixCls),
wrapSSR = _useStyle.wrapSSR,
hashId = _useStyle.hashId;
var groupPrefixCls = "".concat(prefixCls, "-group");
var domProps = (0, _omit.default)(restProps, ['children', 'defaultValue', 'value', 'disabled', 'size']);
var _useMountMergeState = (0, _proUtils.useMountMergeState)(props.defaultValue, {
value: props.value,
onChange: props.onChange
}),
_useMountMergeState2 = (0, _slicedToArray2.default)(_useMountMergeState, 2),
stateValue = _useMountMergeState2[0],
setStateValue = _useMountMergeState2[1];
var registerValueMap = (0, _react.useRef)(new Map());
var registerValue = function registerValue(value) {
var _registerValueMap$cur;
(_registerValueMap$cur = registerValueMap.current) === null || _registerValueMap$cur === void 0 || _registerValueMap$cur.set(value, true);
};
var cancelValue = function cancelValue(value) {
var _registerValueMap$cur2;
(_registerValueMap$cur2 = registerValueMap.current) === null || _registerValueMap$cur2 === void 0 || _registerValueMap$cur2.delete(value);
};
var toggleOption = function toggleOption(option) {
if (!multiple) {
var changeValue;
changeValue = stateValue;
// 单选模式
if (changeValue === option.value) {
changeValue = undefined;
} else {
changeValue = option.value;
}
setStateValue === null || setStateValue === void 0 || setStateValue(changeValue);
}
if (multiple) {
var _changeValue2;
var _changeValue = [];
var stateValues = stateValue;
var hasOption = stateValues === null || stateValues === void 0 ? void 0 : stateValues.includes(option.value);
_changeValue = (0, _toConsumableArray2.default)(stateValues || []);
if (!hasOption) {
_changeValue.push(option.value);
}
if (hasOption) {
_changeValue = _changeValue.filter(function (itemValue) {
return itemValue !== option.value;
});
}
var newOptions = getOptions();
var newValue = (_changeValue2 = _changeValue) === null || _changeValue2 === void 0 || (_changeValue2 = _changeValue2.filter(function (val) {
return registerValueMap.current.has(val);
})) === null || _changeValue2 === void 0 ? void 0 : _changeValue2.sort(function (a, b) {
var indexA = newOptions.findIndex(function (opt) {
return opt.value === a;
});
var indexB = newOptions.findIndex(function (opt) {
return opt.value === b;
});
return indexA - indexB;
});
setStateValue(newValue);
}
};
var children = (0, _react.useMemo)(function () {
if (loading) {
return new Array(options.length || _react.default.Children.toArray(props.children).length || 1).fill(0)
// eslint-disable-next-line react/no-array-index-key
.map(function (_, index) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.default, {
loading: true
}, index);
});
}
if (options && options.length > 0) {
var optionValue = stateValue;
var renderOptions = function renderOptions(list) {
return list.map(function (option) {
var _option$size;
if (option.children && option.children.length > 0) {
var _option$value, _option$title;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SubCheckCardGroup, {
title: option.title,
prefix: groupPrefixCls,
children: renderOptions(option.children)
}, ((_option$value = option.value) === null || _option$value === void 0 ? void 0 : _option$value.toString()) || ((_option$title = option.title) === null || _option$title === void 0 ? void 0 : _option$title.toString()));
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.default, {
disabled: option.disabled,
size: (_option$size = option.size) !== null && _option$size !== void 0 ? _option$size : props.size,
value: option.value,
checked: multiple ? optionValue === null || optionValue === void 0 ? void 0 : optionValue.includes(option.value) : optionValue === option.value,
onChange: option.onChange,
title: option.title,
avatar: option.avatar,
description: option.description,
cover: option.cover
}, option.value.toString());
});
};
return renderOptions(getOptions());
}
return props.children;
}, [getOptions, loading, multiple, options, props.children, props.size, stateValue]);
var classString = (0, _classnames.default)(groupPrefixCls, className, hashId);
return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckCardGroupConnext.Provider, {
value: {
toggleOption: toggleOption,
bordered: bordered,
value: stateValue,
disabled: props.disabled,
size: props.size,
loading: props.loading,
multiple: props.multiple,
// https://github.com/ant-design/ant-design/issues/16376
registerValue: registerValue,
cancelValue: cancelValue
},
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _objectSpread2.default)((0, _objectSpread2.default)({
className: classString,
style: style
}, domProps), {}, {
children: children
}))
}));
};
var _default = exports.default = function _default(props) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_proProvider.ProConfigProvider, {
needDeps: true,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckCardGroup, (0, _objectSpread2.default)({}, props))
});
};

View File

@@ -0,0 +1,159 @@
import type { MouseEventHandler } from 'react';
import React from 'react';
import type { CheckCardGroupProps } from './Group';
import CheckCardGroup from './Group';
/**
* Props for the CheckCard component.
*/
interface CheckCardProps {
/**
* Custom prefix class.
*
* @ignore
*/
prefixCls?: string;
/**
* Callback function for change event.
*
* @param checked - The checked state.
*/
onChange?: (checked: boolean) => void;
/**
* Callback function for click event.
*
* @param event - The click event.
*/
onClick?: (event: MouseEventHandler<HTMLDivElement> | undefined) => void;
/**
* Callback function for mouse enter event.
*
* @param event - The mouse enter event.
*/
onMouseEnter?: MouseEventHandler<HTMLDivElement>;
/**
* Callback function for mouse leave event.
*
* @param event - The mouse leave event.
*/
onMouseLeave?: (event: MouseEventHandler<HTMLDivElement> | undefined) => void;
/**
* Whether the card is initially checked.
*
* @default false
* @title Default Checked
*/
defaultChecked?: boolean;
/**
* Whether the card is checked.
*
* @default false
* @title Checked
*/
checked?: boolean;
/**
* Whether the card is disabled.
*
* @default false
* @title Disabled
*/
disabled?: boolean;
/**
* Custom style for the card.
*
* @ignore
*/
style?: React.CSSProperties;
/**
* Custom class name for the card.
*
* @ignore
*/
className?: string;
/**
* The avatar to display on the left side, can be a link or a ReactNode.
*
* @title Avatar
*/
avatar?: React.ReactNode;
/**
* The title to display.
*
* @title Title
*/
title?: React.ReactNode;
/**
* The subtitle to display.
*
* @title Subtitle
*/
subTitle?: React.ReactNode;
/**
* The description to display.
*
* @title Description
*/
description?: React.ReactNode;
/**
* The value of the card.
*
* @title Value
*/
value?: any;
/**
* Whether the content is in loading state.
*
* @default false
* @title Loading
*/
loading?: boolean;
/**
* The cover image of the card. Other display values are ignored in this mode.
*
* @title Card Background Image
*/
cover?: React.ReactNode;
/**
* The size of the component. Supports 'large', 'default', and 'small' sizes. Users can also customize the width and height.
*
* @default default
* @title Checkbox Size
*/
size?: 'large' | 'default' | 'small';
/**
* Whether to show the border.
*
* @default true
* @title Show Border
*/
bordered?: boolean;
/**
* The action area in the top right corner of the card.
*
* @title Actions
*/
extra?: React.ReactNode;
/**
* The content of the card.
*/
children?: React.ReactNode;
/**
* Custom style for the content area.
*/
bodyStyle?: React.CSSProperties;
/**
* The action area in the bottom right corner.
*/
actions?: React.ReactNode[];
/**
* Whether the card is in ghost mode.
*/
ghost?: boolean;
}
export interface CheckCardState {
checked: boolean;
}
declare const CheckCard: React.FC<CheckCardProps> & {
Group: typeof CheckCardGroup;
};
export type { CheckCardGroupProps, CheckCardProps };
export default CheckCard;

View File

@@ -0,0 +1,184 @@
"use strict";
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _proUtils = require("@ant-design/pro-utils");
var _antd = require("antd");
var _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireWildcard(require("react"));
var _Actions = _interopRequireDefault(require("../Actions"));
var _Group = _interopRequireWildcard(require("./Group"));
var _style = require("./style");
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["prefixCls", "className", "avatar", "title", "description", "cover", "extra", "style"];
/**
* Props for the CheckCard component.
*/
var CheckCard = function CheckCard(props) {
var _useMountMergeState = (0, _proUtils.useMountMergeState)(props.defaultChecked || false, {
value: props.checked,
onChange: props.onChange
}),
_useMountMergeState2 = (0, _slicedToArray2.default)(_useMountMergeState, 2),
stateChecked = _useMountMergeState2[0],
setStateChecked = _useMountMergeState2[1];
var checkCardGroup = (0, _react.useContext)(_Group.CheckCardGroupConnext);
var _useContext = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext),
getPrefixCls = _useContext.getPrefixCls;
var handleClick = function handleClick(e) {
var _props$onClick, _checkCardGroup$toggl;
props === null || props === void 0 || (_props$onClick = props.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props, e);
var newChecked = !stateChecked;
checkCardGroup === null || checkCardGroup === void 0 || (_checkCardGroup$toggl = checkCardGroup.toggleOption) === null || _checkCardGroup$toggl === void 0 || _checkCardGroup$toggl.call(checkCardGroup, {
value: props.value
});
setStateChecked === null || setStateChecked === void 0 || setStateChecked(newChecked);
};
// small => sm large => lg
var getSizeCls = function getSizeCls(size) {
if (size === 'large') return 'lg';
if (size === 'small') return 'sm';
return '';
};
(0, _react.useEffect)(function () {
var _checkCardGroup$regis;
checkCardGroup === null || checkCardGroup === void 0 || (_checkCardGroup$regis = checkCardGroup.registerValue) === null || _checkCardGroup$regis === void 0 || _checkCardGroup$regis.call(checkCardGroup, props.value);
return function () {
var _checkCardGroup$cance;
return checkCardGroup === null || checkCardGroup === void 0 || (_checkCardGroup$cance = checkCardGroup.cancelValue) === null || _checkCardGroup$cance === void 0 ? void 0 : _checkCardGroup$cance.call(checkCardGroup, props.value);
};
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.value]);
var customizePrefixCls = props.prefixCls,
className = props.className,
avatar = props.avatar,
title = props.title,
description = props.description,
cover = props.cover,
extra = props.extra,
_props$style = props.style,
style = _props$style === void 0 ? {} : _props$style,
others = (0, _objectWithoutProperties2.default)(props, _excluded);
var checkCardProps = (0, _objectSpread2.default)({}, others);
var prefixCls = getPrefixCls('pro-checkcard', customizePrefixCls);
var _useStyle = (0, _style.useStyle)(prefixCls),
wrapSSR = _useStyle.wrapSSR,
hashId = _useStyle.hashId;
/**
* 头像自定义
*
* @param cls
* @param coverDom
* @returns
*/
var renderCover = function renderCover(cls, coverDom) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(cls, "-cover"), hashId),
children: typeof coverDom === 'string' ? /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
src: coverDom,
alt: "checkcard"
}) : coverDom
});
};
checkCardProps.checked = stateChecked;
var multiple = false;
if (checkCardGroup) {
var _checkCardGroup$value;
// 受组控制模式
checkCardProps.disabled = props.disabled || checkCardGroup.disabled;
checkCardProps.loading = props.loading || checkCardGroup.loading;
checkCardProps.bordered = props.bordered || checkCardGroup.bordered;
multiple = checkCardGroup.multiple;
var isChecked = checkCardGroup.multiple ? (_checkCardGroup$value = checkCardGroup.value) === null || _checkCardGroup$value === void 0 ? void 0 : _checkCardGroup$value.includes(props.value) : checkCardGroup.value === props.value;
// loading时check为false
checkCardProps.checked = checkCardProps.loading ? false : isChecked;
checkCardProps.size = props.size || checkCardGroup.size;
}
var _checkCardProps$disab = checkCardProps.disabled,
disabled = _checkCardProps$disab === void 0 ? false : _checkCardProps$disab,
size = checkCardProps.size,
cardLoading = checkCardProps.loading,
_checkCardProps$borde = checkCardProps.bordered,
bordered = _checkCardProps$borde === void 0 ? true : _checkCardProps$borde,
checked = checkCardProps.checked;
var sizeCls = getSizeCls(size);
var classString = (0, _classnames.default)(prefixCls, className, hashId, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(prefixCls, "-loading"), cardLoading), "".concat(prefixCls, "-").concat(sizeCls), sizeCls), "".concat(prefixCls, "-checked"), checked), "".concat(prefixCls, "-multiple"), multiple), "".concat(prefixCls, "-disabled"), disabled), "".concat(prefixCls, "-bordered"), bordered), "".concat(prefixCls, "-ghost"), props.ghost));
var metaDom = (0, _react.useMemo)(function () {
if (cardLoading) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Group.CardLoading, {
prefixCls: prefixCls || '',
hashId: hashId
});
}
if (cover) {
return renderCover(prefixCls || '', cover);
}
var avatarDom = avatar ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-avatar"), hashId),
children: typeof avatar === 'string' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Avatar, {
size: 48,
shape: "square",
src: avatar
}) : avatar
}) : null;
var headerDom = (title !== null && title !== void 0 ? title : extra) != null && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-header"), hashId),
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-header-left"), hashId),
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-title"), hashId, (0, _defineProperty2.default)({}, "".concat(prefixCls, "-title-with-ellipsis"), typeof title === 'string')),
children: title
}), props.subTitle ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-subTitle"), hashId),
children: props.subTitle
}) : null]
}), extra && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-extra"), hashId),
children: extra
})]
});
var descriptionDom = description ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-description"), hashId),
children: description
}) : null;
var metaClass = (0, _classnames.default)("".concat(prefixCls, "-content"), hashId, (0, _defineProperty2.default)({}, "".concat(prefixCls, "-avatar-header"), avatarDom && headerDom && !descriptionDom));
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: metaClass,
children: [avatarDom, headerDom || descriptionDom ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-detail"), hashId),
children: [headerDom, descriptionDom]
}) : null]
});
}, [avatar, cardLoading, cover, description, extra, hashId, prefixCls, props.subTitle, title]);
return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: classString,
style: style,
onClick: function onClick(e) {
if (!cardLoading && !disabled) {
handleClick(e);
}
},
onMouseEnter: props.onMouseEnter,
children: [metaDom, props.children ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-body"), hashId),
style: props.bodyStyle,
children: props.children
}) : null, props.actions ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Actions.default, {
actions: props.actions,
prefixCls: prefixCls
}) : null]
}));
};
CheckCard.Group = _Group.default;
var _default = exports.default = CheckCard;

View File

@@ -0,0 +1,11 @@
/// <reference types="react" />
import { Keyframes } from '@ant-design/cssinjs';
import type { ProAliasToken } from '@ant-design/pro-provider';
export interface ProListToken extends ProAliasToken {
componentCls: string;
}
export declare const cardLoading: Keyframes;
export declare function useStyle(prefixCls: string): {
wrapSSR: (node: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) => import("react").JSX.Element;
hashId: string;
};

View File

@@ -0,0 +1,208 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cardLoading = void 0;
exports.useStyle = useStyle;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _cssinjs = require("@ant-design/cssinjs");
var _proProvider = require("@ant-design/pro-provider");
var proCheckCardActive = function proCheckCardActive(token) {
return {
backgroundColor: token.colorPrimaryBg,
borderColor: token.colorPrimary
};
};
var proCheckCardDisabled = function proCheckCardDisabled(token) {
return (0, _defineProperty2.default)({
backgroundColor: token.colorBgContainerDisabled,
borderColor: token.colorBorder,
cursor: 'not-allowed'
}, token.componentCls, {
'&-description': {
color: token.colorTextDisabled
},
'&-title': {
color: token.colorTextDisabled
},
'&-avatar': {
opacity: '0.25'
}
});
};
var cardLoading = exports.cardLoading = new _cssinjs.Keyframes('card-loading', {
'0%': {
backgroundPosition: '0 50%'
},
'50%': {
backgroundPosition: '100% 50%'
},
'100%': {
backgroundPosition: '0 50%'
}
});
var genProStyle = function genProStyle(token) {
var _token$componentCls;
return (0, _defineProperty2.default)({}, token.componentCls, (_token$componentCls = {
position: 'relative',
display: 'inline-block',
width: '320px',
marginInlineEnd: '16px',
marginBlockEnd: '16px',
color: token.colorText,
fontSize: token.fontSize,
lineHeight: token.lineHeight,
verticalAlign: 'top',
backgroundColor: token.colorBgContainer,
borderRadius: token.borderRadius,
overflow: 'auto',
cursor: 'pointer',
transition: "all 0.3s",
'&:after': {
position: 'absolute',
insetBlockStart: 2,
insetInlineEnd: 2,
width: 0,
height: 0,
opacity: 0,
transition: 'all 0.3s ' + token.motionEaseInOut,
borderBlockEnd: "".concat(token.borderRadius + 4, "px solid transparent"),
borderInlineStart: "".concat(token.borderRadius + 4, "px solid transparent"),
borderStartEndRadius: "".concat(token.borderRadius, "px"),
content: "''"
},
'&:last-child': {
marginInlineEnd: 0
},
'& + &': {
marginInlineStart: '0 !important'
},
'&-bordered': {
border: "".concat(token.lineWidth, "px solid ").concat(token.colorBorder)
},
'&-group': {
display: 'inline-block',
'&-sub-check-card': {
display: 'flex',
flexDirection: 'column',
gap: '8px',
'&-title': {
cursor: 'pointer',
paddingBlock: token.paddingXS,
display: 'flex',
gap: 4,
alignItems: 'center'
},
'&-panel': {
visibility: 'initial',
transition: 'all 0.3s',
opacity: 1,
'&-collapse': {
display: 'none',
visibility: 'hidden',
opacity: 0
}
}
}
}
}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_token$componentCls, "".concat(token.componentCls, "-loading"), {
overflow: 'hidden',
userSelect: 'none',
'&-content': {
padding: token.paddingMD
}
}), '&:focus', proCheckCardActive(token)), '&-checked', (0, _objectSpread2.default)((0, _objectSpread2.default)({}, proCheckCardActive(token)), {}, {
'&:after': {
opacity: 1,
border: "".concat(token.borderRadius + 4, "px solid ").concat(token.colorPrimary),
borderBlockEnd: "".concat(token.borderRadius + 4, "px solid transparent"),
borderInlineStart: "".concat(token.borderRadius + 4, "px solid transparent"),
borderStartEndRadius: "".concat(token.borderRadius, "px")
}
})), '&-disabled', proCheckCardDisabled(token)), '&[disabled]', proCheckCardDisabled(token)), '&-checked&-disabled', {
'&:after': {
position: 'absolute',
insetBlockStart: 2,
insetInlineEnd: 2,
width: 0,
height: 0,
border: "".concat(token.borderRadius + 4, "px solid ").concat(token.colorTextDisabled),
borderBlockEnd: "".concat(token.borderRadius + 4, "px solid transparent"),
borderInlineStart: "".concat(token.borderRadius + 4, "px solid transparent"),
borderStartEndRadius: "".concat(token.borderRadius, "px"),
content: "''"
}
}), '&-lg', {
width: 440
}), '&-sm', {
width: 212
}), '&-cover', {
paddingInline: token.paddingXXS,
paddingBlock: token.paddingXXS,
img: {
width: '100%',
height: '100%',
overflow: 'hidden',
borderRadius: token.borderRadius
}
}), '&-content', {
display: 'flex',
paddingInline: token.paddingSM,
paddingBlock: token.padding
}), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_token$componentCls, '&-body', {
paddingInline: token.paddingSM,
paddingBlock: token.padding
}), '&-avatar-header', {
display: 'flex',
alignItems: 'center'
}), '&-avatar', {
paddingInlineEnd: 8
}), '&-detail', {
overflow: 'hidden',
width: '100%',
'> div:not(:last-child)': {
marginBlockEnd: 4
}
}), '&-header', {
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between',
lineHeight: token.lineHeight,
'&-left': {
display: 'flex',
alignItems: 'center',
gap: token.sizeSM,
minWidth: 0
}
}), '&-title', {
overflow: 'hidden',
color: token.colorTextHeading,
fontWeight: '500',
fontSize: token.fontSize,
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between',
'&-with-ellipsis': {
display: 'inline-block'
}
}), '&-description', {
color: token.colorTextSecondary
}), "&:not(".concat(token.componentCls, "-disabled)"), {
'&:hover': {
borderColor: token.colorPrimary
}
})));
};
function useStyle(prefixCls) {
return (0, _proProvider.useStyle)('CheckCard', function (token) {
var proListToken = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, token), {}, {
componentCls: ".".concat(prefixCls)
});
return [genProStyle(proListToken)];
});
}