first commit
This commit is contained in:
@@ -0,0 +1,450 @@
|
||||
/* ------------------------------------------------------------------------------
|
||||
*
|
||||
* # Floating action buttons
|
||||
*
|
||||
* Styles for fab.min.js - material design floating action button with menu
|
||||
*
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
// Check if component is enabled
|
||||
@if $enable-fab {
|
||||
|
||||
// Base
|
||||
.fab-menu {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
z-index: ($zindex-fixed - 1);
|
||||
transform: scale(0.85);
|
||||
|
||||
// Inside page header
|
||||
.page-header > & {
|
||||
position: absolute;
|
||||
bottom: -($fab-main-btn-size / 2);
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Positions
|
||||
//
|
||||
|
||||
// Absolute
|
||||
.fab-menu-absolute {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
// Fixed
|
||||
.fab-menu-fixed {
|
||||
position: fixed;
|
||||
z-index: $zindex-fixed;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Button placements
|
||||
//
|
||||
|
||||
// Top placement
|
||||
.fab-menu-top-left,
|
||||
.fab-menu-top-right, {
|
||||
|
||||
// Top spacing
|
||||
.content-wrapper > & {
|
||||
top: -($fab-main-btn-size / 2);
|
||||
}
|
||||
}
|
||||
|
||||
// Bottom placement
|
||||
.fab-menu-bottom-left,
|
||||
.fab-menu-bottom-right {
|
||||
bottom: $spacer;
|
||||
transition: bottom ease-in-out $component-transition-timer;
|
||||
|
||||
// Keep space for footer
|
||||
&.reached-bottom {
|
||||
bottom: $nav-link-height + rem-calc($navbar-border-width * 2) + ($spacer * 2);
|
||||
}
|
||||
}
|
||||
|
||||
// Right placement
|
||||
.fab-menu-top-right,
|
||||
.fab-menu-bottom-right {
|
||||
right: $fab-gutter-x;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Inner menu
|
||||
//
|
||||
|
||||
.fab-menu-inner {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
// Menu items
|
||||
> li {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: $fab-btn-gap;
|
||||
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;
|
||||
box-shadow: $shadow-depth1;
|
||||
|
||||
// States shadow
|
||||
&:hover,
|
||||
&:focus,
|
||||
&.focus,
|
||||
&:not(:disabled):not(.disabled):active,
|
||||
&:not(:disabled):not(.disabled).active {
|
||||
box-shadow: $shadow-depth2 !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Make buttons smaller than main one
|
||||
.btn-float {
|
||||
padding: 0;
|
||||
width: $fab-inner-btn-size;
|
||||
height: $fab-inner-btn-size;
|
||||
|
||||
// Icon spacing
|
||||
> i {
|
||||
margin: ($btn-float-padding - $fab-btn-gap);
|
||||
}
|
||||
}
|
||||
|
||||
// Keep shadow for opened dropdown toggle
|
||||
.show > .btn-float.dropdown-toggle {
|
||||
box-shadow: $shadow-depth2;
|
||||
}
|
||||
|
||||
// Left and right menus
|
||||
.dropleft,
|
||||
.dropright {
|
||||
.btn:before,
|
||||
.btn:after {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Badges and badge marks
|
||||
//
|
||||
|
||||
// Base
|
||||
.badge {
|
||||
position: absolute;
|
||||
top: ($fab-inner-btn-spacing - ($fab-badge-spacer-y * 2));
|
||||
right: -($fab-badge-spacer-x);
|
||||
}
|
||||
|
||||
// Badge marks
|
||||
.badge-mark {
|
||||
top: ($fab-inner-btn-spacing - $fab-badge-spacer-y + ($badge-mark-size / 2));
|
||||
right: -($fab-badge-spacer-x - ($badge-mark-size / 2));
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// 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);
|
||||
|
||||
// Badges
|
||||
.badge {
|
||||
top: -($fab-badge-spacer-y * 2);
|
||||
}
|
||||
|
||||
// Badge marks
|
||||
.badge-mark {
|
||||
top: ($fab-badge-spacer-y - ($badge-mark-size / 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Main button
|
||||
//
|
||||
|
||||
// Base
|
||||
.fab-menu-btn {
|
||||
z-index: ($zindex-fixed + 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,
|
||||
&:not(:disabled):not(.disabled):active,
|
||||
&:not(:disabled):not(.disabled).active,
|
||||
&:not(:disabled):not(.disabled):active:focus,
|
||||
.fab-menu[data-fab-toggle="hover"]:hover &,
|
||||
.fab-menu[data-fab-state="open"] & {
|
||||
box-shadow: $shadow-depth2;
|
||||
}
|
||||
|
||||
// Show shadow in disabled state
|
||||
&:disabled,
|
||||
&.disabled {
|
||||
box-shadow: $shadow-depth1;
|
||||
}
|
||||
}
|
||||
|
||||
// Animation
|
||||
.fab-icon-close,
|
||||
.fab-icon-open {
|
||||
transform: rotate(360deg);
|
||||
transition: all ease-in-out ($component-transition-timer * 2);
|
||||
|
||||
// Reverse rotation if active
|
||||
.fab-menu[data-fab-toggle="hover"]:hover &,
|
||||
.fab-menu[data-fab-state="open"] & {
|
||||
transform: 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 ($component-transition-timer * 2);
|
||||
|
||||
// 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-gap * 2);
|
||||
}
|
||||
&:nth-child(2) {
|
||||
top: (($fab-inner-btn-size + $fab-inner-btn-spacing) * 2) + ($fab-btn-gap * 2);
|
||||
}
|
||||
&:nth-child(3) {
|
||||
top: (($fab-inner-btn-size + $fab-inner-btn-spacing) * 3) + ($fab-btn-gap * 2);
|
||||
}
|
||||
&:nth-child(4) {
|
||||
top: (($fab-inner-btn-size + $fab-inner-btn-spacing) * 4) + ($fab-btn-gap * 2);
|
||||
}
|
||||
&:nth-child(5) {
|
||||
top: (($fab-inner-btn-size + $fab-inner-btn-spacing) * 5) + ($fab-btn-gap * 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 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-gap * 2);
|
||||
}
|
||||
&:nth-child(2) {
|
||||
top: -(($fab-inner-btn-size + $fab-inner-btn-spacing) * 2) + ($fab-btn-gap * 2);
|
||||
}
|
||||
&:nth-child(3) {
|
||||
top: -(($fab-inner-btn-size + $fab-inner-btn-spacing) * 3) + ($fab-btn-gap * 2);
|
||||
}
|
||||
&:nth-child(4) {
|
||||
top: -(($fab-inner-btn-size + $fab-inner-btn-spacing) * 4) + ($fab-btn-gap * 2);
|
||||
}
|
||||
&:nth-child(5) {
|
||||
top: -(($fab-inner-btn-size + $fab-inner-btn-spacing) * 5) + ($fab-btn-gap * 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Item labels
|
||||
//
|
||||
|
||||
.fab-menu-inner div[data-fab-label] {
|
||||
|
||||
// Base
|
||||
&:after {
|
||||
content: attr(data-fab-label);
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -($tooltip-padding-y);
|
||||
right: ($fab-btn-gap + $fab-inner-btn-size + $fab-gutter-x);
|
||||
color: $tooltip-color;
|
||||
background-color: $tooltip-bg;
|
||||
padding: $tooltip-padding-y $tooltip-padding-x;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
box-shadow: $shadow-depth1;
|
||||
transition: all ease-in-out ($component-transition-timer * 2);
|
||||
@include border-radius($border-radius);
|
||||
|
||||
// Reposition them in bottom position
|
||||
.fab-menu-bottom-left &,
|
||||
.fab-menu-bottom-right & {
|
||||
margin-top: -($tooltip-padding-y + $fab-inner-btn-spacing);
|
||||
}
|
||||
}
|
||||
|
||||
// Placement
|
||||
.fab-menu-top-left &:after,
|
||||
.fab-menu-bottom-left &:after,
|
||||
&.fab-label-right:after {
|
||||
right: auto;
|
||||
left: ($fab-btn-gap + $fab-inner-btn-size + $fab-gutter-x);
|
||||
}
|
||||
|
||||
// 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: $fab-label-light-bg;
|
||||
color: $fab-label-light-color;
|
||||
}
|
||||
|
||||
// Always visible
|
||||
&.fab-label-visible:after {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Layout specific additions
|
||||
// ------------------------------
|
||||
|
||||
//
|
||||
// # Layout 5
|
||||
//
|
||||
|
||||
@if $layout == 'layout_5' {
|
||||
|
||||
// Left placement
|
||||
.fab-menu-top-left,
|
||||
.fab-menu-bottom-left {
|
||||
left: $fab-gutter-x;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
left: ((($page-container-padding-x / 2) - $fab-main-btn-size) / 2) + $content-container-padding-x;
|
||||
}
|
||||
@include media-breakpoint-up(xl) {
|
||||
left: (($page-container-padding-x - $fab-main-btn-size) / 2) + $content-container-padding-x;
|
||||
}
|
||||
}
|
||||
|
||||
// Right placement
|
||||
.fab-menu-top-right,
|
||||
.fab-menu-bottom-right {
|
||||
@include media-breakpoint-up(md) {
|
||||
right: ((($page-container-padding-x / 2) - $fab-main-btn-size) / 2) + $content-container-padding-x;
|
||||
}
|
||||
@include media-breakpoint-up(xl) {
|
||||
right: (($page-container-padding-x - $fab-main-btn-size) / 2) + $content-container-padding-x;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,342 @@
|
||||
/* ------------------------------------------------------------------------------
|
||||
*
|
||||
* # Fancybox lightbox
|
||||
*
|
||||
* Styles for fancybox.min.js - Mac-style "lightbox" plugin
|
||||
*
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
// Check if component is enabled
|
||||
@if $enable-fancybox {
|
||||
|
||||
|
||||
// Core
|
||||
// ------------------------------
|
||||
|
||||
.fancybox-wrap,
|
||||
.fancybox-skin,
|
||||
.fancybox-outer,
|
||||
.fancybox-inner,
|
||||
.fancybox-image,
|
||||
.fancybox-wrap iframe,
|
||||
.fancybox-wrap object,
|
||||
.fancybox-nav,
|
||||
.fancybox-nav span,
|
||||
.fancybox-tmp {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
outline: none;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
// Wrapper
|
||||
.fancybox-wrap {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
/*rtl:ignore*/
|
||||
left: 0;
|
||||
z-index: 8020;
|
||||
}
|
||||
|
||||
// Skin
|
||||
.fancybox-skin {
|
||||
position: relative;
|
||||
background-color: $modal-content-bg;
|
||||
@include border-radius($border-radius);
|
||||
}
|
||||
|
||||
// Opened lightbox
|
||||
.fancybox-opened {
|
||||
z-index: 8030;
|
||||
|
||||
.fancybox-skin {
|
||||
@include box-shadow($modal-content-box-shadow-xs);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Content
|
||||
// ------------------------------
|
||||
|
||||
// Image containers
|
||||
.fancybox-outer,
|
||||
.fancybox-inner {
|
||||
position: relative;
|
||||
}
|
||||
.fancybox-inner {
|
||||
overflow: hidden;
|
||||
|
||||
.fancybox-type-iframe & {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
}
|
||||
|
||||
// Image
|
||||
.fancybox-image,
|
||||
.fancybox-iframe {
|
||||
display: block;
|
||||
@include size(100%);
|
||||
}
|
||||
.fancybox-image {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
// Loading indicator
|
||||
#fancybox-loading {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
cursor: pointer;
|
||||
z-index: 8060;
|
||||
color: $white;
|
||||
opacity: 0.8;
|
||||
|
||||
// Icon container
|
||||
div {
|
||||
|
||||
// Icon
|
||||
&:after {
|
||||
content: $icon-loading-spinner;
|
||||
font-family: $icon-font-family;
|
||||
font-size: $icon-font-size;
|
||||
margin-top: -($icon-font-size / 2);
|
||||
margin-left: -($icon-font-size / 2);
|
||||
display: block;
|
||||
line-height: 1;
|
||||
animation: rotation 1s ease infinite;
|
||||
@include ll-font-smoothing();
|
||||
@include size($icon-font-size);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Close button
|
||||
.fancybox-close {
|
||||
position: absolute;
|
||||
right: $fancybox-nav-spacer-x;
|
||||
top: $fancybox-nav-spacer-y;
|
||||
padding: $fancybox-nav-padding;
|
||||
z-index: 8061;
|
||||
cursor: pointer;
|
||||
line-height: 1;
|
||||
color: $fancybox-nav-color;
|
||||
background-color: $fancybox-nav-bg;
|
||||
@include border-radius($border-radius);
|
||||
@include transition(all ease-in-out $component-transition-timer);
|
||||
|
||||
// Hover state
|
||||
@include hover-focus {
|
||||
background-color: $fancybox-nav-hover-bg;
|
||||
color: $fancybox-nav-hover-color;
|
||||
}
|
||||
|
||||
// Icon
|
||||
&:after {
|
||||
content: $icon-action-cross;
|
||||
font-family: $icon-font-family;
|
||||
font-size: $icon-font-size;
|
||||
display: block;
|
||||
@include ll-font-smoothing();
|
||||
}
|
||||
}
|
||||
|
||||
// Error
|
||||
.fancybox-error {
|
||||
color: theme-color("danger");
|
||||
font-weight: $font-weight-semibold;
|
||||
margin: 0;
|
||||
padding: $modal-inner-padding;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Title
|
||||
//
|
||||
|
||||
// Helper
|
||||
.fancybox-title {
|
||||
visibility: hidden;
|
||||
position: relative;
|
||||
z-index: 8050;
|
||||
|
||||
.fancybox-opened & {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrappers
|
||||
.fancybox-title-float-wrap {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 50%;
|
||||
margin-bottom: -(($fancybox-caption-padding-y * 2) + $line-height-computed);
|
||||
z-index: 8050;
|
||||
text-align: center;
|
||||
@include border-bottom-radius($border-radius);
|
||||
|
||||
.child {
|
||||
display: inline-block;
|
||||
margin-right: -100%;
|
||||
padding: $fancybox-caption-padding-y $fancybox-caption-padding-x;
|
||||
background-color: $fancybox-caption-bg;
|
||||
color: $fancybox-caption-color;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
.fancybox-title-outside-wrap {
|
||||
text-align: center;
|
||||
margin-top: ($spacer / 2);
|
||||
color: $fancybox-caption-color;
|
||||
}
|
||||
.fancybox-title-inside-wrap {
|
||||
padding: $fancybox-caption-padding-y $fancybox-caption-padding-x;
|
||||
}
|
||||
.fancybox-title-over-wrap {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
color: $fancybox-caption-color;
|
||||
padding: $fancybox-caption-padding-y $fancybox-caption-padding-x;
|
||||
background-color: $fancybox-caption-bg;
|
||||
}
|
||||
|
||||
|
||||
// Navigation
|
||||
// ------------------------------
|
||||
|
||||
// Container
|
||||
.fancybox-nav {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 40%;
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
z-index: 8040;
|
||||
|
||||
// Icons
|
||||
span {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -(($icon-font-size / 2) + $fancybox-nav-padding);
|
||||
cursor: pointer;
|
||||
padding: $fancybox-nav-padding;
|
||||
color: $fancybox-nav-color;
|
||||
background-color: $fancybox-nav-bg;
|
||||
display: block;
|
||||
line-height: 1;
|
||||
min-width: ($icon-font-size + ($fancybox-nav-padding * 2));
|
||||
text-align: center;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
z-index: 8040;
|
||||
@include border-radius($border-radius);
|
||||
@include transition(all ease-in-out $component-transition-timer);
|
||||
|
||||
// Arrow icons
|
||||
&:after {
|
||||
font-family: $icon-font-family;
|
||||
display: inline-block;
|
||||
font-size: $icon-font-size;
|
||||
line-height: 1;
|
||||
@include ll-font-smoothing();
|
||||
}
|
||||
|
||||
// Hover state
|
||||
@include hover-focus {
|
||||
background-color: $fancybox-nav-hover-bg;
|
||||
color: $fancybox-nav-hover-color;
|
||||
}
|
||||
}
|
||||
|
||||
// Show on hover
|
||||
&:hover span {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Previous button
|
||||
.fancybox-prev {
|
||||
left: 0;
|
||||
|
||||
// Nav container
|
||||
span {
|
||||
left: $fancybox-nav-spacer-x;
|
||||
|
||||
// Arrow
|
||||
&:after {
|
||||
@if $direction == 'LTR' {
|
||||
content: $icon-nav-prev;
|
||||
}
|
||||
@else {
|
||||
content: $icon-nav-next;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Next button
|
||||
.fancybox-next {
|
||||
right: 0;
|
||||
|
||||
// Nav container
|
||||
span {
|
||||
right: $fancybox-nav-spacer-x;
|
||||
|
||||
// Arrow
|
||||
&:after {
|
||||
@if $direction == 'LTR' {
|
||||
content: $icon-nav-next;
|
||||
}
|
||||
@else {
|
||||
content: $icon-nav-prev;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Overlays
|
||||
// ------------------------------
|
||||
|
||||
// Helper
|
||||
.fancybox-lock {
|
||||
overflow: visible !important;
|
||||
width: auto;
|
||||
|
||||
.fancybox-overlay {
|
||||
overflow: auto;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
body {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
}
|
||||
.fancybox-lock-test {
|
||||
overflow-y: hidden !important;
|
||||
}
|
||||
|
||||
// Overlays
|
||||
.fancybox-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
display: none;
|
||||
z-index: 8010;
|
||||
background-color: rgba($black, 0.8);
|
||||
}
|
||||
.fancybox-overlay-fixed {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,516 @@
|
||||
/* ------------------------------------------------------------------------------
|
||||
*
|
||||
* # Fancytree
|
||||
*
|
||||
* Styles for fancytree_all.min.js - tree plugin for jQuery
|
||||
*
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
// Check if component is enabled
|
||||
@if $enable-fancytree {
|
||||
|
||||
|
||||
// Base
|
||||
// ------------------------------
|
||||
|
||||
// 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-left: $icon-font-size;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
// 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: $fancytree-node-selected-bg;
|
||||
color: $fancytree-node-selected-color;
|
||||
}
|
||||
}
|
||||
|
||||
// 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: $icon-font-family;
|
||||
display: inline-block;
|
||||
font-size: $icon-font-size;
|
||||
line-height: 1;
|
||||
vertical-align: top;
|
||||
@include ll-font-smoothing();
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Common icon definitions
|
||||
//
|
||||
|
||||
// Base
|
||||
.fancytree-icon,
|
||||
.fancytree-custom-icon,
|
||||
.fancytree-expander {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin-left: $fancytree-node-padding-x;
|
||||
margin-top: ($line-height-computed + ($fancytree-node-padding-y * 2) - $icon-font-size) / 2;
|
||||
@include size($icon-font-size);
|
||||
}
|
||||
|
||||
// Checkboxes
|
||||
.fancytree-checkbox {
|
||||
vertical-align: top;
|
||||
margin-top: ($line-height-computed + ($fancytree-node-padding-y * 2) - $checkbox-size) / 2;
|
||||
margin-left: $fancytree-node-padding-x;
|
||||
}
|
||||
|
||||
// Used by 'icon' node option
|
||||
img.fancytree-icon {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
// 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;
|
||||
|
||||
.fancytree-exp-c &:after {
|
||||
content: $icon-indicator-collapse;
|
||||
}
|
||||
.fancytree-exp-cl &:after {
|
||||
content: $icon-indicator-collapse;
|
||||
}
|
||||
.fancytree-exp-cd &:after,
|
||||
.fancytree-exp-cdl &:after {
|
||||
content: $icon-indicator-collapse;
|
||||
}
|
||||
.fancytree-exp-e &:after,
|
||||
.fancytree-exp-ed &:after {
|
||||
content: $icon-indicator-expand;
|
||||
}
|
||||
.fancytree-exp-el &:after,
|
||||
.fancytree-exp-edl &:after {
|
||||
content: $icon-indicator-expand;
|
||||
}
|
||||
}
|
||||
|
||||
// Status node icons
|
||||
.fancytree-statusnode-error .fancytree-icon:after {
|
||||
content: $icon-validation-error;
|
||||
}
|
||||
|
||||
// Loading icon
|
||||
.fancytree-loading .fancytree-expander,
|
||||
.fancytree-statusnode-wait .fancytree-icon {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
@include size($icon-font-size);
|
||||
|
||||
&:after {
|
||||
content: $icon-checkbox-tick;
|
||||
@include transition(all ease-in-out $component-transition-timer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
// # Node type icon
|
||||
//
|
||||
// Prefix: fancytree-ico-
|
||||
// 1st character: 'e': expanded, 'c': collapsed,
|
||||
// 2nd character (optional): 'f': folder
|
||||
// ----------------------------------------
|
||||
|
||||
|
||||
//
|
||||
// Documents
|
||||
//
|
||||
|
||||
// Icons
|
||||
.fancytree-ico-c,
|
||||
.fancytree-ico-e {
|
||||
.fancytree-icon:after {
|
||||
content: $icon-fancytree-file;
|
||||
}
|
||||
}
|
||||
|
||||
// With children
|
||||
.fancytree-has-children {
|
||||
&.fancytree-ico-c .fancytree-icon:after {
|
||||
content: $icon-fancytree-sub-collapse;
|
||||
}
|
||||
|
||||
&.fancytree-ico-e .fancytree-icon:after {
|
||||
content: $icon-fancytree-sub-expand;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Folders
|
||||
//
|
||||
|
||||
// Icons
|
||||
.fancytree-ico-cf,
|
||||
.fancytree-ico-ef {
|
||||
.fancytree-icon:after {
|
||||
content: $icon-fancytree-folder;
|
||||
}
|
||||
}
|
||||
|
||||
// With children
|
||||
.fancytree-has-children {
|
||||
&.fancytree-ico-cf .fancytree-icon:after {
|
||||
content: $icon-fancytree-folder-collapse;
|
||||
}
|
||||
|
||||
&.fancytree-ico-ef .fancytree-icon:after {
|
||||
content: $icon-fancytree-folder-expand;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Checkbox icon
|
||||
//
|
||||
|
||||
.fancytree-checkbox {
|
||||
width: $checkbox-size;
|
||||
height: $checkbox-size;
|
||||
border: $checkbox-border-width solid $checkbox-color;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
@include border-radius($border-radius-sm);
|
||||
|
||||
// Checker base
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
// Grey square in hierarchical select
|
||||
.fancytree-partsel &:after,
|
||||
.fancytree-radio .fancytree-selected &:after {
|
||||
content: "";
|
||||
top: (($checkbox-size / 2) - $checkbox-border-width - (($checkbox-size / 2) / 2));
|
||||
left: (($checkbox-size / 2) - $checkbox-border-width - (($checkbox-size / 2) / 2));
|
||||
border: (($checkbox-size / 2) / 2) solid;
|
||||
border-color: inherit;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
// Add icons
|
||||
.fancytree-selected &:after {
|
||||
content: $icon-checkbox-tick;
|
||||
border: 0;
|
||||
top: ($checkbox-size - $icon-font-size - ($checkbox-border-width * 2)) / 2;
|
||||
left: ($checkbox-size - $icon-font-size - ($checkbox-border-width * 2)) / 2;
|
||||
}
|
||||
|
||||
// Radio (single select imitation)
|
||||
.fancytree-radio &,
|
||||
.fancytree-radio &:after {
|
||||
@include border-radius($border-radius-circle);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Other styles
|
||||
// ------------------------------
|
||||
|
||||
//
|
||||
// Drag'n'drop support
|
||||
//
|
||||
|
||||
// Helper
|
||||
.fancytree-drag-helper {
|
||||
.fancytree-title {
|
||||
padding-right: ($fancytree-node-padding-x * 2) + $icon-font-size;
|
||||
border: $card-border-width solid $border-color;
|
||||
background-color: $white;
|
||||
opacity: 0.8;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Drag helper image
|
||||
.fancytree-drag-helper-img {
|
||||
&:after {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -($icon-font-size / 2);
|
||||
right: $fancytree-node-padding-x;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
// If accept
|
||||
.fancytree-drop-accept &:after {
|
||||
content: $icon-validation-success;
|
||||
color: $color-success-500;
|
||||
}
|
||||
|
||||
// If reject
|
||||
.fancytree-drop-reject &:after {
|
||||
content: $icon-validation-error;
|
||||
color: $color-danger-500;
|
||||
}
|
||||
}
|
||||
|
||||
// Marker icon
|
||||
#fancytree-drop-marker {
|
||||
&.fancytree-drop-before,
|
||||
&.fancytree-drop-after {
|
||||
width: 15rem;
|
||||
border-top: $border-width solid $gray-600;
|
||||
position: absolute !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Source node while dragging
|
||||
.fancytree-drag-source {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
// Target node while dragging cursor is over it
|
||||
.fancytree-drop-target.fancytree-drop-accept a {
|
||||
background-color: theme-color("primary") !important;
|
||||
color: $white !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Styles specific to this skin
|
||||
//
|
||||
|
||||
// Node
|
||||
.fancytree-node {
|
||||
display: inherit;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
// Title
|
||||
.fancytree-title {
|
||||
border: 0;
|
||||
padding: $fancytree-node-padding-y $fancytree-node-padding-x;
|
||||
margin-left: $element-spacer-x;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
@include border-radius($border-radius);
|
||||
@include transition(all ease-in-out $component-transition-timer);
|
||||
|
||||
// Editable node input
|
||||
> input {
|
||||
border: 0;
|
||||
outline: 0;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
// Selected title
|
||||
.fancytree-selected &,
|
||||
.fancytree-active & {
|
||||
background-color: $fancytree-node-selected-bg;
|
||||
color: $fancytree-node-selected-color;
|
||||
}
|
||||
|
||||
// Title when focused
|
||||
.fancytree-treefocus .fancytree-selected & {
|
||||
background-color: $fancytree-node-active-bg;
|
||||
color: $fancytree-node-active-color;
|
||||
}
|
||||
}
|
||||
|
||||
// Inside dark sidebar
|
||||
.sidebar:not(.sidebar-light) {
|
||||
.fancytree-selected .fancytree-title,
|
||||
.fancytree-active .fancytree-title {
|
||||
background-color: rgba($white, 0.2);
|
||||
color: $white;
|
||||
}
|
||||
|
||||
.fancytree-treefocus .fancytree-selected .fancytree-title {
|
||||
background-color: $white;
|
||||
color: $body-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Table extension
|
||||
//
|
||||
|
||||
.fancytree-ext-table {
|
||||
|
||||
// Node
|
||||
.fancytree-node {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
// Title
|
||||
.fancytree-title {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
// Container
|
||||
&.fancytree-container {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
// Icons
|
||||
.fancytree-expander,
|
||||
.fancytree-icon,
|
||||
.fancytree-custom-icon {
|
||||
margin-top: (($icon-font-size - $font-size-base) / 2);
|
||||
}
|
||||
|
||||
// Checkboxes
|
||||
.fancytree-checkbox {
|
||||
margin: 0 auto;
|
||||
float: none;
|
||||
}
|
||||
|
||||
// Additional checkboxes
|
||||
.uniform-checker {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
// Rows
|
||||
tbody tr {
|
||||
@include transition(all ease-in-out $component-transition-timer);
|
||||
|
||||
// Checkbox cell
|
||||
td:first-child {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
// Title
|
||||
.fancytree-title {
|
||||
background-color: transparent;
|
||||
color: inherit !important;
|
||||
padding: 0;
|
||||
@include transition(none);
|
||||
}
|
||||
|
||||
// Focused items
|
||||
&.fancytree-focused,
|
||||
&.fancytree-active {
|
||||
background-color: $table-accent-bg;
|
||||
}
|
||||
|
||||
// Selected items
|
||||
&.fancytree-selected {
|
||||
background-color: $fancytree-node-active-bg;
|
||||
color: $fancytree-node-active-color;
|
||||
|
||||
// Checkbox
|
||||
.fancytree-checkbox,
|
||||
.uniform-checker span {
|
||||
color: $fancytree-node-active-color;
|
||||
border-color: $fancytree-node-active-color;
|
||||
}
|
||||
|
||||
// Title bg override
|
||||
.fancytree-title {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
// Focused and selected
|
||||
.fancytree-treefocus &.fancytree-selected {
|
||||
.fancytree-title {
|
||||
@include transition(color ease-in-out $component-transition-timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Child Counter extension
|
||||
//
|
||||
|
||||
.fancytree-ext-childcounter .fancytree-childcounter {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: $fancytree-node-padding-y;
|
||||
color: $gray-600;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Helpers
|
||||
//
|
||||
|
||||
// Hide original elements
|
||||
.fancytree-helper-hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
// Indeterminate state
|
||||
.fancytree-helper-indeterminate-cb {
|
||||
color: $gray-700;
|
||||
}
|
||||
|
||||
// Disabled state
|
||||
.fancytree-helper-disabled {
|
||||
color: $gray-900;
|
||||
}
|
||||
|
||||
// Spinner
|
||||
.fancytree-helper-spin {
|
||||
animation: rotation 1s linear infinite;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,392 @@
|
||||
/* ------------------------------------------------------------------------------
|
||||
*
|
||||
* # Image cropper
|
||||
*
|
||||
* Styles for cropper.min.js - a simple jQuery image cropping plugin
|
||||
*
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
// Check if component is enabled
|
||||
@if $enable-image-cropper {
|
||||
|
||||
|
||||
//
|
||||
// Demo
|
||||
//
|
||||
|
||||
// Grey demo container
|
||||
.image-cropper-container {
|
||||
/*rtl:ignore*/
|
||||
direction: ltr;
|
||||
height: 400px;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");
|
||||
}
|
||||
|
||||
// Demo previews
|
||||
.eg-preview {
|
||||
|
||||
// Preview container
|
||||
.preview {
|
||||
/*rtl:ignore*/
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
// Large
|
||||
.preview-lg {
|
||||
@include size(150px);
|
||||
}
|
||||
|
||||
// Base
|
||||
.preview-md {
|
||||
@include size(120px);
|
||||
}
|
||||
|
||||
// Small
|
||||
.preview-sm {
|
||||
@include size(90px);
|
||||
}
|
||||
|
||||
// Mini
|
||||
.preview-xs {
|
||||
@include size(60px);
|
||||
}
|
||||
|
||||
// Micro
|
||||
.preview-xxs {
|
||||
@include size(40px);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Core
|
||||
//
|
||||
|
||||
// Main container
|
||||
.cropper-container {
|
||||
/*rtl:ignore*/
|
||||
direction: ltr !important;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
touch-action: none;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-touch-callout: none;
|
||||
user-select: none;
|
||||
|
||||
// Image
|
||||
img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-width: 0 !important;
|
||||
max-width: none !important;
|
||||
height: 100%;
|
||||
min-height: 0 !important;
|
||||
max-height: none !important;
|
||||
image-orientation: 0deg !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Containers
|
||||
.cropper-wrap-box,
|
||||
.cropper-canvas,
|
||||
.cropper-drag-box,
|
||||
.cropper-crop-box,
|
||||
.cropper-modal {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
// Wrap box
|
||||
.cropper-wrap-box {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
// Drag box
|
||||
.cropper-drag-box {
|
||||
background-color: $white;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
// Modal
|
||||
.cropper-modal {
|
||||
background-color: $modal-backdrop-bg;
|
||||
opacity: $modal-backdrop-opacity;
|
||||
}
|
||||
|
||||
// View box
|
||||
.cropper-view-box {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
@include size(100%);
|
||||
}
|
||||
|
||||
// Dashed cropper
|
||||
.cropper-dashed {
|
||||
position: absolute;
|
||||
display: block;
|
||||
border: 0 dashed $cropper-grid-color;
|
||||
opacity: 0.5;
|
||||
|
||||
// Horizontal
|
||||
&.dashed-h {
|
||||
top: 33.33333%;
|
||||
/*rtl:ignore*/
|
||||
left: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 33.33333%;
|
||||
border-top-width: $cropper-grid-size;
|
||||
border-bottom-width: $cropper-grid-size;
|
||||
}
|
||||
|
||||
// Vertical
|
||||
&.dashed-v {
|
||||
top: 0;
|
||||
/*rtl:ignore*/
|
||||
left: 33.33333%;
|
||||
width: 33.33333%;
|
||||
height: 100%;
|
||||
border-right-width: $cropper-grid-size;
|
||||
border-left-width: $cropper-grid-size;
|
||||
}
|
||||
}
|
||||
|
||||
// Center cropper
|
||||
.cropper-center {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
/*rtl:ignore*/
|
||||
left: 50%;
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
opacity: 0.75;
|
||||
transform: translate(-50%, -50%);
|
||||
|
||||
// Lines
|
||||
&:before,
|
||||
&:after {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
display: block;
|
||||
background-color: $cropper-grid-color;
|
||||
}
|
||||
&:before {
|
||||
top: 0;
|
||||
/*rtl:ignore*/
|
||||
left: -(($cropper-grid-center-size - $cropper-grid-size) / 2);
|
||||
width: $cropper-grid-center-size;
|
||||
height: $cropper-grid-size;
|
||||
}
|
||||
&:after {
|
||||
top: -(($cropper-grid-center-size - $cropper-grid-size) / 2);
|
||||
/*rtl:ignore*/
|
||||
left: 0;
|
||||
width: $cropper-grid-size;
|
||||
height: $cropper-grid-center-size;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Cropper area
|
||||
//
|
||||
|
||||
// Common
|
||||
.cropper-face,
|
||||
.cropper-line,
|
||||
.cropper-point {
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0.1;
|
||||
}
|
||||
|
||||
// Main area
|
||||
.cropper-face {
|
||||
top: 0;
|
||||
/*rtl:ignore*/
|
||||
left: 0;
|
||||
background-color: $white;
|
||||
}
|
||||
|
||||
// Lines
|
||||
.cropper-line {
|
||||
background-color: $cropper-resizer-color;
|
||||
|
||||
// Right
|
||||
&.line-e {
|
||||
top: 0;
|
||||
/*rtl:ignore*/
|
||||
right: -($cropper-resizer-size / 2);
|
||||
width: $cropper-resizer-size;
|
||||
cursor: e-resize;
|
||||
}
|
||||
|
||||
// Top
|
||||
&.line-n {
|
||||
top: -($cropper-resizer-size / 2);
|
||||
/*rtl:ignore*/
|
||||
left: 0;
|
||||
height: $cropper-resizer-size;
|
||||
cursor: n-resize;
|
||||
}
|
||||
|
||||
// Left
|
||||
&.line-w {
|
||||
top: 0;
|
||||
/*rtl:ignore*/
|
||||
left: -($cropper-resizer-size / 2);
|
||||
width: $cropper-resizer-size;
|
||||
cursor: w-resize;
|
||||
}
|
||||
|
||||
// Bottom
|
||||
&.line-s {
|
||||
bottom: -($cropper-resizer-size / 2);
|
||||
/*rtl:ignore*/
|
||||
left: 0;
|
||||
height: $cropper-resizer-size;
|
||||
cursor: s-resize;
|
||||
}
|
||||
}
|
||||
|
||||
// Points
|
||||
.cropper-point {
|
||||
background-color: $cropper-resizer-color;
|
||||
opacity: 0.75;
|
||||
@include size($cropper-resizer-size);
|
||||
|
||||
&.point-e {
|
||||
top: 50%;
|
||||
/*rtl:ignore*/
|
||||
right: -($cropper-resizer-size / 2);
|
||||
margin-top: -($cropper-resizer-size / 2);
|
||||
cursor: e-resize;
|
||||
}
|
||||
|
||||
&.point-n {
|
||||
top: -($cropper-resizer-size / 2);
|
||||
/*rtl:ignore*/
|
||||
left: 50%;
|
||||
margin-left: -($cropper-resizer-size / 2);
|
||||
cursor: n-resize;
|
||||
}
|
||||
|
||||
&.point-w {
|
||||
top: 50%;
|
||||
/*rtl:ignore*/
|
||||
left: -($cropper-resizer-size / 2);
|
||||
margin-top: -($cropper-resizer-size / 2);
|
||||
cursor: w-resize;
|
||||
}
|
||||
|
||||
&.point-s {
|
||||
bottom: -($cropper-resizer-size / 2);
|
||||
/*rtl:ignore*/
|
||||
left: 50%;
|
||||
margin-left: -($cropper-resizer-size / 2);
|
||||
cursor: s-resize;
|
||||
}
|
||||
|
||||
&.point-ne {
|
||||
top: -($cropper-resizer-size / 2);
|
||||
/*rtl:ignore*/
|
||||
right: -($cropper-resizer-size / 2);
|
||||
cursor: ne-resize;
|
||||
}
|
||||
|
||||
&.point-nw {
|
||||
top: -($cropper-resizer-size / 2);
|
||||
/*rtl:ignore*/
|
||||
left: -($cropper-resizer-size / 2);
|
||||
cursor: nw-resize;
|
||||
}
|
||||
|
||||
&.point-sw {
|
||||
bottom: -($cropper-resizer-size / 2);
|
||||
/*rtl:ignore*/
|
||||
left: -($cropper-resizer-size / 2);
|
||||
cursor: sw-resize;
|
||||
}
|
||||
|
||||
&.point-se {
|
||||
/*rtl:ignore*/
|
||||
right: -($cropper-resizer-size / 2);
|
||||
bottom: -($cropper-resizer-size / 2);
|
||||
cursor: se-resize;
|
||||
opacity: 1;
|
||||
@include size($cropper-resizer-size);
|
||||
|
||||
&:before {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
/*rtl:ignore*/
|
||||
right: -50%;
|
||||
bottom: -50%;
|
||||
display: block;
|
||||
background-color: $cropper-resizer-color;
|
||||
opacity: 0;
|
||||
@include size(200%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Misc
|
||||
//
|
||||
|
||||
// Background
|
||||
.cropper-bg {
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');
|
||||
}
|
||||
|
||||
// Invisible elements
|
||||
.cropper-invisible {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
// Hidden elements
|
||||
.cropper-hide {
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
.cropper-hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
// Disabled elements
|
||||
.cropper-disabled {
|
||||
.cropper-drag-box,
|
||||
.cropper-face,
|
||||
.cropper-line,
|
||||
.cropper-point {
|
||||
cursor: $cursor-disabled;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Cursors
|
||||
//
|
||||
|
||||
// Move
|
||||
.cropper-move {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
// Crop
|
||||
.cropper-crop {
|
||||
cursor: crosshair;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,369 @@
|
||||
/* ------------------------------------------------------------------------------
|
||||
*
|
||||
* # Ladda progress buttons
|
||||
*
|
||||
* Styles for ladda.min.js - buttons with built-in loading indicators
|
||||
*
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
// Check if component is enabled
|
||||
@if $enable-ladda {
|
||||
|
||||
// Common styles
|
||||
.btn-ladda {
|
||||
&,
|
||||
.ladda-spinner,
|
||||
.ladda-label {
|
||||
@include 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: rgba($black, 0.2);
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
|
||||
@include transition(all linear 0.3s);
|
||||
}
|
||||
&[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 {
|
||||
@include 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 {
|
||||
transform: none;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Zoom in
|
||||
&[data-style=zoom-in] {
|
||||
.ladda-spinner {
|
||||
transform: scale(0.2);
|
||||
}
|
||||
|
||||
&[data-loading] {
|
||||
.ladda-label {
|
||||
transform: scale(2.2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Zoom out
|
||||
&[data-style=zoom-out] {
|
||||
.ladda-spinner {
|
||||
transform: scale(2.5);
|
||||
}
|
||||
|
||||
&[data-loading] {
|
||||
.ladda-label {
|
||||
transform: 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;
|
||||
|
||||
@include transition(all ease-in-out 0.5s);
|
||||
|
||||
.ladda-spinner {
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
&[data-loading] {
|
||||
@include border-radius($border-radius-round);
|
||||
|
||||
.ladda-label {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.ladda-spinner {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user