UNPKG

@datalayer/primer-rjsf

Version:

React JSON Schema Form (RJSF) for Primer

27 lines (26 loc) 1.59 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { IconButton, Tooltip } from "@primer/react"; import { CopyIcon, ArrowUpIcon, ArrowDownIcon, TrashIcon } from '@primer/octicons-react'; import { TranslatableString, } from "@rjsf/utils"; export default function PrimerIconButton({ uiSchema, color, title, icon, ...props }) { if (!color) color = "primary"; return (_jsx(Tooltip, { sx: { p: 1 }, "aria-label": color, text: "", children: _jsx(IconButton, { variant: color, size: "small", icon: icon, onClick: (e) => e.preventDefault(), onSubmit: (e) => e.preventDefault(), "aria-label": title, ...props }) })); } export function CopyButton(props) { const { registry: { translateString }, } = props; return (_jsx(PrimerIconButton, { title: translateString(TranslatableString.CopyButton), ...props, icon: CopyIcon })); } export function MoveDownButton(props) { const { registry: { translateString }, } = props; return (_jsx(PrimerIconButton, { title: translateString(TranslatableString.MoveDownButton), ...props, icon: ArrowDownIcon })); } export function MoveUpButton(props) { const { registry: { translateString }, } = props; return (_jsx(PrimerIconButton, { title: translateString(TranslatableString.MoveUpButton), ...props, icon: ArrowUpIcon })); } export function RemoveButton(props) { const { iconType, ...otherProps } = props; const { registry: { translateString }, } = otherProps; return (_jsx(PrimerIconButton, { title: translateString(TranslatableString.RemoveButton), ...otherProps, color: "danger", icon: TrashIcon })); }