UNPKG

handsontable

Version:

Handsontable is a JavaScript Data Grid available for React, Angular and Vue.

1,507 lines (1,471 loc) • 101 kB
/*! * 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.2.0 * Release date: 25/11/2025 (built at 20/11/2025 13:26:57) */ .htBorders .wtBorder.ht-border-style-dashed-vertical { background-image: repeating-linear-gradient(to bottom, var(--ht-custom-border-color) 0 5px, transparent 0 10px); } .htBorders .wtBorder.ht-border-style-dashed-horizontal { background-image: repeating-linear-gradient(to right, var(--ht-custom-border-color) 0 5px, transparent 0 10px); } .htBorders .wtBorder.ht-border-style-dotted-horizontal { background-image: radial-gradient(circle, var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2), transparent 0); background-size: calc(var(--ht-custom-border-size) * 2) var(--ht-custom-border-size); background-repeat: repeat-x; } .htBorders .wtBorder.ht-border-style-dotted-vertical { background-image: radial-gradient(circle, var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2), transparent 0); background-size: var(--ht-custom-border-size) calc(var(--ht-custom-border-size) * 2); background-repeat: repeat-y; } .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-scrollbar-track-color: #f7f7f9; --ht-scrollbar-thumb-color: #a3a3a3; } .ht-root-wrapper { font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Arial, sans-serif; position: relative; display: flex; flex-direction: column; height: 100%; } .htFocusCatcher { position: absolute; width: 0; height: 0; margin: 0; padding: 0; border: 0; opacity: 0; z-index: -1; } .ht-grid { flex: 1 1 auto; min-height: 0; } .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); height: 100%; width: 100%; } .handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type { border-inline-start-width: 1px; } .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:first-of-type th:first-child, .handsontable.htGhostTable table tbody tr:first-of-type td:first-child { height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px); } .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.htHasScrollX:not(.htHorizontallyScrollableByWindow) .ht_master .wtHolder, .handsontable.htHasScrollY:not(.htVerticallyScrollableByWindow) .ht_master .wtHolder { border-radius: var(--ht-wrapper-border-radius, 0); } .handsontable:not(.htHorizontallyScrollableByWindow) .ht_master .wtHolder, .handsontable:not(.htVerticallyScrollableByWindow) .ht_master .wtHolder { background-color: var(--ht-background-color); } .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 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:first-child:empty::after, .handsontable tbody tr:first-of-type td:first-child:empty::after { content: ""; display: block; min-height: var(--ht-line-height); } .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); min-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)) - 1px); } .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 div[class^=ht_clone] td:first-of-type { border-inline-start-width: 1px; } .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.htAutoRowSize .ht_master.innerBorderTop tbody tr:first-child th, .handsontable.htAutoRowSize .ht_master.innerBorderTop tbody tr:first-child td { border-top-width: 0; } .handsontable.htAutoRowSize .ht_master.innerBorderTop ~ .ht_clone_inline_start tbody tr:first-child th, .handsontable.htAutoRowSize .ht_master.innerBorderTop ~ .ht_clone_inline_start tbody tr:first-child td { border-top-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:not(.htVerticallyScrollableByWindow) .htCore { border-start-end-radius: 0; border-end-end-radius: 0; } .handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore thead tr:first-child th:last-child, .handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore tbody tr:first-child td:last-child, .handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore tbody tr:first-child th:last-child { border-start-end-radius: 0 !important; } .handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore thead tr:last-child th:last-child, .handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore tbody tr:last-child td:last-child, .handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .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: var(--ht-font-size-small); line-height: var(--ht-line-height-small); 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); margin-inline-end: 1px; } .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; position: absolute; top: 0; left: 0; 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; width: var(--ht-checkbox-size) !important; height: var(--ht-checkbox-size) !important; } .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; padding: 0; } .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 input, .handsontable .ht-button { 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); border-width: 1px; border-style: solid; box-sizing: border-box; outline: none !important; cursor: pointer; transition: var(--ht-table-transition) all ease-in-out; } .handsontable .htUIInput.htUIButtonCancel input, .handsontable .ht-button--secondary { border-color: var(--ht-secondary-button-border-color); background-color: var(--ht-secondary-button-background-color); color: var(--ht-secondary-button-foreground-color); } .handsontable .htUIInput.htUIButtonCancel input:hover, .handsontable .ht-button--secondary: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.htUIButtonCancel input:disabled, .handsontable .ht-button--secondary: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.htUIButtonCancel input:focus, .handsontable .ht-button--secondary: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); } .htUIInput.htUIButtonOK input, .ht-button--primary { border-color: var(--ht-primary-button-border-color); background-color: var(--ht-primary-button-background-color); color: var(--ht-primary-button-foreground-color); } .htUIInput.htUIButtonOK input:hover, .ht-button--primary: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); } .htUIInput.htUIButtonOK input:disabled, .ht-button--primary: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); } .htUIInput.htUIButtonOK input:focus, .ht-button--primary: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:focu