UNPKG

@zendeskgarden/react-loaders

Version:

Components relating to loaders in the Garden Design System

56 lines (53 loc) 1.55 kB
/** * Copyright Zendesk, Inc. * * Use of this source code is governed under the Apache License, Version 2.0 * found at http://www.apache.org/licenses/LICENSE-2.0. */ import React, { forwardRef } from 'react'; import PropTypes from 'prop-types'; import { StyledDotsCircleOne, StyledDotsCircleTwo, StyledDotsCircleThree } from '../styled/StyledDots.js'; import '../styled/StyledLoadingPlaceholder.js'; import '../styled/StyledProgress.js'; import '../styled/StyledSkeleton.js'; import '../styled/StyledSpinnerCircle.js'; import { StyledSVG } from '../styled/StyledSVG.js'; import '../styled/StyledInline.js'; const COMPONENT_ID = 'loaders.dots'; const Dots = forwardRef((_ref, ref) => { let { size = 'inherit', color = 'inherit', duration = 1250, delayMS = 750, ...other } = _ref; return React.createElement(StyledSVG, Object.assign({ "data-garden-id": COMPONENT_ID, ref: ref, $fontSize: size, $color: color, $width: "80", $height: "72", $delayShow: delayMS }, other), React.createElement("g", { fill: "currentColor" }, React.createElement(StyledDotsCircleOne, { $duration: duration, $delay: delayMS }), React.createElement(StyledDotsCircleTwo, { $duration: duration, $delay: delayMS }), React.createElement(StyledDotsCircleThree, { $duration: duration, $delay: delayMS }))); }); Dots.displayName = 'Dots'; Dots.propTypes = { size: PropTypes.any, duration: PropTypes.number, color: PropTypes.string, delayMS: PropTypes.number }; export { Dots };