UNPKG

@carbon/react

Version:

React components for the Carbon Design System

63 lines (61 loc) 1.95 kB
/** * Copyright IBM Corp. 2016, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ const require_runtime = require("../../_virtual/_rolldown/runtime.js"); const require_usePrefix = require("../../internal/usePrefix.js"); let classnames = require("classnames"); classnames = require_runtime.__toESM(classnames); let react = require("react"); react = require_runtime.__toESM(react); let prop_types = require("prop-types"); prop_types = require_runtime.__toESM(prop_types); let react_jsx_runtime = require("react/jsx-runtime"); //#region src/components/Button/Button.Skeleton.tsx /** * Copyright IBM Corp. 2016, 2025 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ const ButtonSkeleton = ({ className, small = false, href, size = "lg", ...rest }) => { const prefix = require_usePrefix.usePrefix(); const commonProps = { className: (0, classnames.default)(className, { [`${prefix}--skeleton`]: true, [`${prefix}--btn`]: true, [`${prefix}--btn--xs`]: size === "xs", [`${prefix}--btn--sm`]: small || size === "sm", [`${prefix}--btn--md`]: size === "md", [`${prefix}--btn--lg`]: size === "lg", [`${prefix}--btn--xl`]: size === "xl", [`${prefix}--btn--2xl`]: size === "2xl", [`${prefix}--layout--size-${size}`]: size }), ...rest }; const button = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { ...commonProps }); const anchor = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", { ...commonProps, href, role: "button" }); return href ? anchor : button; }; ButtonSkeleton.propTypes = { className: prop_types.default.string, href: prop_types.default.string, size: prop_types.default.oneOf([ "xs", "sm", "md", "lg", "xl", "2xl" ]), small: prop_types.default.bool }; //#endregion exports.default = ButtonSkeleton;