Files
dev-chiefworks f76abffdcd first commit
2022-05-31 16:21:53 -04:00

1910 lines
43 KiB
SCSS

/* ------------------------------------------------------------------------------
*
* # Handsontable
*
* Styles for handsontable.min.js - JavaScript Spreadsheet library
*
* ---------------------------------------------------------------------------- */
// Check if component is enabled
@if $enable-handsontable {
/*rtl:begin:ignore*/
//
// Base
//
// Container
.hot-container {
position: relative;
box-shadow: 0 0 0 $table-border-width $table-border-color;
overflow: hidden;
text-align: left;
// Scrolling
&.hot-scrollable {
height: $hot-scrollable-max-height;
}
// If no scrolling, stretch holder vertically
&:not(.hot-scrollable) > .handsontable > .ht_master > .wtHolder {
height: 100%!important;
}
// Mobile view
@include media-breakpoint-down(sm) {
overflow-x: hidden;
overflow-y: auto;
// Remove holder strtching
.ht_master .wtHolder {
max-width: 100%;
min-width: auto;
}
// If no scrolling, stretch holder vertically
&:not(.hot-scrollable) .wtHolder {
height: 100%!important;
}
}
}
// Core
.handsontable {
position: relative;
direction: ltr;
// Hide helper
.hide {
display: none;
}
// Relative position helper
.relative {
position: relative;
}
// Auto size
&.htAutoSize {
visibility: hidden;
left: -99000px;
position: absolute;
top: -99000px;
}
// Hider
.wtHider {
position: relative;
width: 0;
}
// Spreader
.wtSpreader {
position: relative;
width: 0;
height: auto;
}
// Read only cells
.htDimmed {
color: $gray-600;
}
}
// Table core
.handsontable {
// Element's box sizing
table,
tbody,
thead,
td,
th,
input,
textarea,
div {
box-sizing: content-box;
}
// Inputs
input,
textarea {
min-height: initial;
}
// Core table
table.htCore {
border-collapse: separate;
border-spacing: 0;
margin: 0;
border-width: 0;
table-layout: fixed;
width: 0;
outline-width: 0;
max-width: none;
max-height: none;
}
// Column
col {
&,
&.rowHeader {
width: $hot-row-header-width;
}
}
}
// Table elements
// ------------------------------
.handsontable {
//
// Table cells base
//
// Common styles
th,
td {
position: relative;
border-top-width: 0;
border-left-width: 0;
border-right: $table-border-width solid $table-border-color;
border-bottom: $table-border-width solid $table-border-color;
height: $hot-cell-height;
empty-cells: show;
padding: 0 $hot-cell-padding-x;
overflow: hidden;
outline-width: 0;
white-space: pre-line;
}
// Content cells
td {
// Default background color
&:not([class*=bg-]) {
background-color: $hot-cell-bg;
}
// Invalid state
&.htInvalid {
background-color: $color-danger-50 !important; // gives priority over td.area selection background
}
// Prevent wrapping
&.htNoWrap {
white-space: nowrap;
}
// Active cell
&.active {
background-color: $table-active-bg;
}
// Highlighted area
&.area {
background-color: $hot-cell-highlight-bg;
}
}
// Table headers
th {
text-align: center;
font-weight: normal;
white-space: nowrap;
// Default background color
&:not([class*=bg-]) {
background-color: $hot-header-bg;
}
}
// Control paddings in table head
thead th {
padding: 0;
// Text
.relative {
padding: 0 $hot-cell-padding-x;
}
}
//
// Selection
//
// When cell is selected
tbody th.ht__highlight,
thead th.ht__highlight {
background-color: darken($hot-header-bg, 2.5%);
}
// When column is selected
&.ht__selection--columns thead th.ht__highlight,
&.ht__selection--rows tbody th.ht__highlight {
background-color: $hot-cell-highlight-bg;
}
//
// Borders
//
// If no frame
tr:first-child th.htNoFrame,
th:first-child.htNoFrame,
th.htNoFrame {
border-left-width: 0;
background-color: $hot-cell-bg;
border-color: $hot-cell-bg;
}
// Add left border to first cells
th:first-child,
th:nth-child(2),
td:first-of-type,
.htNoFrame + th,
.htNoFrame + td {
border-left: $table-border-width solid $table-border-color;
}
// Add left border to headers starting from second
&.htRowHeaders thead tr th:nth-child(2) {
border-left: $table-border-width solid $table-border-color;
}
// Cells in first row have top border
tr:first-child {
th,
td {
border-top: $table-border-width solid $table-border-color;
}
}
}
// Borders control
// ------------------------------
// Remove double borders in scrollable master table
.ht_master {
// Left borders
&:not(.innerBorderLeft):not(.emptyColumns) {
~ .handsontable tbody tr th,
~ .handsontable:not(.ht_clone_top) thead tr th:first-child {
border-right-width: 0;
}
}
// Bottom borders
&:not(.innerBorderTop) {
thead tr:last-child th,
thead tr.lastChild th,
~ .handsontable thead tr:last-child th,
~ .handsontable thead tr.lastChild th {
border-bottom-width: 0;
}
}
.htRowHeaders &.innerBorderLeft {
~ .ht_clone_top_left_corner th:nth-child(2),
~ .ht_clone_left td:first-of-type {
border-left-width: 0;
}
}
}
//
// Top border
//
// Top border in first cells
.ht_master {
tbody tr:first-child td {
border-top-color: transparent;
}
}
// Top cloned
.ht_clone_top {
tr:first-child th,
tr:first-child td {
border-top-color: transparent;
}
}
// Left cloned
.ht_clone_left,
.ht_clone_top_left_corner {
thead tr:first-child th,
tbody tr:first-child td,
tbody tr:first-child th {
border-top-color: transparent;
}
}
//
// Left border
//
// Left border in first cells
.handsontable {
th:first-child,
td:first-child {
border-left-color: transparent;
}
}
//
// Right border
//
// Right border in right cells
.ht_master td:last-child,
.ht_clone_top th:last-child,
.ht_clone_top td:last-child {
border-right-color: transparent;
}
//
// Bottom border
//
// Bottom border in last cells
.ht_master,
.ht_clone_left {
tbody tr:last-child th,
tbody tr:last-child td {
border-bottom-color: transparent;
}
}
//
// Override top borders
//
// Top border if table has both row and column headers
.htRowHeaders.htColumnHeaders {
.ht_clone_top_left_corner,
.ht_clone_left {
tbody tr:first-child th {
border-top-color: $table-border-color;
}
}
}
// Top border if only column header
.htColumnHeaders .handsontable {
tr:first-child td {
border-top-color: $table-border-color;
}
}
// Plugins
// ------------------------------
//
// Column and row resizer
//
// Common styles
.manualColumnResizer,
.manualRowResizer {
// Display if active
&.active {
display: block;
z-index: 199;
}
// Apply background color
&:hover,
&.active {
background-color: $table-active-bg;
}
}
// Column resizer
.manualColumnResizer {
position: fixed;
top: 0;
cursor: col-resize;
z-index: 110;
width: 0.3125rem;
height: $hot-cell-height;
}
// Row resizer
.manualRowResizer {
position: fixed;
left: 0;
cursor: row-resize;
z-index: 110;
height: 0.3125rem;
width: ($hot-cell-height * 2);
}
// Column resizer guide
.manualColumnResizerGuide {
position: fixed;
right: 0;
top: 0;
background-color: $table-active-bg;
display: none;
width: 0;
border-right: $table-border-width dashed $table-border-color;
margin-left: 0.3125rem;
}
// Row resizer guide
.manualRowResizerGuide {
position: fixed;
left: 0;
bottom: 0;
background-color: $table-active-bg;
display: none;
height: 0;
border-bottom: $table-border-width dashed $table-border-color;
margin-top: 0.3125rem;
}
//
// Sorting
//
.handsontable {
// Cell with enabled sorting
.columnSorting {
position: relative;
cursor: pointer;
// Arrows
&:before,
&:after {
font-family: $icon-font-family;
font-size: $font-size-sm;
position: absolute;
display: inline-block;
top: 50%;
transform: translateY(-50%);
right: -($icon-font-size + $element-spacer-x);
line-height: 1;
opacity: 0.5;
@include ll-font-smoothing();
@include transition(opacity ease-in-out $component-transition-timer);
}
&:before {
content: $icon-table-sorting-down;
margin-top: ($font-size-sm / 3);
}
&:after {
content: $icon-table-sorting-up;
margin-top: -($font-size-sm / 3);
}
&.ascending {
&:before {
content: none;
}
&:after {
margin-top: 0;
}
}
&.descending {
&:before {
margin-top: 0;
}
&:after {
content: none;
}
}
// Hover state
@include hover {
&:before,
&:after {
opacity: 1;
}
}
}
}
//
// Border lines
//
// Width border
.wtBorder {
position: absolute;
font-size: 0;
// Hidden border
&.hidden {
display: none!important;
}
// Corners
&.corner {
font-size: 0;
cursor: crosshair;
}
}
// Height border
.htBorder {
&.htFillBorder {
background-color: theme-color("primary");
width: $table-border-width;
height: $table-border-width;
}
}
//
// Inputs
//
// Input
.handsontableInput {
border: 0;
outline-width: 0;
margin: 0;
padding: 0 ($hot-cell-padding-x + rem-calc($table-border-width));
padding-top: rem-calc($table-border-width);
font-family: inherit;
height: $hot-cell-height;
line-height: $hot-cell-height;
font-size: inherit;
resize: none;
display: block;
width: auto!important;
background-color: $hot-cell-bg;
box-shadow: 0 0 0 ($table-border-width * 2) $hot-cell-highlight-border-color inset;
}
// Input holder
.handsontableInputHolder {
position: absolute;
top: 0;
left: 0;
z-index: 100;
}
// Editor
.htSelectEditor {
-webkit-appearance: menulist-button !important;
position: absolute;
width: auto;
outline: 0;
@include border-radius(0);
}
//
// Submenu
//
.htSubmenu {
position: relative;
// Arrow
> div:after{
content: $icon-menu-sub-arrow-ltr;
font-family: $icon-font-family;
position: absolute;
top: 50%;
margin-top: -($icon-font-size / 2);
right: $dropdown-item-padding-x;
font-size: $icon-font-size;
line-height: 1;
opacity: 0.8;
@include ll-font-smoothing();
}
}
//
// Alignment classes
//
.handsontable {
// Horizontal
.htLeft {
text-align: left;
}
.htCenter {
text-align: center;
}
.htRight {
text-align: right;
}
.htJustify {
text-align: justify;
}
// Vertical
.htTop {
vertical-align: top;
}
.htMiddle {
vertical-align: middle;
}
.htBottom {
vertical-align: bottom;
}
}
//
// Autocomplete
//
// Placeholder
.htPlaceholder {
color: $input-placeholder-color;
}
// Arrow
.htAutocompleteArrow {
cursor: default;
text-indent: -9999999px;
line-height: 1;
position: absolute;
top: 50%;
right: $caret-width;
margin-top: -($caret-width / 2);
display: inline-block;
margin-right: $caret-width;
border-top: $caret-width dashed;
border-right: $caret-width solid transparent;
border-left: $caret-width solid transparent;
opacity: 0.75;
}
// Hover state
.handsontable {
td:hover,
th:hover {
.htAutocompleteArrow {
opacity: 1;
}
}
// When column is selected
td.area .htAutocompleteArrow {
color: $hot-cell-highlight-bg;
}
}
//
// Checkbox renderer
//
// Input
.htCheckboxRendererInput {
display: inline-block;
vertical-align: middle;
// Mute if no value
&.noValue {
opacity: 0.5;
}
}
// Label
.htCheckboxRendererLabel {
cursor: pointer;
display: inline-block;
width: 100%;
margin-bottom: 0;
// Add right spacing
> .htCheckboxRendererInput {
margin-right: $element-spacer-x;
}
}
//
// Tweening
//
.handsontable {
// Hide
&.hide-tween {
animation: opacity-hide 0.3s;
animation-fill-mode: forwards;
}
// Show
&.show-tween {
animation: opacity-show 0.3s;
animation-fill-mode: forwards;
}
}
// Animation
@-webkit-keyframes opacity-hide {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes opacity-hide {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-webkit-keyframes opacity-show {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes opacity-show {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
//
// Dropdown menu
//
.handsontable {
// Base
&.listbox {
margin: 0;
// Table
.ht_master table {
border-collapse: separate;
border: $table-border-width solid $table-border-color;
background-color: $hot-cell-bg;
}
// Remove borders
th,
tr:first-child th,
tr:last-child th,
tr:first-child td,
td {
border: 0;
}
// Cell and row transition
tr,
th,
td {
@include transition(all ease-in-out $component-transition-timer);
}
// Prevent wrapping
th,
td {
white-space: nowrap;
text-overflow: ellipsis;
}
// Read only cell
td.htDimmed {
cursor: pointer;
color: inherit;
font-style: inherit;
}
// Hide additional borders
.wtBorder {
visibility: hidden;
}
// Active and hover states
tr td.current,
tr:hover td {
background-color: $dropdown-link-hover-bg;
}
}
}
//
// Change cell type dropdown
//
// Header button
.changeType {
border: 0;
background-color: transparent;
padding: 0;
float: right;
margin-right: $hot-cell-padding-x;
line-height: $icon-font-size;
margin-top: ($line-height-computed - $icon-font-size) / 2;
cursor: pointer;
opacity: 0.75;
// Hover state
@include hover {
opacity: 1;
}
}
// Dropdown
.changeTypeMenu {
position: absolute;
border: $dropdown-border-width solid $dropdown-border-color;
background-color: $dropdown-bg;
padding: $dropdown-padding-y 0;
display: none;
width: $dropdown-min-width;
z-index: $zindex-dropdown;
// Menu items
li {
list-style: none;
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
padding-right: (($dropdown-item-padding-x + ($dropdown-item-padding-x / 2)) + $icon-font-size);
cursor: pointer;
position: relative;
@include transition(all ease-in-out $component-transition-timer);
// Hover state
@include hover {
background-color: $dropdown-link-hover-bg;
}
// Add checkmark icon to the active type
&.active:after {
content: $icon-checkbox-tick;
font-family: $icon-font-family;
position: absolute;
right: $dropdown-item-padding-x;
top: 50%;
margin-top: -($icon-font-size / 2);
display: inline-block;
font-size: $icon-font-size;
line-height: 1;
@include ll-font-smoothing();
}
}
}
//
// Cloned tables appearance
//
// Top
.ht_clone_top {
z-index: 101;
}
// Left
.ht_clone_left {
z-index: 102;
}
// Top left and bottom left
.ht_clone_top_left_corner,
.ht_clone_bottom_left_corner {
z-index: 103;
}
// Debug
.ht_clone_debug {
z-index: 103;
}
//
// Search results
//
.handsontable {
td.htSearchResult {
background-color: $hot-search-result-bg;
}
}
//
// Cell borders
//
// Base
.htBordered {
border-width: $table-border-width;
// Top
&.htTopBorderSolid {
border-top-style: solid;
border-top-color: $table-border-color;
}
// Right
&.htRightBorderSolid {
border-right-style: solid;
border-right-color: $table-border-color;
}
// Bottom
&.htBottomBorderSolid {
border-bottom-style: solid;
border-bottom-color: $table-border-color;
}
// Left
&.htLeftBorderSolid {
border-left-style: solid;
border-left-color: $table-border-color;
}
}
// Group indicator
.handsontable thead tr:nth-last-child(2) th.htGroupIndicatorContainer {
border-bottom: $table-border-width solid $table-border-color;
padding-bottom: $hot-cell-padding-y;
}
// Right borders
.handsontable tbody tr th:nth-last-child(2),
.ht_clone_top_left_corner thead tr th:nth-last-child(2) {
border-right: $table-border-width solid $table-border-color;
}
//
// Collapsible button
//
// Collapse button
.htCollapseButton {
line-height: 0.625rem;
text-align: center;
border: 0;
cursor: pointer;
margin-bottom: 0.1875rem;
position: relative;
@include size(0.625rem);
@include border-radius($border-radius);
&:after {
content: "";
height: 300%;
width: $table-border-width;
display: block;
background-color: #ccc;
margin-left: 0.25rem;
position: absolute;
bottom: 0.625rem;
}
// Inside thead
thead & {
position: absolute;
top: 0.3125rem;
right: 0.3125rem;
background-color: #fff;
&:after {
height: $table-border-width;
width: 700%;
right: 0.625rem;
top: 0.25rem;
}
}
}
// Expand button
.handsontable {
// Inside heading
th .htExpandButton {
position: absolute;
line-height: 0.625rem;
text-align: center;
border: 0;
cursor: pointer;
top: 0;
display: none;
@include size(0.625rem);
@include border-radius($border-radius);
// Clickable
&.clickable {
display: block;
}
}
// Inside table head
thead th .htExpandButton {
top: 0.3125rem;
}
}
// Collapsible indicator
.collapsibleIndicator {
position: absolute;
top: 50%;
transform: translate(0%, -50%);
right: 0.3125rem;
border: 0;
line-height: 0.625rem;
color: $body-color;
font-size: $font-size-base;
cursor: pointer;
background-color: $gray-300;
@include size(0.625rem);
@include border-radius($border-radius-round);
}
//
// Hidden elements
//
.handsontable {
// Hidden column
col.hidden {
width: 0!important;
}
// Lighten border
table tr th.lightRightBorder {
border-right: $table-border-width solid lighten($table-border-color, 15%);
}
// Hidden row
tr.hidden {
&,
td,
th {
display: none;
}
}
}
//
// Cloned tables overflows
//
// Common
.ht_master,
.ht_clone_left,
.ht_clone_top,
.ht_clone_bottom {
overflow: hidden;
}
// Holder
.wtHolder {
// Master
.ht_master & {
overflow: auto;
}
// Left
.ht_clone_left & {
overflow-x: hidden;
overflow-y: auto;
}
// Top and bottom
.ht_clone_top &,
.ht_clone_bottom & {
overflow-x: hidden;
overflow-y: hidden;
}
}
//
// Walkontable debug overlay
//
// Hidden
.wtDebugHidden {
display: none;
}
// Visible
.wtDebugVisible {
display: block;
animation-duration: 0.5s;
animation-name: wtFadeInFromNone;
}
// Animation
@keyframes wtFadeInFromNone {
0% {
display: none;
opacity: 0;
}
1% {
display: block;
opacity: 0;
}
100% {
display: block;
opacity: 1;
}
}
@-webkit-keyframes wtFadeInFromNone {
0% {
display: none;
opacity: 0;
}
1% {
display: block;
opacity: 0;
}
100% {
display: block;
opacity: 1;
}
}
//
// Mobile text editor
//
// Base
.handsontable {
&.mobile {
&,
.wtHolder {
-webkit-touch-callout: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-overflow-scrolling: touch;
user-select: none;
}
}
}
// Editor container
.htMobileEditorContainer {
display: none;
position: absolute;
top: 0;
width: 70%;
height: 3.375rem;
background-color: $gray-200;
border: $table-border-width solid $table-border-color;
z-index: 999;
-webkit-text-size-adjust: none;
box-sizing: border-box;
@include border-radius($border-radius-round);
// Active
&.active {
display: block;
}
// Inputs
.inputs {
position: absolute;
right: 13.13rem;
bottom: 0.625rem;
top: 0.625rem;
left: 0.875rem;
height: $input-height;
textarea {
font-size: $font-size-base;
border: $input-border-width solid $input-border-color;
-webkit-appearance: none;
position: absolute;
left: 0.875rem;
right: 0.875rem;
top: 0;
bottom: 0;
padding: $input-padding-y;
box-shadow: none;
}
}
// Cell pointer
.cellPointer {
position: absolute;
top: -0.8125rem;
height: 0;
width: 0;
left: 1.875rem;
border-left: 0.8125rem solid transparent;
border-right: 0.8125rem solid transparent;
border-bottom: 0.8125rem solid $gray-300;
// Hidden
&.hidden {
display: none;
}
// Arrow
&:before {
content: '';
display: block;
position: absolute;
top: 0.125rem;
height: 0;
width: 0;
left: -0.8125rem;
border-left: 0.8125rem solid transparent;
border-right: 0.8125rem solid transparent;
border-bottom: 0.8125rem solid $gray-200;
}
}
// Move handle
.moveHandle {
position: absolute;
top: 0.625rem;
left: 0.3125rem;
width: 1.875rem;
bottom: 0px;
cursor: move;
z-index: 9999;
&:after {
content: "..\a..\a..\a..";
white-space: pre;
line-height: 0.625rem;
font-size: 1.25rem;
display: inline-block;
margin-top: -0.5rem;
color: $gray-300;
}
}
// Position controls
.positionControls {
width: 12.81rem;
position: absolute;
right: 0.3125rem;
top: 0;
bottom: 0;
> div {
width: 3.125rem;
height: 100%;
float: left;
&:after {
content: " ";
display: block;
width: 1rem;
height: 1rem;
text-align: center;
line-height: 3.125rem;
}
}
}
//
// Buttons
//
// Base
.leftButton:after,
.rightButton:after,
.upButton:after,
.downButton:after {
margin: 1.313rem 0 0 1.313rem;
transform-origin: 0.3125rem;
}
// Left button
.leftButton {
&:after {
border-top: 0.125rem solid $hot-cell-highlight-border-color;
border-left: 0.125rem solid $hot-cell-highlight-border-color;
transform: rotate(-45deg);
}
&:active:after {
border-color: $gray-400;
}
}
// Right button
.rightButton {
&:after {
border-top: 0.125rem solid $hot-cell-highlight-border-color;
border-left: 0.125rem solid $hot-cell-highlight-border-color;
transform: rotate(135deg);
}
&:active:after {
border-color: $gray-400;
}
}
// Up button
.upButton {
&:after {
border-top: 0.125rem solid $hot-cell-highlight-border-color;
border-left: 0.125rem solid $hot-cell-highlight-border-color;
transform: rotate(45deg);
}
&:active:after {
border-color: $gray-400;
}
}
// Down button
.downButton {
&:after {
border-top: 0.125rem solid $hot-cell-highlight-border-color;
border-left: 0.125rem solid $hot-cell-highlight-border-color;
transform: rotate(225deg);
}
&:active:after {
border-color: $gray-400;
}
}
}
// Set z-index
.topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle),
.topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea) {
z-index: 9999;
}
// Initial left/top coordinates - overwritten when actual position is set
.topLeftSelectionHandle,
.topLeftSelectionHandle-HitArea,
.bottomRightSelectionHandle,
.bottomRightSelectionHandle-HitArea {
left: -10000px;
top: -10000px;
}
//
// Comments
//
// Cell styles
.htCommentCell {
position: relative;
// Corner arrow
&:after {
content: '';
position: absolute;
top: 0;
right: 0;
border-left: 0.375rem solid transparent;
border-top: 0.375rem solid red;
}
}
// Comments container
.htComments {
display: none;
z-index: $zindex-tooltip;
position: absolute;
}
// Comment styles
.htCommentTextArea {
background-color: $input-bg;
border: $dropdown-border-width solid $dropdown-border-color;
padding: $input-padding-y $input-padding-x;
box-sizing: border-box;
-webkit-appearance: none;
@include box-shadow($dropdown-box-shadow);
@include border-bottom-radius($input-border-radius);
&:focus {
outline: 0;
}
}
//
// Context menu
//
.htContextMenu {
display: none;
position: absolute;
z-index: ($zindex-modal + 1);
// Hide inner tables
.ht_clone_top,
.ht_clone_left,
.ht_clone_corner,
.ht_clone_debug {
display: none;
}
// Table with content
table.htCore {
border: $dropdown-border-width solid $dropdown-border-color;
background-color: $dropdown-bg;
padding: $dropdown-padding-y 0;
@include border-radius($dropdown-border-radius);
@include box-shadow($dropdown-box-shadow);
}
// Hide borders
.wtBorder {
visibility: hidden;
}
// Table
table tbody tr {
// Cells
td {
position: relative;
border-width: 0;
padding: ($dropdown-item-padding-y / 2) $dropdown-item-padding-x;
cursor: pointer;
@include text-truncate();
@include transition(all ease-in-out $component-transition-timer);
// No border in first cell
&:first-child {
border: 0;
}
// Read only
&.htDimmed {
color: $dropdown-link-color;
}
// Hover and active states
&.current,
&.zeroclipboard-is-hover {
background-color: $dropdown-link-hover-bg;
}
// Separator
&.htSeparator {
height: 0;
padding: 0;
background-color: transparent;
cursor: default;
> div {
height: 1px;
background-color: $dropdown-border-color;
margin: $dropdown-padding-y 0;
}
}
// Disabled state
&.htDisabled {
color: $dropdown-link-disabled-color;
&,
&:hover {
cursor: default;
}
}
// Selected cell
div span.selected {
position: absolute;
right: $dropdown-item-padding-x;
top: 50%;
margin-top: -($icon-font-size / 2);
font-size: 0;
color: $color-grey-500;
// Icon indicator
&:after {
content: $icon-checkbox-tick;
font-family: $icon-font-family;
display: inline-block;
font-size: $icon-font-size;
line-height: 1;
@include ll-font-smoothing();
}
}
}
// Hidden row
&.htHidden {
display: none;
}
}
// Hide overflows in table holder
.ht_master .wtHolder {
overflow: hidden;
}
}
// Sub menu
.htContextMenuSub_Alignment {
margin-top: -($dropdown-padding-y);
margin-left: -($dropdown-border-width);
}
// Display as buttons
.global-zeroclipboard-container,
.global-zeroclipboard-flash-bridge {
cursor: pointer;
}
// Copy - paste textarea
textarea#HandsontableCopyPaste {
position: fixed !important;
top: 0 !important;
right: 100% !important;
overflow: hidden;
opacity: 0;
outline: 0 none !important;
}
//
// Columns and rows dragging
//
// Cursor
.ht__manualColumnMove.after-selection--columns thead th.ht__highlight,
.ht__manualColumnMove.on-moving--columns,
.ht__manualColumnMove.on-moving--columns thead th.ht__highlight,
.ht__manualRowMove.after-selection--rows tbody th.ht__highlight,
.ht__manualRowMove.on-moving--rows,
.ht__manualRowMove.on-moving--rows tbody th.ht__highlight {
cursor: move;
}
// Hide resizers by default
.ht__manualColumnMove.on-moving--columns .manualColumnResizer,
.ht__manualRowMove.on-moving--rows .manualRowResizer {
display: none;
}
// Guidline and overlay
.ht__manualColumnMove--guideline,
.ht__manualColumnMove--backlight,
.ht__manualRowMove--guideline,
.ht__manualRowMove--backlight {
position: absolute;
height: 100%;
display: none;
}
// Guidline
.ht__manualColumnMove--guideline,
.ht__manualRowMove--guideline {
background-color: $table-active-bg;
z-index: 105;
}
.ht__manualColumnMove--guideline {
width: ($table-border-width * 2);
margin-left: -($table-border-width);
top: 0;
}
.ht__manualRowMove--guideline {
height: ($table-border-width * 2);
margin-top: -($table-border-width);
left: 0;
}
// Overlay
.ht__manualColumnMove--backlight,
.ht__manualRowMove--backlight {
background-color: $table-active-bg;
display: none;
z-index: 105;
pointer-events: none;
}
// Show overlay and guideline
.on-moving--columns.show-ui .ht__manualColumnMove--guideline,
.on-moving--columns .ht__manualColumnMove--backlight,
.on-moving--rows.show-ui .ht__manualRowMove--guideline,
.on-moving--rows .ht__manualRowMove--backlight {
display: block;
}
// Pikaday datepicker
// ------------------------------
//
// Base
//
// Single picker
.pika-single {
z-index: $zindex-dropdown;
display: block;
position: relative;
background-color: $dropdown-bg;
border: $dropdown-border-width solid $dropdown-border-color;
margin-top: -($dropdown-border-width);
margin-left: -($dropdown-border-width);
background-clip: padding-box;
@include border-radius($border-radius);
@include box-shadow($dropdown-box-shadow);
@include clearfix;
// Hide picker
&.is-hidden {
display: none;
}
// Bounded
&.is-bound {
position: absolute;
}
}
// Container
.pika-lendar {
float: left;
max-width: $hot-datepicker-width;
margin: $datepicker-padding;
}
//
// Header
//
// Title
.pika-title {
position: relative;
text-align: center;
// Select
select {
cursor: pointer;
position: absolute;
z-index: ($zindex-dropdown - 1);
margin: 0;
left: 0;
height: $input-height;
padding: $input-padding-y $input-padding-x;
border: $input-border-width solid $input-border-color;
opacity: 0;
}
}
// Title labels
.pika-label {
display: inline-block;
position: relative;
z-index: $zindex-dropdown;
overflow: hidden;
margin: 0;
padding-top: ($datepicker-padding / 2);
padding-bottom: ($datepicker-padding / 2);
font-size: $datepicker-title-font-size;
line-height: 1;
// Style year select
& + & {
margin-left: ($datepicker-padding / 2);
top: (($font-size-base - $datepicker-title-font-size) / 2);
font-size: $font-size-base;
color: $text-muted;
}
}
//
// Prev and Next navigation
//
// Base
.pika-prev,
.pika-next {
display: block;
position: relative;
border: 0;
padding: $datepicker-item-padding;
font-size: 0;
background-color: transparent;
cursor: pointer;
@include border-radius($border-radius);
@include transition(all ease-in-out $component-transition-timer);
// Icons base
&:after {
font-family: $icon-font-family;
display: block;
font-size: $icon-font-size;
width: $icon-font-size;
text-align: center;
line-height: 1;
@include ll-font-smoothing();
}
// Highlight on hover
@include hover {
color: $datepicker-item-hover-color;
background-color: $datepicker-item-hover-bg;
}
// Disabled
&.is-disabled {
cursor: default;
opacity: .2;
}
}
// Previous button
.pika-prev {
float: left;
// Left arrow
&:after {
content: $icon-nav-prev;
}
}
// Next button
.pika-next {
float: right;
// Right arrow
&:after {
content: $icon-nav-next;
}
}
//
// Table
//
// Base
.pika-table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
border: 0;
table-layout: fixed;
// Set relative position to use angle arrow
th,
td {
position: relative;
}
// Day names
th {
text-align: center;
font-weight: $font-weight-normal;
padding-top: $datepicker-padding;
padding-bottom: $datepicker-item-padding;
font-size: $font-size-sm;
color: $datepicker-item-weekday-color;
}
// Day names label
abbr {
border-bottom: 0;
cursor: default;
text-decoration: none;
}
}
// Buttons inside table
.pika-button {
display: block;
border: 0;
margin: 0;
width: 100%;
padding: $datepicker-item-padding;
text-align: center;
background-color: transparent;
cursor: pointer;
@include border-radius($border-radius);
@include transition(all ease-in-out $component-transition-timer);
// Hover state
@include hover {
color: $datepicker-item-hover-color;
background-color: $datepicker-item-hover-bg;
}
// Selected and today highlights
.is-today & {
color: $datepicker-item-today-color;
background-color: $datepicker-item-today-bg;
}
.is-selected & {
color: $datepicker-item-active-color;
background-color: $datepicker-item-active-bg;
}
.is-today &:before,
.is-selected &:before,
.is-today.is-selected &:before {
content: "";
position: absolute;
top: ($datepicker-item-padding / 3);
right: ($datepicker-item-padding / 3);
border-top: $datepicker-item-padding solid $datepicker-item-active-color;
border-left: $datepicker-item-padding solid transparent;
@include size(0);
}
// Range
.is-startrange &,
.is-endrange & {
color: $datepicker-item-active-color;
background-color: $datepicker-item-active-bg;
}
.is-inrange & {
color: $datepicker-item-hover-color;
background-color: $datepicker-item-hover-bg;
}
// Disabled button
.is-disabled & {
pointer-events: none;
cursor: $cursor-disabled;
opacity: 0.5;
}
}
//
// Others
//
// Select
.pika-select {
display: inline-block;
}
// Week select
.pika-week {
font-size: $font-size-sm;
color: $datepicker-item-weekday-color;
}
/*rtl:end:ignore*/
}