mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Bugfix: the new endShowHide failed in Edge and mobile browsers
Cleanup bootstrap less files
This commit is contained in:
parent
7135cc38fe
commit
0e8bf13d5d
32 changed files with 167 additions and 663 deletions
22
README.md
22
README.md
|
|
@ -84,23 +84,23 @@ Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill
|
|||
|
||||
|js/* |1.14.0 |native |
|
||||
|----------- |--------: |--------: |
|
||||
|admin.js |2.130.942 | 963.108 |
|
||||
|app.js |4.184.455 |2.626.387 |
|
||||
|admin.js |2.130.942 | 961.538 |
|
||||
|app.js |4.184.455 |2.624.797 |
|
||||
|boot.js | 671.522 | 43.742 |
|
||||
|libs.js | 647.614 | 312.276 |
|
||||
|polyfills.js | 325.834 | 0 |
|
||||
|TOTAL |7.960.367 |3.945.513 |
|
||||
|TOTAL |7.960.367 |3.942.353 |
|
||||
|
||||
|js/min/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|
||||
|--------------- |--------: |--------: |--------: |--------: |--------: |
|
||||
|admin.min.js | 252.147 | 130.575 | 73.657 | 37.877 | 32.469 |
|
||||
|app.min.js | 511.202 | 354.284 |140.462 | 93.363 | 74.888 |
|
||||
|admin.min.js | 252.147 | 130.359 | 73.657 | 37.825 | 32.456 |
|
||||
|app.min.js | 511.202 | 354.068 |140.462 | 93.278 | 74.852 |
|
||||
|boot.min.js | 66.007 | 5.534 | 22.567 | 2.319 | 1.988 |
|
||||
|libs.min.js | 572.545 | 295.771 |176.720 | 91.520 | 80.851 |
|
||||
|polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 |
|
||||
|TOTAL |1.434.353 | 786.164 |424.718 |225.079 |190.196 |
|
||||
|TOTAL |1.434.353 | 785.732 |424.718 |224.942 |190.147 |
|
||||
|
||||
648.189 bytes (199.639 gzip) is not much, but it feels faster.
|
||||
648.621 bytes (199.776 gzip) is not much, but it feels faster.
|
||||
|
||||
### CSS changes
|
||||
|
||||
|
|
@ -123,10 +123,10 @@ Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill
|
|||
* Removed vendors/Progress.js/minified/progressjs.min.css
|
||||
|
||||
|
||||
|css/* |1.14.0 |native |
|
||||
|-------------- |--------: |--------: |
|
||||
|app.css | 340.334 | 263.469 |
|
||||
|app.min.css | 274.791 | 209.640 |
|
||||
|css/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|
||||
|-------------- |-------: |-------: |------: |------: |------: |
|
||||
|app.css | 340.334 | 255.627 | 46,959 | 36.929 | 31.015 |
|
||||
|app.min.css | 274.791 | 208.711 | 39,618 | 32.226 | 27.364 |
|
||||
|
||||
|
||||
### PHP73 branch
|
||||
|
|
|
|||
5
dev/External/ko.js
vendored
5
dev/External/ko.js
vendored
|
|
@ -33,11 +33,6 @@ ko.bindingHandlers.editor = {
|
|||
}
|
||||
};
|
||||
|
||||
ko.bindingHandlers.visibleAnimated = {
|
||||
init: (element, fValueAccessor) => element.hidden = !ko.unwrap(fValueAccessor()),
|
||||
update: (element, fValueAccessor) => element.hidden = !ko.unwrap(fValueAccessor())
|
||||
};
|
||||
|
||||
ko.bindingHandlers.tooltip = {
|
||||
init: (element, fValueAccessor) => {
|
||||
const fValue = fValueAccessor(),
|
||||
|
|
|
|||
|
|
@ -5,21 +5,19 @@ import { $htmlCL, VIEW_MODELS } from 'Common/Globals';
|
|||
//import { bMobileDevice } from 'Common/Globals';
|
||||
|
||||
let currentScreen = null,
|
||||
defaultScreenName = '';
|
||||
defaultScreenName = '',
|
||||
popupVisibilityNames = [];
|
||||
|
||||
const SCREENS = {},
|
||||
qs = s => document.querySelector(s),
|
||||
isNonEmptyArray = values => Array.isArray(values) && values.length,
|
||||
|
||||
popupVisibilityNames = ko.observableArray([]),
|
||||
|
||||
autofocus = dom => {
|
||||
// if (!bMobileDevice) {
|
||||
const af = dom.querySelector('[autofocus]');
|
||||
af && af.focus();
|
||||
};
|
||||
|
||||
export const popupVisibility = ko.computed(() => 0 < popupVisibilityNames().length);
|
||||
export const popupVisibility = ko.computed(() => 0 < popupVisibilityNames.length);
|
||||
|
||||
export const ViewType = {
|
||||
Popup: 'Popups',
|
||||
|
|
@ -165,7 +163,7 @@ function buildViewModel(ViewModelClass, vmScreen) {
|
|||
|
||||
// show/hide popup/modal
|
||||
const endShowHide = e => {
|
||||
if (e.target === vmDom && 'background-color' === e.propertyName) {
|
||||
if (e.target === vmDom) {
|
||||
if (vmDom.classList.contains('show')) {
|
||||
autofocus(vmDom);
|
||||
vm.onShowWithDelay && vm.onShowWithDelay();
|
||||
|
|
@ -178,19 +176,19 @@ function buildViewModel(ViewModelClass, vmScreen) {
|
|||
|
||||
vm.modalVisibility.subscribe(value => {
|
||||
if (value) {
|
||||
vmDom.style.zIndex = 3000 + popupVisibilityNames().length + 10;
|
||||
vmDom.style.zIndex = 3000 + popupVisibilityNames.length + 10;
|
||||
vmDom.hidden = false;
|
||||
vm.storeAndSetKeyScope();
|
||||
popupVisibilityNames.push(vm.viewModelName);
|
||||
requestAnimationFrame(() => { // wait just before the next paint
|
||||
document.body.offsetHeight; // force a reflow
|
||||
vmDom.offsetHeight; // force a reflow
|
||||
vmDom.classList.add('show'); // trigger the transitions
|
||||
});
|
||||
} else {
|
||||
vm.onHide && vm.onHide();
|
||||
vmDom.classList.remove('show');
|
||||
vm.restoreKeyScope();
|
||||
popupVisibilityNames.remove(vm.viewModelName);
|
||||
popupVisibilityNames = popupVisibilityNames.filter(v=>v!==vm.viewModelName);
|
||||
}
|
||||
vmDom.setAttribute('aria-hidden', !value);
|
||||
});
|
||||
|
|
@ -419,8 +417,7 @@ export function startScreens(screensClasses) {
|
|||
* @returns {void}
|
||||
*/
|
||||
export function setHash(hash, silence = false, replace = false) {
|
||||
hash = '#' === hash.substr(0, 1) ? hash.substr(1) : hash;
|
||||
hash = '/' === hash.substr(0, 1) ? hash.substr(1) : hash;
|
||||
hash = hash.replace(/^[#/]+/, '');
|
||||
|
||||
const cmd = replace ? 'replaceHash' : 'setHash';
|
||||
|
||||
|
|
@ -509,15 +506,13 @@ function settingsMenuKeysHandler(items) {
|
|||
if (event && index) {
|
||||
while (index-- && !items[index].matches('.selected'));
|
||||
if (handler && 'up' === handler.shortcut) {
|
||||
index && --index;
|
||||
index && --index;
|
||||
} else if (index < items.length - 1) {
|
||||
++index;
|
||||
}
|
||||
|
||||
const resultHash = items[index].href;
|
||||
if (resultHash) {
|
||||
setHash(resultHash, false, true);
|
||||
}
|
||||
resultHash && setHash(resultHash, false, true);
|
||||
}
|
||||
}).throttle(200);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,25 +41,25 @@ html.rl-started-trigger.no-mobile .b-login-content .loginFormWrapper {
|
|||
}*/
|
||||
|
||||
#rl-loading {
|
||||
.transition(opacity 0.5s linear);
|
||||
transition: opacity 0.5s linear;
|
||||
}
|
||||
|
||||
html.rl-started-delay {
|
||||
|
||||
#rl-left {
|
||||
.transition(width 0.3s ease-out);
|
||||
transition: width 0.3s ease-out;
|
||||
}
|
||||
|
||||
#rl-right {
|
||||
.transition(~'left 0.3s ease-out, right 0.3s ease-out');
|
||||
transition: left 0.3s ease-out, right 0.3s ease-out;
|
||||
}
|
||||
|
||||
#rl-sub-left, #rl-sub-left .messageList .inputSearch {
|
||||
.transition(width 0.3s ease-out);
|
||||
transition: width 0.3s ease-out;
|
||||
}
|
||||
|
||||
#rl-sub-right {
|
||||
.transition(left 0.3s ease-out);
|
||||
transition: left 0.3s ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ html.no-mobile {
|
|||
.alertError {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
.transition(opacity 0.5s linear);
|
||||
transition: opacity 0.5s linear;
|
||||
}
|
||||
.alertError[hidden] {
|
||||
opacity: 0;
|
||||
|
|
@ -102,11 +102,11 @@ html.no-mobile {
|
|||
}
|
||||
|
||||
&.no-mobile .b-login-content .loginFormWrapper {
|
||||
.transition(all 0.3s ease-out);
|
||||
transition: all 0.3s ease-out;
|
||||
}
|
||||
|
||||
& .button-delete-transitions {
|
||||
.transition(all 0.2s linear);
|
||||
transition: all 0.2s linear;
|
||||
}
|
||||
|
||||
& .b-folders .e-item .anim-action-class {
|
||||
|
|
@ -114,31 +114,31 @@ html.no-mobile {
|
|||
}
|
||||
|
||||
& .b-folders .btn.buttonContacts {
|
||||
.transition(margin 0.3s linear);
|
||||
transition: margin 0.3s linear;
|
||||
}
|
||||
|
||||
& .b-folders .b-content.opacity-on-panel-disabled {
|
||||
.transition(opacity 0.3s linear);
|
||||
transition: opacity 0.3s linear;
|
||||
}
|
||||
|
||||
& .messageList {
|
||||
.messageListItem {
|
||||
.transition(max-height 400ms ease);
|
||||
transition: max-height 400ms ease;
|
||||
}
|
||||
.listDragOver {
|
||||
.transition(all 400ms ease);
|
||||
transition: all 400ms ease;
|
||||
}
|
||||
}
|
||||
|
||||
& .b-list-content {
|
||||
.e-contact-item {
|
||||
.transition(max-height 400ms ease);
|
||||
transition: max-height 400ms ease;
|
||||
}
|
||||
}
|
||||
|
||||
& .modal.b-domain-content {
|
||||
.modal-body {
|
||||
.transition(left 500ms ease);
|
||||
transition: left 500ms ease;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -341,16 +341,7 @@
|
|||
border-color: #999;
|
||||
}
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
color: #ddd;
|
||||
}
|
||||
&::-moz-placeholder {
|
||||
color: #ddd;
|
||||
}
|
||||
&:-moz-placeholder {
|
||||
color: #ddd;
|
||||
}
|
||||
&:-ms-input-placeholder {
|
||||
&::placeholder {
|
||||
color: #ddd;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ html.rl-no-preview-pane {
|
|||
background-color: #eee;
|
||||
// #gradient > .vertical(#f4f4f4, #dfdfdf);
|
||||
|
||||
.border-bottom-right-radius(@rlMainBorderRadius);
|
||||
.border-bottom-left-radius(@rlMainBorderRadius);
|
||||
border-bottom-right-radius: @rlMainBorderRadius;
|
||||
border-bottom-left-radius: @rlMainBorderRadius;
|
||||
|
||||
.e-quota {
|
||||
display: inline-block;
|
||||
|
|
@ -81,8 +81,8 @@ html.rl-no-preview-pane {
|
|||
background-color: #eee;
|
||||
// #gradient > .vertical(#f4f4f4, #dfdfdf);
|
||||
|
||||
.border-top-right-radius(@rlMainBorderRadius);
|
||||
.border-top-left-radius(@rlMainBorderRadius);
|
||||
border-top-right-radius: @rlMainBorderRadius;
|
||||
border-top-left-radius: @rlMainBorderRadius;
|
||||
|
||||
.checkboxCkeckAll {
|
||||
margin: 5px 0;
|
||||
|
|
@ -242,7 +242,7 @@ html.rl-no-preview-pane {
|
|||
display: block;
|
||||
height: 1px;
|
||||
background-color: #999;
|
||||
.opacity(20);
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
|
|
@ -560,7 +560,7 @@ html.rl-no-preview-pane {
|
|||
|
||||
.delimiter {
|
||||
background-color: #398CF2;
|
||||
.opacity(20);
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
+ .messageListItem .delimiter {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ html.rl-no-preview-pane {
|
|||
/*overflow: hidden;*/
|
||||
border: @rlLowBorderSize solid @rlMainDarkColor;
|
||||
|
||||
.border-radius(@rlLowBorderRadius);
|
||||
border-radius: @rlLowBorderRadius;
|
||||
|
||||
background-color: #fff;
|
||||
|
||||
|
|
@ -277,10 +277,10 @@ html.rl-no-preview-pane {
|
|||
z-index: 2;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
.opacity(50);
|
||||
opacity: 0.5;
|
||||
|
||||
&:hover {
|
||||
.opacity(80);
|
||||
opacity: 0.8;
|
||||
border-color: #666;
|
||||
background-color: #888;
|
||||
color: #fff;
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ html {
|
|||
height: 15px;
|
||||
background-color: #ddd;
|
||||
margin: 0 5px;
|
||||
.box-shadow(0px 0px 3px rgba(0, 0, 0, 0.3));
|
||||
box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
|
||||
|
||||
border-radius: 100%;
|
||||
display: inline-block;
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ button.close-custom {
|
|||
}
|
||||
|
||||
.input-append input, .input-append select, .input-append .uneditable-input {
|
||||
.border-radius(3px);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
select {
|
||||
|
|
|
|||
|
|
@ -17,8 +17,6 @@
|
|||
|
||||
.cke_top {
|
||||
padding: 6px 4px 1px 6px !important;
|
||||
-moz-box-shadow: none !important;
|
||||
-webkit-box-shadow: none !important;
|
||||
box-shadow: none !important;
|
||||
border-bottom: 1px solid #b6b6b6 !important;
|
||||
background: #F0F0F0 !important;
|
||||
|
|
|
|||
|
|
@ -113,7 +113,6 @@ html.glass {
|
|||
input:-webkit-autofill:hover,
|
||||
input:-webkit-autofill:focus,
|
||||
input:-webkit-autofill:active {
|
||||
-webkit-transition-delay: 9999s;
|
||||
-webkit-transition: color 9999s ease-out, background-color 9999s ease-out;
|
||||
transition: color 9999s ease-out, background-color 9999s ease-out;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
border-radius: 3px;
|
||||
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
||||
.transition(~"border linear .2s, box-shadow linear .2s");
|
||||
transition: border linear .2s, box-shadow linear .2s;
|
||||
|
||||
&.inputosaurus-focused {
|
||||
background-color: #fff;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class LoginAdminView extends AbstractViewNext {
|
|||
this.mobile = !!Settings.appSettingsGet('mobile');
|
||||
this.mobileDevice = !!Settings.appSettingsGet('mobileDevice');
|
||||
|
||||
this.hideSubmitButton = !!Settings.appSettingsGet('hideSubmitButton');
|
||||
this.hideSubmitButton = Settings.appSettingsGet('hideSubmitButton') ? '' : null;
|
||||
|
||||
this.login = ko.observable('');
|
||||
this.password = ko.observable('');
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ class LoginUserView extends AbstractViewNext {
|
|||
constructor() {
|
||||
super();
|
||||
|
||||
this.hideSubmitButton = !!Settings.appSettingsGet('hideSubmitButton');
|
||||
this.hideSubmitButton = Settings.appSettingsGet('hideSubmitButton') ? '' : null;
|
||||
|
||||
this.welcome = ko.observable(!!Settings.settingsGet('UseLoginWelcomePage'));
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="controls controls-submit-wrp" data-bind="hidden: hideSubmitButton">
|
||||
<div class="controls controls-submit-wrp" data-bind="attr: { hidden: hideSubmitButton }">
|
||||
<button type="submit" class="btn btn-large btn-block buttonLogin" data-bind="command: submitCommand">
|
||||
<span data-i18n="LOGIN/BUTTON_LOGIN"></span>
|
||||
</button>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<span class="desc" data-bind="text: loginDescription"></span>
|
||||
</div>
|
||||
{{INCLUDE/AfterLogo/PLACE}}
|
||||
<div class="alert alertError" data-bind="visibleAnimated: '' !== submitError()" hidden="">
|
||||
<div class="alert alertError" data-bind="attr: { hidden: '' === submitError() ? '' : null }" hidden="">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<span data-bind="text: submitError"></span>
|
||||
<div data-bind="visible: '' !== submitErrorAddidional()">
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
}"></div>
|
||||
</div>
|
||||
{{INCLUDE/BottomControlGroup/PLACE}}
|
||||
<div class="controls controls-submit-wrp" data-bind="hidden: hideSubmitButton">
|
||||
<div class="controls controls-submit-wrp" data-bind="attr: { hidden: hideSubmitButton }">
|
||||
<button type="submit" class="btn btn-large btn-block buttonLogin" data-bind="command: submitCommand">
|
||||
<span class="i18n i18n-animation" data-i18n="LOGIN/BUTTON_SIGN_IN"></span>
|
||||
</button>
|
||||
|
|
|
|||
2
vendors/bootstrap/less/alerts.less
vendored
2
vendors/bootstrap/less/alerts.less
vendored
|
|
@ -12,7 +12,7 @@
|
|||
text-shadow: 0 1px 0 rgba(255,255,255,.5);
|
||||
background-color: @warningBackground;
|
||||
border: 1px solid @warningBorder;
|
||||
.border-radius(4px);
|
||||
border-radius: 4px;
|
||||
color: @warningText;
|
||||
}
|
||||
.alert h4 {
|
||||
|
|
|
|||
61
vendors/bootstrap/less/button-groups.less
vendored
61
vendors/bootstrap/less/button-groups.less
vendored
|
|
@ -8,7 +8,6 @@
|
|||
position: relative;
|
||||
font-size: 0; // remove as part 1 of font-size inline-block hack
|
||||
white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
|
||||
.ie7-restore-left-whitespace();
|
||||
}
|
||||
|
||||
// Space out series of button groups
|
||||
|
|
@ -23,7 +22,6 @@
|
|||
margin-bottom: @baseLineHeight / 2;
|
||||
.btn-group {
|
||||
display: inline-block;
|
||||
.ie7-inline-block();
|
||||
}
|
||||
.btn + .btn,
|
||||
.btn-group + .btn,
|
||||
|
|
@ -35,7 +33,7 @@
|
|||
// Float them, remove border radius, then re-add to first and last elements
|
||||
.btn-group > .btn {
|
||||
position: relative;
|
||||
.border-radius(0);
|
||||
border-radius: 0;
|
||||
}
|
||||
.btn-group > .btn + .btn {
|
||||
margin-left: -1px;
|
||||
|
|
@ -59,41 +57,25 @@
|
|||
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
|
||||
.btn-group > .btn:first-child {
|
||||
margin-left: 0;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-moz-border-radius-topleft: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
-webkit-border-bottom-left-radius: 4px;
|
||||
-moz-border-radius-bottomleft: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
|
||||
.btn-group > .btn:last-child,
|
||||
.btn-group > .dropdown-toggle {
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
-moz-border-radius-topright: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
-webkit-border-bottom-right-radius: 4px;
|
||||
-moz-border-radius-bottomright: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
// Reset corners for large buttons
|
||||
.btn-group > .btn.large:first-child {
|
||||
margin-left: 0;
|
||||
-webkit-border-top-left-radius: 6px;
|
||||
-moz-border-radius-topleft: 6px;
|
||||
border-top-left-radius: 6px;
|
||||
-webkit-border-bottom-left-radius: 6px;
|
||||
-moz-border-radius-bottomleft: 6px;
|
||||
border-bottom-left-radius: 6px;
|
||||
border-top-left-radius: 6px;
|
||||
border-bottom-left-radius: 6px;
|
||||
}
|
||||
.btn-group > .btn.large:last-child,
|
||||
.btn-group > .large.dropdown-toggle {
|
||||
-webkit-border-top-right-radius: 6px;
|
||||
-moz-border-radius-topright: 6px;
|
||||
border-top-right-radius: 6px;
|
||||
-webkit-border-bottom-right-radius: 6px;
|
||||
-moz-border-radius-bottomright: 6px;
|
||||
border-bottom-right-radius: 6px;
|
||||
border-top-right-radius: 6px;
|
||||
border-bottom-right-radius: 6px;
|
||||
}
|
||||
|
||||
// On hover/focus/active, bring the proper btn to front
|
||||
|
|
@ -119,25 +101,15 @@
|
|||
.btn-group > .btn + .dropdown-toggle {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
.box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
|
||||
*padding-top: 5px;
|
||||
*padding-bottom: 5px;
|
||||
box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
}
|
||||
.btn-group > .btn-mini + .dropdown-toggle {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
*padding-top: 2px;
|
||||
*padding-bottom: 2px;
|
||||
}
|
||||
.btn-group > .btn-small + .dropdown-toggle {
|
||||
*padding-top: 5px;
|
||||
*padding-bottom: 4px;
|
||||
}
|
||||
.btn-group > .btn-large + .dropdown-toggle {
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
*padding-top: 7px;
|
||||
*padding-bottom: 7px;
|
||||
}
|
||||
|
||||
.btn-group.open {
|
||||
|
|
@ -146,7 +118,7 @@
|
|||
// Remove the gradient and set the same inset shadow as the :active state
|
||||
.dropdown-toggle {
|
||||
background-image: none;
|
||||
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
|
||||
box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
|
||||
}
|
||||
|
||||
// Keep the hover's background when dropdown is open
|
||||
|
|
@ -213,27 +185,26 @@
|
|||
|
||||
.btn-group-vertical {
|
||||
display: inline-block; // makes buttons only take up the width they need
|
||||
.ie7-inline-block();
|
||||
}
|
||||
.btn-group-vertical .btn {
|
||||
display: block;
|
||||
float: none;
|
||||
width: 100%;
|
||||
.border-radius(0);
|
||||
border-radius: 0;
|
||||
}
|
||||
.btn-group-vertical .btn + .btn {
|
||||
margin-left: 0;
|
||||
margin-top: -1px;
|
||||
}
|
||||
.btn-group-vertical .btn:first-child {
|
||||
.border-radius(4px 4px 0 0);
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
.btn-group-vertical .btn:last-child {
|
||||
.border-radius(0 0 4px 4px);
|
||||
border-radius: 0 0 4px 4px;
|
||||
}
|
||||
.btn-group-vertical .btn-large:first-child {
|
||||
.border-radius(6px 6px 0 0);
|
||||
border-radius: 6px 6px 0 0;
|
||||
}
|
||||
.btn-group-vertical .btn-large:last-child {
|
||||
.border-radius(0 0 6px 6px);
|
||||
border-radius: 0 0 6px 6px;
|
||||
}
|
||||
|
|
|
|||
42
vendors/bootstrap/less/buttons.less
vendored
42
vendors/bootstrap/less/buttons.less
vendored
|
|
@ -9,34 +9,29 @@
|
|||
// Core
|
||||
.btn {
|
||||
display: inline-block;
|
||||
.ie7-inline-block();
|
||||
padding: 4px 14px;
|
||||
margin-bottom: 0; // For input.btn
|
||||
font-size: @baseFontSize;
|
||||
line-height: @baseLineHeight;
|
||||
*line-height: @baseLineHeight;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
.buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
|
||||
border: 1px solid @btnBorder;
|
||||
*border: 0; // Remove the border to prevent IE7's black border on input:focus
|
||||
border-bottom-color: darken(@btnBorder, 10%);
|
||||
.border-radius(4px);
|
||||
.ie7-restore-left-whitespace(); // Give IE7 some love
|
||||
.box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
|
||||
border-radius: 4px;
|
||||
box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
|
||||
// Hover state
|
||||
&:hover {
|
||||
color: @grayDark;
|
||||
text-decoration: none;
|
||||
background-color: darken(@white, 10%);
|
||||
*background-color: darken(@white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
|
||||
background-position: 0 -15px;
|
||||
|
||||
// transition is only when going to hover, otherwise the background
|
||||
// behind the gradient (there for IE<=9 fallback) gets mismatched
|
||||
.transition(background-position .1s linear);
|
||||
transition: background-position .1s linear;
|
||||
}
|
||||
|
||||
// Focus state for keyboard and accessibility
|
||||
|
|
@ -48,10 +43,9 @@
|
|||
&.active,
|
||||
&:active {
|
||||
background-color: darken(@white, 10%);
|
||||
background-color: darken(@white, 15%) e("\9");
|
||||
background-image: none;
|
||||
outline: 0;
|
||||
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
|
||||
box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
|
||||
}
|
||||
|
||||
// Disabled state
|
||||
|
|
@ -60,8 +54,8 @@
|
|||
cursor: default;
|
||||
background-color: darken(@white, 10%);
|
||||
background-image: none;
|
||||
.opacity(65);
|
||||
.box-shadow(none);
|
||||
opacity: 0.65;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -76,7 +70,7 @@
|
|||
padding: 9px 14px;
|
||||
font-size: @baseFontSize + 2px;
|
||||
line-height: normal;
|
||||
.border-radius(5px);
|
||||
border-radius: 5px;
|
||||
}
|
||||
.btn-large [class^="icon-"] {
|
||||
margin-top: 2px;
|
||||
|
|
@ -105,7 +99,7 @@
|
|||
width: 100%;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
.box-sizing(border-box);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.btn-block + .btn-block {
|
||||
margin-top: 5px;
|
||||
|
|
@ -169,22 +163,6 @@ input[type="submit"].btn {
|
|||
border: 0;
|
||||
}
|
||||
|
||||
// IE7 has some default padding on button controls
|
||||
*padding-top: 3px;
|
||||
*padding-bottom: 3px;
|
||||
|
||||
&.btn-large {
|
||||
*padding-top: 7px;
|
||||
*padding-bottom: 7px;
|
||||
}
|
||||
&.btn-small {
|
||||
*padding-top: 3px;
|
||||
*padding-bottom: 3px;
|
||||
}
|
||||
&.btn-mini {
|
||||
*padding-top: 1px;
|
||||
*padding-bottom: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -196,13 +174,13 @@ input[type="submit"].btn {
|
|||
.btn-link:active {
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
.box-shadow(none);
|
||||
box-shadow: none;
|
||||
}
|
||||
.btn-link {
|
||||
border-color: transparent;
|
||||
cursor: pointer;
|
||||
color: @linkColor;
|
||||
.border-radius(0);
|
||||
border-radius: 0;
|
||||
}
|
||||
.btn-link:hover {
|
||||
color: @linkColorHover;
|
||||
|
|
|
|||
6
vendors/bootstrap/less/close.less
vendored
6
vendors/bootstrap/less/close.less
vendored
|
|
@ -10,12 +10,12 @@
|
|||
line-height: @baseLineHeight;
|
||||
color: @black;
|
||||
text-shadow: 0 1px 0 rgba(255,255,255,1);
|
||||
.opacity(20);
|
||||
opacity: 0.2;
|
||||
&:hover {
|
||||
color: @black;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
.opacity(40);
|
||||
opacity: 0.4;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -28,4 +28,4 @@ button.close {
|
|||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
12
vendors/bootstrap/less/code.less
vendored
12
vendors/bootstrap/less/code.less
vendored
|
|
@ -7,10 +7,13 @@
|
|||
code,
|
||||
pre {
|
||||
padding: 0 3px 2px;
|
||||
#font > #family > .monospace;
|
||||
font-family: @monoFontFamily;
|
||||
font-size: @baseFontSize;
|
||||
font-weight: normal;
|
||||
line-height: @baseLineHeight;
|
||||
font-size: @baseFontSize - 2;
|
||||
color: @grayDark;
|
||||
.border-radius(3px);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
// Inline code
|
||||
|
|
@ -33,9 +36,8 @@ pre {
|
|||
white-space: pre;
|
||||
white-space: pre-wrap;
|
||||
background-color: #f5f5f5;
|
||||
border: 1px solid #ccc; // fallback for IE7-8
|
||||
border: 1px solid rgba(0,0,0,.15);
|
||||
.border-radius(4px);
|
||||
border-radius: 4px;
|
||||
|
||||
// Make prettyprint styles more spaced out for readability
|
||||
&.prettyprint {
|
||||
|
|
@ -55,4 +57,4 @@ pre {
|
|||
.pre-scrollable {
|
||||
max-height: 340px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,7 @@
|
|||
position: relative;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
overflow: visible \9;
|
||||
.transition(height .35s ease);
|
||||
transition: height .35s ease;
|
||||
&.in {
|
||||
height: auto;
|
||||
}
|
||||
|
|
|
|||
25
vendors/bootstrap/less/dropdowns.less
vendored
25
vendors/bootstrap/less/dropdowns.less
vendored
|
|
@ -7,10 +7,6 @@
|
|||
.dropdown {
|
||||
position: relative;
|
||||
}
|
||||
.dropdown-toggle {
|
||||
// The caret makes the toggle a bit too tall in IE7
|
||||
*margin-bottom: -3px;
|
||||
}
|
||||
.dropdown-toggle:active,
|
||||
.open .dropdown-toggle {
|
||||
outline: 0;
|
||||
|
|
@ -49,15 +45,10 @@
|
|||
margin: 2px 0 0; // override default ul
|
||||
list-style: none;
|
||||
background-color: @dropdownBackground;
|
||||
border: 1px solid #ccc; // Fallback for IE7-8
|
||||
border: 1px solid @dropdownBorder;
|
||||
*border-right-width: 2px;
|
||||
*border-bottom-width: 2px;
|
||||
.border-radius(6px);
|
||||
.box-shadow(0 5px 10px rgba(0,0,0,.2));
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 5px 10px rgba(0,0,0,.2);
|
||||
background-clip: padding-box;
|
||||
|
||||
// Aligns the dropdown menu to right
|
||||
&.pull-right {
|
||||
|
|
@ -121,10 +112,6 @@
|
|||
// Open state for the dropdown
|
||||
// ---------------------------
|
||||
.open {
|
||||
// IE7's z-index only goes to the nearest positioned ancestor, which would
|
||||
// make the menu appear below buttons that appeared later on the page
|
||||
*z-index: @zindexDropdown;
|
||||
|
||||
& > .dropdown-menu {
|
||||
display: block;
|
||||
}
|
||||
|
|
@ -147,9 +134,7 @@
|
|||
left: 100%;
|
||||
margin-top: -6px;
|
||||
margin-left: -1px;
|
||||
-webkit-border-radius: 0 6px 6px 6px;
|
||||
-moz-border-radius: 0 6px 6px 6px;
|
||||
border-radius: 0 6px 6px 6px;
|
||||
border-radius: 0 6px 6px 6px;
|
||||
}
|
||||
.dropdown-submenu:hover .dropdown-menu {
|
||||
display: block;
|
||||
|
|
@ -185,5 +170,5 @@
|
|||
// ---------
|
||||
.typeahead {
|
||||
margin-top: 2px; // give it some space to breathe
|
||||
.border-radius(4px);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
|
|
|||
67
vendors/bootstrap/less/forms.less
vendored
67
vendors/bootstrap/less/forms.less
vendored
|
|
@ -42,7 +42,9 @@ input,
|
|||
button,
|
||||
select,
|
||||
textarea {
|
||||
#font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here
|
||||
font-size: @baseFontSize;
|
||||
font-weight: normal;
|
||||
line-height: @baseLineHeight;
|
||||
}
|
||||
input,
|
||||
button,
|
||||
|
|
@ -85,7 +87,7 @@ input[type="color"],
|
|||
font-size: @baseFontSize;
|
||||
line-height: @baseLineHeight;
|
||||
color: @gray;
|
||||
.border-radius(@inputBorderRadius);
|
||||
border-radius: @inputBorderRadius;
|
||||
}
|
||||
|
||||
// Reset appearance properties for textual inputs and textarea
|
||||
|
|
@ -117,15 +119,14 @@ input[type="color"],
|
|||
.uneditable-input {
|
||||
background-color: @inputBackground;
|
||||
border: 1px solid @inputBorder;
|
||||
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
|
||||
.transition(~"border linear .2s, box-shadow linear .2s");
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
transition: border linear .2s, box-shadow linear .2s;
|
||||
|
||||
// Focus state
|
||||
&:focus {
|
||||
border-color: rgba(82,168,236,.8);
|
||||
outline: 0;
|
||||
outline: thin dotted \9; /* IE6-9 */
|
||||
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -133,8 +134,6 @@ input[type="color"],
|
|||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
margin: 4px 0 0;
|
||||
*margin-top: 0; /* IE7 */
|
||||
margin-top: 1px \9; /* IE8-9 */
|
||||
line-height: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
@ -153,8 +152,7 @@ input[type="checkbox"] {
|
|||
// Set the height of select and file controls to match text inputs
|
||||
select,
|
||||
input[type="file"] {
|
||||
height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
|
||||
*margin-top: 4px; /* For IE7, add top margin to align select with labels */
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
|
|
@ -189,7 +187,7 @@ input[type="checkbox"]:focus {
|
|||
color: @grayLight;
|
||||
background-color: darken(@inputBackground, 1%);
|
||||
border-color: @inputBorder;
|
||||
.box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,.025);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
|
|
@ -210,9 +208,9 @@ input[type="checkbox"]:focus {
|
|||
// -------------------------
|
||||
|
||||
// Placeholder text gets special styles; can't be bundled together though for some reason
|
||||
input,
|
||||
textarea {
|
||||
.placeholder();
|
||||
input::placeholder,
|
||||
textarea::placeholder {
|
||||
color: @placeholderText;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -359,7 +357,7 @@ select:focus:required:invalid {
|
|||
border-color: #ee5f5b;
|
||||
&:focus {
|
||||
border-color: darken(#ee5f5b, 10%);
|
||||
.box-shadow(0 0 6px lighten(#ee5f5b, 20%));
|
||||
box-shadow: 0 0 6px lighten(#ee5f5b, 20%);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -394,7 +392,6 @@ select:focus:required:invalid {
|
|||
|
||||
.help-inline {
|
||||
display: inline-block;
|
||||
.ie7-inline-block();
|
||||
vertical-align: middle;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
|
@ -416,10 +413,9 @@ select:focus:required:invalid {
|
|||
.uneditable-input {
|
||||
position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
|
||||
margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
|
||||
*margin-left: 0;
|
||||
font-size: @baseFontSize;
|
||||
vertical-align: top;
|
||||
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
|
||||
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
|
||||
// Make input on top when focused so blue border and shadow always show
|
||||
&:focus {
|
||||
z-index: 2;
|
||||
|
|
@ -443,7 +439,7 @@ select:focus:required:invalid {
|
|||
.btn {
|
||||
margin-left: -1px;
|
||||
vertical-align: top;
|
||||
.border-radius(0);
|
||||
border-radius: 0;
|
||||
}
|
||||
.active {
|
||||
background-color: lighten(@green, 30);
|
||||
|
|
@ -457,18 +453,18 @@ select:focus:required:invalid {
|
|||
}
|
||||
.add-on:first-child,
|
||||
.btn:first-child {
|
||||
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
|
||||
border-radius: @inputBorderRadius 0 0 @inputBorderRadius;
|
||||
}
|
||||
}
|
||||
.input-append {
|
||||
input,
|
||||
select,
|
||||
.uneditable-input {
|
||||
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
|
||||
border-radius: @inputBorderRadius 0 0 @inputBorderRadius;
|
||||
}
|
||||
.add-on:last-child,
|
||||
.btn:last-child {
|
||||
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
|
||||
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
|
||||
}
|
||||
}
|
||||
// Remove all border-radius for inputs with both prepend and append
|
||||
|
|
@ -476,17 +472,17 @@ select:focus:required:invalid {
|
|||
input,
|
||||
select,
|
||||
.uneditable-input {
|
||||
.border-radius(0);
|
||||
border-radius: 0;
|
||||
}
|
||||
.add-on:first-child,
|
||||
.btn:first-child {
|
||||
margin-right: -1px;
|
||||
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
|
||||
border-radius: @inputBorderRadius 0 0 @inputBorderRadius;
|
||||
}
|
||||
.add-on:last-child,
|
||||
.btn:last-child {
|
||||
margin-left: -1px;
|
||||
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
|
||||
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -497,29 +493,27 @@ select:focus:required:invalid {
|
|||
|
||||
input.search-query {
|
||||
padding-right: 14px;
|
||||
padding-right: 4px \9;
|
||||
padding-left: 14px;
|
||||
padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
|
||||
margin-bottom: 0; // Remove the default margin on all inputs
|
||||
.border-radius(15px);
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
/* Allow for input prepend/append in search forms */
|
||||
.form-search .input-append .search-query,
|
||||
.form-search .input-prepend .search-query {
|
||||
.border-radius(0); // Override due to specificity
|
||||
border-radius: 0; // Override due to specificity
|
||||
}
|
||||
.form-search .input-append .search-query {
|
||||
.border-radius(14px 0 0 14px)
|
||||
border-radius: 14px 0 0 14px
|
||||
}
|
||||
.form-search .input-append .btn {
|
||||
.border-radius(0 14px 14px 0)
|
||||
border-radius: 0 14px 14px 0
|
||||
}
|
||||
.form-search .input-prepend .search-query {
|
||||
.border-radius(0 14px 14px 0)
|
||||
border-radius: 0 14px 14px 0
|
||||
}
|
||||
.form-search .input-prepend .btn {
|
||||
.border-radius(14px 0 0 14px)
|
||||
border-radius: 14px 0 0 14px
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -542,7 +536,6 @@ input.search-query {
|
|||
.input-prepend,
|
||||
.input-append {
|
||||
display: inline-block;
|
||||
.ie7-inline-block();
|
||||
margin-bottom: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
|
@ -615,13 +608,7 @@ legend + .control-group {
|
|||
.controls {
|
||||
// Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
|
||||
// don't inherit the margin of the parent, in this case .controls
|
||||
*display: inline-block;
|
||||
*padding-left: 20px;
|
||||
margin-left: 160px;
|
||||
*margin-left: 0;
|
||||
&:first-child {
|
||||
*padding-left: 160px;
|
||||
}
|
||||
}
|
||||
// Remove bottom margin on block level help text since that's accounted for on .control-group
|
||||
.help-block {
|
||||
|
|
|
|||
4
vendors/bootstrap/less/labels-badges.less
vendored
4
vendors/bootstrap/less/labels-badges.less
vendored
|
|
@ -18,11 +18,11 @@
|
|||
// Set unique padding and border-radii
|
||||
.label {
|
||||
padding: 1px 4px 2px;
|
||||
.border-radius(3px);
|
||||
border-radius: 3px;
|
||||
}
|
||||
.badge {
|
||||
padding: 1px 9px 2px;
|
||||
.border-radius(9px);
|
||||
border-radius: 9px;
|
||||
}
|
||||
|
||||
// Hover state, but only for links
|
||||
|
|
|
|||
6
vendors/bootstrap/less/layouts.less
vendored
6
vendors/bootstrap/less/layouts.less
vendored
|
|
@ -5,7 +5,9 @@
|
|||
|
||||
// Container (centered, fixed-width layouts)
|
||||
.container {
|
||||
.container-fixed();
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
.clearfix();
|
||||
}
|
||||
|
||||
// Fluid layouts (left aligned, with sidebar, min- & max-width content)
|
||||
|
|
@ -13,4 +15,4 @@
|
|||
padding-right: @gridGutterWidth;
|
||||
padding-left: @gridGutterWidth;
|
||||
.clearfix();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
423
vendors/bootstrap/less/mixins.less
vendored
423
vendors/bootstrap/less/mixins.less
vendored
|
|
@ -10,7 +10,6 @@
|
|||
// --------
|
||||
// For clearing floats like a boss h5bp.com/q
|
||||
.clearfix {
|
||||
*zoom: 1;
|
||||
&:before,
|
||||
&:after {
|
||||
display: table;
|
||||
|
|
@ -34,132 +33,9 @@
|
|||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
// Center-align a block level element
|
||||
// ----------------------------------
|
||||
.center-block() {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
// IE7 inline-block
|
||||
// ----------------
|
||||
.ie7-inline-block() {
|
||||
*display: inline; /* IE7 inline-block hack */
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
// IE7 likes to collapse whitespace on either side of the inline-block elements.
|
||||
// Ems because we're attempting to match the width of a space character. Left
|
||||
// version is for form buttons, which typically come after other elements, and
|
||||
// right version is for icons, which come before. Applying both is ok, but it will
|
||||
// mean that space between those elements will be .6em (~2 space characters) in IE7,
|
||||
// instead of the 1 space in other browsers.
|
||||
.ie7-restore-left-whitespace() {
|
||||
*margin-left: .3em;
|
||||
|
||||
&:first-child {
|
||||
*margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.ie7-restore-right-whitespace() {
|
||||
*margin-right: .3em;
|
||||
}
|
||||
|
||||
// Sizing shortcuts
|
||||
// -------------------------
|
||||
.size(@height, @width) {
|
||||
width: @width;
|
||||
height: @height;
|
||||
}
|
||||
.square(@size) {
|
||||
.size(@size, @size);
|
||||
}
|
||||
|
||||
// Placeholder text
|
||||
// -------------------------
|
||||
.placeholder(@color: @placeholderText) {
|
||||
&:-moz-placeholder {
|
||||
color: @color;
|
||||
}
|
||||
&:-ms-input-placeholder {
|
||||
color: @color;
|
||||
}
|
||||
&::-webkit-input-placeholder {
|
||||
color: @color;
|
||||
}
|
||||
}
|
||||
|
||||
// Text overflow
|
||||
// -------------------------
|
||||
// Requires inline-block or block for proper styling
|
||||
.text-overflow() {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
// CSS image replacement
|
||||
// -------------------------
|
||||
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
|
||||
.hide-text {
|
||||
font: 0/0 a;
|
||||
color: transparent;
|
||||
text-shadow: none;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
|
||||
// FONTS
|
||||
// --------------------------------------------------
|
||||
|
||||
#font {
|
||||
#family {
|
||||
.serif() {
|
||||
font-family: @serifFontFamily;
|
||||
}
|
||||
.sans-serif() {
|
||||
font-family: @sansFontFamily;
|
||||
}
|
||||
.monospace() {
|
||||
font-family: @monoFontFamily;
|
||||
}
|
||||
}
|
||||
.shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
|
||||
font-size: @size;
|
||||
font-weight: @weight;
|
||||
line-height: @lineHeight;
|
||||
}
|
||||
.serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
|
||||
#font > #family > .serif;
|
||||
#font > .shorthand(@size, @weight, @lineHeight);
|
||||
}
|
||||
.sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
|
||||
#font > #family > .sans-serif;
|
||||
#font > .shorthand(@size, @weight, @lineHeight);
|
||||
}
|
||||
.monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
|
||||
#font > #family > .monospace;
|
||||
#font > .shorthand(@size, @weight, @lineHeight);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// FORMS
|
||||
// --------------------------------------------------
|
||||
|
||||
// Block level inputs
|
||||
.input-block-level {
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-height: 30px; // Make inputs at least the height of their button counterpart
|
||||
.box-sizing(border-box); // Makes inputs behave like true block-level elements
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Mixin for form field states
|
||||
.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
|
||||
// Set the text color
|
||||
|
|
@ -176,13 +52,11 @@
|
|||
textarea {
|
||||
color: @textColor;
|
||||
border-color: @borderColor;
|
||||
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075); // Redeclare so transitions work
|
||||
&:focus {
|
||||
border-color: darken(@borderColor, 10%);
|
||||
// Write out in full since the lighten() function isn't easily escaped
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
|
||||
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
|
||||
}
|
||||
}
|
||||
// Give a small background color for input-prepend/-append
|
||||
|
|
@ -196,199 +70,9 @@
|
|||
|
||||
|
||||
|
||||
// CSS3 PROPERTIES
|
||||
// --------------------------------------------------
|
||||
|
||||
// Border Radius
|
||||
.border-radius(@radius) {
|
||||
-webkit-border-radius: @radius;
|
||||
-moz-border-radius: @radius;
|
||||
border-radius: @radius;
|
||||
}
|
||||
|
||||
// Single Corner Border Radius
|
||||
.border-top-left-radius(@radius) {
|
||||
-webkit-border-top-left-radius: @radius;
|
||||
-moz-border-radius-topleft: @radius;
|
||||
border-top-left-radius: @radius;
|
||||
}
|
||||
.border-top-right-radius(@radius) {
|
||||
-webkit-border-top-right-radius: @radius;
|
||||
-moz-border-radius-topright: @radius;
|
||||
border-top-right-radius: @radius;
|
||||
}
|
||||
.border-bottom-right-radius(@radius) {
|
||||
-webkit-border-bottom-right-radius: @radius;
|
||||
-moz-border-radius-bottomright: @radius;
|
||||
border-bottom-right-radius: @radius;
|
||||
}
|
||||
.border-bottom-left-radius(@radius) {
|
||||
-webkit-border-bottom-left-radius: @radius;
|
||||
-moz-border-radius-bottomleft: @radius;
|
||||
border-bottom-left-radius: @radius;
|
||||
}
|
||||
|
||||
// Single Side Border Radius
|
||||
.border-top-radius(@radius) {
|
||||
.border-top-right-radius(@radius);
|
||||
.border-top-left-radius(@radius);
|
||||
}
|
||||
.border-right-radius(@radius) {
|
||||
.border-top-right-radius(@radius);
|
||||
.border-bottom-right-radius(@radius);
|
||||
}
|
||||
.border-bottom-radius(@radius) {
|
||||
.border-bottom-right-radius(@radius);
|
||||
.border-bottom-left-radius(@radius);
|
||||
}
|
||||
.border-left-radius(@radius) {
|
||||
.border-top-left-radius(@radius);
|
||||
.border-bottom-left-radius(@radius);
|
||||
}
|
||||
|
||||
// Drop shadows
|
||||
.box-shadow(@shadow) {
|
||||
-webkit-box-shadow: @shadow;
|
||||
-moz-box-shadow: @shadow;
|
||||
box-shadow: @shadow;
|
||||
}
|
||||
|
||||
// Transitions
|
||||
.transition(@transition) {
|
||||
-webkit-transition: @transition;
|
||||
-moz-transition: @transition;
|
||||
-o-transition: @transition;
|
||||
transition: @transition;
|
||||
}
|
||||
|
||||
// Transformations
|
||||
.rotate(@degrees) {
|
||||
-webkit-transform: rotate(@degrees);
|
||||
-moz-transform: rotate(@degrees);
|
||||
-ms-transform: rotate(@degrees);
|
||||
-o-transform: rotate(@degrees);
|
||||
transform: rotate(@degrees);
|
||||
}
|
||||
.scale(@ratio) {
|
||||
-webkit-transform: scale(@ratio);
|
||||
-moz-transform: scale(@ratio);
|
||||
-ms-transform: scale(@ratio);
|
||||
-o-transform: scale(@ratio);
|
||||
transform: scale(@ratio);
|
||||
}
|
||||
.translate(@x, @y) {
|
||||
-webkit-transform: translate(@x, @y);
|
||||
-moz-transform: translate(@x, @y);
|
||||
-ms-transform: translate(@x, @y);
|
||||
-o-transform: translate(@x, @y);
|
||||
transform: translate(@x, @y);
|
||||
}
|
||||
.skew(@x, @y) {
|
||||
-webkit-transform: skew(@x, @y);
|
||||
-moz-transform: skew(@x, @y);
|
||||
-ms-transform: skew(@x, @y);
|
||||
-o-transform: skew(@x, @y);
|
||||
transform: skew(@x, @y);
|
||||
}
|
||||
.translate3d(@x, @y, @z) {
|
||||
-webkit-transform: translate3d(@x, @y, @z);
|
||||
-moz-transform: translate3d(@x, @y, @z);
|
||||
-o-transform: translate3d(@x, @y, @z);
|
||||
transform: translate3d(@x, @y, @z);
|
||||
}
|
||||
|
||||
// Backface visibility
|
||||
// Prevent browsers from flickering when using CSS 3D transforms.
|
||||
// Default value is `visible`, but can be changed to `hidden
|
||||
// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
|
||||
.backface-visibility(@visibility){
|
||||
-webkit-backface-visibility: @visibility;
|
||||
-moz-backface-visibility: @visibility;
|
||||
backface-visibility: @visibility;
|
||||
}
|
||||
|
||||
// Background clipping
|
||||
// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
|
||||
.background-clip(@clip) {
|
||||
-webkit-background-clip: @clip;
|
||||
-moz-background-clip: @clip;
|
||||
background-clip: @clip;
|
||||
}
|
||||
|
||||
// Background sizing
|
||||
.background-size(@size){
|
||||
-webkit-background-size: @size;
|
||||
-moz-background-size: @size;
|
||||
-o-background-size: @size;
|
||||
background-size: @size;
|
||||
}
|
||||
|
||||
|
||||
// Box sizing
|
||||
.box-sizing(@boxmodel) {
|
||||
-webkit-box-sizing: @boxmodel;
|
||||
-moz-box-sizing: @boxmodel;
|
||||
box-sizing: @boxmodel;
|
||||
}
|
||||
|
||||
// User select
|
||||
// For selecting text on the page
|
||||
.user-select(@select) {
|
||||
-webkit-user-select: @select;
|
||||
-moz-user-select: @select;
|
||||
-ms-user-select: @select;
|
||||
-o-user-select: @select;
|
||||
user-select: @select;
|
||||
}
|
||||
|
||||
// Resize anything
|
||||
.resizable(@direction) {
|
||||
resize: @direction; // Options: horizontal, vertical, both
|
||||
overflow: auto; // Safari fix
|
||||
}
|
||||
|
||||
// CSS3 Content Columns
|
||||
.content-columns(@columnCount, @columnGap: @gridGutterWidth) {
|
||||
-webkit-column-count: @columnCount;
|
||||
-moz-column-count: @columnCount;
|
||||
column-count: @columnCount;
|
||||
-webkit-column-gap: @columnGap;
|
||||
-moz-column-gap: @columnGap;
|
||||
column-gap: @columnGap;
|
||||
}
|
||||
|
||||
// Optional hyphenation
|
||||
.hyphens(@mode: auto) {
|
||||
word-wrap: break-word;
|
||||
-webkit-hyphens: @mode;
|
||||
-moz-hyphens: @mode;
|
||||
-ms-hyphens: @mode;
|
||||
-o-hyphens: @mode;
|
||||
hyphens: @mode;
|
||||
}
|
||||
|
||||
// Opacity
|
||||
.opacity(@opacity) {
|
||||
opacity: @opacity / 100;
|
||||
filter: ~"alpha(opacity=@{opacity})";
|
||||
}
|
||||
|
||||
|
||||
|
||||
// BACKGROUNDS
|
||||
// --------------------------------------------------
|
||||
|
||||
// Add an alphatransparency value to any background or border color (via Elyse Holladay)
|
||||
#translucent {
|
||||
.background(@color: @white, @alpha: 1) {
|
||||
background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
|
||||
}
|
||||
.border(@color: @white, @alpha: 1) {
|
||||
border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
|
||||
.background-clip(padding-box);
|
||||
}
|
||||
}
|
||||
|
||||
// Gradient Bar Colors for buttons and alerts
|
||||
.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
|
||||
color: @textColor;
|
||||
|
|
@ -400,64 +84,11 @@
|
|||
|
||||
// Gradients
|
||||
#gradient {
|
||||
.horizontal(@startColor: #555, @endColor: #333) {
|
||||
background-color: @endColor;
|
||||
background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
|
||||
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
|
||||
background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
||||
background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
|
||||
background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10
|
||||
background-repeat: repeat-x;
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
|
||||
}
|
||||
.vertical(@startColor: #555, @endColor: #333) {
|
||||
background-color: mix(@startColor, @endColor, 60%);
|
||||
background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
|
||||
background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
||||
background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
|
||||
background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
|
||||
background-repeat: repeat-x;
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
|
||||
}
|
||||
.directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
|
||||
background-color: @endColor;
|
||||
background-repeat: repeat-x;
|
||||
background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
|
||||
background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
||||
background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
|
||||
background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
|
||||
}
|
||||
.vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
|
||||
background-color: mix(@midColor, @endColor, 80%);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
|
||||
background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
||||
background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop*100%, @endColor);
|
||||
background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
||||
background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
||||
background-repeat: no-repeat;
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
|
||||
}
|
||||
.radial(@innerColor: #555, @outerColor: #333) {
|
||||
background-color: @outerColor;
|
||||
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
|
||||
background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
|
||||
background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
|
||||
background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.striped(@color, @angle: 45deg) {
|
||||
background-color: @color;
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
}
|
||||
// Reset filters for IE
|
||||
.reset-filter() {
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -469,14 +100,8 @@
|
|||
// -------------------------
|
||||
// Dividers (basically an hr) within dropdowns and nav lists
|
||||
.nav-divider(@top: #e5e5e5, @bottom: @white) {
|
||||
// IE7 needs a set width since we gave a height. Restricting just
|
||||
// to IE7 to keep the 1px left/right space in other browsers.
|
||||
// It is unclear where IE is getting the extra space that we need
|
||||
// to negative-margin away, but so it goes.
|
||||
*width: 100%;
|
||||
height: 1px;
|
||||
margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
|
||||
*margin: -5px 0 5px;
|
||||
overflow: hidden;
|
||||
background-color: @top;
|
||||
border-bottom: 1px solid @bottom;
|
||||
|
|
@ -485,35 +110,22 @@
|
|||
// Button backgrounds
|
||||
// ------------------
|
||||
.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
|
||||
// gradientBar will set the background to a pleasing blend of these, to support IE<=9
|
||||
.gradientBar(@startColor, @endColor, @textColor, @textShadow);
|
||||
*background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
.reset-filter();
|
||||
color: @textColor;
|
||||
text-shadow: @textShadow;
|
||||
#gradient > .vertical(@startColor, @endColor);
|
||||
border-color: @endColor @endColor darken(@endColor, 15%);
|
||||
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
|
||||
|
||||
// in these cases the gradient won't cover the background, so we override
|
||||
&:hover, &:active, &.active, &.disabled, &[disabled] {
|
||||
color: @textColor;
|
||||
background-color: @endColor;
|
||||
*background-color: darken(@endColor, 5%);
|
||||
}
|
||||
|
||||
// IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
|
||||
&:active,
|
||||
&.active {
|
||||
background-color: darken(@endColor, 10%) e("\9");
|
||||
}
|
||||
}
|
||||
|
||||
// Grid System
|
||||
// -----------
|
||||
|
||||
// Centered container element
|
||||
.container-fixed() {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
.clearfix();
|
||||
}
|
||||
|
||||
// Table columns
|
||||
.tableColumns(@columnSpan: 1) {
|
||||
float: none; // undo default grid column styles
|
||||
|
|
@ -521,18 +133,6 @@
|
|||
margin-left: 0; // undo default grid column styles
|
||||
}
|
||||
|
||||
// Make a Grid
|
||||
// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
|
||||
.makeRow() {
|
||||
margin-left: @gridGutterWidth * -1;
|
||||
.clearfix();
|
||||
}
|
||||
.makeColumn(@columns: 1, @offset: 0) {
|
||||
float: left;
|
||||
margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2);
|
||||
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
|
||||
}
|
||||
|
||||
// The Grid
|
||||
#grid {
|
||||
|
||||
|
|
@ -599,27 +199,26 @@
|
|||
|
||||
.offset (@columns) {
|
||||
margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2);
|
||||
*margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%);
|
||||
}
|
||||
|
||||
.offsetFirstChild (@columns) {
|
||||
margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth);
|
||||
*margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
|
||||
}
|
||||
|
||||
.span (@columns) {
|
||||
width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
|
||||
*width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%);
|
||||
}
|
||||
|
||||
.row-fluid {
|
||||
width: 100%;
|
||||
.clearfix();
|
||||
[class*="span"] {
|
||||
.input-block-level();
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-height: 30px; // Make inputs at least the height of their button counterpart
|
||||
box-sizing: border-box; // Makes inputs behave like true block-level elements
|
||||
float: left;
|
||||
margin-left: @fluidGridGutterWidth;
|
||||
*margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
|
||||
}
|
||||
[class*="span"]:first-child {
|
||||
margin-left: 0;
|
||||
|
|
|
|||
4
vendors/bootstrap/less/modals.less
vendored
4
vendors/bootstrap/less/modals.less
vendored
|
|
@ -48,8 +48,8 @@
|
|||
text-align: right; // right align buttons
|
||||
background-color: #f5f5f5;
|
||||
border-top: 1px solid #ddd;
|
||||
.border-radius(0 0 6px 6px);
|
||||
.box-shadow(inset 0 1px 0 @white);
|
||||
border-radius: 0 0 6px 6px;
|
||||
box-shadow: inset 0 1px 0 @white;
|
||||
.clearfix(); // clear it in case folks use .pull-* classes on buttons
|
||||
|
||||
// Properly space out buttons
|
||||
|
|
|
|||
26
vendors/bootstrap/less/navs.less
vendored
26
vendors/bootstrap/less/navs.less
vendored
|
|
@ -114,7 +114,7 @@
|
|||
padding-bottom: 8px;
|
||||
line-height: @baseLineHeight;
|
||||
border: 1px solid transparent;
|
||||
.border-radius(4px 4px 0 0);
|
||||
border-radius: 4px 4px 0 0;
|
||||
&:hover {
|
||||
border-color: @grayLighter @grayLighter #ddd;
|
||||
}
|
||||
|
|
@ -139,7 +139,7 @@
|
|||
padding-bottom: 8px;
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
.border-radius(5px);
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
// Active state
|
||||
|
|
@ -168,13 +168,15 @@
|
|||
}
|
||||
.nav-tabs.nav-stacked > li > a {
|
||||
border: 1px solid #ddd;
|
||||
.border-radius(0);
|
||||
border-radius: 0;
|
||||
}
|
||||
.nav-tabs.nav-stacked > li:first-child > a {
|
||||
.border-top-radius(4px);
|
||||
border-top-right-radius: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
}
|
||||
.nav-tabs.nav-stacked > li:last-child > a {
|
||||
.border-bottom-radius(4px);
|
||||
border-bottom-right-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
.nav-tabs.nav-stacked > li > a:hover {
|
||||
border-color: #ddd;
|
||||
|
|
@ -195,10 +197,10 @@
|
|||
// ---------
|
||||
|
||||
.nav-tabs .dropdown-menu {
|
||||
.border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu
|
||||
border-radius: 0 0 6px 6px; // remove the top rounded corners here since there is a hard edge above the menu
|
||||
}
|
||||
.nav-pills .dropdown-menu {
|
||||
.border-radius(6px); // make rounded corners match the pills
|
||||
border-radius: 6px; // make rounded corners match the pills
|
||||
}
|
||||
|
||||
// Default dropdown links
|
||||
|
|
@ -249,7 +251,7 @@
|
|||
.nav li.dropdown.open a:hover .caret {
|
||||
border-top-color: @white;
|
||||
border-bottom-color: @white;
|
||||
.opacity(100);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
// Dropdowns in stacked tabs
|
||||
|
|
@ -303,7 +305,7 @@
|
|||
margin-bottom: 0;
|
||||
}
|
||||
.tabs-below > .nav-tabs > li > a {
|
||||
.border-radius(0 0 4px 4px);
|
||||
border-radius: 0 0 4px 4px;
|
||||
&:hover {
|
||||
border-bottom-color: transparent;
|
||||
border-top-color: #ddd;
|
||||
|
|
@ -337,7 +339,7 @@
|
|||
}
|
||||
.tabs-left > .nav-tabs > li > a {
|
||||
margin-right: -1px;
|
||||
.border-radius(4px 0 0 4px);
|
||||
border-radius: 4px 0 0 4px;
|
||||
}
|
||||
.tabs-left > .nav-tabs > li > a:hover {
|
||||
border-color: @grayLighter #ddd @grayLighter @grayLighter;
|
||||
|
|
@ -345,7 +347,6 @@
|
|||
.tabs-left > .nav-tabs .active > a,
|
||||
.tabs-left > .nav-tabs .active > a:hover {
|
||||
border-color: #ddd transparent #ddd #ddd;
|
||||
*border-right-color: @white;
|
||||
}
|
||||
|
||||
// Tabs on the right
|
||||
|
|
@ -356,7 +357,7 @@
|
|||
}
|
||||
.tabs-right > .nav-tabs > li > a {
|
||||
margin-left: -1px;
|
||||
.border-radius(0 4px 4px 0);
|
||||
border-radius: 0 4px 4px 0;
|
||||
}
|
||||
.tabs-right > .nav-tabs > li > a:hover {
|
||||
border-color: @grayLighter @grayLighter @grayLighter #ddd;
|
||||
|
|
@ -364,7 +365,6 @@
|
|||
.tabs-right > .nav-tabs .active > a,
|
||||
.tabs-right > .nav-tabs .active > a:hover {
|
||||
border-color: #ddd #ddd #ddd transparent;
|
||||
*border-left-color: @white;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
3
vendors/bootstrap/less/tables.less
vendored
3
vendors/bootstrap/less/tables.less
vendored
|
|
@ -70,9 +70,8 @@
|
|||
.table-bordered {
|
||||
border: 1px solid @tableBorder;
|
||||
border-collapse: separate; // Done so we can round those corners!
|
||||
*border-collapse: collapse; // IE7 can't round corners anyway
|
||||
border-left: 0;
|
||||
.border-radius(4px);
|
||||
border-radius: 4px;
|
||||
th,
|
||||
td {
|
||||
border-left: 1px solid @tableBorder;
|
||||
|
|
|
|||
8
vendors/bootstrap/less/type.less
vendored
8
vendors/bootstrap/less/type.less
vendored
|
|
@ -121,7 +121,9 @@ dd {
|
|||
width: 120px;
|
||||
clear: left;
|
||||
text-align: right;
|
||||
.text-overflow();
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
dd {
|
||||
margin-left: 130px;
|
||||
|
|
@ -156,7 +158,9 @@ blockquote {
|
|||
border-left: 5px solid @grayLighter;
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
#font > .shorthand(16px,300,@baseLineHeight * 1.25);
|
||||
font-size: 16px;
|
||||
font-weight: 300;
|
||||
line-height: @baseLineHeight * 1.25;
|
||||
}
|
||||
small {
|
||||
display: block;
|
||||
|
|
|
|||
8
vendors/bootstrap/less/wells.less
vendored
8
vendors/bootstrap/less/wells.less
vendored
|
|
@ -10,8 +10,8 @@
|
|||
margin-bottom: 20px;
|
||||
background-color: @wellBackground;
|
||||
border: 1px solid darken(@wellBackground, 7%);
|
||||
.border-radius(4px);
|
||||
.box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
|
||||
border-radius: 4px;
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
|
||||
blockquote {
|
||||
border-color: #ddd;
|
||||
border-color: rgba(0,0,0,.15);
|
||||
|
|
@ -21,9 +21,9 @@
|
|||
// Sizes
|
||||
.well-large {
|
||||
padding: 24px;
|
||||
.border-radius(6px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
.well-small {
|
||||
padding: 9px;
|
||||
.border-radius(3px);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue