{{#> 
	layouts/main 
	title="Spinners" 
	pagename="ui_spinners" 
	heading="<i class='subheader-icon fal fa-window'></i>  Spinners" 
	category_1="UI Components" 
	pagedescription="Indicate the loading state of a component or page with spinners, built entirely with HTML, CSS, and no JavaScript!"
}}

{{#*inline "head-block"}}{{/inline}}

{{#*inline "content-block"}}

<div class="alert alert-primary">
	<div class="d-flex flex-start w-100">
		<div class="mr-2 hidden-md-down">
			<span class="icon-stack icon-stack-lg">
				<i class="base base-6 icon-stack-3x opacity-100 color-primary-500"></i>
				<i class="base base-10 icon-stack-2x opacity-100 color-primary-300 fa-flip-vertical"></i>
				<i class="{{iconPrefix}} fa-info icon-stack-1x opacity-100 color-white"></i>
			</span>
		</div>
		<div class="d-flex flex-fill">
			<div class="flex-fill">
				<span class="h5">About</span>
				<br> 
				CSS “spinners” can be used to show the loading state in your projects. They’re built only with HTML and CSS, meaning you don’t need any JavaScript to create them. You will, however, need some custom JavaScript to toggle their visibility. Their appearance, alignment, and sizing can be easily customized with our amazing utility classes.
				<br> 
				<br> 
				Learn more about this plugin on bootstrap's <a href="https://getbootstrap.com/docs/{{bs4v}}/components/spinners/" target="_blank">official documentation</a>.
			</div>
		</div>
	</div>
</div>

<div class="row">
	<div class="col-xl-6">
		<div id="panel-1" class="panel">
			<div class="panel-hdr">	
				<h2>
					Border <span class="fw-300"><i>spinner</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						Use the border spinners for a lightweight loading indicator
					</div>
					<div class="spinner-border" role="status">
						<span class="sr-only">Loading...</span>
					</div>
				</div>
			</div>
		</div>	
		<div id="panel-2" class="panel">
			<div class="panel-hdr">	
				<h2>
					Color <span class="fw-300"><i>spinners</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						The border spinner uses <code>currentColor</code> for its <code>border-color</code>, meaning you can customize the color with <a href="#" target="_blank">text color utilities</a>. You can use any of our text color utilities on the standard spinner
					</div>
					<div class="demo">
						<div class="spinner-border text-primary" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border text-secondary" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border text-success" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border text-danger" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border text-warning" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border text-info" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border text-light" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border text-dark" role="status">
							<span class="sr-only">Loading...</span>
						</div>						
					</div>
				</div>
			</div>
		</div>	
		<div id="panel-3" class="panel">
			<div class="panel-hdr">	
				<h2>
					Spinner <span class="fw-300"><i>Alignment</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						
					</div>
					<h5 class="frame-heading">
						Flex
					</h5>
					<div class="frame-wrap">
						<div class="border p-3">
							<div class="d-flex justify-content-center">
								<div class="spinner-border" role="status">
									<span class="sr-only">Loading...</span>
								</div>
							</div>
						</div>
					</div>
					<h5 class="frame-heading">
						Float
					</h5>
					<div class="frame-wrap">
						<div class="border p-3">
							<div class="d-flex align-items-center">
								<strong>Loading...</strong>
								<div class="spinner-border ml-auto" role="status" aria-hidden="true"></div>
							</div>
						</div>
					</div>
					<h5 class="frame-heading">
						Text align
					</h5>
					<div class="frame-wrap">
						<div class="border p-3">
							<div class="text-left">
								<div class="spinner-border" role="status">
									<span class="sr-only">Loading...</span>
								</div>
							</div>
						</div>
					</div>
					
				</div>
			</div>
		</div>	
		<div id="panel-4" class="panel">
			<div class="panel-hdr">	
				<h2>
					Spinner <span class="fw-300"><i>sizes</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						Add <code>.spinner-border-sm</code> to make a smaller spinner that can quickly be used within other components. Or, use custom CSS or inline styles to change the dimensions as needed.
					</div>
					<div class="demo-h-spacing">
						
						<div class="spinner-border" style="width: 3rem; height: 3rem;" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border spinner-border-sm" role="status">
							<span class="sr-only">Loading...</span>
						</div>
					</div>
					
				</div>
			</div>
		</div>
		<div id="panel-5" class="panel">
			<div class="panel-hdr">	
				<h2>
					Shape <span class="fw-300"><i>changes</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						Change the shape of your spinner using border utilities
					</div>
					<div class="demo-h-spacing">
						<div class="spinner-border rounded-0 text-primary" style="width: 3rem; height: 3rem;" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border rounded-0 text-danger" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-border rounded-0 text-info spinner-border-sm" role="status">
							<span class="sr-only">Loading...</span>
						</div>
					</div>
					
				</div>
			</div>
		</div>
		<div id="panel-6" class="panel">
			<div class="panel-hdr">	
				<h2>
					Spinner <span class="fw-300"><i>nested</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						Use spinners within buttons to indicate an action is currently processing or taking place. You may also swap the text out of the spinner element and utilize button text as needed.
					</div>
					<div class="demo">
						<button class="btn btn-success btn-icon rounded-circle" type="button" disabled>
							<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
							<span class="sr-only">Loading...</span>
						</button>
						<button class="btn btn-primary" type="button" disabled>
							<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
							<span class="sr-only">Loading...</span>
						</button>
						<button class="btn btn-info" type="button" disabled>
							<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
							Loading...
						</button>
						<button class="btn btn-danger rounded-pill" type="button" disabled>
							<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
							Loading...
						</button>
					</div>
				</div>
			</div>
		</div>	
	</div>
	<div class="col-xl-6">
		<div id="panel-7" class="panel">
			<div class="panel-hdr">	
				<h2>
					Growing <span class="fw-300"><i>spinner</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						If you don’t fancy a border spinner, switch to the grow spinner
					</div>
					<div class="spinner-grow" role="status">
						<span class="sr-only">Loading...</span>
					</div>
				</div>
			</div>
		</div>
		<div id="panel-8" class="panel">
			<div class="panel-hdr">	
				<h2>
					Growing <span class="fw-300"><i>spinner colors</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						Once again, this spinner is built with <code>currentColor</code>, so you can easily change its appearance with <a href="#" target="_blank">text color utilities</a>
					</div>
					<div class="demo">
						<div class="spinner-grow text-primary" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow text-secondary" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow text-success" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow text-danger" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow text-warning" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow text-info" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow text-light" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow text-dark" role="status">
							<span class="sr-only">Loading...</span>
						</div>
					</div>
				</div>
			</div>
		</div>
		<div id="panel-9" class="panel">
			<div class="panel-hdr">	
				<h2>
					Growing <span class="fw-300"><i>spinner alignment</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						
					</div>
					<h5 class="frame-heading">
						Flex
					</h5>
					<div class="frame-wrap">
						<div class="border p-3">
							<div class="d-flex justify-content-center">
								<div class="spinner-grow" role="status">
									<span class="sr-only">Loading...</span>
								</div>
							</div>
						</div>
					</div>
					<h5 class="frame-heading">
						Float
					</h5>
					<div class="frame-wrap">
						<div class="border p-3">
							<div class="d-flex align-items-center">
								<strong>Loading...</strong>
								<div class="spinner-grow ml-auto" role="status" aria-hidden="true"></div>
							</div>
						</div>
					</div>
					<h5 class="frame-heading">
						Text align
					</h5>
					<div class="frame-wrap">
						<div class="border p-3">
							<div class="text-left">
								<div class="spinner-grow" role="status">
									<span class="sr-only">Loading...</span>
								</div>
							</div>
						</div>
					</div>
					
				</div>
			</div>
		</div>
		<div id="panel-10" class="panel">
			<div class="panel-hdr">	
				<h2>
					Growing <span class="fw-300"><i>spinner sizes</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						Add <code>.spinner-grow-sm</code> to make a smaller spinner that can quickly be used within other components. Or, use custom CSS or inline styles to change the dimensions as needed.
					</div>
					<div class="demo-h-spacing">
						<div class="spinner-grow" style="width: 3rem; height: 3rem;" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow spinner-grow-sm" role="status">
							<span class="sr-only">Loading...</span>
						</div>
					</div>
					
				</div>
			</div>
		</div>
		<div id="panel-11" class="panel">
			<div class="panel-hdr">	
				<h2>
					Shape <span class="fw-300"><i>shifting</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						Change the shape of your growing spinner using border utilities
					</div>
					<div class="demo-h-spacing">
						<div class="spinner-grow rounded-0 text-primary" style="width: 3rem; height: 3rem;" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow rounded-0 text-danger" role="status">
							<span class="sr-only">Loading...</span>
						</div>
						<div class="spinner-grow spinner-grow-sm rounded-0 text-info" role="status">
							<span class="sr-only">Loading...</span>
						</div>
					</div>
					
				</div>
			</div>
		</div>	
		<div id="panel-12" class="panel">
			<div class="panel-hdr">	
				<h2>
					Growing <span class="fw-300"><i>spinner nested</i></span> 
				</h2>
				<div class="panel-toolbar">
					<button class="btn btn-panel" data-action="panel-collapse" data-toggle="tooltip" data-offset="0,10" data-original-title="Collapse"></button>
					<button class="btn btn-panel" data-action="panel-fullscreen" data-toggle="tooltip" data-offset="0,10" data-original-title="Fullscreen"></button>
					<button class="btn btn-panel" data-action="panel-close" data-toggle="tooltip" data-offset="0,10" data-original-title="Close"></button>
				</div>
			</div>
			<div class="panel-container show">
				<div class="panel-content">									
					<div class="panel-tag">
						Use spinners within buttons to indicate an action is currently processing or taking place. You may also swap the text out of the spinner element and utilize button text as needed.
					</div>
					<div class="demo">
						<button class="btn btn-success btn-icon rounded-circle" type="button" disabled>
							<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
							<span class="sr-only">Loading...</span>
						</button>
						<button class="btn btn-primary" type="button" disabled>
							<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
							<span class="sr-only">Loading...</span>
						</button>
						<button class="btn btn-info" type="button" disabled>
							<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
							Loading...
						</button>
						<button class="btn btn-danger rounded-pill" type="button" disabled>
							<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
							Loading...
						</button>
					</div>
				</div>
			</div>
		</div>				
	</div>
</div>

{{/inline}}

{{#*inline "scripts-block"}}{{/inline}}

{{/layouts/main}}