@aokiapp/rjsf-mantine-theme
Version:
Mantine theme, fields and widgets for react-jsonschema-form
27 lines • 1.59 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { ActionIcon } from '@mantine/core';
import { TranslatableString } from '@rjsf/utils';
import { IconChevronDown, IconChevronUp, IconCopy, IconTrash } from '@tabler/icons-react';
function IconButton(props) {
// eliminate uiSchema and registry from props, which are not accepted by ActionIcon
const { iconType, icon, uiSchema: _uiSchema, registry: _registry, color, title, ...rest } = props;
return (_jsx(ActionIcon, { size: iconType, variant: 'light', color: color, "aria-label": title, title: title, role: 'button', ...rest, children: icon }));
}
export default IconButton;
export function CopyButton(props) {
const { registry: { translateString }, } = props;
return _jsx(IconButton, { title: translateString(TranslatableString.CopyButton), ...props, icon: _jsx(IconCopy, {}) });
}
export function MoveDownButton(props) {
const { registry: { translateString }, } = props;
return (_jsx(IconButton, { title: translateString(TranslatableString.MoveDownButton), ...props, icon: _jsx(IconChevronDown, {}) }));
}
export function MoveUpButton(props) {
const { registry: { translateString }, } = props;
return _jsx(IconButton, { title: translateString(TranslatableString.MoveUpButton), ...props, icon: _jsx(IconChevronUp, {}) });
}
export function RemoveButton(props) {
const { registry: { translateString }, } = props;
return (_jsx(IconButton, { title: translateString(TranslatableString.RemoveButton), color: 'red', ...props, icon: _jsx(IconTrash, {}) }));
}
//# sourceMappingURL=IconButton.js.map