mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-12-28 03:14:46 +08:00
365fe400f7
Summary: tests on the schemas build input elements form builder pulls data grouping by row salesforce object store salesforce api logic successfully pulling salesforce objects into db object store saving to db refactoring tokenizing text field full documented tokenizing text field with specs linking in object picker component converting generated form to a controlled input form change handlers for controlled inputs Salesforce object creator store new way of opening windows removed atom.state.mode create new salesforce object creator in new window form creator loading in popup with generated form generated form renders select and multiselcet and textarea add checkbox creating related objects windnows know when others close remove debugger statements form submission converting data for salesforce posting hot window loading new hot window registration hot loading windows actions for listening to salesforce objects created generated form errors error handling for salesforce object creator rename saleforce object form store display errors to form submitting state passed through properly posts objects to Salesforce change name to salesforce object form add deep clone use formItemEach styling for Salesforce form creator salesforce required fields come back and populate form generated form loads related objects into fields remove console logs and fix sales schema adapter test fix task queue and formbuilder specs fix action bridge spec fix tokenizing text field spec fix draft store and tokenizing proptypes fix linter issues fix tokenizing text field bug rename to refresh window props remove console.log Test Plan: edgehill --test Reviewers: bengotow Reviewed By: bengotow Differential Revision: https://review.inboxapp.com/D1425
67 lines
1.3 KiB
Text
67 lines
1.3 KiB
Text
@import "ui-variables";
|
|
|
|
.spinner {
|
|
margin: 0;
|
|
width: 94px;
|
|
text-align: center;
|
|
opacity: 1;
|
|
-webkit-transition: opacity 0.2s linear; //transition
|
|
}
|
|
|
|
.spinner.hidden {
|
|
opacity: 0;
|
|
}
|
|
.spinner.paused {
|
|
> div {
|
|
// important. animating with opacity 0 chews up about 5% cpu
|
|
-webkit-animation-play-state: paused;
|
|
animation-play-state: paused;
|
|
}
|
|
}
|
|
|
|
.spinner-cover {
|
|
&.hidden {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
.spinner > div {
|
|
width: 18px;
|
|
height: 18px;
|
|
background-color: @gray-light;
|
|
|
|
border-radius: 100%;
|
|
display: inline-block;
|
|
-webkit-animation: bouncedelay 1.2s infinite ease-in-out;
|
|
animation: bouncedelay 1.2s infinite ease-in-out;
|
|
/* Prevent first frame from flickering when animation starts */
|
|
-webkit-animation-fill-mode: both;
|
|
animation-fill-mode: both;
|
|
margin-right:4px;
|
|
margin-left:4px;
|
|
}
|
|
|
|
.spinner .bounce1 {
|
|
-webkit-animation-delay: -0.32s;
|
|
animation-delay: -0.32s;
|
|
}
|
|
|
|
.spinner .bounce2 {
|
|
-webkit-animation-delay: -0.16s;
|
|
animation-delay: -0.16s;
|
|
}
|
|
|
|
@-webkit-keyframes bouncedelay {
|
|
0%, 80%, 100% { -webkit-transform: scale(0.0) }
|
|
40% { -webkit-transform: scale(1.0) }
|
|
}
|
|
|
|
@keyframes bouncedelay {
|
|
0%, 80%, 100% {
|
|
transform: scale(0.0);
|
|
-webkit-transform: scale(0.0);
|
|
} 40% {
|
|
transform: scale(1.0);
|
|
-webkit-transform: scale(1.0);
|
|
}
|
|
}
|