Files
freeCodeCamp/client/less/lib/bootstrap/variables.less

873 lines
27 KiB
Plaintext
Raw Normal View History

//
// Variables
// --------------------------------------------------
@empty: ~'';
2014-07-02 00:57:48 -04:00
2014-01-30 20:23:56 -05:00
//== Colors
//
//## Gray and brand colors for use across Bootstrap.
2014-11-08 14:27:02 -08:00
@gray-base: #000;
@gray-darker: lighten(@gray-base, 13.5%); // #222
@gray-dark: lighten(@gray-base, 20%); // #333
@gray: lighten(@gray-base, 33.5%); // #555
@gray-light: lighten(@gray-base, 46.7%); // #777
@gray-lighter: lighten(@gray-base, 93.5%); // #eee
2014-11-07 13:25:08 -08:00
2016-01-15 17:19:39 -08:00
@brand-primary: darkgreen;
@brand-success: #457E86;
@brand-info: #4A2B0F;
2014-07-02 00:57:48 -04:00
@brand-warning: #f0ad4e;
@brand-danger: #d9534f;
2014-07-02 00:57:48 -04:00
@icon-gray: #575757;
@icon-light-gray: #888888;
2014-01-30 20:23:56 -05:00
//== Scaffolding
//
2014-07-02 00:57:48 -04:00
//## Settings for some of the most global styles.
2014-01-30 20:23:56 -05:00
//** Background color for `<body>`.
2016-01-10 23:49:09 -06:00
@body-bg: #ffffff;
2014-01-30 20:23:56 -05:00
//** Global text color on `<body>`.
2014-07-02 00:57:48 -04:00
@text-color: @gray-dark;
2014-01-30 20:23:56 -05:00
//** Global textual link color.
@link-color: @brand-primary;
2014-01-30 20:23:56 -05:00
//** Link hover color set via `darken()` function.
2014-07-02 00:57:48 -04:00
@link-hover-color: darken(@link-color, 15%);
2014-11-08 14:27:02 -08:00
//** Link hover decoration.
@link-hover-decoration: underline;
2014-07-02 00:57:48 -04:00
2016-04-11 18:24:19 -04:00
//## Night mode styles
@night-body-bg: @gray-dark;
@night-text-color: #ccc;
2014-01-30 20:23:56 -05:00
//== Typography
//
//## Font, line-height, and color for body text, headings, and more.
2014-07-02 00:57:48 -04:00
@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family-serif: Georgia, "Times New Roman", Times, serif;
2014-01-30 20:23:56 -05:00
//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
2014-07-02 00:57:48 -04:00
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
@font-family-base: @font-family-sans-serif;
@font-size-base: 14px;
@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
@font-size-h1: floor((@font-size-base * 2.6)); // ~36px
@font-size-h2: floor((@font-size-base * 2.15)); // ~30px
@font-size-h3: ceil((@font-size-base * 1.7)); // ~24px
@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px
@font-size-h5: @font-size-base;
@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
2014-01-30 20:23:56 -05:00
//** Unit-less `line-height` for use in components like buttons.
2014-07-02 00:57:48 -04:00
@line-height-base: 1.428571429; // 20/14
2014-01-30 20:23:56 -05:00
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
2014-07-02 00:57:48 -04:00
@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
2014-01-30 20:23:56 -05:00
//** By default, this inherits from the `<body>`.
2014-07-02 00:57:48 -04:00
@headings-font-family: inherit;
@headings-font-weight: 500;
@headings-line-height: 1.1;
@headings-color: inherit;
2014-07-02 00:57:48 -04:00
//== Iconography
2014-01-30 20:23:56 -05:00
//
//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via npm.
2014-07-02 00:57:48 -04:00
//** Load fonts from this directory.
@icon-font-path: "../fonts/";
//** File name for all font files.
@icon-font-name: "glyphicons-halflings-regular";
//** Element ID within SVG icon file.
@icon-font-svg-id: "glyphicons_halflingsregular";
2014-01-30 20:23:56 -05:00
//== Components
//
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
2014-07-02 00:57:48 -04:00
@padding-base-vertical: 6px;
@padding-base-horizontal: 12px;
2014-07-02 00:57:48 -04:00
@padding-large-vertical: 10px;
@padding-large-horizontal: 16px;
2014-07-02 00:57:48 -04:00
@padding-small-vertical: 5px;
@padding-small-horizontal: 10px;
2014-07-02 00:57:48 -04:00
@padding-xs-vertical: 1px;
@padding-xs-horizontal: 5px;
2014-07-02 00:57:48 -04:00
@line-height-large: 1.33;
@line-height-small: 1.5;
2014-07-02 00:57:48 -04:00
@border-radius-base: 4px;
@border-radius-large: 6px;
@border-radius-small: 3px;
2014-01-30 20:23:56 -05:00
//** Global color for active items (e.g., navs or dropdowns).
2015-09-14 00:02:42 -07:00
@component-active-color: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Global background color for active items (e.g., navs or dropdowns).
2014-07-02 00:57:48 -04:00
@component-active-bg: @brand-primary;
2014-01-30 20:23:56 -05:00
//** Width of the `border` for generating carets that indicator dropdowns.
2014-07-02 00:57:48 -04:00
@caret-width-base: 4px;
2014-01-30 20:23:56 -05:00
//** Carets increase slightly in size for larger components.
2014-07-02 00:57:48 -04:00
@caret-width-large: 5px;
2014-01-30 20:23:56 -05:00
//== Tables
//
//## Customizes the `.table` component with basic values, each used across all table variations.
2014-01-30 20:23:56 -05:00
//** Padding for `<th>`s and `<td>`s.
2014-07-02 00:57:48 -04:00
@table-cell-padding: 8px;
2014-01-30 20:23:56 -05:00
//** Padding for cells in `.table-condensed`.
2014-07-02 00:57:48 -04:00
@table-condensed-cell-padding: 5px;
2014-01-30 20:23:56 -05:00
//** Default background color used for all tables.
2014-07-02 00:57:48 -04:00
@table-bg: transparent;
2014-01-30 20:23:56 -05:00
//** Background color used for `.table-striped`.
2014-07-02 00:57:48 -04:00
@table-bg-accent: #f9f9f9;
2014-01-30 20:23:56 -05:00
//** Background color used for `.table-hover`.
2014-07-02 00:57:48 -04:00
@table-bg-hover: #f5f5f5;
@table-bg-active: @table-bg-hover;
2014-01-30 20:23:56 -05:00
//** Border color for table and cell borders.
2014-07-02 00:57:48 -04:00
@table-border-color: #ddd;
2014-01-30 20:23:56 -05:00
//== Buttons
//
//## For each of Bootstrap's buttons, define text, background and border color.
2014-07-02 00:57:48 -04:00
@btn-font-weight: normal;
2016-01-15 03:09:31 -08:00
@btn-default-color: #000000;
@btn-default-bg: @body-bg;
@btn-default-border: #000000;
2016-01-11 17:36:05 -08:00
@btn-primary-color: @brand-primary;
2014-07-02 00:57:48 -04:00
@btn-primary-bg: @brand-primary;
@btn-primary-border: darken(@btn-primary-bg, 5%);
2016-01-11 18:04:56 -08:00
@btn-success-color: @brand-success;
2014-07-02 00:57:48 -04:00
@btn-success-bg: @brand-success;
@btn-success-border: darken(@btn-success-bg, 5%);
2014-01-30 20:23:56 -05:00
2016-01-11 17:36:05 -08:00
@btn-info-color: @brand-info;
2014-07-02 00:57:48 -04:00
@btn-info-bg: @brand-info;
@btn-info-border: darken(@btn-info-bg, 5%);
2016-01-11 18:04:56 -08:00
@btn-warning-color: @brand-warning;
2014-07-02 00:57:48 -04:00
@btn-warning-bg: @brand-warning;
@btn-warning-border: darken(@btn-warning-bg, 5%);
2016-01-11 17:36:05 -08:00
@btn-danger-color: @brand-danger;
2014-07-02 00:57:48 -04:00
@btn-danger-bg: @brand-danger;
@btn-danger-border: darken(@btn-danger-bg, 5%);
@btn-link-disabled-color: @gray-light;
2014-01-30 20:23:56 -05:00
//== Forms
//
//##
2014-01-30 20:23:56 -05:00
//** `<input>` background color
2015-09-14 00:02:42 -07:00
@input-bg: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** `<input disabled>` background color
2014-07-02 00:57:48 -04:00
@input-bg-disabled: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Text color for `<input>`s
2014-07-02 00:57:48 -04:00
@input-color: @gray;
2014-01-30 20:23:56 -05:00
//** `<input>` border color
2014-07-02 00:57:48 -04:00
@input-border: #ccc;
2014-11-08 14:27:02 -08:00
// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
//** Default `.form-control` border radius
2014-07-02 00:57:48 -04:00
@input-border-radius: @border-radius-base;
2014-11-08 14:27:02 -08:00
//** Large `.form-control` border radius
@input-border-radius-large: @border-radius-large;
//** Small `.form-control` border radius
@input-border-radius-small: @border-radius-small;
2014-01-30 20:23:56 -05:00
//** Border color for inputs on focus
2014-07-02 00:57:48 -04:00
@input-border-focus: #66afe9;
2014-01-30 20:23:56 -05:00
//** Placeholder text color
2014-11-08 14:27:02 -08:00
@input-color-placeholder: #999;
2014-01-30 20:23:56 -05:00
//** Default `.form-control` height
2014-07-02 00:57:48 -04:00
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
2014-01-30 20:23:56 -05:00
//** Large `.form-control` height
2014-07-02 00:57:48 -04:00
@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
2014-01-30 20:23:56 -05:00
//** Small `.form-control` height
2014-07-02 00:57:48 -04:00
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
2014-07-02 00:57:48 -04:00
@legend-color: @gray-dark;
@legend-border-color: #e5e5e5;
2014-01-30 20:23:56 -05:00
//** Background color for textual input addons
2014-07-02 00:57:48 -04:00
@input-group-addon-bg: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Border color for textual input addons
@input-group-addon-border-color: @input-border;
2014-11-08 14:27:02 -08:00
//** Disabled cursor for form controls and buttons.
@cursor-disabled: not-allowed;
2014-07-02 00:57:48 -04:00
2014-01-30 20:23:56 -05:00
//== Dropdowns
//
//## Dropdown menu container and contents.
2014-01-30 20:23:56 -05:00
//** Background for the dropdown menu.
2015-09-14 00:02:42 -07:00
@dropdown-bg: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Dropdown menu `border-color`.
2014-07-02 00:57:48 -04:00
@dropdown-border: rgba(0,0,0,.15);
2014-01-30 20:23:56 -05:00
//** Dropdown menu `border-color` **for IE8**.
2014-07-02 00:57:48 -04:00
@dropdown-fallback-border: #ccc;
2014-01-30 20:23:56 -05:00
//** Divider color for between dropdown items.
2014-07-02 00:57:48 -04:00
@dropdown-divider-bg: #e5e5e5;
2014-01-30 20:23:56 -05:00
//** Dropdown link text color.
2016-12-30 15:23:58 -08:00
@dropdown-link-color: darkgreen;
2014-01-30 20:23:56 -05:00
//** Hover color for dropdown links.
2016-12-30 15:23:58 -08:00
@dropdown-link-hover-color: darkgreen;
2014-01-30 20:23:56 -05:00
//** Hover background for dropdown links.
2014-07-02 00:57:48 -04:00
@dropdown-link-hover-bg: #f5f5f5;
2014-01-30 20:23:56 -05:00
//** Active dropdown menu item text color.
2014-07-02 00:57:48 -04:00
@dropdown-link-active-color: @component-active-color;
2014-01-30 20:23:56 -05:00
//** Active dropdown menu item background color.
2014-07-02 00:57:48 -04:00
@dropdown-link-active-bg: @component-active-bg;
2014-01-30 20:23:56 -05:00
//** Disabled dropdown menu item background color.
2014-07-02 00:57:48 -04:00
@dropdown-link-disabled-color: @gray-light;
2014-01-30 20:23:56 -05:00
//** Text color for headers within dropdown menus.
2014-07-02 00:57:48 -04:00
@dropdown-header-color: @gray-light;
//** Deprecated `@dropdown-caret-color` as of v3.1.0
@dropdown-caret-color: #000;
2014-01-30 20:23:56 -05:00
//-- Z-index master list
//
// Warning: Avoid customizing these values. They're used for a bird's eye view
// of components dependent on the z-axis and are designed to all work together.
//
// Note: These variables are not generated into the Customizer.
2014-07-02 00:57:48 -04:00
@zindex-navbar: 1000;
@zindex-dropdown: 1000;
@zindex-popover: 1060;
@zindex-tooltip: 1070;
@zindex-navbar-fixed: 1030;
2014-11-08 14:27:02 -08:00
@zindex-modal: 1040;
2014-07-02 00:57:48 -04:00
2014-01-30 20:23:56 -05:00
//== Media queries breakpoints
//
//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
// Extra small screen / phone
2014-07-02 00:57:48 -04:00
//** Deprecated `@screen-xs` as of v3.0.1
@screen-xs: 480px;
//** Deprecated `@screen-xs-min` as of v3.2.0
@screen-xs-min: @screen-xs;
//** Deprecated `@screen-phone` as of v3.0.1
@screen-phone: @screen-xs-min;
// Small screen / tablet
2014-07-02 00:57:48 -04:00
//** Deprecated `@screen-sm` as of v3.0.1
@screen-sm: 768px;
@screen-sm-min: @screen-sm;
//** Deprecated `@screen-tablet` as of v3.0.1
@screen-tablet: @screen-sm-min;
// Medium screen / desktop
2014-07-02 00:57:48 -04:00
//** Deprecated `@screen-md` as of v3.0.1
@screen-md: 1031px;
2014-07-02 00:57:48 -04:00
@screen-md-min: @screen-md;
//** Deprecated `@screen-desktop` as of v3.0.1
@screen-desktop: @screen-md-min;
// Large screen / wide desktop
2014-07-02 00:57:48 -04:00
//** Deprecated `@screen-lg` as of v3.0.1
@screen-lg: 1200px;
@screen-lg-min: @screen-lg;
//** Deprecated `@screen-lg-desktop` as of v3.0.1
@screen-lg-desktop: @screen-lg-min;
// Large screen / wide desktop
@screen-xl: 1400px;
@screen-lg-min: @screen-lg;
// So media queries don't overlap when required, provide a maximum
2014-07-02 00:57:48 -04:00
@screen-xs-max: (@screen-sm-min - 1);
@screen-sm-max: (@screen-md-min - 1);
@screen-md-max: (@screen-lg-min - 1);
2014-01-30 20:23:56 -05:00
//== Grid system
//
//## Define your custom responsive grid.
2014-01-30 20:23:56 -05:00
//** Number of columns in the grid.
2014-07-02 00:57:48 -04:00
@grid-columns: 12;
2014-01-30 20:23:56 -05:00
//** Padding between columns. Gets divided in half for the left and right.
2014-07-02 00:57:48 -04:00
@grid-gutter-width: 30px;
2014-01-30 20:23:56 -05:00
// Navbar collapse
//** Point at which the navbar becomes uncollapsed.
2014-07-02 00:57:48 -04:00
@grid-float-breakpoint: @screen-sm-min;
2014-01-30 20:23:56 -05:00
//** Point at which the navbar begins collapsing.
@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
2014-07-02 00:57:48 -04:00
2014-02-15 13:35:27 -05:00
//== Container sizes
//
//## Define the maximum width of `.container` for different screen sizes.
// Small screen / tablet
2014-11-08 14:27:02 -08:00
@container-tablet: (720px + @grid-gutter-width);
2014-02-15 13:35:27 -05:00
//** For `@screen-sm-min` and up.
2014-07-02 00:57:48 -04:00
@container-sm: @container-tablet;
2014-02-15 13:35:27 -05:00
// Medium screen / desktop
2014-11-08 14:27:02 -08:00
@container-desktop: (940px + @grid-gutter-width);
2014-02-15 13:35:27 -05:00
//** For `@screen-md-min` and up.
2014-07-02 00:57:48 -04:00
@container-md: @container-desktop;
2014-02-15 13:35:27 -05:00
// Large screen / wide desktop
2014-11-08 14:27:02 -08:00
@container-large-desktop: (1140px + @grid-gutter-width);
2014-02-15 13:35:27 -05:00
//** For `@screen-lg-min` and up.
2014-07-02 00:57:48 -04:00
@container-lg: @container-large-desktop;
@container-xl: (1340px + @grid-gutter-width);
2014-01-30 20:23:56 -05:00
//== Navbar
//
//##
// Basics of a navbar
feat(app): new layout (#14707) * feat(app): Restructure app to be more flexible and redux idiomatic BREAKING CHANGE: Lots of breaking changes * refactor(challenges): Redux to started file structure * fix(app): lint issues due to refactor * fix(settings): Refactor settings to use folder structure * refactor(challenges): Move step redux stuff into step folder * fix(challenges): Remove fetchchallenges actions * refactor(challenges): Move project redux logic into project view subdirectory * refactor(app): %s/sagas/epics/g * refactor(redux): Use new redux-epic with combineEpic and ofType * refactor(app): Move challenge selector to app level * fix(app): Move loading challenge info into challenge route This moves a lot of the logic needed to load challenge info into the challenge app. This decouples the main app from the challenge route * refactor(map): Map is now decoupled from challenges * refactor(challenges): Use selectors everywhere instead of guessing state shape * refactor(client): refactor client epics to use selectors * refactor(app): Refactor userSelector to return user object instead of object.user * refactor(entities): Move entities logic into it's own file * fix(redux): combineTypes should be combineActions * fix(app): reducer namespacing and import * fix(Map): Fix undefined type and update redux-action * fix(redux): Refactor fetchUser to be more declarative Use rxjs methods instead of imperative if/else. Also prevent non-actions from being emitted * fix(redux): toString multi phase action types * fix(redux): typecast multiphase type, fix typo in reducer toString multiphase types in fetch challenge epic. Add epic to epics lists. Fix type in fetch challenge complete handler * fix(redux): updateCurrentChallengelogic should be centerlized Move route changes to one location. * fix(Nav): Prevent event object from hanging around closeDropDown/openDropDown where handing on to the event object. This was causing issues with react since event objects are recycled in React. * fix(Map.Challenge): decouple map selector * fix(Map): Decouple panel selectors from props Panel Selectors no longer need to know the shape of a components props. Refactored component selectors to decouple them entities state shape * fix(Map.redux): Add select challenge epic and connect map epics * fix(redux.analytics): Fix meta creator and nav/map events * fix(redux): Update current challenge ajax * fix(challenges): ssr fetch challenge should update challenge ui Was using an epic to update challenge ui on fetch complete, but this was not working on ssr due to the way ssr disables epics to wait for completion. This commit fixes this by causing the complete to directly update state in the challenge ui * fix(challenges): wrong import of types, refactor epic name * fix(redux): Prevent fetch challenge epic from emitting null to dispatch * fix(redux): prevent executechallenge from emitting null * fix(challenges.redux): testsSelector returns just tests * fix(challenges.redux): Prevent completion challenge from emitting null * refactor(Challenges.Step): Refactor step challenge to release event object * fix(redux): wrap reducers in factories reducers exported from features need to be factories this helps avoid cyclic requires messing up reducer creation We end up with exports from files being undefined as node tries to resolve cyclic dependencies. This prevents that by wrapping the `handleActions` call so that the ref to types imported from parent features are closures and can be resolved by node before we need them. * fix(Map): createUi not working correctly map utils should receive just map ui state, createMapUi needs to add title to challenge * feat(Challenges): Adds Panes and panes backend challenge * fix: Create child container to wrap children Create a ChildContainer comp' to wrap all children that represent the view for the current route. This let's the child route define if they want a full width view or if they want the standard max-width view. * feat(Panes): panes now render dividers * feat(Panes): Get divider to move currectly * fix(Nav): Add top margin to contained childs Move margin-bottom from nav to child container as margin top. This let's the jsbin style views fit snug with navbar * fix(Panes): Should be contained within their borders * feat(Panes): Update navbar height of pane on app mount * feat(Panes): Toggle map on map nav btn click * fix(gulpfile): Ensure nodemon exits on restart On process exit, wait for nodemon to shutdown before process.exit * feat(Panes): Make Panes redux first * fix(Panes): Fix divider positioning * fix(Panes): Update divider moved handler dividerMoved action now uses new panesByName structure * feat(Panes): Pane nav button will hide panes * chore(package-lock): Update package lock * feat(Panes.redux): Recaculate dividers on pane toggle * fix(Challenges): Update challenge on dashedName change This fixes backwards navigation not updating the redux state current challenge * feat(Panes.redux): Clear panes on unmount Clearing panes on unmount will clear bin buttons in nav * refactor(Map): Colocate styles * feat(Map): New map layout * fix(Map): No longer has it's own page * fix: FetchChallenges on appMounted * feat: Normalize fetchChallenge(s) results This allows superblocks to be sent with both fetchChallenge and fetchChallenges so the map is always populated on first load * feat(Map): Show blocks on first load * fix(less): Remove old css * feat(Nav): Reduce nav height * fix(Nav): Render nav after content Render nav after content and use css to reverse again on screen. We do this so the panes can render first and update redux panes state which will then update the nav ui state before nav has a chance to render * fix(Panes): Add container This adds a Panes Container that will allow it to udpate redux state so Panes Component will have redux state ready to actually render panes * feat(Challenges.Classic): Add panes * fix(Challenge.Classic): Editor onchange should not need to know about file * fix(Panes): Index on panes hide should account for hidden pane * fix(Challanges.Classic): Fix panes types * fix(Challenges): Add completion modal to all challenges Change classic modal to completion modal * fix(Panes): Dividers live on top of planes * fix(Challenges): Remove codemirror theme Remove codemirror theme and remove borders from preview frame * fix(Challenges.Classic): Remove old component * feat(Challenges.Step): Add panes to step challenge * feat(Challenges.Project): Add panes to projects * fix(Challenges.Projects): Remove row * fix(Modals): Move modal text color to challenge less This text color is dependent on the actual header color * fix(Map): Use Superblock title for ui * fix(Map): Reduce panel header height * fix(app): Capitalize Toasts folder Feature folders should be campitalized * chore(Map): Remove unused epic file * fix(Step): Fix tests * test(Map): Update createMapUi tests input
2017-07-31 20:04:01 -07:00
@navbar-height: 36px;
2016-02-04 11:24:09 -05:00
@navbar-margin-bottom: @line-height-computed+10px;
feat(app): new layout (#14707) * feat(app): Restructure app to be more flexible and redux idiomatic BREAKING CHANGE: Lots of breaking changes * refactor(challenges): Redux to started file structure * fix(app): lint issues due to refactor * fix(settings): Refactor settings to use folder structure * refactor(challenges): Move step redux stuff into step folder * fix(challenges): Remove fetchchallenges actions * refactor(challenges): Move project redux logic into project view subdirectory * refactor(app): %s/sagas/epics/g * refactor(redux): Use new redux-epic with combineEpic and ofType * refactor(app): Move challenge selector to app level * fix(app): Move loading challenge info into challenge route This moves a lot of the logic needed to load challenge info into the challenge app. This decouples the main app from the challenge route * refactor(map): Map is now decoupled from challenges * refactor(challenges): Use selectors everywhere instead of guessing state shape * refactor(client): refactor client epics to use selectors * refactor(app): Refactor userSelector to return user object instead of object.user * refactor(entities): Move entities logic into it's own file * fix(redux): combineTypes should be combineActions * fix(app): reducer namespacing and import * fix(Map): Fix undefined type and update redux-action * fix(redux): Refactor fetchUser to be more declarative Use rxjs methods instead of imperative if/else. Also prevent non-actions from being emitted * fix(redux): toString multi phase action types * fix(redux): typecast multiphase type, fix typo in reducer toString multiphase types in fetch challenge epic. Add epic to epics lists. Fix type in fetch challenge complete handler * fix(redux): updateCurrentChallengelogic should be centerlized Move route changes to one location. * fix(Nav): Prevent event object from hanging around closeDropDown/openDropDown where handing on to the event object. This was causing issues with react since event objects are recycled in React. * fix(Map.Challenge): decouple map selector * fix(Map): Decouple panel selectors from props Panel Selectors no longer need to know the shape of a components props. Refactored component selectors to decouple them entities state shape * fix(Map.redux): Add select challenge epic and connect map epics * fix(redux.analytics): Fix meta creator and nav/map events * fix(redux): Update current challenge ajax * fix(challenges): ssr fetch challenge should update challenge ui Was using an epic to update challenge ui on fetch complete, but this was not working on ssr due to the way ssr disables epics to wait for completion. This commit fixes this by causing the complete to directly update state in the challenge ui * fix(challenges): wrong import of types, refactor epic name * fix(redux): Prevent fetch challenge epic from emitting null to dispatch * fix(redux): prevent executechallenge from emitting null * fix(challenges.redux): testsSelector returns just tests * fix(challenges.redux): Prevent completion challenge from emitting null * refactor(Challenges.Step): Refactor step challenge to release event object * fix(redux): wrap reducers in factories reducers exported from features need to be factories this helps avoid cyclic requires messing up reducer creation We end up with exports from files being undefined as node tries to resolve cyclic dependencies. This prevents that by wrapping the `handleActions` call so that the ref to types imported from parent features are closures and can be resolved by node before we need them. * fix(Map): createUi not working correctly map utils should receive just map ui state, createMapUi needs to add title to challenge * feat(Challenges): Adds Panes and panes backend challenge * fix: Create child container to wrap children Create a ChildContainer comp' to wrap all children that represent the view for the current route. This let's the child route define if they want a full width view or if they want the standard max-width view. * feat(Panes): panes now render dividers * feat(Panes): Get divider to move currectly * fix(Nav): Add top margin to contained childs Move margin-bottom from nav to child container as margin top. This let's the jsbin style views fit snug with navbar * fix(Panes): Should be contained within their borders * feat(Panes): Update navbar height of pane on app mount * feat(Panes): Toggle map on map nav btn click * fix(gulpfile): Ensure nodemon exits on restart On process exit, wait for nodemon to shutdown before process.exit * feat(Panes): Make Panes redux first * fix(Panes): Fix divider positioning * fix(Panes): Update divider moved handler dividerMoved action now uses new panesByName structure * feat(Panes): Pane nav button will hide panes * chore(package-lock): Update package lock * feat(Panes.redux): Recaculate dividers on pane toggle * fix(Challenges): Update challenge on dashedName change This fixes backwards navigation not updating the redux state current challenge * feat(Panes.redux): Clear panes on unmount Clearing panes on unmount will clear bin buttons in nav * refactor(Map): Colocate styles * feat(Map): New map layout * fix(Map): No longer has it's own page * fix: FetchChallenges on appMounted * feat: Normalize fetchChallenge(s) results This allows superblocks to be sent with both fetchChallenge and fetchChallenges so the map is always populated on first load * feat(Map): Show blocks on first load * fix(less): Remove old css * feat(Nav): Reduce nav height * fix(Nav): Render nav after content Render nav after content and use css to reverse again on screen. We do this so the panes can render first and update redux panes state which will then update the nav ui state before nav has a chance to render * fix(Panes): Add container This adds a Panes Container that will allow it to udpate redux state so Panes Component will have redux state ready to actually render panes * feat(Challenges.Classic): Add panes * fix(Challenge.Classic): Editor onchange should not need to know about file * fix(Panes): Index on panes hide should account for hidden pane * fix(Challanges.Classic): Fix panes types * fix(Challenges): Add completion modal to all challenges Change classic modal to completion modal * fix(Panes): Dividers live on top of planes * fix(Challenges): Remove codemirror theme Remove codemirror theme and remove borders from preview frame * fix(Challenges.Classic): Remove old component * feat(Challenges.Step): Add panes to step challenge * feat(Challenges.Project): Add panes to projects * fix(Challenges.Projects): Remove row * fix(Modals): Move modal text color to challenge less This text color is dependent on the actual header color * fix(Map): Use Superblock title for ui * fix(Map): Reduce panel header height * fix(app): Capitalize Toasts folder Feature folders should be campitalized * chore(Map): Remove unused epic file * fix(Step): Fix tests * test(Map): Update createMapUi tests input
2017-07-31 20:04:01 -07:00
@navbar-total-height: @navbar-height + @navbar-margin-bottom;
2014-07-02 00:57:48 -04:00
@navbar-border-radius: @border-radius-base;
@navbar-padding-horizontal: floor((@grid-gutter-width / 2));
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
@navbar-collapse-max-height: 340px;
2014-07-02 00:57:48 -04:00
@navbar-default-color: #777;
@navbar-default-bg: #f8f8f8;
@navbar-default-border: darken(@navbar-default-bg, 6.5%);
// Navbar links
2015-09-14 00:02:42 -07:00
@navbar-default-link-color: @gray-lighter;
@navbar-default-link-hover-color: darkgreen;
2015-09-14 00:02:42 -07:00
@navbar-default-link-hover-bg: @gray-lighter;
2016-12-30 15:23:58 -08:00
@navbar-default-link-active-color: darkgreen;
@navbar-default-link-active-bg: @gray-lighter;
2014-07-02 00:57:48 -04:00
@navbar-default-link-disabled-color: #ccc;
@navbar-default-link-disabled-bg: transparent;
// Navbar brand label
2014-07-02 00:57:48 -04:00
@navbar-default-brand-color: @navbar-default-link-color;
@navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%);
@navbar-default-brand-hover-bg: transparent;
// Navbar toggle
2014-07-02 00:57:48 -04:00
@navbar-default-toggle-hover-bg: #ddd;
@navbar-default-toggle-icon-bar-bg: #888;
@navbar-default-toggle-border-color: #ddd;
// Inverted navbar
// Reset inverted navbar basics
2014-11-08 14:27:02 -08:00
@navbar-inverse-color: lighten(@gray-light, 15%);
2014-07-02 00:57:48 -04:00
@navbar-inverse-bg: #222;
@navbar-inverse-border: darken(@navbar-inverse-bg, 10%);
// Inverted navbar links
2014-07-02 00:57:48 -04:00
@navbar-inverse-link-color: @gray-light;
2015-09-14 00:02:42 -07:00
@navbar-inverse-link-hover-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
@navbar-inverse-link-hover-bg: transparent;
@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color;
@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%);
@navbar-inverse-link-disabled-color: #444;
@navbar-inverse-link-disabled-bg: transparent;
// Inverted navbar brand label
2014-07-02 00:57:48 -04:00
@navbar-inverse-brand-color: @navbar-inverse-link-color;
2015-09-14 00:02:42 -07:00
@navbar-inverse-brand-hover-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
@navbar-inverse-brand-hover-bg: transparent;
// Inverted navbar toggle
2014-07-02 00:57:48 -04:00
@navbar-inverse-toggle-hover-bg: #333;
2015-09-14 00:02:42 -07:00
@navbar-inverse-toggle-icon-bar-bg: @gray-lighter;
2014-07-02 00:57:48 -04:00
@navbar-inverse-toggle-border-color: #333;
2014-01-30 20:23:56 -05:00
//== Navs
//
//##
2014-01-30 20:23:56 -05:00
//=== Shared nav styles
2014-07-02 00:57:48 -04:00
@nav-link-padding: 10px 15px;
@nav-link-hover-bg: @gray-lighter;
2014-07-02 00:57:48 -04:00
@nav-disabled-link-color: @gray-light;
@nav-disabled-link-hover-color: @gray-light;
2015-09-14 00:02:42 -07:00
@nav-open-link-hover-color: @gray-lighter;
2014-01-30 20:23:56 -05:00
//== Tabs
2014-07-02 00:57:48 -04:00
@nav-tabs-border-color: #ddd;
2014-07-02 00:57:48 -04:00
@nav-tabs-link-hover-border-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
@nav-tabs-active-link-hover-bg: @body-bg;
@nav-tabs-active-link-hover-color: @gray;
@nav-tabs-active-link-hover-border-color: #ddd;
2014-07-02 00:57:48 -04:00
@nav-tabs-justified-link-border-color: #ddd;
@nav-tabs-justified-active-link-border-color: @body-bg;
2014-01-30 20:23:56 -05:00
//== Pills
2014-07-02 00:57:48 -04:00
@nav-pills-border-radius: @border-radius-base;
@nav-pills-active-link-hover-bg: @component-active-bg;
@nav-pills-active-link-hover-color: @component-active-color;
2014-01-30 20:23:56 -05:00
//== Pagination
//
//##
2014-07-02 00:57:48 -04:00
@pagination-color: @link-color;
2015-09-14 00:02:42 -07:00
@pagination-bg: @gray-lighter;
2014-07-02 00:57:48 -04:00
@pagination-border: #ddd;
@pagination-hover-color: @link-hover-color;
@pagination-hover-bg: @gray-lighter;
@pagination-hover-border: #ddd;
2015-09-14 00:02:42 -07:00
@pagination-active-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
@pagination-active-bg: @brand-primary;
@pagination-active-border: @brand-primary;
2014-07-02 00:57:48 -04:00
@pagination-disabled-color: @gray-light;
2015-09-14 00:02:42 -07:00
@pagination-disabled-bg: @gray-lighter;
2014-07-02 00:57:48 -04:00
@pagination-disabled-border: #ddd;
2014-01-30 20:23:56 -05:00
//== Pager
//
//##
2014-07-02 00:57:48 -04:00
@pager-bg: @pagination-bg;
@pager-border: @pagination-border;
@pager-border-radius: 15px;
@pager-hover-bg: @pagination-hover-bg;
2014-07-02 00:57:48 -04:00
@pager-active-bg: @pagination-active-bg;
@pager-active-color: @pagination-active-color;
2014-01-30 20:23:56 -05:00
2014-07-02 00:57:48 -04:00
@pager-disabled-color: @pagination-disabled-color;
2014-01-30 20:23:56 -05:00
//== Jumbotron
//
//##
2014-07-02 00:57:48 -04:00
@jumbotron-padding: 30px;
@jumbotron-color: inherit;
@jumbotron-bg: @gray-lighter;
@jumbotron-heading-color: inherit;
@jumbotron-font-size: ceil((@font-size-base * 1.5));
2014-01-30 20:23:56 -05:00
//== Form states and alerts
//
//## Define colors for form feedback states and, by default, alerts.
2014-12-11 15:36:46 -08:00
@state-success-text: #215f1e;
2014-07-02 00:57:48 -04:00
@state-success-bg: #dff0d8;
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
@state-info-text: #31708f;
@state-info-bg: #d9edf7;
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
2014-07-02 00:57:48 -04:00
@state-warning-text: #8a6d3b;
@state-warning-bg: #fcf8e3;
@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
2014-07-02 00:57:48 -04:00
@state-danger-text: #a94442;
@state-danger-bg: #f2dede;
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
2014-01-30 20:23:56 -05:00
//== Tooltips
//
//##
//** Tooltip max width
2014-07-02 00:57:48 -04:00
@tooltip-max-width: 200px;
2014-01-30 20:23:56 -05:00
//** Tooltip text color
2015-09-14 00:02:42 -07:00
@tooltip-color: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Tooltip background color
2014-07-02 00:57:48 -04:00
@tooltip-bg: #000;
@tooltip-opacity: .9;
2014-01-30 20:23:56 -05:00
//** Tooltip arrow width
2014-07-02 00:57:48 -04:00
@tooltip-arrow-width: 5px;
2014-01-30 20:23:56 -05:00
//** Tooltip arrow color
2014-07-02 00:57:48 -04:00
@tooltip-arrow-color: @tooltip-bg;
2014-01-30 20:23:56 -05:00
//== Popovers
//
//##
//** Popover body background color
2015-09-14 00:02:42 -07:00
@popover-bg: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Popover maximum width
2014-07-02 00:57:48 -04:00
@popover-max-width: 276px;
2014-01-30 20:23:56 -05:00
//** Popover border color
2014-07-02 00:57:48 -04:00
@popover-border-color: rgba(0,0,0,.2);
2014-01-30 20:23:56 -05:00
//** Popover fallback border color
2014-07-02 00:57:48 -04:00
@popover-fallback-border-color: #ccc;
2014-01-30 20:23:56 -05:00
//** Popover title background color
2014-07-02 00:57:48 -04:00
@popover-title-bg: darken(@popover-bg, 3%);
2014-01-30 20:23:56 -05:00
//** Popover arrow width
2014-07-02 00:57:48 -04:00
@popover-arrow-width: 10px;
2014-01-30 20:23:56 -05:00
//** Popover arrow color
2015-09-14 00:02:42 -07:00
@popover-arrow-color: @gray-lighter;
2014-11-08 14:27:02 -08:00
@popover-arrow-color: @popover-bg;
2014-01-30 20:23:56 -05:00
//** Popover outer arrow width
2014-07-02 00:57:48 -04:00
@popover-arrow-outer-width: (@popover-arrow-width + 1);
2014-01-30 20:23:56 -05:00
//** Popover outer arrow color
2014-07-02 00:57:48 -04:00
@popover-arrow-outer-color: fadein(@popover-border-color, 5%);
2014-01-30 20:23:56 -05:00
//** Popover outer arrow fallback color
2014-07-02 00:57:48 -04:00
@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
2014-01-30 20:23:56 -05:00
//== Labels
//
//##
2014-01-30 20:23:56 -05:00
//** Default label background color
2014-07-02 00:57:48 -04:00
@label-default-bg: @gray-light;
2014-01-30 20:23:56 -05:00
//** Primary label background color
2014-07-02 00:57:48 -04:00
@label-primary-bg: @brand-primary;
2014-01-30 20:23:56 -05:00
//** Success label background color
2014-07-02 00:57:48 -04:00
@label-success-bg: @brand-success;
2014-01-30 20:23:56 -05:00
//** Info label background color
2014-07-02 00:57:48 -04:00
@label-info-bg: @brand-info;
2014-01-30 20:23:56 -05:00
//** Warning label background color
2014-07-02 00:57:48 -04:00
@label-warning-bg: @brand-warning;
2014-01-30 20:23:56 -05:00
//** Danger label background color
2014-07-02 00:57:48 -04:00
@label-danger-bg: @brand-danger;
2014-01-30 20:23:56 -05:00
//** Default label text color
2015-09-14 00:02:42 -07:00
@label-color: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Default text color of a linked label
2015-09-14 00:02:42 -07:00
@label-link-hover-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
2014-01-30 20:23:56 -05:00
//== Modals
//
//##
//** Padding applied to the modal body
2014-07-02 00:57:48 -04:00
@modal-inner-padding: 15px;
2014-01-30 20:23:56 -05:00
//** Padding applied to the modal title
2014-07-02 00:57:48 -04:00
@modal-title-padding: 15px;
2014-01-30 20:23:56 -05:00
//** Modal title line-height
2014-07-02 00:57:48 -04:00
@modal-title-line-height: @line-height-base;
2014-01-30 20:23:56 -05:00
//** Background color of modal content area
2015-09-14 00:02:42 -07:00
@modal-content-bg: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Modal content border color
2014-07-02 00:57:48 -04:00
@modal-content-border-color: rgba(0,0,0,.2);
2014-01-30 20:23:56 -05:00
//** Modal content border color **for IE8**
2014-07-02 00:57:48 -04:00
@modal-content-fallback-border-color: #999;
2014-01-30 20:23:56 -05:00
//** Modal backdrop background color
2014-07-02 00:57:48 -04:00
@modal-backdrop-bg: #000;
2014-01-30 20:23:56 -05:00
//** Modal backdrop opacity
2014-07-02 00:57:48 -04:00
@modal-backdrop-opacity: .5;
2014-01-30 20:23:56 -05:00
//** Modal header border color
2014-07-02 00:57:48 -04:00
@modal-header-border-color: #e5e5e5;
2014-01-30 20:23:56 -05:00
//** Modal footer border color
2014-07-02 00:57:48 -04:00
@modal-footer-border-color: @modal-header-border-color;
@modal-lg: 900px;
@modal-md: 600px;
@modal-sm: 300px;
2014-01-30 20:23:56 -05:00
//== Alerts
//
//## Define alert colors, border radius, and padding.
2014-07-02 00:57:48 -04:00
@alert-padding: 15px;
@alert-border-radius: @border-radius-base;
@alert-link-font-weight: bold;
2014-07-02 00:57:48 -04:00
@alert-success-bg: @state-success-bg;
@alert-success-text: @state-success-text;
@alert-success-border: @state-success-border;
2014-07-02 00:57:48 -04:00
@alert-info-bg: @state-info-bg;
@alert-info-text: @state-info-text;
@alert-info-border: @state-info-border;
2014-07-02 00:57:48 -04:00
@alert-warning-bg: @state-warning-bg;
@alert-warning-text: @state-warning-text;
@alert-warning-border: @state-warning-border;
@alert-danger-bg: @state-danger-bg;
@alert-danger-text: @state-danger-text;
@alert-danger-border: @state-danger-border;
2014-01-30 20:23:56 -05:00
//== Progress bars
//
//##
//** Background color of the whole progress component
2014-07-02 00:57:48 -04:00
@progress-bg: #f5f5f5;
2014-01-30 20:23:56 -05:00
//** Progress bar text color
2015-09-14 00:02:42 -07:00
@progress-bar-color: @gray-lighter;
2014-11-08 14:27:02 -08:00
//** Variable for setting rounded corners on progress bar.
@progress-border-radius: @border-radius-base;
2014-01-30 20:23:56 -05:00
//** Default progress bar color
2014-07-02 00:57:48 -04:00
@progress-bar-bg: @brand-primary;
2014-01-30 20:23:56 -05:00
//** Success progress bar color
2014-07-02 00:57:48 -04:00
@progress-bar-success-bg: @brand-success;
2014-01-30 20:23:56 -05:00
//** Warning progress bar color
2014-07-02 00:57:48 -04:00
@progress-bar-warning-bg: @brand-warning;
2014-01-30 20:23:56 -05:00
//** Danger progress bar color
2014-07-02 00:57:48 -04:00
@progress-bar-danger-bg: @brand-danger;
2014-01-30 20:23:56 -05:00
//** Info progress bar color
2014-07-02 00:57:48 -04:00
@progress-bar-info-bg: @brand-info;
2014-01-30 20:23:56 -05:00
//== List group
//
//##
//** Background color on `.list-group-item`
2016-01-15 02:52:07 -08:00
@list-group-bg: @body-bg;
2014-01-30 20:23:56 -05:00
//** `.list-group-item` border color
2014-07-02 00:57:48 -04:00
@list-group-border: #ddd;
2014-01-30 20:23:56 -05:00
//** List group border radius
2014-07-02 00:57:48 -04:00
@list-group-border-radius: @border-radius-base;
//** Background color of single list items on hover
@list-group-hover-bg: #f5f5f5;
//** Text color of active list items
@list-group-active-color: @component-active-color;
//** Background color of active list items
@list-group-active-bg: @component-active-bg;
2014-01-30 20:23:56 -05:00
//** Border color of active list elements
2014-07-02 00:57:48 -04:00
@list-group-active-border: @list-group-active-bg;
//** Text color for content within active list items
@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
//** Text color of disabled list items
@list-group-disabled-color: @gray-light;
//** Background color of disabled list items
@list-group-disabled-bg: @gray-lighter;
//** Text color for content within disabled list items
@list-group-disabled-text-color: @list-group-disabled-color;
@list-group-link-color: #555;
@list-group-link-hover-color: @list-group-link-color;
2014-01-30 20:23:56 -05:00
@list-group-link-heading-color: #333;
2014-07-02 00:57:48 -04:00
2014-01-30 20:23:56 -05:00
//== Panels
//
//##
2015-09-14 00:02:42 -07:00
@panel-bg: @gray-lighter;
2014-07-02 00:57:48 -04:00
@panel-body-padding: 15px;
@panel-heading-padding: 10px 15px;
@panel-footer-padding: @panel-heading-padding;
@panel-border-radius: @border-radius-base;
2014-01-30 20:23:56 -05:00
//** Border color for elements within panels
@panel-inner-border: #ccc;
@panel-footer-bg: #dedede;
2014-07-02 00:57:48 -04:00
@panel-default-text: @gray-dark;
@panel-default-border: #ddd;
@panel-default-heading-bg: #f5f5f5;
2015-09-14 00:02:42 -07:00
@panel-primary-text: @gray-lighter;
2014-07-02 00:57:48 -04:00
@panel-primary-border: @brand-primary;
@panel-primary-heading-bg: @brand-primary;
2014-07-02 00:57:48 -04:00
@panel-success-text: @state-success-text;
@panel-success-border: @state-success-border;
@panel-success-heading-bg: @state-success-bg;
2015-09-14 00:02:42 -07:00
@panel-info-text: @gray-lighter;
2016-03-08 16:38:12 +00:00
@panel-info-border: darken(@brand-primary, 5%);
@panel-info-heading-bg: @brand-primary;
2014-07-02 00:57:48 -04:00
@panel-warning-text: @state-warning-text;
@panel-warning-border: @state-warning-border;
@panel-warning-heading-bg: @state-warning-bg;
2014-01-30 20:23:56 -05:00
2014-07-02 00:57:48 -04:00
@panel-danger-text: @state-danger-text;
@panel-danger-border: @state-danger-border;
@panel-danger-heading-bg: @state-danger-bg;
2014-01-30 20:23:56 -05:00
//== Thumbnails
//
//##
2014-01-30 20:23:56 -05:00
//** Padding around the thumbnail image
2014-07-02 00:57:48 -04:00
@thumbnail-padding: 4px;
2014-01-30 20:23:56 -05:00
//** Thumbnail background color
2014-07-02 00:57:48 -04:00
@thumbnail-bg: @body-bg;
2014-01-30 20:23:56 -05:00
//** Thumbnail border color
2014-07-02 00:57:48 -04:00
@thumbnail-border: #ddd;
2014-01-30 20:23:56 -05:00
//** Thumbnail border radius
2014-07-02 00:57:48 -04:00
@thumbnail-border-radius: @border-radius-base;
2014-01-30 20:23:56 -05:00
//** Custom text color for thumbnail captions
2014-07-02 00:57:48 -04:00
@thumbnail-caption-color: @text-color;
2014-01-30 20:23:56 -05:00
//** Padding around the thumbnail caption
2014-07-02 00:57:48 -04:00
@thumbnail-caption-padding: 9px;
2014-01-30 20:23:56 -05:00
//== Wells
//
//##
2014-07-02 00:57:48 -04:00
@well-bg: #f5f5f5;
@well-border: darken(@well-bg, 7%);
2014-01-30 20:23:56 -05:00
//== Badges
//
//##
2015-09-14 00:02:42 -07:00
@badge-color: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Linked badge text color on hover
2015-09-14 00:02:42 -07:00
@badge-link-hover-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
@badge-bg: @gray-light;
2014-01-30 20:23:56 -05:00
//** Badge text color in active nav link
2014-07-02 00:57:48 -04:00
@badge-active-color: @link-color;
2014-01-30 20:23:56 -05:00
//** Badge background color in active nav link
2015-09-14 00:02:42 -07:00
@badge-active-bg: @gray-lighter;
2014-07-02 00:57:48 -04:00
@badge-font-weight: bold;
@badge-line-height: 1;
@badge-border-radius: 10px;
2014-01-30 20:23:56 -05:00
//== Breadcrumbs
//
//##
2014-07-02 00:57:48 -04:00
@breadcrumb-padding-vertical: 8px;
2014-01-30 20:23:56 -05:00
@breadcrumb-padding-horizontal: 15px;
//** Breadcrumb background color
2014-07-02 00:57:48 -04:00
@breadcrumb-bg: #f5f5f5;
2014-01-30 20:23:56 -05:00
//** Breadcrumb text color
2014-07-02 00:57:48 -04:00
@breadcrumb-color: #ccc;
2014-01-30 20:23:56 -05:00
//** Text color of current page in the breadcrumb
2014-07-02 00:57:48 -04:00
@breadcrumb-active-color: @gray-light;
2014-01-30 20:23:56 -05:00
//** Textual separator for between breadcrumb elements
2014-07-02 00:57:48 -04:00
@breadcrumb-separator: "/";
2014-01-30 20:23:56 -05:00
//== Carousel
//
//##
2014-07-02 00:57:48 -04:00
@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
2015-09-14 00:02:42 -07:00
@carousel-control-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
@carousel-control-width: 15%;
@carousel-control-opacity: .5;
@carousel-control-font-size: 20px;
2015-09-14 00:02:42 -07:00
@carousel-indicator-active-bg: @gray-lighter;
@carousel-indicator-border-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
2015-09-14 00:02:42 -07:00
@carousel-caption-color: @gray-lighter;
2014-01-30 20:23:56 -05:00
//== Close
//
//##
2014-07-02 00:57:48 -04:00
@close-font-weight: bold;
@close-color: #000;
2015-09-14 00:02:42 -07:00
@close-text-shadow: 0 1px 0 @gray-lighter;
2014-07-02 00:57:48 -04:00
2014-01-30 20:23:56 -05:00
//== Code
//
//##
2014-07-02 00:57:48 -04:00
@code-color: #c7254e;
@code-bg: #f9f2f4;
2015-09-14 00:02:42 -07:00
@kbd-color: @gray-lighter;
2014-07-02 00:57:48 -04:00
@kbd-bg: #333;
2014-01-30 20:23:56 -05:00
2014-07-02 00:57:48 -04:00
@pre-bg: #f5f5f5;
@pre-color: @gray-dark;
@pre-border-color: #ccc;
@pre-scrollable-max-height: 340px;
2014-01-30 20:23:56 -05:00
//== Type
//
//##
2014-07-02 00:57:48 -04:00
//** Horizontal offset for forms and lists.
@component-offset-horizontal: 180px;
2014-01-30 20:23:56 -05:00
//** Text muted color
2014-07-02 00:57:48 -04:00
@text-muted: @gray-light;
2014-01-30 20:23:56 -05:00
//** Abbreviations and acronyms border color
2014-07-02 00:57:48 -04:00
@abbr-border-color: @gray-light;
2014-01-30 20:23:56 -05:00
//** Headings small color
2014-07-02 00:57:48 -04:00
@headings-small-color: @gray-light;
2014-01-30 20:23:56 -05:00
//** Blockquote small color
2014-07-02 00:57:48 -04:00
@blockquote-small-color: @gray-light;
2014-02-15 13:35:27 -05:00
//** Blockquote font size
2014-07-02 00:57:48 -04:00
@blockquote-font-size: (@font-size-base * 1.25);
2014-01-30 20:23:56 -05:00
//** Blockquote border color
2014-07-02 00:57:48 -04:00
@blockquote-border-color: @gray-lighter;
2014-01-30 20:23:56 -05:00
//** Page header border color
2014-07-02 00:57:48 -04:00
@page-header-border-color: @gray-lighter;
//** Width of horizontal description list titles
@dl-horizontal-offset: @component-offset-horizontal;
2014-01-30 20:23:56 -05:00
//** Horizontal line color.
2014-07-02 00:57:48 -04:00
@hr-border: @gray-lighter;