first commit

This commit is contained in:
Olu Amey
2021-10-09 21:59:14 -04:00
commit 2e1a4017c3
6336 changed files with 864678 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;
}
}
+468
View File
@@ -0,0 +1,468 @@
/* ------------------------------------------------------------------------------
*
* # 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, {
top: @line-height-computed;
.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;
}
}
}
// 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,502 @@
/* ------------------------------------------------------------------------------
*
* # Fancytree
*
* Tree plugin for jQuery with support for persistence, keyboard, checkboxes,
* tables (grid), drag'n'drop, and lazy loading
*
* Version: 1.0
* Latest update: May 25, 2015
*
* ---------------------------------------------------------------------------- */
/* # 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 {
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;
// Hide border in selected checkbox
.fancytree-selected & {
border-color: transparent;
}
// Add icons
&:after,
.fancytree-partsel.fancytree-selected &:after {
content: "\ed6e";
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-500;
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%;
// Circle
&:after {
content: '';
width: (@checkbox-size - 10);
height: (@checkbox-size - 10);
background-color: @color-grey-500;
margin: ((@checkbox-size - (@checkbox-size - 10)) / 2) - @checkbox-border-width;
border-radius: 100px;
}
}
// Selected radio
.fancytree-radio .fancytree-selected & {
border-color: @color-grey-500;
}
}
/* # 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;
}
.checker span {
color: #fff;
border-color: #fff;
&.checked {
border-color: transparent;
}
}
}
}
}
@@ -0,0 +1,981 @@
/* ------------------------------------------------------------------------------
*
* # FullCalendar
*
* A JavaScript event calendar. Customizable and open source
*
* Version: 1.2
* Latest update: Mar 10, 2016
*
* ---------------------------------------------------------------------------- */
// Layout
// ------------------------------
// Container
.fc {
direction: ltr;
text-align: left;
}
// Calendar view
.fc-view {
> table {
min-width: @screen-sm;
}
}
// Events container
.fc-events-container {
background-color: #fcfcfc;
border: 1px solid @panel-inner-border;
padding: 10px;
border-radius: @border-radius-base;
.fc-event {
margin: 0;
padding: 4px @padding-small-horizontal;
+ .fc-event {
margin-top: 10px;
}
}
}
// Colors
// ------------------------------
// Default theme
.fc-unthemed {
th,
td,
hr,
thead,
tbody,
.fc-row,
.fc-popover {
border-color: @panel-default-border;
}
// Change bottom border color
thead,
thead td,
thead th {
border-bottom-color: @table-border-highlight;
}
// Horizontal rule
hr {
background-color: #f5f5f5;
}
// Popover
.fc-popover {
background-color: #fff;
border-radius: @border-radius-base;
.fc-header {
background-color: #f5f5f5;
}
}
// Highlight today's date
.fc-today {
background-color: @color-success-50;
}
}
// When user is selecting cells
.fc-highlight {
background-color: #e5e5e5;
.opacity(0.3);
}
// Default look for background events
.fc-bgevent {
background-color: @color-success-300;
.opacity(0.3);
}
// Default look for non-business-hours areas
.fc-nonbusiness {
background-color: #ccc;
}
// Icons
// ------------------------------
// Icon base
.fc-icon {
display: block;
// Icon base
&:after {
display: inline-block;
font-family: "icomoon";
line-height: 1;
font-size: @icon-font-size;
vertical-align: middle;
position: relative;
top: -1px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
}
// Arrow icons
.fc-icon-left-single-arrow:after {
content: "\e9c0";
}
.fc-icon-right-single-arrow:after {
content: "\e9c3";
}
.fc-icon-left-double-arrow:after {
content: "\000AB";
}
.fc-icon-right-double-arrow:after {
content: "\000BB";
}
// X icon
.fc-icon-x:after {
content: "\ed6b";
font-size: @font-size-small;
display: block;
}
// Buttons
// ------------------------------
// Base, identical to .btn-default
.fc-button {
margin: 0;
border: 0;
padding: (@padding-base-vertical + 1) (@padding-base-horizontal + 1);
white-space: nowrap;
cursor: pointer;
outline: 0;
text-transform: uppercase;
font-weight: 500;
// Firefox has an annoying inner border
&::-moz-focus-inner {
margin: 0;
padding: 0;
}
}
//
// Button states
//
// Default
.fc-state-default {
background-color: @btn-default-bg;
&.fc-corner-left {
.border-left-radius(@border-radius-base);
}
&.fc-corner-right {
.border-right-radius(@border-radius-base);
}
}
// Hover
.fc-state-hover {
.box-shadow(0 0 0 100px fade(#000, 5%) inset);
}
// Active
.fc-state-down,
.fc-state-active {
.box-shadow(0 0 0 100px fade(#000, 10%) inset);
}
// Disabled
.fc-state-disabled {
color: @text-muted;
cursor: @cursor-disabled;
.opacity(0.65);
.box-shadow(none);
}
//
// Button groups
//
.fc-button-group {
display: inline-block;
.fc & {
> * {
float: left;
margin: 0 0 0 1px;
}
> :first-child {
margin-left: 0;
}
}
}
// Popover
// ------------------------------
.fc-popover {
position: absolute;
border: 1px solid @panel-default-border;
.box-shadow(0 1px 5px fade(#000, 5%));
// Header
.fc-header {
padding: 10px;
.fc-close {
cursor: pointer;
}
}
.fc-ltr & {
.fc-header {
.fc-title {
float: left;
}
.fc-close {
float: right;
}
}
}
// Unthemed
.fc-unthemed & {
.fc-header .fc-close {
margin-top: 2px;
.opacity(0.6);
&:hover {
.opacity(1);
}
}
}
}
// Misc reusable components
// ------------------------------
.fc hr {
height: 0;
margin: 0;
padding: 0 0 2px; // height is unreliable across browsers, so use padding
border-style: solid;
border-width: 1px 0;
}
// Clear helper
.fc-clear {
clear: both;
}
.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-helper-skeleton {
position: absolute;
top: 0;
left: 0;
right: 0;
}
.fc-bg {
bottom: 0; // strech bg to bottom edge
table {
height: 100%; // strech bg to bottom edge
}
}
// Tables
// ------------------------------
.fc {
table {
width: 100%;
table-layout: fixed;
border-collapse: collapse;
border-spacing: 0;
}
th,
td {
border-style: solid;
border-width: 1px;
padding: 0;
vertical-align: top;
}
th {
padding: @table-cell-padding;
font-weight: 500;
text-align: center;
}
td.fc-today {
border-style: double; // overcome neighboring borders
}
}
// Fake table rows
// ------------------------------
.fc-row {
border-style: solid;
border-width: 0;
position: relative;
table {
border-left: 0 hidden transparent;
border-right: 0 hidden transparent;
border-bottom: 0 hidden transparent;
}
&:first-child table {
border-top: 0 hidden transparent; // no top border on first row
}
}
// Day row
// ------------------------------
.fc-row {
.fc-bg {
z-index: 1;
}
// Highlighting cells & background event skeleton
.fc-bgevent-skeleton,
.fc-highlight-skeleton {
bottom: 0;
table {
height: 100%;
}
td {
border-color: transparent;
border: 0;
}
}
.fc-bgevent-skeleton {
z-index: 2;
}
.fc-highlight-skeleton {
z-index: 3;
}
// Row content
.fc-content-skeleton,
.fc-helper-skeleton {
td {
background: none;
border-color: transparent;
border-bottom: 0;
}
// Cells with events inside (so NOT the day number cell)
tbody td {
border-top: 0;
}
}
.fc-content-skeleton {
position: relative;
z-index: 4;
}
.fc-helper-skeleton {
z-index: 5;
}
}
// Scrolling container
// ------------------------------
.fc-scroller {
overflow-y: scroll;
overflow-x: hidden;
min-height: 500px;
// We expect an immediate inner element
> * {
position: relative;
width: 100%;
overflow: hidden;
}
}
// Global event styles
// ------------------------------
.fc-event {
position: relative; // for resize handle and other inner positioning
display: block; // make the <a> tag block
border: 1px solid @color-blue-600; // default BORDER color
background-color: @color-blue-600; // default BACKGROUND color
font-weight: normal;
border-radius: @border-radius-small;
&,
&:hover {
color: #fff; // default TEXT color
text-decoration: none; // if <a> has an href
}
// Give events with links and draggable events a hand mouse pointer
&[href],
&.fc-draggable {
cursor: pointer;
}
}
// Override an event's custom cursor
.fc-not-allowed {
&,
.fc-event {
cursor: @cursor-disabled;
}
}
// DayGrid events
// ------------------------------
.fc-day-grid-event {
margin: 0 5px 5px 5px;
padding: 4px 8px;
// force events to be one-line tall
> .fc-content {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
// make the time semibold
.fc-time {
font-weight: 500;
}
// resize handle
.fc-resizer {
position: absolute;
top: 0;
bottom: 0;
width: 7px;
}
// LTR
.fc-ltr & {
.fc-resizer {
right: -3px;
cursor: e-resize;
}
}
@media (min-width: @screen-lg-min) {
> .fc-content {
background-color: inherit;
}
.fc-time {
float: right;
padding-left: 5px;
display: inline-block;
z-index: 2;
position: relative;
background-color: inherit;
}
.fc-title {
z-index: 1;
position: relative;
}
}
}
// Event limiting
// ------------------------------
// "More" link
a.fc-more {
margin: 1px 5px;
background-color: #fafafa;
display: block;
padding: 5px;
text-align: center;
border-radius: @border-radius-base;
color: @gray-light;
font-size: @font-size-small;
&:hover {
background-color: #f5f5f5;
color: @text-color;
}
}
// Rows and cells that are hidden because of a "more" link
.fc-limited {
display: none;
}
// Popover that appears when "more" link is clicked
.fc-day-grid .fc-row {
z-index: 1;
}
.fc-more-popover {
z-index: 2;
width: 220px;
.fc-event-container {
padding: 10px 5px;
}
}
// Toolbar
// ------------------------------
.fc-toolbar {
text-align: center;
margin-bottom: @line-height-computed;
// Title text
h2 {
margin: 5px 0;
font-size: @font-size-h5;
}
// Left
.fc-left {
float: left;
width: 33%;
}
// Right
.fc-right {
float: right;
width: 33%;
.fc-button-group {
float: right;
}
}
// Left/right buttons
.fc-left,
.fc-right {
> .fc-button {
margin-left: 10px;
}
}
// Center
.fc-center {
display: inline-block;
vertical-align: middle;
}
// The things within each left/right/center section
> * {
> * {
float: left;
}
// The first thing within each left/center/right section
> :first-child {
margin-left: 0;
}
}
// Button layering (for border precedence)
button {
position: relative;
&:focus {
z-index: 5;
}
}
// States
.fc-state-hover,
.ui-state-hover {
z-index: 2;
}
.fc-state-down {
z-index: 3;
}
.fc-state-active,
.ui-state-active {
z-index: 4;
}
}
// View structure
// ------------------------------
.fc-view-container * {
&,
&:before,
&:after {
.box-sizing(content-box);
}
}
// Scope positioning and z-index's
.fc-view {
&,
> table {
position: relative;
z-index: 1;
}
}
// BasicView
// ------------------------------
// Day row structure
.fc-basicWeek-view,
.fc-basicDay-view {
.fc-content-skeleton {
padding-top: 5px;
padding-bottom: 10px;
}
}
// Rows
.fc-basic-view tbody .fc-row {
min-height: 100px; // ensure that all rows are at least this tall
min-width: 100px;
}
// A "rigid" row will take up a constant amount of height
// because content-skeleton is absolute
.fc-row.fc-rigid {
overflow: hidden;
.fc-content-skeleton {
position: absolute;
top: 0;
left: 0;
right: 0;
}
}
// Week and day number styling
.fc-basic-view {
// Week and day
.fc-week-number,
.fc-day-number {
padding: 10px;
}
// Week number only
.fc-week-number {
text-align: center;
span {
display: inline-block;
min-width: 1.25em;
}
}
// Day number only
.fc-day-number {
text-align: right;
&.fc-other-month {
.opacity(0.3);
}
}
}
// AgendaView all-day area
// ------------------------------
.fc-agenda-view {
.fc-day-grid {
position: relative;
z-index: 2;
.fc-row {
min-height: 3em;
.fc-content-skeleton {
padding-top: 5px;
padding-bottom: 0;
}
}
}
}
// TimeGrid axis
// ------------------------------
.fc-axis {
text-align: right;
.fc & {
vertical-align: middle;
padding: 10px;
white-space: nowrap;
}
}
// TimeGrid structure
// ------------------------------
.fc-time-grid-container,
.fc-time-grid {
position: relative;
z-index: 1;
}
.fc-time-grid {
min-height: 100%;
table {
border: 0 hidden transparent;
}
> .fc-bg {
z-index: 1;
}
.fc-slats,
> hr {
position: relative;
z-index: 2;
}
.fc-bgevent-skeleton,
.fc-content-skeleton {
position: absolute;
top: 0;
left: 0;
right: 0;
}
.fc-bgevent-skeleton {
z-index: 3;
}
.fc-highlight-skeleton {
z-index: 4;
}
.fc-content-skeleton {
z-index: 5;
}
.fc-helper-skeleton {
z-index: 6;
}
}
// TimeGrid slats
// ------------------------------
.fc-slats {
td {
border-bottom: 0;
}
.fc-minor td {
border-top-style: dotted;
}
}
// TimeGrid highlighting slots
// ------------------------------
.fc-time-grid {
.fc-highlight-container {
position: relative;
}
.fc-highlight {
position: absolute;
left: 0;
right: 0;
}
}
// TimeGrid event containment
// ------------------------------
.fc-time-grid {
.fc-event-container,
.fc-bgevent-container {
position: relative;
}
.fc-event,
.fc-bgevent {
position: absolute;
z-index: 1;
margin: 5px;
padding: 10px;
min-height: 45px;
.box-shadow(0 0 0 1px #fff);
}
.fc-bgevent {
left: 0;
right: 0;
}
}
// TimeGrid event styling
// ------------------------------
.fc-time-grid-event {
overflow: hidden;
// Events that are continuing from another day
&.fc-not-start {
border-top-width: 0;
padding-top: 1px;
.border-top-radius(0);
}
&.fc-not-end {
border-bottom-width: 0;
padding-bottom: 1px;
.border-bottom-radius(0);
}
// Contains the time and title, but no bg and resizer
> .fc-content {
position: relative;
z-index: 2;
}
// Time font weight
.fc-time {
font-weight: 500;
}
// Short mode, where time and title are on the same line
&.fc-short {
.fc-content {
white-space: nowrap;
}
.fc-time,
.fc-title {
display: inline-block;
vertical-align: top;
}
.fc-time {
&:before {
content: attr(data-start);
}
&:after {
content: "\000A0-\000A0";
}
span {
display: none;
}
}
.fc-title {
font-size: .85em;
padding: 0;
}
}
// Resizer
.fc-resizer {
position: absolute;
z-index: 3;
left: 0;
right: 0;
bottom: 0;
height: 8px;
overflow: hidden;
line-height: 10px;
font-size: @font-size-small;
font-family: monospace;
text-align: center;
cursor: s-resize;
background-color: fade(#000, 5%);
padding: 1px;
&:hover {
background-color: fade(#000, 10%);
}
&:after {
content: "=";
}
}
}
// Responsive stuff
// ------------------------------
@media (max-width: @screen-xs-max) {
.fc-toolbar {
.fc-left,
.fc-left > .fc-button,
.fc-right,
.fc-right > .fc-button,
.fc-left .fc-button-group,
.fc-right .fc-button-group {
float: none;
width: auto;
vertical-align: top;
}
.fc-left,
.fc-right {
display: block;
margin-bottom: 10px;
}
}
.fc-view-container {
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
> .fc-view > table {
margin-left: -1px;
}
}
.fc {
th,
td {
border-right-width: 0;
}
}
}
@@ -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, box-shadow 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);
}
}
}
}
@@ -0,0 +1,113 @@
/* ------------------------------------------------------------------------------
*
* # Ripple effect
*
* Material design ripple click effect
*
* Version: 1.0
* Latest update: Mar 10, 2016
*
* ---------------------------------------------------------------------------- */
// Core
// -------------------------
// Base styles
.legitRipple {
position: relative;
overflow: hidden;
z-index: 0;
.user-select(none);
}
// Animation
.legitRipple-ripple {
position: absolute;
width: 0;
z-index: -1;
pointer-events: none;
border-radius: 50%;
background-color: fade(#fff, 10%);
will-change: transform, width, opacity;
.opacity(1);
.translate3d(0, 0, 0);
.translate(-50%, -50%);
.transition(~"width 0.2s linear, opacity 0.5s ease-out");
// Fix
&:before {
content: "";
padding-top: 100%;
display: block;
}
}
//
// Ripple colors
//
// Light ripple overlay
.breadcrumb-line[class*=bg-] .breadcrumb-elements > li {
.legitRipple-ripple {
background-color: fade(#fff, 10%);
}
}
// Dark ripple overlay
.btn-default,
.btn-link,
.btn-flat,
.icons-list > li > a,
.pagination > li:not(.active) > a,
.pagination > li:not(.active) > span,
.nav-tabs:not([class*=bg-]) > li > a,
.breadcrumb-elements > li,
.nav-pills > li > a,
.ui-button:not([class*=bg-]),
.ui-tabs-anchor,
.fc-button,
.checkbox,
.wizard > .actions > ul > li:first-child > a,
.sidebar-default .navigation > li > a,
.sidebar-default .navigation > li ul li > a,
.navbar-default .navbar-nav > li > a {
.legitRipple-ripple {
background-color: fade(#000, 5%);
}
}
//
// Misc styles
//
// z-index fix
img ~ .legitRipple-ripple {
z-index: auto;
}
// Round corners
.sidebar-user-material-content .legitRipple {
border-radius: 50%;
}
// Template
.legitRipple-template {
display: none;
}
// Custom ripple color
.legitRipple-custom {
overflow: hidden;
> * {
position: absolute;
top: 50%;
left: 50%;
min-width: 100%;
min-height: 100%;
.translate(-50%, -50%);
}
}