<commit_before>//
// Views
// ==============================




// Static
// ------------------------------

// setup

.View {
	.display-flex();
	.flex-direction(column);
	.square(100%);
	background-color: @body-bg;
	line-height: 1; // reset. default line-height is for readable content not apps
	overflow: hidden;
	position: absolute;

	// stop weird text rendering issue after transform/animation end
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	// prepare the element for animation
	.translateZ(0);
}

// introduce iOS style springy scrolling

.springy-scrolling {
	position: relative;

	&:before,
	&:after {
		.square(1px;);
		content: "";
		position: absolute;
	}

	&:before {
		bottom: -1px;
	}
	&:after {
		top: -1px;
	}
}

// disable user interaction

.view-processing {
	pointer-events: none;

	// translucent overlay
	// provide visual feedback to the user that they cannot interact with the
	// view whilst it's processing
	&:after {
		.animation( fadeIn 150ms );
		.fill-space(@statusbar-height,0,0,0);
		background-color: rgba(255, 255, 255, 0.66);
		content: "";
		z-index: 2;
	}
}

// add space for the statusbar in iOS

.is-native-app .Headerbar {
	padding-top: @statusbar-height;
}

// body

.view-inner {
	margin: @padding-base-vertical @padding-base-horizontal;
}

// Animation
// ------------------------------

// React's CSSTransitionGroup requires an animation so we transition from .99 opacity to 1 with "artificial"

// transition: instant (default)
.view-transition-instant-enter { .animation( artificial 10ms ); }
.view-transition-instant-leave { .animation( fadeOut 60ms ); }

// transition: fade
.view-transition-fade-enter { .animation( artificial 10ms ); }
.view-transition-fade-leave { .animation( fadeOut 380ms ); }

// transition: fade expand<commit_msg>add error view styles<commit_after>//
// Views
// ==============================




// Static
// ------------------------------

// setup

.View {
	.display-flex();
	.flex-direction(column);
	.square(100%);
	background-color: @body-bg;
	line-height: 1; // reset. default line-height is for readable content not apps
	overflow: hidden;
	position: absolute;

	// stop weird text rendering issue after transform/animation end
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	// prepare the element for animation
	.translateZ(0);
}

// introduce iOS style springy scrolling

.springy-scrolling {
	position: relative;

	&:before,
	&:after {
		.square(1px;);
		content: "";
		position: absolute;
	}

	&:before {
		bottom: -1px;
	}
	&:after {
		top: -1px;
	}
}

// disable user interaction

.view-processing {
	pointer-events: none;

	// translucent overlay
	// provide visual feedback to the user that they cannot interact with the
	// view whilst it's processing
	&:after {
		.animation( fadeIn 150ms );
		.fill-space(@statusbar-height,0,0,0);
		background-color: rgba(255, 255, 255, 0.66);
		content: "";
		z-index: 2;
	}
}

// add space for the statusbar in iOS

.is-native-app .Headerbar {
	padding-top: @statusbar-height;
}

// body

.view-inner {
	margin: @padding-base-vertical @padding-base-horizontal;
}




// Error View
// ------------------------------

// TEMP

.ErrorView {
	.align-items(center);
	.display-flex();
	.flex-direction(column);
	.justify-content(center);
	text-align: center;
}
.ErrorView__icon {
	font-size: 64px;
	margin-bottom: .5em;
}
.ErrorView__heading {
	display: block;
	font-weight: bold;
	margin-bottom: 1em;
	padding-left: 2em;
	padding-right: 2em;
}
.ErrorView__text {
	display: block;
	font-size: @font-size-sm;
	line-height: 1.4;
	padding-left: 2em;
	padding-right: 2em;
}

// Animation
// ------------------------------

// React's CSSTransitionGroup requires an animation so we transition from .99 opacity to 1 with "artificial"

// transition: instant (default)
.view-transition-instant-enter { .animation( artificial 10ms ); }
.view-transition-instant-leave { .animation( fadeOut 60ms ); }

// transition: fade
.view-transition-fade-enter { .animation( artificial 10ms ); }
.view-transition-fade-leave { .animation( fadeOut 380ms ); }

// transition: fade expand
{'fraction_non_alphanumeric': 0.18887015177065766, 'fraction_numerical': 0.021199710913033003, 'mean_word_length': 2.950523311132255, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2534343', 'n_tokens_mistral': 1499, 'n_tokens_neox': 1349, 'n_words': 353}