UNPKG

@carbon/react

Version:

React components for the Carbon Design System

65 lines (61 loc) 2.4 kB
/** * 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 PropTypes from 'prop-types'; import React from 'react'; import cx from 'classnames'; import { usePrefix } from '../../internal/usePrefix.js'; import { FormContext } from '../FluidForm/FormContext.js'; import { Calendar } from '@carbon/icons-react'; const FluidDatePickerSkeleton = ({ className, datePickerType = 'single', ...other }) => { const prefix = usePrefix(); const classNames = cx(className, `${prefix}--form-item ${prefix}--date-picker--fluid__skeleton`, { [`${prefix}--date-picker--fluid__skeleton--range`]: datePickerType === 'range' }); return /*#__PURE__*/React.createElement(FormContext.Provider, { value: { isFluid: true } }, /*#__PURE__*/React.createElement("div", _extends({ className: classNames }, other), /*#__PURE__*/React.createElement("div", { className: `${prefix}--date-picker--fluid__skeleton--container` }, /*#__PURE__*/React.createElement("span", { className: `${prefix}--label ${prefix}--skeleton` }), /*#__PURE__*/React.createElement("div", { className: `${prefix}--skeleton ${prefix}--text-input` }), datePickerType !== 'simple' && /*#__PURE__*/React.createElement(Calendar, { className: `${prefix}--date-picker__icon`, role: "img", "aria-hidden": "true" })), datePickerType === 'range' && /*#__PURE__*/React.createElement("div", { className: `${prefix}--date-picker--fluid__skeleton--container` }, /*#__PURE__*/React.createElement("span", { className: `${prefix}--label ${prefix}--skeleton` }), /*#__PURE__*/React.createElement("div", { className: `${prefix}--skeleton ${prefix}--text-input` }), /*#__PURE__*/React.createElement(Calendar, { className: `${prefix}--date-picker__icon`, role: "img", "aria-hidden": "true" })))); }; FluidDatePickerSkeleton.propTypes = { /** * Specify an optional className to be applied to the outer FluidForm wrapper */ className: PropTypes.string, /** * Specify which variant of the DatePicker the skeleton should mimic */ datePickerType: PropTypes.oneOf(['simple', 'single', 'range']) }; export { FluidDatePickerSkeleton as default };