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