@rjsf/antd
Version:
Ant Design theme, fields and widgets for react-jsonschema-form
35 lines • 2.14 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { Button } from 'antd';
import ArrowDownOutlined from '@ant-design/icons/ArrowDownOutlined';
import ArrowUpOutlined from '@ant-design/icons/ArrowUpOutlined';
import CopyOutlined from '@ant-design/icons/CopyOutlined';
import DeleteOutlined from '@ant-design/icons/DeleteOutlined';
import PlusCircleOutlined from '@ant-design/icons/PlusCircleOutlined';
import { getUiOptions, TranslatableString, } from '@rjsf/utils';
export default function IconButton(props) {
const { iconType = 'default', icon, onClick, uiSchema, registry, ...otherProps } = props;
return (_jsx(Button, { onClick: onClick, type: iconType, icon: icon, ...otherProps }));
}
export function AddButton(props) {
const { registry: { translateString }, } = props;
return (_jsx(IconButton, { title: translateString(TranslatableString.AddItemButton), ...props, block: true, iconType: 'primary', icon: _jsx(PlusCircleOutlined, {}) }));
}
export function CopyButton(props) {
const { registry: { translateString }, } = props;
return _jsx(IconButton, { title: translateString(TranslatableString.CopyButton), ...props, icon: _jsx(CopyOutlined, {}) });
}
export function MoveDownButton(props) {
const { registry: { translateString }, } = props;
return (_jsx(IconButton, { title: translateString(TranslatableString.MoveDownButton), ...props, icon: _jsx(ArrowDownOutlined, {}) }));
}
export function MoveUpButton(props) {
const { registry: { translateString }, } = props;
return _jsx(IconButton, { title: translateString(TranslatableString.MoveUpButton), ...props, icon: _jsx(ArrowUpOutlined, {}) });
}
export function RemoveButton(props) {
// The `block` prop is not part of the `IconButtonProps` defined in the template, so get it from the uiSchema instead
const options = getUiOptions(props.uiSchema);
const { registry: { translateString }, } = props;
return (_jsx(IconButton, { title: translateString(TranslatableString.RemoveButton), ...props, danger: true, block: !!options.block, iconType: 'primary', icon: _jsx(DeleteOutlined, {}) }));
}
//# sourceMappingURL=index.js.map