handsontable
Version:
Handsontable is a JavaScript Data Grid available for React, Angular and Vue.
1,532 lines (1,499 loc) • 86 kB
CSS
/*!
* Copyright (c) HANDSONCODE sp. z o. o.
*
* HANDSONTABLE is a software distributed by HANDSONCODE sp. z o. o., a Polish corporation based in
* Gdynia, Poland, at Aleja Zwyciestwa 96-98, registered by the District Court in Gdansk under number
* 538651, EU tax ID number: PL5862294002, share capital: PLN 62,800.00.
*
* This software is protected by applicable copyright laws, including international treaties, and dual-
* licensed - depending on whether your use for commercial purposes, meaning intended for or
* resulting in commercial advantage or monetary compensation, or not.
*
* If your use is strictly personal or solely for evaluation purposes, meaning for the purposes of testing
* the suitability, performance, and usefulness of this software outside the production environment,
* you agree to be bound by the terms included in the "handsontable-non-commercial-license.pdf" file.
*
* Your use of this software for commercial purposes is subject to the terms included in an applicable
* license agreement.
*
* In any case, you must not make any such use of this software as to develop software which may be
* considered competitive with this software.
*
* UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN "AS IS"
* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO
* LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
* USE OR INABILITY TO USE THIS SOFTWARE.
*
* Version: 16.0.1
* Release date: 10/07/2025 (built at 10/07/2025 10:59:04)
*/
.ht-root-wrapper:not([class*=ht-theme]),
.ht-portal:not([class*=ht-theme]) {
--ht-gap-size: 4px;
--ht-checkbox-size: 16px;
--ht-cell-horizontal-padding: 8px;
--ht-cell-vertical-padding: 4px;
--ht-font-size: 14px;
--ht-line-height: 20px;
--ht-letter-spacing: 0;
--ht-border-color: #222222;
--ht-foreground-color: #222222;
--ht-background-color: #ffffff;
--ht-header-foreground-color: #222222;
--ht-header-background-color: #f7f7f9;
--ht-header-row-foreground-color: #222222;
--ht-header-row-background-color: #f7f7f9;
--ht-cell-horizontal-border-color: #222222;
--ht-cell-vertical-border-color: #222222;
--ht-header-active-border-color: #1a42e8;
--ht-header-active-foreground-color: #ffffff;
--ht-header-active-background-color: #1a42e8;
--ht-header-row-active-foreground-color: #fff;
--ht-header-row-active-background-color: #1a42e8;
--ht-cell-selection-border-color: #1a42e8;
}
.ht-root-wrapper .htFocusCatcher {
position: absolute;
width: 0;
height: 0;
margin: 0;
padding: 0;
border: 0;
opacity: 0;
z-index: -1;
}
.handsontable {
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Arial, sans-serif;
position: relative;
font-size: var(--ht-font-size);
line-height: var(--ht-line-height);
font-weight: var(--ht-font-weight);
letter-spacing: var(--ht-letter-spacing);
color: var(--ht-foreground-color);
/* Miscellaneous */
touch-action: manipulation;
scrollbar-width: thin;
scrollbar-color: var(--ht-scrollbar-thumb-color) var(--ht-scrollbar-track-color);
}
.handsontable .wtHolder::-webkit-scrollbar {
width: 9px;
height: 9px;
}
.handsontable .wtHolder::-webkit-scrollbar-track {
background: var(--ht-scrollbar-track-color);
border-radius: var(--ht-scrollbar-border-radius);
}
.handsontable .wtHolder::-webkit-scrollbar-thumb {
background-color: var(--ht-scrollbar-thumb-color);
border-radius: var(--ht-scrollbar-border-radius);
}
.handsontable .wtHolder::-webkit-scrollbar-corner {
background: var(--ht-scrollbar-track-color);
border-end-end-radius: var(--ht-scrollbar-border-radius);
}
.handsontable.ht-wrapper {
border-radius: var(--ht-wrapper-border-radius, 0);
}
.handsontable.ht-wrapper::before {
content: "";
display: block;
position: absolute;
inset: 0;
border: var(--ht-wrapper-border-width) solid var(--ht-wrapper-border-color);
border-radius: var(--ht-wrapper-border-radius, 0);
z-index: 999;
pointer-events: none;
overflow: hidden;
}
.handsontable.htGhostTable table thead th {
border-bottom-width: 0;
}
.handsontable.htGhostTable table tbody tr th,
.handsontable.htGhostTable table tbody tr td {
border-top-width: 0;
height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px);
}
.handsontable.htGhostTable table.htGhostTableFirstRow tbody tr th,
.handsontable.htGhostTable table.htGhostTableFirstRow tbody tr td {
border-top-width: 1px;
height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 2px);
}
.handsontable.htHasScrollX .ht_master .wtHolder, .handsontable.htHasScrollY .ht_master .wtHolder {
background-color: var(--ht-background-color);
border-radius: var(--ht-wrapper-border-radius, 0);
}
.handsontable tr.ht__row_even th {
background-color: var(--ht-row-header-even-background-color);
}
.handsontable tr.ht__row_even td {
background-color: var(--ht-row-cell-even-background-color);
}
.handsontable tr.ht__row_odd th {
background-color: var(--ht-row-header-odd-background-color);
}
.handsontable tr.ht__row_odd td {
background-color: var(--ht-row-cell-odd-background-color);
}
.handsontable th,
.handsontable td {
height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px);
padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
vertical-align: top;
border-top-width: 0;
border-inline-start-width: 0;
border-inline-end-width: 1px;
border-bottom-width: 1px;
border-style: solid;
font-size: var(--ht-font-size);
line-height: var(--ht-line-height);
white-space: pre-wrap;
overflow: hidden;
outline: none;
outline-width: 0;
empty-cells: show;
box-sizing: border-box;
color: var(--ht-foreground-color);
border-top-color: var(--ht-cell-vertical-border-color);
border-bottom-color: var(--ht-cell-vertical-border-color);
border-inline-start-color: var(--ht-cell-horizontal-border-color);
border-inline-end-color: var(--ht-cell-horizontal-border-color);
}
.handsontable th.invisibleSelection,
.handsontable td.invisibleSelection {
outline: none;
}
.handsontable th.invisibleSelection::selection,
.handsontable td.invisibleSelection::selection {
background: transparent;
}
.handsontable td:first-of-type {
border-inline-start-width: 1px;
}
.handsontable th {
position: relative;
overflow: visible;
text-align: center;
font-weight: var(--ht-header-font-weight);
white-space: nowrap;
color: var(--ht-header-foreground-color);
background-color: var(--ht-header-background-color);
}
.handsontable th:last-child {
/* Foundation framework fix */
border-inline-start-width: 0;
border-inline-end-width: 1px;
border-bottom-width: 1px;
border-inline-end-color: var(--ht-border-color);
}
.handsontable th:last-child.ht__active_highlight {
border-inline-end-color: var(--ht-header-active-border-color);
}
.handsontable th:first-child {
border-inline-start-color: var(--ht-border-color);
}
.handsontable th:first-child.ht__active_highlight {
border-inline-start-color: var(--ht-header-active-border-color);
}
.handsontable th:first-child, .handsontable th:nth-child(2) {
border-inline-start-width: 1px;
}
.handsontable th.current {
box-shadow: inset 0 0 0 1px var(--ht-cell-selection-border-color);
}
.handsontable th.active {
color: var(--ht-header-active-foreground-color);
background-color: var(--ht-header-active-background-color);
}
.handsontable th.ht__highlight {
color: var(--ht-header-highlighted-foreground-color);
background-color: var(--ht-header-highlighted-background-color);
}
.handsontable th.ht__active_highlight {
border-color: var(--ht-header-active-border-color);
color: var(--ht-header-active-foreground-color);
background-color: var(--ht-header-active-background-color);
}
.handsontable tbody tr.ht__row_odd th.ht__highlight, .handsontable tbody tr.ht__row_even th.ht__highlight {
color: var(--ht-header-row-highlighted-foreground-color);
background-color: var(--ht-header-row-highlighted-background-color);
}
.handsontable tbody tr.ht__row_odd th.ht__active_highlight, .handsontable tbody tr.ht__row_even th.ht__active_highlight {
color: var(--ht-header-row-active-foreground-color);
background-color: var(--ht-header-row-active-background-color);
}
.handsontable tbody tr:first-of-type th,
.handsontable tbody tr:first-of-type td {
height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 2px);
}
.handsontable tbody tr th {
padding: 0;
color: var(--ht-header-row-foreground-color);
background-color: var(--ht-header-row-background-color);
}
.handsontable tbody tr th.ht__active_highlight {
box-shadow: 0 -1px 0 0 var(--ht-header-active-border-color);
}
.handsontable tbody tr th .relative {
padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
height: 100%;
}
.handsontable tbody tr td:first-child {
border-inline-start-color: var(--ht-border-color);
}
.handsontable tbody tr td:last-child {
border-inline-end-color: var(--ht-border-color);
}
.handsontable thead tr th {
padding: 0;
}
.handsontable thead tr th.ht__active_highlight {
box-shadow: -1px 0 0 0 var(--ht-header-active-border-color);
}
.handsontable thead tr th .relative {
padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
}
.handsontable thead tr th .relative .colHeader {
text-overflow: ellipsis;
overflow: hidden;
vertical-align: top;
max-width: calc(100% + 1px);
}
.handsontable thead tr th .relative:has(.collapsibleIndicator, .changeType) .colHeader {
max-width: calc(100% - (var(--ht-icon-size) + var(--ht-gap-size)));
}
.handsontable tr:first-child th,
.handsontable tr:first-child td {
border-top-color: var(--ht-border-color);
border-top-width: 1px;
}
.handsontable tr:first-child th.ht__active_highlight,
.handsontable tr:first-child td.ht__active_highlight {
border-top-color: var(--ht-header-active-border-color);
}
.handsontable tr:last-child th,
.handsontable tr:last-child td {
border-bottom-color: var(--ht-border-color);
}
.handsontable tr:last-child th.ht__active_highlight,
.handsontable tr:last-child td.ht__active_highlight {
border-bottom-color: var(--ht-header-active-border-color);
}
.handsontable div[class^=ht_clone] thead .ht__highlight .relative::after {
content: "";
display: block;
position: absolute;
left: -1px;
right: -1px;
bottom: -1px;
height: var(--ht-header-highlighted-shadow-size);
background-color: var(--ht-accent-color);
}
.handsontable div[class^=ht_clone] thead tr:only-of-type .ht__highlight .relative::after {
bottom: 0;
}
.handsontable div[class^=ht_clone] tbody .ht__highlight .relative::after {
content: "";
display: block;
position: absolute;
top: -1px;
right: -1px;
bottom: -1px;
width: var(--ht-header-highlighted-shadow-size);
background-color: var(--ht-accent-color);
}
.handsontable thead tr:not(:last-child) th {
/* Fix for - nested columns with hidden column */
overflow: hidden;
}
.handsontable .hide {
display: none;
}
.handsontable .relative {
position: relative;
box-sizing: border-box;
}
.handsontable .wtHider {
width: 0;
}
.handsontable .wtSpreader {
position: relative;
/* must be 0, otherwise blank space appears in scroll demo after scrolling max to the right */
width: 0;
height: auto;
}
.handsontable .htAutoSize {
position: absolute;
left: -99000px;
top: -99000px;
visibility: hidden;
}
.handsontable .htTextEllipsis {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.handsontable table,
.handsontable tbody,
.handsontable thead,
.handsontable input,
.handsontable textarea,
.handsontable div {
box-sizing: content-box;
}
.handsontable input,
.handsontable textarea {
min-height: initial;
}
.handsontable .htCore {
width: 0;
margin: 0;
border-width: 0;
border-spacing: 0;
border-collapse: separate;
outline-width: 0;
table-layout: fixed;
cursor: default;
background-color: var(--ht-background-color);
}
.handsontable col {
width: 64px;
}
.handsontable col.rowHeader {
width: 64px;
}
.handsontable col.hidden {
width: 0 !important;
}
.handsontable span.colHeader, .handsontable span.rowHeader {
display: inline-block;
font-size: var(--ht-font-size);
line-height: var(--ht-line-height);
}
.handsontable tr.hidden {
display: none;
}
.handsontable tr.hidden td,
.handsontable tr.hidden th {
display: none;
}
.handsontable a {
color: var(--ht-link-color);
}
.handsontable a:hover {
color: var(--ht-link-hover-color);
}
.handsontable .ht_clone_top th:nth-child(2) {
border-inline-start-width: 0;
border-inline-end-width: 1px;
}
.handsontable.htRowHeaders thead tr th:nth-child(2) {
border-inline-start-width: 1px;
}
.handsontable .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,
.handsontable .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,
.handsontable .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) ~ .handsontable:not(.htGhostTable) tbody tr th,
.handsontable .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) ~ .handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child {
border-inline-end-width: 0;
border-inline-start-width: 1px;
}
.handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th, .handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) ~ .handsontable thead tr:last-child th,
.handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th, .handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) ~ .handsontable thead tr.lastChild th {
border-bottom-width: 0;
}
.handsontable .ht_master table.htCore > thead,
.handsontable .ht_master table.htCore > tbody > tr > th,
.handsontable .ht_clone_inline_start table.htCore > thead {
visibility: hidden;
}
.ht_master,
.ht_clone_inline_start,
.ht_clone_top,
.ht_clone_bottom {
overflow: hidden;
}
.ht_master .wtHolder,
.ht_clone_inline_start .wtHolder,
.ht_clone_top .wtHolder,
.ht_clone_bottom .wtHolder {
overflow: hidden;
}
.ht_master .wtHolder {
overflow: auto;
}
[dir=rtl].handsontable td[dir=ltr] {
border-inline-end-width: 0;
border-inline-start-width: 1px;
}
[dir=rtl].handsontable tbody tr td[dir=ltr]:last-child {
border-inline-start-color: var(--ht-border-color);
}
[dir=rtl].handsontable div[class^=ht_clone] tbody .ht__highlight .relative::after {
right: auto;
left: -1px;
}
.htScrollbarSafariTest::-webkit-scrollbar {
width: 9px;
height: 9px;
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_master .htCore tbody tr:first-child td:first-child {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_master .htCore tbody tr:first-child td:last-child {
border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top_inline_start_corner .htCore tbody tr:first-child td:first-child {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top .htCore tbody tr:first-child td:first-child {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top .htCore tbody tr:first-child td:last-child {
border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_inline_start .htCore tbody tr:first-child th:first-child,
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_inline_start .htCore tbody tr:first-child td:first-child {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore {
border-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore thead tr:first-child th:first-child {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore thead tr:first-child th:last-child {
border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore thead tr:last-child th:first-child {
border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore thead tr:last-child th:last-child {
border-end-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore tbody tr:last-child td:first-child {
border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore tbody tr:last-child td:last-child {
border-end-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore thead tr:first-child th:first-child {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top .htCore {
border-start-start-radius: var(--ht-wrapper-border-radius);
border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top .htCore thead tr:first-child th:first-child {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top .htCore thead tr:first-child th:last-child {
border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_inline_start .htCore {
border-start-start-radius: var(--ht-wrapper-border-radius);
border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_inline_start .htCore thead tr:first-child th:first-child {
border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:last-child th:first-child,
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:last-child td:first-child {
border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore {
border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore tr:last-child th:first-child,
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore tr:last-child td:first-child {
border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom .htCore {
border-end-start-radius: var(--ht-wrapper-border-radius);
border-end-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child th:first-child,
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child td:first-child {
border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child th:last-child,
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child td:last-child {
border-end-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper.htHasScrollX .htCore {
border-end-start-radius: 0;
border-end-end-radius: 0;
}
.handsontable.ht-wrapper.htHasScrollX .htCore thead tr:last-child th:first-child,
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child td:first-child,
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child th:first-child {
border-end-start-radius: 0 !important;
}
.handsontable.ht-wrapper.htHasScrollX .htCore thead tr:last-child th:last-child,
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child td:last-child,
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child th:last-child {
border-end-end-radius: 0 !important;
}
.handsontable.ht-wrapper.htHasScrollY .htCore {
border-start-end-radius: 0;
border-end-end-radius: 0;
}
.handsontable.ht-wrapper.htHasScrollY .htCore thead tr:first-child th:last-child,
.handsontable.ht-wrapper.htHasScrollY .htCore tbody tr:first-child td:last-child,
.handsontable.ht-wrapper.htHasScrollY .htCore tbody tr:first-child th:last-child {
border-start-end-radius: 0 !important;
}
.handsontable.ht-wrapper.htHasScrollY .htCore thead tr:last-child th:last-child,
.handsontable.ht-wrapper.htHasScrollY .htCore tbody tr:last-child td:last-child,
.handsontable.ht-wrapper.htHasScrollY .htCore tbody tr:last-child th:last-child {
border-end-end-radius: 0 !important;
}
.handsontable.mobile {
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-overflow-scrolling: touch;
}
.handsontable.mobile .wtHolder {
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-overflow-scrolling: touch;
}
.handsontable.mobile .handsontableInput:focus {
box-shadow: inset 0 0 0 2px var(--ht-accent-color);
-webkit-appearance: none;
}
.handsontable .topSelectionHandle,
.handsontable .topSelectionHandle-HitArea,
.handsontable .bottomSelectionHandle,
.handsontable .bottomSelectionHandle-HitArea {
inset-inline-start: -10000px;
inset-inline-end: unset;
top: -10000px;
z-index: 9999;
}
.handsontable.hide-tween {
-webkit-animation: opacity-hide 0.2s;
animation: opacity-hide 0.2s;
animation-fill-mode: forwards;
-webkit-animation-fill-mode: forwards;
}
.handsontable.show-tween {
-webkit-animation: opacity-show 0.3s;
animation: opacity-show 0.3s;
animation-fill-mode: forwards;
-webkit-animation-fill-mode: forwards;
}
.ht_clone_master {
z-index: 100;
}
.ht_clone_inline_start {
z-index: 120;
}
.ht_clone_bottom {
z-index: 130;
}
.ht_clone_bottom_inline_start_corner {
z-index: 150;
}
.ht_clone_top {
z-index: 160;
}
.ht_clone_top_inline_start_corner {
z-index: 180;
}
.ht_editor_hidden {
z-index: -1;
}
.ht_editor_visible {
z-index: 200;
}
.handsontable td.area {
position: relative;
}
.handsontable td.area::before {
content: "";
position: absolute;
inset: 0;
background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-1 {
position: relative;
}
.handsontable td.area-1::before {
content: "";
position: absolute;
inset: 0;
background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-2 {
position: relative;
}
.handsontable td.area-2::before {
content: "";
position: absolute;
inset: 0;
background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-3 {
position: relative;
}
.handsontable td.area-3::before {
content: "";
position: absolute;
inset: 0;
background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-4 {
position: relative;
}
.handsontable td.area-4::before {
content: "";
position: absolute;
inset: 0;
background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-5 {
position: relative;
}
.handsontable td.area-5::before {
content: "";
position: absolute;
inset: 0;
background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-6 {
position: relative;
}
.handsontable td.area-6::before {
content: "";
position: absolute;
inset: 0;
background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-7 {
position: relative;
}
.handsontable td.area-7::before {
content: "";
position: absolute;
inset: 0;
background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area:before {
opacity: 0.14;
}
.handsontable td.area-1:before {
opacity: 0.21;
}
.handsontable td.area-2:before {
opacity: 0.28;
}
.handsontable td.area-3:before {
opacity: 0.35;
}
.handsontable td.area-4:before {
opacity: 0.42;
}
.handsontable td.area-5:before {
opacity: 0.49;
}
.handsontable td.area-6:before {
opacity: 0.56;
}
.handsontable td.area-7:before {
opacity: 0.63;
}
.handsontable td.area {
border-color: color-mix(in srgb, var(--ht-border-color), var(--ht-foreground-color) 10%);
}
.handsontable .wtBorder {
position: absolute;
font-size: 0;
}
.handsontable .wtBorder:nth-child(1), .handsontable .wtBorder:nth-child(3) {
z-index: 2;
}
.handsontable .wtBorder:nth-child(2), .handsontable .wtBorder:nth-child(4) {
z-index: 1;
}
.handsontable .wtBorder.hidden {
display: none !important;
}
.handsontable .wtBorder.current {
z-index: 10;
background-color: var(--ht-cell-selection-border-color) !important;
}
.handsontable .wtBorder.area {
z-index: 8;
background-color: var(--ht-cell-selection-border-color) !important;
}
.handsontable .wtBorder.fill {
z-index: 6;
background-color: var(--ht-cell-autofill-fill-border-color, #68696c) !important;
}
.handsontable .wtBorder.corner {
border-radius: var(--ht-cell-autofill-border-radius) !important;
background-color: var(--ht-cell-autofill-background-color, #1a42e8) !important;
border-color: var(--ht-cell-autofill-border-color) !important;
font-size: 0;
cursor: crosshair;
z-index: 10;
}
.hot-display-license-info {
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Arial, sans-serif;
padding: var(--ht-license-vertical-padding, 16px) var(--ht-license-horizontal-padding, 16px);
font-size: calc(var(--ht-font-size) - 2px);
line-height: calc(var(--ht-line-height) - 2px);
color: var(--ht-license-foreground-color);
background-color: var(--ht-license-background-color, #f7f7f9);
text-align: left;
border: 1px solid var(--ht-border-color, #f7f7f9);
margin-top: 10px;
border-radius: var(--ht-wrapper-border-radius);
}
.hot-display-license-info a {
font-size: var(--ht-license-font-size);
color: var(--ht-link-color);
}
.hot-display-license-info a:hover {
color: var(--ht-link-hover-color);
}
.handsontable .htAutocompleteArrow {
position: relative;
cursor: default;
width: var(--ht-icon-size);
height: var(--ht-icon-size);
font-size: 0;
float: right;
top: calc((var(--ht-line-height) - var(--ht-icon-size)) / 2);
margin-inline-start: calc(var(--ht-gap-size) * 2);
}
.handsontable .htAutocompleteArrow::after {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
opacity: 0.6;
}
[dir=rtl].handsontable .htAutocompleteArrow {
float: left;
}
.handsontable .htCheckboxRendererInput {
position: relative;
display: inline-block;
width: var(--ht-checkbox-size);
height: var(--ht-checkbox-size);
margin: 0;
vertical-align: middle;
cursor: pointer;
margin-top: -2px;
outline: none;
}
.handsontable .htCheckboxRendererInput:first-child {
margin-inline-end: var(--ht-gap-size);
}
.handsontable .htCheckboxRendererInput:last-child {
margin-inline-start: var(--ht-gap-size);
}
.handsontable .htCheckboxRendererInput::before {
content: "";
display: inline-block;
width: var(--ht-checkbox-size);
height: var(--ht-checkbox-size);
border-radius: var(--ht-checkbox-border-radius);
border: 1px solid var(--ht-checkbox-border-color);
background-color: var(--ht-checkbox-background-color);
box-sizing: border-box;
pointer-events: none;
transition: all var(--ht-table-transition) ease-in-out;
}
.handsontable .htCheckboxRendererInput::after {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
color: var(--ht-checkbox-icon-color);
pointer-events: none;
}
.handsontable .htCheckboxRendererInput:checked::before {
border-color: var(--ht-checkbox-checked-border-color);
background-color: var(--ht-checkbox-checked-background-color);
}
.handsontable .htCheckboxRendererInput:checked::after {
color: var(--ht-checkbox-checked-icon-color);
}
.handsontable .htCheckboxRendererInput:checked:disabled::before {
border-color: var(--ht-checkbox-checked-disabled-border-color);
background-color: var(--ht-checkbox-checked-disabled-background-color);
}
.handsontable .htCheckboxRendererInput:checked:disabled::after {
color: var(--ht-checkbox-checked-disabled-icon-color);
}
.handsontable .htCheckboxRendererInput:checked:focus::before {
border-color: var(--ht-checkbox-checked-focus-border-color);
background-color: var(--ht-checkbox-checked-focus-background-color);
}
.handsontable .htCheckboxRendererInput:checked:focus::after {
color: var(--ht-checkbox-checked-focus-icon-color);
}
.handsontable .htCheckboxRendererInput:focus::before {
border-color: var(--ht-checkbox-focus-border-color);
background-color: var(--ht-checkbox-focus-background-color);
outline: 1px solid var(--ht-checkbox-focus-ring-color);
}
.handsontable .htCheckboxRendererInput:focus::after {
color: var(--ht-checkbox-focus-icon-color);
}
.handsontable .htCheckboxRendererInput:disabled {
cursor: initial;
}
.handsontable .htCheckboxRendererInput:disabled::before {
border-color: var(--ht-checkbox-disabled-border-color);
background-color: var(--ht-checkbox-disabled-background-color);
}
.handsontable .htCheckboxRendererInput:disabled::after {
color: var(--ht-checkbox-disabled-icon-color);
}
.handsontable .htCheckboxRendererInput:indeterminate::before {
border-color: var(--ht-checkbox-indeterminate-border-color);
background-color: var(--ht-checkbox-indeterminate-background-color);
}
.handsontable .htCheckboxRendererInput:indeterminate::after {
color: var(--ht-checkbox-indeterminate-icon-color);
}
.handsontable .htCheckboxRendererInput:indeterminate:disabled::before {
border-color: var(--ht-checkbox-indeterminate-disabled-border-color);
background-color: var(--ht-checkbox-indeterminate-disabled-background-color);
}
.handsontable .htCheckboxRendererInput:indeterminate:disabled::after {
color: var(--ht-checkbox-indeterminate-disabled-icon-color);
}
.handsontable .htCheckboxRendererInput:indeterminate:focus::before {
border-color: var(--ht-checkbox-indeterminate-focus-border-color);
background-color: var(--ht-checkbox-indeterminate-focus-background-color);
}
.handsontable .htCheckboxRendererInput:indeterminate:focus::after {
color: var(--ht-checkbox-indeterminate-focus-icon-color);
}
.handsontable .htCheckboxRendererInput.noValue {
opacity: 0.5;
}
.handsontable .htCheckboxRendererLabel {
display: inline-block;
position: relative;
font-size: inherit;
line-height: inherit;
cursor: pointer;
color: inherit;
margin: 0;
}
.handsontable .htCheckboxRendererLabel.fullWidth {
width: 100%;
}
.handsontable .htPlaceholder {
color: var(--ht-placeholder-color);
}
.handsontable .htDimmed {
color: var(--ht-read-only-color) !important;
background-color: var(--ht-cell-read-only-background-color) !important;
}
.handsontable .htLeft {
text-align: left;
}
.handsontable .htCenter {
text-align: center;
}
.handsontable .htRight {
text-align: right;
}
.handsontable .htJustify {
text-align: justify;
}
.handsontable .htTop {
vertical-align: top;
}
.handsontable .htMiddle {
vertical-align: middle;
}
.handsontable .htBottom {
vertical-align: bottom;
}
.handsontable .htInvalid {
/* gives priority over td.area selection background */
background-color: var(--ht-cell-error-background-color) !important;
}
.handsontable .htNoWrap {
white-space: nowrap;
}
.handsontable .htSearchResult {
background-color: var(--ht-cell-success-background-color) !important;
}
.handsontableInputHolder {
position: absolute;
top: 0;
left: 0;
}
.handsontableInputHolder .handsontableInput {
display: block;
margin: 0;
padding: calc(var(--ht-cell-vertical-padding, 4px) + 1px) calc(var(--ht-cell-horizontal-padding, 8px) + 1px);
font-family: inherit !important;
font-size: inherit !important;
line-height: inherit !important;
color: var(--ht-cell-editor-foreground-color);
background-color: var(--ht-cell-editor-background-color, #ffffff);
box-shadow: inset 0 0 0 var(--ht-cell-editor-border-width, 2px) var(--ht-cell-editor-border-color, #1a42e8), 0 0 var(--ht-cell-editor-shadow-blur-radius, 0) 0 var(--ht-cell-editor-shadow-color, transparent);
border: none;
border-radius: 0;
-webkit-appearance: none !important;
box-sizing: border-box;
/* Miscellaneous */
outline-width: 0;
/* overwrite styles potentially made by a framework */
}
.handsontableInputHolder .handsontableInput:focus {
outline: none;
}
.htSelectEditor {
position: absolute;
}
.htSelectEditor select {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
padding: calc(var(--ht-cell-vertical-padding, 4px) + 1px) calc(var(--ht-cell-horizontal-padding, 8px) + 1px);
padding-inline-end: 26px;
margin: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: var(--ht-cell-editor-foreground-color);
background-color: var(--ht-cell-editor-background-color, #ffffff);
font-family: inherit !important;
font-size: inherit !important;
line-height: inherit !important;
box-shadow: inset 0 0 0 var(--ht-cell-editor-border-width, 2px) var(--ht-cell-editor-border-color, #1a42e8), 0 0 var(--ht-cell-editor-shadow-blur-radius, 0) 0 var(--ht-cell-editor-shadow-color, transparent);
border: none;
border-radius: 0;
box-sizing: border-box;
-webkit-appearance: none !important;
}
.htSelectEditor select:focus {
outline: none;
}
.htSelectEditor .htAutocompleteArrow {
top: 50%;
transform: translateY(-50%);
margin-inline-end: 4px;
z-index: 1;
pointer-events: none;
}
.handsontable.listbox {
box-shadow: var(--ht-menu-shadow-x, 0) var(--ht-menu-shadow-y, 0) var(--ht-menu-shadow-blur, 8px) var(--ht-menu-shadow-color, rgba(0, 0, 0, 0.08));
margin: 0;
border: var(--ht-menu-border-width, 1px) solid var(--ht-menu-border-color, #e5e5e9);
}
.handsontable.listbox .ht_master {
overflow: hidden;
background-color: var(--ht-background-color);
}
.handsontable.listbox .wtHolder {
overflow: auto;
border-radius: 0 !important;
}
.handsontable.listbox .wtHider, .handsontable.listbox .htCore {
border-radius: 0 !important;
}
.handsontable.listbox table {
overflow: hidden;
}
.handsontable.listbox table th,
.handsontable.listbox table tr:first-child th,
.handsontable.listbox table tr:last-child th,
.handsontable.listbox table tr:first-child td,
.handsontable.listbox table td {
border-color: transparent !important;
}
.handsontable.listbox table th,
.handsontable.listbox table td {
white-space: nowrap;
text-overflow: ellipsis;
border-radius: 0 !important;
}
.handsontable.listbox table .wtBorder {
visibility: hidden;
}
.handsontable.listbox table strong {
font-weight: bold;
color: inherit;
}
.handsontable.listbox table tr td:hover td {
background: var(--ht-menu-item-hover-color, #e5e5e9) !important;
cursor: pointer;
box-shadow: none !important;
}
.handsontable.listbox table td {
transition: var(--ht-table-transition) background ease-in-out;
}
.handsontable.listbox table td:hover {
background-color: var(--ht-menu-item-hover-color, #e5e5e9) !important;
cursor: pointer;
}
.handsontable.listbox table td.current:not([aria-expanded=true]) {
box-shadow: inset 0 0 0 1px var(--ht-accent-color);
}
.handsontable.listbox table td.htDimmed {
cursor: default;
font-style: inherit;
color: inherit !important;
}
.handsontable.listbox table td.htDimmed:not(.handsontable.listbox table td:hover) {
background-color: inherit !important;
}
.handsontable.listbox table thead th {
height: auto !important;
text-align: left;
border-width: 0 1px 1px;
}
.handsontable.listbox table thead th > div {
padding-top: 8px;
padding-bottom: 8px;
}
.handsontable.listbox table thead th:first-child {
padding-left: 8px;
}
.handsontable.listbox .ht_clone_top .wtHider {
overflow: hidden;
}
.handsontable.listbox .ht_clone_top table {
border-radius: 0;
}
.handsontable.listbox .htBorders div {
background: none !important;
}
.handsontable.autocompleteEditor tr.ht__row_even th,
.handsontable.autocompleteEditor tr.ht__row_even td {
background-color: var(--ht-background-color, #ffffff);
}
.handsontable.autocompleteEditor tr.ht__row_odd th,
.handsontable.autocompleteEditor tr.ht__row_odd td {
background-color: var(--ht-background-color, #ffffff);
}
.pika-single {
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Arial, sans-serif;
box-shadow: var(--ht-menu-shadow-x, 0) var(--ht-menu-shadow-y, 0) var(--ht-menu-shadow-blur, 8px) var(--ht-menu-shadow-color, rgba(0, 0, 0, 0.08));
position: relative;
display: block;
padding: 10px;
font-size: var(--ht-font-size);
line-height: var(--ht-line-height);
font-weight: var(--ht-font-weight);
color: var(--ht-foreground-color);
background: var(--ht-background-color, #ffffff);
border: var(--ht-menu-border-width, 1px) solid var(--ht-menu-border-color, #e5e5e9);
border-radius: var(--ht-menu-border-radius);
z-index: 9999;
}
.pika-single.is-hidden {
display: none;
}
.pika-single .pika-row {
background-color: transparent;
}
.pika-single .pika-title {
display: flex;
align-items: center;
justify-content: center;
}
.pika-single .pika-label {
position: relative;
order: 2;
padding: 5px;
color: var(--ht-accent-color);
}
.pika-single .pika-label .pika-select {
position: absolute;
inset: 0;
opacity: 0;
cursor: pointer;
}
.pika-single .pika-prev,
.pika-single .pika-next {
width: 20px;
height: 20px;
white-space: nowrap;
text-indent: -9999px;
cursor: pointer;
color: var(--ht-accent-color);
background: none;
border: none;
}
.pika-single .pika-prev {
order: 1;
margin-right: auto;
}
.pika-single .pika-next {
order: 3;
margin-left: auto;
}
.pika-single .pika-table thead {
height: 50px;
}
.pika-single .pika-table th {
padding: 1px;
vertical-align: middle;
}
.pika-single .pika-table th abbr {
text-decoration: none;
font-weight: normal;
border: none;
cursor: initial;
}
.pika-single .pika-table td {
padding: 1px;
vertical-align: middle;
}
.pika-single .pika-table td.is-disabled .pika-button {
pointer-events: none;
opacity: 0.5;
}
.pika-single .pika-table td.is-today .pika-button {
background: var(--ht-menu-item-hover-color);
}
.pika-single .pika-table td.is-selected .pika-button {
background: var(--ht-accent-color, #1a42e8);
color: var(--ht-background-color, #ffffff);
}
.pika-single .pika-table td.pika-week {
width: 12.5%;
text-align: center;
}
.pika-single .pika-table .pika-button {
width: 100%;
aspect-ratio: 1/1;
background: transparent;
color: var(--ht-foreground-color);
border: none;
border-radius: var(--ht-button-border-radius);
margin: 0;
padding: 10px;
cursor: pointer;
font-size: inherit;
}
.pika-single .pika-table .pika-button:hover {
background: var(--ht-menu-item-hover-color);
}
[dir=rtl].htDatepickerHolder .pika-single .pika-next {
transform: rotate(180deg);
margin-left: 0;
margin-right: auto;
}
[dir=rtl].htDatepickerHolder .pika-single .pika-prev {
transform: rotate(180deg);
margin-left: auto;
margin-right: 0;
}
.handsontable .htUISelectCaption {
width: 100%;
padding: var(--ht-input-vertical-padding) var(--ht-input-horizontal-padding);
padding-inline-end: calc(var(--ht-input-horizontal-padding) + var(--ht-icon-size));
margin: 0;
font-family: inherit;
font-size: var(--ht-font-size);
line-height: var(--ht-line-height);
font-weight: var(--ht-font-weight);
border-radius: var(--ht-input-border-radius);
box-sizing: border-box;
cursor: pointer;
outline: none !important;
border: var(--ht-input-border-width) solid var(--ht-input-border-color);
color: var(--ht-input-foreground-color);
background-color: var(--ht-input-background-color);
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
transition: var(--ht-table-transition) all ease-in-out;
}
.handsontable .htUISelectCaption::after {
content: "";
display: block;
position: absolute;
right: calc(var(--ht-input-horizontal-padding) - var(--ht-icon-size) / 4);
top: 50%;
transform: translateY(-50%);
}
.handsontable .htUISelectCaption:hover {
border-color: var(--ht-input-hover-border-color);
color: var(--ht-input-hover-foreground-color);
background-color: var(--ht-input-hover-background-color);
}
.handsontable .htUISelectCaption:disabled {
border-color: var(--ht-input-disabled-border-color);
color: var(--ht-input-disabled-foreground-color);
background-color: var(--ht-input-disabled-background-color);
}
.handsontable .htUISelectCaption:focus {
border-color: var(--ht-input-focus-border-color);
color: var(--ht-input-focus-foreground-color);
background-color: var(--ht-input-focus-background-color);
}
.handsontable .htUISelect {
cursor: pointer;
position: relative;
outline: none !important;
}
.handsontable .htUISelect:focus .htUISelectCaption {
border-color: var(--ht-input-focus-border-color);
color: var(--ht-input-focus-foreground-color);
background-color: var(--ht-input-focus-background-color);
}
[dir=rtl].handsontable .htUISelectCaption::after {
right: auto;
left: calc(var(--ht-input-horizontal-padding) - var(--ht-icon-size) / 4);
}
.handsontable .htFiltersMenuCondition .htUIInput input,
.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input {
width: 100%;
padding: var(--ht-input-vertical-padding) var(--ht-input-horizontal-padding);
font-family: inherit;
font-size: var(--ht-font-size);
line-height: var(--ht-line-height);
font-weight: var(--ht-font-weight);
border-radius: var(--ht-input-border-radius);
box-sizing: border-box;
cursor: pointer;
outline: none !important;
border: var(--ht-input-border-width) solid var(--ht-input-border-color);
color: var(--ht-input-foreground-color);
background-color: var(--ht-input-background-color);
transition: var(--ht-table-transition) all ease-in-out;
}
.handsontable .htFiltersMenuCondition .htUIInput input:hover,
.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input:hover {
border-color: var(--ht-input-hover-border-color);
color: var(--ht-input-hover-foreground-color);
background-color: var(--ht-input-hover-background-color);
}
.handsontable .htFiltersMenuCondition .htUIInput input:disabled,
.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input:disabled {
border-color: var(--ht-input-disabled-border-color);
color: var(--ht-input-disabled-foreground-color);
background-color: var(--ht-input-disabled-background-color);
}
.handsontable .htFiltersMenuCondition .htUIInput input:focus,
.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input:focus {
border-color: var(--ht-input-focus-border-color);
color: var(--ht-input-focus-foreground-color);
background-color: var(--ht-input-focus-background-color);
}
.handsontable .htUIInput {
position: relative;
padding: 0;
outline: none !important;
text-align: center;
}
.handsontable .htUIInputIcon {
position: absolute;
}
.handsontable .htUIInput.htUIButton {
cursor: pointer;
display: inline-block;
}
.handsontable .htUIInput.htUIButton input {
min-width: 64px;
padding: var(--ht-button-vertical-padding) var(--ht-button-horizontal-padding);
font-family: inherit;
font-size: var(--ht-font-size);
line-height: var(--ht-line-height);
font-weight: var(--ht-font-weight);
border-radius: var(--ht-button-border-radius);
box-sizing: border-box;
cursor: pointer;
outline: none !important;
border: 1px solid var(--ht-secondary-button-border-color);
background-color: var(--ht-secondary-button-background-color);
color: var(--ht-secondary-button-foreground-color);
transition: var(--ht-table-transition) all ease-in-out;
}
.handsontable .htUIInput.htUIButton input:hover {
border-color: var(--ht-secondary-button-hover-border-color);
background-color: var(--ht-secondary-button-hover-background-color);
color: var(--ht-secondary-button-hover-foreground-color);
}
.handsontable .htUIInput.htUIButton input:disabled {
border-color: var(--ht-secondary-button-disabled-border-color);
background-color: var(--ht-secondary-button-disabled-background-color);
color: var(--ht-secondary-button-disabled-foreground-color);
}
.handsontable .htUIInput.htUIButton input:focus {
border-color: var(--ht-secondary-button-focus-border-color);
background-color: var(--ht-secondary-button-focus-background-color);
color: var(--ht-secondary-button-focus-foreground-color);
box-shadow: 0 0 0 1px var(--ht-accent-color);
}
.handsontable .htUIInput.htUIButtonOK {
margin-inline-start: 0;
margin-inline-end: calc(2 * var(--ht-gap-size, 2px));
}
.handsontable .htUIInput.htUIButtonOK input {
border-color: var(--ht-primary-button-border-color);
background-color: var(--ht-primary-button-background-color);
color: var(--ht-primary-button-foreground-color);
}
.handsontable .htUIInput.htUIButtonOK input:hover {
border-color: var(--ht-primary-button-hover-border-color);
background-color: var(--ht-primary-button-hover-background-color);
color: var(--ht-primary-button-hover-foreground-color);
}
.handsontable .htUIInput.htUIButtonOK input:disabled {
border-color: var(--ht-primary-button-disabled-border-color);
background-color: var(--ht-primary-button-disabled-background-color);
color: var(--ht-primary-button-disabled-foreground-color);
}
.handsontable .htUIInput.htUIButtonOK input:focus {
border-color: var(--ht-primary-button-focus-border-color);
background-color: var(--ht-primary-button-focus-background-color);
color: var(--ht-primary-button-focus-foreground-color);
box-shadow: 0 0 0 1px var(--ht-accent-color);
}
.handsontable .htUIRadio {
position: relative;
display: inline-flex;
margin: 0;
padding: var(--ht-gap-size) calc(2 * var(--ht-gap-size));
padding-bottom: 0;
align-items: center;
gap: var(--ht-gap-size);
cursor: pointer;
}
.handsontable .htUIRadio:first-child {
padding-inline-start: 0;
}
.handsontable .htUIRadio > input[type=radio] {
position: relative;
width: var(--ht-radio-size);
height: var(--ht-radio-size);
margin: 0;
appearance: none;
cursor: pointer;
border-radius: calc(0.5 * var(--ht-radio-size));
outline: none;
}
.handsontable .htUIRadio > input[type=radio]::before {
content: "";
display: block;
position: absolute;
inset: 0;
border-radius: calc(0.5 * var(--ht-radio-size));
border: 1px solid var(--ht-radio-border-color);
background-color: var(--ht-radio-background-color);
}
.handsontable .htUIRadio > input[type=radio]::after {
content: "";
display: block;
position: absolute;
color: var(--ht-radio-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:checked::before {
border-color: var(--ht-radio-checked-border-color);
background-color: var(--ht-radio-checked-background-color);
}
.handsontable .htUIRadio > input[type=radio]:checked::after {
color: var(--ht-radio-checked-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:checked:disabled {
cursor: initial;
}
.handsontable .htUIRadio > input[type=radio]:checked:disabled::before {
border-color: var(--ht-radio-checked-disabled-border-color);
background-color: var(--ht-radio-checked-disabled-background-color);
}
.handsontable .htUIRadio > input[type=radio]:checked:disabled::after {
color: var(--ht-radio-checked-disabled-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:checked:focus::before {
border-color: var(--ht-radio-checked-focus-border-color);
background-color: var(--ht-radio-checked-focus-background-color);
}
.handsontable .htUIRadio > input[type=radio]:checked:focus::after {
color: var(--ht-radio-checked-focus-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:disabled {
cursor: initial;
}
.handsontable .htUIRadio > input[type=radio]:disabled::before {
border-color: var(--ht-radio-disabled-border-color);
background-color: var(--ht-radio-disabled-background-color);
}
.handsontable .htUIRadio > input[type=radio]:disabled::after {
color: var(--ht-radio-disabled-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:focus::before {
border-color: var(--ht-radio-focus-border-color);
background-color: var(--ht-radio-focus-background-color);
outline: 1px solid var(--ht-radio-focus-ring-color);
}
.handsontable .htUIRadio > input[type=radio]:focus::after {
color: var(--ht-radio-focus-icon-color);
}
.handsontable .htUIRadio label {
vertical-align: middle;
cursor: pointer;
color: inherit;
}
.handsontable .htUIRadio label::before {
content: "";
display: block;
position: absolute;
inset: 0;
}
.handsontable .collapsibleIndicator {
top: calc((var(--ht-line-height) - var(--ht-icon-size)) / 2);
margin-inline-start: var(--ht-gap-size);
}
.handsontable .collapsibleIndicator,
.handsontable .ht_nestingButton {
position: relative;
width: var(--ht-icon-size);
height: var(--ht-icon-size);
box-sizing: border-box;
border-radius: var(--ht-collapse-button-border-radius);
overflow: hidden;
cursor: pointer;
/* hide text */
text-indent: -100px;
font-size: 0;
float: right;
}
.handsontable .collapsibleIndicator::before,
.handsontable .ht_nestingButton::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
transition: var(--ht-table-transition) all ease-in-out;
}
.handsontable .collapsibleIndicator.expanded, .handsontable .collapsibleIndicator.ht_nestingCollapse,
.handsontable .ht_nestingButton.expanded,
.handsontable .ht_nestingButton.ht_nestingCollapse {
background-color: var(--ht-collapse-button-open-background-color);
box-shadow: 0 0 0 1px var(--ht-collapse-button-open-border-color);
}
.handsontable .collapsibleIndicator.expanded::before, .handsontable .collapsibleIndicator.ht_nestingCollapse::before,
.handsontable .ht_nestingButton.expanded::before,
.handsontable .ht_nestingButton.ht_nestingCollapse::before {
color: var(--ht-collapse-button-open-icon-color);
}
.handsontable .collapsibleIndicator.expanded:hover, .handsontable .collapsibleIndicator.ht_nestingCollapse:hover,
.handsontable .ht_nestingButton.expanded:hover,
.handsontable .ht_nestingButton.ht_nestingCollapse:hover {
background-color: var(--ht-collapse-button-open-hover-background-color);
box-shadow: 0 0 0 1px var(--ht-collapse-button-open-hover-border-color);
}
.handsontabl