first commit

This commit is contained in:
2019-05-25 23:11:05 -04:00
commit 16f48376bc
6139 changed files with 990356 additions and 0 deletions
@@ -0,0 +1,58 @@
/* ------------------------------------------------------------------------------
*
* # Dragula - drag and drop library
*
* Styles for Dragula Drag and drop plugin
*
* Version: 1.0
* Latest update: Nov 25, 2015
*
* ---------------------------------------------------------------------------- */
// Base
.gu-mirror {
position: fixed !important;
margin: 0 !important;
z-index: 9999 !important;
.opacity(0.8);
}
// Remove bottom margin from the second last item in dropdown menu
.gu-unselectable.dropdown-menu li:nth-last-child(2) {
margin-bottom: 0;
}
// Remove borders from toolbar pills
.nav-pills-toolbar > li.gu-mirror:not(.active) > a {
border: 0;
}
// Hide element
.gu-hide {
display: none !important;
}
// Disable selection
.gu-unselectable {
.user-select(none);
}
// Mute draggable element
.gu-transit {
.opacity(0.5);
}
// Draggable handle
.dragula-handle {
color: @text-muted;
cursor: pointer;
// Hover state
&:hover,
&:focus {
color: @text-color;
}
}
@@ -0,0 +1,479 @@
/* ------------------------------------------------------------------------------
*
* # Floating action buttons
*
* Material design floating action button with menu
*
* Version: 1.0
* Latest update: Mar 10, 2016
*
* ---------------------------------------------------------------------------- */
// Main menu
// -------------------------
// Base
.fab-menu {
position: relative;
display: inline-block;
white-space: nowrap;
padding: 0;
margin: 0;
list-style: none;
z-index: (@zindex-navbar - 1);
}
//
// Positions
//
// Absolute
.fab-menu-absolute {
position: absolute;
// Affix
&.affix {
position: fixed;
}
}
// Fixed
.fab-menu-fixed {
position: fixed;
z-index: @zindex-navbar-fixed;
}
// Button positions
// -------------------------
// Top left position
.fab-menu-top-left,
.fab-menu-top-right, {
margin-top: -(@fab-main-btn-size / 2);
&.affix {
top: @line-height-computed;
margin-top: 0;
}
.content-wrapper > & {
top: -(@fab-main-btn-size / 2);
}
.content-wrapper > &.affix {
top: @line-height-computed;
}
.navbar-top &.affix,
.navbar-affixed-top &.affix {
top: (@navbar-height + @line-height-computed);
}
.navbar-top-lg &.affix,
.navbar-affixed-top-lg &.affix {
top: (@navbar-height-large + @line-height-computed);
}
.navbar-top-sm &.affix,
.navbar-affixed-top-sm &.affix {
top: (@navbar-height-small + @line-height-computed);
}
.navbar-top-xs &.affix,
.navbar-affixed-top-xs &.affix {
top: (@navbar-height-mini + @line-height-computed);
}
}
.fab-menu-bottom-left,
.fab-menu-bottom-right {
bottom: @line-height-computed;
.transition(bottom ease-in-out 0.15s);
// Keep space for footer
&.reached-bottom {
bottom: (@line-height-computed * 4);
.navbar-bottom & {
bottom: (@line-height-computed * 2) + @navbar-height;
}
.navbar-bottom-lg & {
bottom: (@line-height-computed * 2) + @navbar-height-large;
}
.navbar-bottom-sm & {
bottom: (@line-height-computed * 2) + @navbar-height-small;
}
.navbar-bottom-xs & {
bottom: (@line-height-computed * 2) + @navbar-height-mini;
}
}
}
// Left position
.fab-menu-top-left,
.fab-menu-bottom-left {
//left: @grid-gutter-width;
}
// Top right position
.fab-menu-top-right,
.fab-menu-bottom-right {
right: @grid-gutter-width;
}
// Inner menu
// -------------------------
.fab-menu-inner {
list-style: none;
margin: 0;
padding: 0;
// Menu items
> li {
display: block;
position: absolute;
top: @fab-btn-difference;
left: 0;
right: 0;
text-align: center;
padding-top: @fab-inner-btn-spacing;
margin-top: -(@fab-inner-btn-spacing);
// Remove border from buttons
.btn {
border-width: 0;
}
// Make buttons smaller than main one
.btn-float {
padding: 0;
width: @fab-inner-btn-size;
height: @fab-inner-btn-size;
.box-shadow(@shadow-depth1);
// Hover state
&:hover,
&:focus {
.box-shadow(@shadow-depth2);
}
// Icon spacing
> i {
margin: (@btn-float-padding - @fab-btn-difference);
}
&.btn-flat {
> i {
margin: (@btn-float-padding - @fab-btn-difference - 2);
}
}
}
//
// Labels, badges and status marks
//
// Base
.badge,
.label,
.status-mark {
position: absolute;
@media (min-width: @grid-float-breakpoint) {
.box-shadow(0 0 0 2px @body-bg);
}
}
// Labels and badges
.badge,
.label {
top: @fab-inner-btn-spacing - 4px;
right: -4px;
}
// Status marks
.status-mark {
top: @fab-inner-btn-spacing + 2px;
right: 2px;
}
//
// Change appearance in bottom position
//
.fab-menu-bottom-left &,
.fab-menu-bottom-right & {
padding-top: 0;
margin-top: 0;
padding-bottom: @fab-inner-btn-spacing;
margin-bottom: -(@fab-inner-btn-spacing);
// Labels and badges
.badge,
.label {
top: -4px;
}
// Status marks
.status-mark {
top: 2px;
}
}
}
// Dropdown menu
.dropdown-menu {
margin-top: 0;
margin-right: 10px;
top: (@fab-inner-btn-spacing) - (@fab-btn-difference / 2);
left: auto;
right: 100%;
}
// Right dropdown menu position
.dropdown-menu-right {
margin-right: 0;
margin-left: 10px;
right: auto;
left: 100%;
}
}
// Main button
// -------------------------
// Base
.fab-menu-btn {
z-index: (@zindex-navbar + 1);
border-width: 0;
.box-shadow(@shadow-depth1);
// Float button overrides
&.btn-float {
padding: (@fab-main-btn-size / 2);
// Icons
> i {
position: absolute;
top: 50%;
left: 50%;
margin-top: -(@icon-font-size / 2);
margin-left: -(@icon-font-size / 2);
}
}
// Button shadow
&:hover,
&:focus,
.fab-menu[data-fab-toggle="hover"]:hover &,
.fab-menu[data-fab-state="open"] & {
.box-shadow(@shadow-depth2);
}
}
//
// Icons animation
//
// Animation
.fab-icon-close,
.fab-icon-open {
.rotate(360deg);
.transition(all ease-in-out 0.3s);
// Reverse rotation if active
.fab-menu[data-fab-toggle="hover"]:hover &,
.fab-menu[data-fab-state="open"] & {
.rotate(0deg);
}
}
// Open icon
.fab-icon-open {
.fab-menu[data-fab-toggle="hover"]:hover &,
.fab-menu[data-fab-state="open"] & {
.opacity(0);
}
}
// Close icon
.fab-icon-close {
.opacity(0);
// Display if active
.fab-menu[data-fab-toggle="hover"]:hover &,
.fab-menu[data-fab-state="open"] & {
.opacity(1);
}
}
// Inner menu animation
// -------------------------
// Base
.fab-menu {
// Hide items
.fab-menu-inner > li {
visibility: hidden;
.opacity(0);
.transition(all ease-in-out 0.3s);
// Items number
&:nth-child(1) {
.transition-delay(0.05s);
}
&:nth-child(2) {
.transition-delay(0.1s);
}
&:nth-child(3) {
.transition-delay(0.15s);
}
&:nth-child(4) {
.transition-delay(0.2s);
}
&:nth-child(5) {
.transition-delay(0.25s);
}
}
// Show items
&[data-fab-toggle="hover"]:hover,
&[data-fab-state="open"] {
.fab-menu-inner > li {
visibility: visible;
.opacity(1);
}
}
}
// Top position
.fab-menu-top,
.fab-menu-top-left,
.fab-menu-top-right {
&[data-fab-toggle="hover"]:hover,
&[data-fab-state="open"] {
.fab-menu-inner > li {
&:nth-child(1) {
top: (@fab-inner-btn-size + @fab-inner-btn-spacing) + (@fab-btn-difference * 2);
.transition-delay(0.05s);
}
&:nth-child(2) {
top: ((@fab-inner-btn-size + @fab-inner-btn-spacing) * 2) + (@fab-btn-difference * 2);
.transition-delay(0.1s);
}
&:nth-child(3) {
top: ((@fab-inner-btn-size + @fab-inner-btn-spacing) * 3) + (@fab-btn-difference * 2);
.transition-delay(0.15s);
}
&:nth-child(4) {
top: ((@fab-inner-btn-size + @fab-inner-btn-spacing) * 4) + (@fab-btn-difference * 2);
.transition-delay(0.2s);
}
&:nth-child(5) {
top: ((@fab-inner-btn-size + @fab-inner-btn-spacing) * 5) + (@fab-btn-difference * 2);
.transition-delay(0.25s);
}
}
}
}
// Bottom position
.fab-menu-bottom,
.fab-menu-bottom-left,
.fab-menu-bottom-right {
&[data-fab-toggle="hover"]:hover,
&[data-fab-state="open"] {
.fab-menu-inner > li {
&:nth-child(1) {
top: -(@fab-inner-btn-size + @fab-inner-btn-spacing) + (@fab-btn-difference * 2);
.transition-delay(0.05s);
}
&:nth-child(2) {
top: -((@fab-inner-btn-size + @fab-inner-btn-spacing) * 2) + (@fab-btn-difference * 2);
.transition-delay(0.1s);
}
&:nth-child(3) {
top: -((@fab-inner-btn-size + @fab-inner-btn-spacing) * 3) + (@fab-btn-difference * 2);
.transition-delay(0.15s);
}
&:nth-child(4) {
top: -((@fab-inner-btn-size + @fab-inner-btn-spacing) * 4) + (@fab-btn-difference * 2);
.transition-delay(0.2s);
}
&:nth-child(5) {
top: -((@fab-inner-btn-size + @fab-inner-btn-spacing) * 5) + (@fab-btn-difference * 2);
.transition-delay(0.25s);
}
}
}
}
// Item labels
// -------------------------
.fab-menu-inner div[data-fab-label] {
// Base
&:after {
content: attr(data-fab-label);
position: absolute;
top: 50%;
margin-top: -(@padding-base-vertical);
right: (@fab-btn-difference + @fab-inner-btn-size + @grid-gutter-width);
color: @tooltip-color;
background-color: @tooltip-bg;
padding: @padding-base-vertical @padding-base-horizontal;
visibility: hidden;
border-radius: @border-radius-base;
.box-shadow(@shadow-depth1);
.opacity(0);
.transition(all ease-in-out 0.3s);
// Reposition them in bottom position
.fab-menu-bottom-left &,
.fab-menu-bottom-right & {
margin-top: -(@padding-base-vertical + @fab-inner-btn-spacing);
}
}
// Placement
.fab-menu-top-left &:after,
.fab-menu-bottom-left &:after,
&.fab-label-right:after {
right: auto;
left: (@fab-btn-difference + @fab-inner-btn-size + @grid-gutter-width);
}
// Display labels
.fab-menu[data-fab-toggle="hover"] &:hover:after,
.fab-menu[data-fab-state="open"] &:hover:after {
visibility: visible;
.opacity(1);
}
// Light label
&.fab-label-light:after {
background-color: @panel-bg;
color: @text-color;
}
// Always visible
&.fab-label-visible:after {
visibility: visible;
.opacity(1);
}
}
@@ -0,0 +1,501 @@
/* ------------------------------------------------------------------------------
*
* # Fancytree
*
* Tree plugin for jQuery with support for persistence, keyboard, checkboxes,
* tables (grid), drag'n'drop, and lazy loading
*
* Version: 1.1
* Latest update: Jul 5, 2016
*
* ---------------------------------------------------------------------------- */
/* # Core
-------------------------------------------------- */
// Container
.fancytree-container {
list-style: none;
white-space: nowrap;
padding: 0;
margin: 0;
overflow: auto;
position: relative;
// Remove outline on focus
&:focus {
outline: 0;
}
// List
ul {
list-style: none;
padding: 0 0 0 @content-padding-large;
margin: 0;
// Add 1px margin to items
li {
margin-top: 1px;
}
}
// Disabled state
.ui-fancytree-disabled & {
.opacity(0.6);
}
}
// Disabled state
.ui-fancytree-disabled {
.fancytree-container,
.fancytree-title,
.fancytree-expander {
cursor: @cursor-disabled;
}
.fancytree-treefocus .fancytree-selected .fancytree-title {
background-color: #f5f5f5;
color: @text-color;
}
}
// Helper
.ui-helper-hidden {
display: none;
}
// Give icons common base
.fancytree-expander:after,
.fancytree-icon:after,
.fancytree-checkbox:after,
.fancytree-drag-helper-img:after,
.fancytree-drop-before:after,
.fancytree-drop-after:after,
.fancytree-loading .fancytree-expander:after,
.fancytree-statusnode-wait .fancytree-icon:after {
font-family: 'icomoon';
display: inline-block;
font-size: @icon-font-size;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
// Common icon definitions
// ------------------------------
.fancytree-icon,
.fancytree-checkbox,
.fancytree-custom-icon {
margin-top: 5px;
float: left;
}
// Checkboxes
.fancytree-checkbox {
margin: 4px 10px 0 2px;
}
// Used by iconclass option
.fancytree-custom-icon {
display: inline-block;
}
// Used by 'icon' node option
img.fancytree-icon {
width: @icon-font-size;
height: @icon-font-size;
margin-left: 3px;
margin-top: 3px;
vertical-align: top;
border-style: none;
}
//
// Expander icon
//
// Prefix: fancytree-exp-
// 1st character: 'e': expanded, 'c': collapsed, 'n': no children
// 2nd character (optional): 'd': lazy (Delayed)
// 3rd character (optional): 'l': Last sibling
// ----------------------------------------
// Icons
.fancytree-expander {
cursor: pointer;
float: left;
margin-top: 5px;
width: @icon-font-size;
line-height: 1;
.fancytree-exp-c &:after {
content: '\e9c7';
}
.fancytree-exp-cl &:after {
content: '\e9c7';
}
.fancytree-exp-cd &:after,
.fancytree-exp-cdl &:after {
content: '\e9c7';
}
.fancytree-exp-e &:after,
.fancytree-exp-ed &:after {
content: '\e9c5';
}
.fancytree-exp-el &:after,
.fancytree-exp-edl &:after {
content: '\e9c5';
}
}
// Status node icons
.fancytree-statusnode-error .fancytree-icon:after {
content: '\ed63';
}
// Loading icon
.fancytree-loading .fancytree-expander,
.fancytree-statusnode-wait .fancytree-icon {
margin-left: auto;
margin-right: auto;
width: @icon-font-size;
height: @icon-font-size;
display: inline-block;
text-align: center;
&:after {
content: '\ed6c';
.transition(all 0.15s ease-in-out);
}
}
//
// # Node type icon
//
// Prefix: fancytree-ico-
// 1st character: 'e': expanded, 'c': collapsed,
// 2nd character (optional): 'f': folder
// ----------------------------------------
// Base
.fancytree-icon {
display: inline-block;
width: @icon-font-size;
height: @icon-font-size;
}
// Documents
// ----------------------------------------
// Icons
.fancytree-ico-c,
.fancytree-ico-e {
.fancytree-icon:after {
content: '\ea1a';
}
}
// With children
.fancytree-has-children {
&.fancytree-ico-c .fancytree-icon:after {
content: '\ea0f';
}
&.fancytree-ico-e .fancytree-icon:after {
content: '\ea11';
}
}
// Folders
// ----------------------------------------
// Icons
.fancytree-ico-cf,
.fancytree-ico-ef {
.fancytree-icon:after {
content: '\ea3d';
}
}
// With children
.fancytree-has-children {
&.fancytree-ico-cf .fancytree-icon:after {
content: '\ea41';
}
&.fancytree-ico-ef .fancytree-icon:after {
content: '\ea43';
}
}
// Checkbox icon
// ----------------------------------------
.fancytree-checkbox {
// Base
width: @checkbox-size;
height: @checkbox-size;
border: @checkbox-border-width solid @color-grey-500;
display: block;
text-align: center;
position: relative;
cursor: pointer;
border-radius: @border-radius-small;
// Add icons
&:after,
.fancytree-partsel.fancytree-selected &:after {
content: "\e600";
margin-top: -(@checkbox-border-width / 2);
margin-left: -(@checkbox-border-width / 2);
display: none;
}
// Grey square in hierarchical select
.fancytree-partsel > &:after {
content: "";
width: (@checkbox-size - 10);
height: (@checkbox-size - 10);
display: none;
background-color: @color-grey-400;
margin: ((@checkbox-size - (@checkbox-size - 10)) / 2) - @checkbox-border-width;
}
.fancytree-partsel.fancytree-selected &:after {
background-color: transparent;
width: auto;
height: auto;
}
.fancytree-selected &:after,
.fancytree-partsel &:after,
.fancytree-partsel.fancytree-selected &:after {
display: block;
}
// Radio (single select imitation)
.fancytree-radio & {
border-radius: 100%;
&:after {
content: '';
width: (@checkbox-size - 10);
height: (@checkbox-size - 10);
background-color: @color-grey-400;
margin: ((@checkbox-size - (@checkbox-size - 10)) / 2) - @checkbox-border-width;
border-radius: 100px;
}
}
}
/* # Other styles
-------------------------------------------------- */
// Drag'n'drop support
// ----------------------------------------
// Helper
.fancytree-drag-helper {
border: 1px solid #ddd;
background-color: #fff;
padding: 4px 5px;
.opacity(0.8);
}
// Drag helper image
.fancytree-drag-helper-img {
&:after {
position: absolute;
top: 50%;
margin-top: -((@icon-font-size / 2) + 1);
right: -(@icon-font-size + @content-padding-small);
}
// If accept
.fancytree-drop-accept &:after {
content: '\ee73';
color: @color-success-500;
}
// If reject
.fancytree-drop-reject &:after {
content: '\ed63';
color: @color-danger-500;
}
}
// Marker icon
#fancytree-drop-marker {
&.fancytree-drop-before,
&.fancytree-drop-after {
width: 200px;
border-top: 1px solid @text-color;
position: absolute!important;
}
}
// Source node while dragging
.fancytree-drag-source {
background-color: @panel-default-border;
.fancytree.title {
color: @text-color;
}
}
// Target node while dragging cursor is over it
.fancytree-drop-target.fancytree-drop-accept a {
background-color: @brand-primary !important;
color: #fff !important;
text-decoration: none;
}
// Styles specific to this skin
// ----------------------------------------
// Node
.fancytree-node {
display: inherit;
width: 100%;
position: relative;
}
// Title
.fancytree-title {
border: 0;
padding: 4px 6px;
border-radius: @border-radius-small;
margin-left: 4px;
display: inline-block;
cursor: pointer;
> input {
border: 0;
outline: 0;
padding: 0;
background-color: transparent;
}
// Selected title
.fancytree-selected & {
background-color: @panel-default-border;
color: @text-color;
}
// Title when focused
.fancytree-treefocus .fancytree-selected & {
background-color: @brand-primary;
color: #fff;
}
// Active title
.fancytree-active & {
background-color: @panel-default-border;
}
}
// Inside dark sidebar
.sidebar:not(.sidebar-default) {
.fancytree-selected .fancytree-title,
.fancytree-active .fancytree-title {
background-color: fade(#fff, 20%);
color: #fff;
}
.fancytree-treefocus .fancytree-selected .fancytree-title {
background-color: @brand-primary;
color: #fff;
}
}
// Table extension
// ----------------------------------------
.fancytree-ext-table {
// Node
.fancytree-node {
display: inline-block;
width: auto;
}
// Title
.fancytree-title {
display: inline;
}
// Container
&.fancytree-container {
white-space: normal;
}
// Icons
.fancytree-expander,
.fancytree-icon,
.fancytree-custom-icon {
margin-top: 1px;
}
// Checkboxes
.fancytree-checkbox {
margin: 0 auto;
float: none;
}
// Additional checkboxes
.checker {
display: block;
margin: 0 auto;
}
// Rows
tbody tr {
td:first-child {
text-align: center;
}
&.fancytree-focused {
background-color: #f5f5f5;
}
&.fancytree-active {
background-color: #f5f5f5;
}
&.fancytree-selected {
background-color: @brand-primary;
color: #fff;
.fancytree-checkbox {
color: #fff;
border-color: #fff;
}
.checker span {
border-color: #fff;
color: #fff;
}
}
}
}
// Child Counter extension
// ----------------------------------------
.fancytree-ext-childcounter .fancytree-childcounter {
position: absolute;
right: 0;
top: 4px;
color: @text-muted;
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,64 @@
/* ------------------------------------------------------------------------------
*
* # Headroom
*
* Hide BS navbar component on page scroll
*
* Version: 1.1
* Latest update: Mar 10, 2016
*
* ---------------------------------------------------------------------------- */
// Common styles
// ------------------------------
// Base
.headroom {
@headroom-transition: top 0.2s ease-in-out, bottom 0.2s ease-in-out;
.transition(@headroom-transition);
}
// Top position
.navbar {
&.headroom-top-pinned {
top: 0;
}
&.headroom-top-unpinned {
top: -(@navbar-height + 2);
.box-shadow(none);
// Sizes
.navbar-lg& {
top: -(@navbar-height-large + 2);
}
.navbar-sm& {
top: -(@navbar-height-small + 2);
}
.navbar-xs& {
top: -(@navbar-height-mini + 2);
}
}
}
// Bottom position
.navbar {
&.headroom-bottom-pinned {
bottom: -(@navbar-height + 2);
.box-shadow(none);
// Sizes
.navbar-lg& {
bottom: -(@navbar-height-large + 2);
}
.navbar-sm& {
bottom: -(@navbar-height-small + 2);
}
.navbar-xs& {
bottom: -(@navbar-height-mini + 2);
}
}
&.headroom-bottom-unpinned {
bottom: 0;
}
}
@@ -0,0 +1,208 @@
/* ------------------------------------------------------------------------------
*
* # Prism
*
* Lightweight, extensible syntax highlighter
*
* Version: 1.0
* Latest update: May 10, 2015
*
* ---------------------------------------------------------------------------- */
// Base
code,
pre {
&[class*="language-"] {
text-shadow: 0 1px #fff;
word-break: normal;
line-height: 1.5;
direction: ltr;
@media print {
text-shadow: none;
}
}
}
// Token colors
.token {
&.comment,
&.prolog,
&.doctype,
&.cdata,
&.punctuation {
color: #999;
}
&.property,
&.tag,
&.boolean,
&.number,
&.constant,
&.symbol {
color: #905;
}
&.selector,
&.attr-name,
&.string,
&.builtin {
color: #690;
}
&.operator,
&.entity,
&.url,
.language-css &.string,
.style &.string,
&.variable {
color: #a67f59;
background: hsla(0,0%,100%,.5);
}
&.atrule,
&.attr-value,
&.keyword {
color: #07a;
}
&.function {
color: #DD4A68;
}
&.regex,
&.important {
color: #e90;
}
&.important {
font-weight: bold;
}
&.entity {
cursor: help;
}
}
.namespace {
.opacity(0.7);
}
// Line highlight
.line-highlight {
position: absolute;
left: 0;
right: 0;
margin-top: @content-padding-large;
background: fade(#85ee95, 12%);
pointer-events: none;
white-space: pre;
line-height: inherit;
&:before,
&:after {
content: attr(data-start);
position: absolute;
top: 0px;
left: 10px;
padding: 2px;
text-align: center;
font-size: 10px;
color: @text-muted;
}
&[data-end]:after {
content: attr(data-end);
top: auto;
bottom: 0;
}
}
// Line numbers
.line-numbers {
pre& {
position: relative;
padding-left: 50px;
counter-reset: linenumber;
> code {
position: relative;
}
}
.line-numbers-rows {
position: absolute;
pointer-events: none;
top: 0;
font-size: 100%;
left: -50px;
width: 36px; // works for line-numbers below 1000 lines
letter-spacing: -1px;
border-right: 1px solid #999;
.user-select(none);
> span {
pointer-events: none;
display: block;
counter-increment: linenumber;
&:before {
content: counter(linenumber);
color: @text-muted;
display: block;
padding-right: 10px;
text-align: right;
}
}
}
}
// Code blocks
pre {
&[class*="language-"] {
overflow: auto;
position: relative;
border-left-width: 3px;
border-left-color: @brand-primary;
background-color: #fdfdfd;
background-image: -webkit-linear-gradient(transparent 50%, fade(@color-primary-700, 2.5%) 50%);
background-image: -moz-linear-gradient(transparent 50%, fade(@color-primary-700, 2.5%) 50%);
background-image: -ms-linear-gradient(transparent 50%, fade(@color-primary-700, 2.5%) 50%);
background-image: -o-linear-gradient(transparent 50%, fade(@color-primary-700, 2.5%) 50%);
background-image: linear-gradient(transparent 50%, fade(@color-primary-700, 2.5%) 50%);
background-size: 3em 3em;
background-origin: content-box;
.border-left-radius(0);
> code[data-language] {
display: block;
&:before {
content: attr(data-language);
background-color: #f8f8f8;
display: inline-block;
position: absolute;
top: 0px;
right: 0px;
font-size: @font-size-mini;
border-radius: 0 0 0 2px;
padding: 4px 8px;
text-shadow: none;
color: @text-color;
border-left: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
}
&.line-numbers > code[data-language]:before {
top: -15px;
right: -15px;
}
}
&[data-line] {
position: relative;
padding-left: 36px;
}
}
@@ -0,0 +1,369 @@
/* ------------------------------------------------------------------------------
*
* # Ladda progress buttons
*
* Buttons with built-in loading indicators
*
* Version: 1.0
* Latest update: May 25, 2015
*
* ---------------------------------------------------------------------------- */
// Common styles
// ------------------------------
.btn-ladda {
&,
.ladda-spinner,
.ladda-label {
.transition(all cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s);
}
// Spinner
.ladda-spinner {
position: absolute;
z-index: 2;
display: inline-block;
top: 50%;
pointer-events: none;
.opacity(0);
}
// Label
.ladda-label {
z-index: 3;
}
// Progress bar
.ladda-progress {
position: absolute;
width: 0;
height: 100%;
left: 0;
top: 0;
background-color: fade(#000, 20%);
visibility: hidden;
.transition(all linear 0.3s);
.opacity(0);
}
&[data-loading] .ladda-progress{
visibility: visible;
.opacity(1);
}
}
// Zoom animation
// ------------------------------
.btn-ladda {
// Common
&[data-style=zoom-in],
&[data-style=zoom-out] {
overflow: hidden;
&,
.ladda-spinner,
.ladda-label {
.transition(0.3s ease all);
}
// Label
.ladda-label {
position: relative;
display: inline-block;
}
// Spinner
.ladda-spinner {
left: 50%;
}
// Loading
&[data-loading] {
.ladda-label {
.opacity(0);
}
.ladda-spinner {
-webkit-transform: none;
-moz-transform: none;
-ms-transform: none;
-o-transform: none;
transform: none;
.opacity(1);
}
}
}
// Zoom in
&[data-style=zoom-in] {
.ladda-spinner {
.scale(0.2);
}
&[data-loading] {
.ladda-label {
.scale(2.2);
}
}
}
// Zoom out
&[data-style=zoom-out] {
.ladda-spinner {
.scale(2.5);
}
&[data-loading] {
.ladda-label {
.scale(0.5);
}
}
}
}
// Expand animation
// ------------------------------
.btn-ladda {
// Left
&[data-style=expand-left] {
overflow: hidden;
.ladda-spinner {
left: 20px;
}
&[data-loading] {
padding-left: 35px;
.ladda-spinner {
.opacity(1);
}
}
}
// Right
&[data-style=expand-right] {
overflow: hidden;
.ladda-spinner {
right: 20px;
}
&[data-loading] {
padding-right: 35px;
.ladda-spinner {
.opacity(1);
}
}
}
// Up
&[data-style=expand-up] {
overflow: hidden;
.ladda-spinner {
top: -16px;
left: 50%;
}
&[data-loading] {
padding-top: 40px;
.ladda-spinner {
top: 12px;
margin-top: 8px;
.opacity(1);
}
}
}
// Down
&[data-style=expand-down] {
overflow: hidden;
.ladda-spinner {
top: 44px;
left: 50%;
}
&[data-loading] {
padding-bottom: 40px;
.ladda-spinner {
.opacity(1);
}
}
}
}
// Slide animation
// ------------------------------
.btn-ladda {
// Left
&[data-style=slide-left] {
overflow: hidden;
.ladda-label {
left: 0;
position: relative;
}
.ladda-spinner {
right: 0;
}
&[data-loading] {
.ladda-label {
left: -100%;
.opacity(0);
}
.ladda-spinner {
right: 50%;
.opacity(1);
}
}
}
// Right
&[data-style=slide-right] {
overflow: hidden;
.ladda-label {
right: 0;
position: relative;
}
.ladda-spinner {
left: 0;
}
&[data-loading] {
.ladda-label {
right: -100%;
.opacity(0);
}
.ladda-spinner {
left: 50%;
.opacity(1);
}
}
}
// Up
&[data-style=slide-up] {
overflow: hidden;
.ladda-label {
top: 0;
position: relative;
}
.ladda-spinner {
top: 100%;
left: 50%;
}
&[data-loading] {
.ladda-label {
top: -16px;
.opacity(0);
}
.ladda-spinner {
top: 16px;
.opacity(1);
}
}
}
// Down
&[data-style=slide-down] {
overflow: hidden;
.ladda-label {
top: 0;
position: relative;
}
.ladda-spinner {
top: -100%;
left: 50%;
}
&[data-loading] {
.ladda-label {
top: 16px;
.opacity(0);
}
.ladda-spinner {
top: 16px;
.opacity(1);
}
}
}
}
// Fade animation
// ------------------------------
.btn-ladda {
&[data-style=fade] {
overflow: hidden;
.ladda-spinner {
left: 50%;
}
&[data-loading] {
.ladda-label {
.opacity(0);
}
.ladda-spinner {
.opacity(1);
}
}
}
}
// Radius animation
// ------------------------------
.btn-ladda {
&[data-style=radius] {
overflow: hidden;
border-radius: @border-radius-small;
.transition(all ease-in-out 0.5s);
.ladda-spinner {
left: 50%;
}
&[data-loading] {
border-radius: @border-radius-large;
.ladda-label {
.opacity(0);
}
.ladda-spinner {
.opacity(1);
}
}
}
}