margin-right: -20px;
padding: 8px 20px;
}
+
+.boxed-group-loading {
+ position: relative;
+ transition: border-color 0.25s;
+}
+
+.boxed-group-loading:before,
+.boxed-group-loading:after {
+ position: absolute;
+ border: 2px solid transparent;
+ box-sizing: border-box;
+ content: '';
+}
+
+.boxed-group-loading:before {
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ border-top-color: #4b9fd5;
+ border-right-color: #4b9fd5;
+ animation: 3s top-left-border 0s infinite;
+}
+
+.boxed-group-loading:after {
+ width: 0;
+ height: 0;
+ bottom: 0;
+ right: 0;
+ border-bottom-color: #4b9fd5;
+ border-left-color: #4b9fd5;
+ animation: 3s border-bottom-border 0s infinite;
+}
+
+@keyframes top-left-border {
+ 0% {
+ width: 0;
+ height: 0;
+ }
+
+ 25% {
+ width: 100%;
+ height: 0;
+ }
+
+ 50% {
+ width: 100%;
+ height: 100%;
+ }
+
+ 75% {
+ width: 100%;
+ height: 100%;
+ }
+
+ 100% {
+ width: 100%;
+ height: 100%;
+ }
+}
+
+@keyframes border-bottom-border {
+ 0% {
+ width: 0;
+ height: 0;
+ border-width: 0;
+ }
+
+ 25% {
+ width: 0;
+ height: 0;
+ border-width: 0;
+ }
+
+ 50% {
+ width: 0;
+ height: 0;
+ border-width: 0;
+ }
+
+ 51% {
+ border-width: 2px;
+ }
+
+ 75% {
+ width: 100%;
+ height: 0;
+ }
+
+ 100% {
+ width: 100%;
+ height: 100%;
+ }
+}
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import React from 'react';
+import classNames from 'classnames';
import ProjectCardMeasures from './ProjectCardMeasures';
import { getComponentUrl } from '../../../helpers/urls';
return null;
}
+ const className = classNames('boxed-group', 'project-card', { 'boxed-group-loading': this.props.measures == null });
+
return (
- <div className="boxed-group project-card">
+ <div className={className}>
<h2 className="project-card-name">
<a className="link-base-color" href={getComponentUrl(project.key)}>{project.name}</a>
</h2>