github.com/replicatedhq/ship@v0.55.0/web/init/src/components/shared/Loader.jsx (about) 1 import * as React from "react"; 2 3 export default class Loader extends React.Component { 4 5 render() { 6 const { 7 className, 8 displayBlock, 9 size 10 } = this.props; 11 12 const displayClassName = displayBlock ? "u-display--block" : "u-display--inlineBlock"; 13 14 return ( 15 <div className={`Loader ${className || ""} ${displayClassName}`}> 16 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width={`${size}px`} height={`${size}px`} viewBox="0 0 40 40" enableBackground="new 0 0 40 40"> 17 <path opacity="0.2" className="spinningLoaderPath" d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946 s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634 c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z" /> 18 <path className="spinningLoaderPath" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0 C22.32,8.481,24.301,9.057,26.013,10.047z"> 19 <animateTransform 20 attributeType="xml" 21 attributeName="transform" 22 type="rotate" 23 from="0 20 20" 24 to="360 20 20" 25 dur="0.5s" 26 repeatCount="indefinite" 27 /> 28 </path> 29 </svg> 30 </div> 31 ) 32 } 33 }