@primer/react
Version:
An implementation of GitHub's Primer Design System using React
31 lines (30 loc) • 1.37 kB
JavaScript
import { defaultTokenSize } from "./constants.js";
import _RemoveTokenButton_module_css_default from "./_RemoveTokenButton.module.css.js";
import { clsx } from "clsx";
import { jsx } from "react/jsx-runtime";
import { XIcon } from "@primer/octicons-react";
//#region src/Token/_RemoveTokenButton.tsx
const RemoveTokenButton = ({ "aria-label": ariaLabel, isParentInteractive, size = defaultTokenSize, className, borderOffset = 0, as: _as, children: _children, ...rest }) => {
if (isParentInteractive) return /*#__PURE__*/ jsx("span", {
...rest,
tabIndex: -1,
"aria-label": ariaLabel,
"data-size": size,
className: clsx(_RemoveTokenButton_module_css_default.TokenButton, className),
style: { transform: `translate(${borderOffset}px, -${borderOffset}px)` },
children: /*#__PURE__*/ jsx(XIcon, { size: size === "small" || size === "medium" ? 12 : 16 })
});
return /*#__PURE__*/ jsx("button", {
...rest,
"aria-label": "Remove token",
"data-size": size,
className: clsx(_RemoveTokenButton_module_css_default.TokenButton, className),
style: { transform: `translate(${borderOffset}px, -${borderOffset}px)` },
ref: rest.ref,
type: "button",
children: /*#__PURE__*/ jsx(XIcon, { size: size === "small" || size === "medium" ? 12 : 16 })
});
};
RemoveTokenButton.displayName = "RemoveTokenButton";
//#endregion
export { RemoveTokenButton as default };