@carbon/react
Version:
React components for the Carbon Design System
54 lines (50 loc) • 1.88 kB
JavaScript
/**
* Copyright IBM Corp. 2016, 2023
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
import cx from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { usePrefix } from '../../internal/usePrefix.js';
var _span, _span2, _span3, _span4;
function CodeSnippetSkeleton({
className: containerClassName,
type = 'single',
...rest
}) {
const prefix = usePrefix();
const className = cx(containerClassName, {
[`${prefix}--snippet`]: true,
[`${prefix}--skeleton`]: true,
[`${prefix}--snippet--single`]: type === 'single',
[`${prefix}--snippet--multi`]: type === 'multi'
});
if (type === 'single') {
return /*#__PURE__*/React.createElement("div", _extends({
className: className
}, rest), /*#__PURE__*/React.createElement("div", {
className: `${prefix}--snippet-container`
}, _span || (_span = /*#__PURE__*/React.createElement("span", null))));
}
if (type === 'multi') {
return /*#__PURE__*/React.createElement("div", _extends({
className: className
}, rest), /*#__PURE__*/React.createElement("div", {
className: `${prefix}--snippet-container`
}, _span2 || (_span2 = /*#__PURE__*/React.createElement("span", null)), _span3 || (_span3 = /*#__PURE__*/React.createElement("span", null)), _span4 || (_span4 = /*#__PURE__*/React.createElement("span", null))));
}
}
CodeSnippetSkeleton.propTypes = {
/**
* Specify an optional className to be applied to the container node
*/
className: PropTypes.string,
/**
* The type of the code snippet, including single or multi
*/
type: PropTypes.oneOf(['single', 'multi'])
};
export { CodeSnippetSkeleton, CodeSnippetSkeleton as default };