@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
452 lines (400 loc) • 15.2 kB
CSS
:root,
.light {
--lng1771-primary-05: rgba(18, 108, 255, 0.05);
--lng1771-primary-10: rgba(18, 108, 255, 0.1);
--lng1771-primary-30: rgba(18, 108, 255, 0.3);
--lng1771-primary-50: #126cff;
--lng1771-primary-70: #053f9e;
--lng1771-primary-90: #012259;
--lng1771-row-selected: #d6e4fe;
--lng1771-focus-outline: var(--lng1771-primary-50);
--lng1771-gradient-shadow: linear-gradient(90deg, var(--lng1771-gray-50), var(--lng1771-gray-50));
--lng1771-gray-00: #ffffff;
--lng1771-gray-02: #fafbfc;
--lng1771-gray-05: #f6f8fa;
--lng1771-gray-10: #f2f4f7;
--lng1771-gray-20: #e9edf1;
--lng1771-gray-30: #dadfe7;
--lng1771-gray-40: #c3c9d5;
--lng1771-gray-50: #949ba8;
--lng1771-gray-60: #787e8c;
--lng1771-gray-70: #5c6170;
--lng1771-gray-80: #2d2f39;
--lng1771-gray-90: #1e1e29;
--lng1771-gray-100: #15151e;
--lng1771-pill-plain-fill: var(--lng1771-gray-20);
--lng1771-pill-column-fill: #ffffff;
--lng1771-pill-column-stroke: rgba(1, 34, 89, 0.14);
--lng1771-pill-pivot-fill: #ece6f8;
--lng1771-pill-pivot-stroke: #c6b5eb;
--lng1771-pill-group-fill: #e6f8f2;
--lng1771-pill-group-stroke: #a8d4c4;
--lng1771-pill-icon-color: var(--lng1771-gray-50);
}
:root {
--lng1771-typeface:
"Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol", "Noto Color Emoji";
}
.dark {
color-scheme: dark;
--lng1771-primary-05: rgba(18, 108, 255, 0.05);
--lng1771-primary-10: rgba(49, 127, 255, 0.1);
--lng1771-primary-30: rgba(18, 108, 255, 0.3);
--lng1771-primary-50: #126cff;
--lng1771-primary-70: #004dcc;
--lng1771-primary-90: #00307d;
--lng1771-row-selected: #1c2b44;
--lng1771-focus-outline: var(--lng1771-primary-50);
--lng1771-gray-00: #151519;
--lng1771-gray-02: #121316;
--lng1771-gray-05: #1c1e21;
--lng1771-gray-10: #282a2e;
--lng1771-gray-20: #2f3137;
--lng1771-gray-30: #3f424a;
--lng1771-gray-40: #525660;
--lng1771-gray-50: #676c79;
--lng1771-gray-60: #62636a;
--lng1771-gray-70: #7a7b85;
--lng1771-gray-80: #9898a0;
--lng1771-gray-90: #e4e4e7;
--lng1771-gray-100: #e4e4e7;
--lng1771-pill-plain-fill: var(--lng1771-gray-20);
--lng1771-pill-column-fill: #182644;
--lng1771-pill-column-stroke: rgba(68, 109, 177, 0.58);
--lng1771-pill-pivot-fill: rgba(120, 57, 255, 0.18);
--lng1771-pill-pivot-stroke: rgba(136, 81, 255, 0.6);
--lng1771-pill-group-fill: rgba(0, 221, 147, 0.14);
--lng1771-pill-group-stroke: rgba(26, 255, 172, 0.35);
--lng1771-pill-icon-color: var(--lng1771-gray-50);
}
.lng1771-teal {
color-scheme: dark;
--lng1771-primary-05: rgba(3, 182, 161, 0.05);
--lng1771-primary-10: rgba(3, 182, 161, 0.05);
--lng1771-primary-30: rgba(3, 182, 161, 0.25);
--lng1771-primary-50: #03b6a1;
--lng1771-primary-70: #278177;
--lng1771-primary-90: #278177;
--lng1771-focus-outline: var(--lng1771-primary-50);
--lng1771-row-selected: #192b2d;
--lng1771-gray-00: #0e1317;
--lng1771-gray-02: #11161b;
--lng1771-gray-05: #161b21;
--lng1771-gray-10: #1b2128;
--lng1771-gray-20: #20262d;
--lng1771-gray-30: #2a323c;
--lng1771-gray-40: #303a41;
--lng1771-gray-50: #465056;
--lng1771-gray-60: #65727b;
--lng1771-gray-70: #818f98;
--lng1771-gray-80: #a8b2b8;
--lng1771-gray-90: #d7dbdd;
--lng1771-gray-100: #edeeef;
--lng1771-pill-plain-fill: var(--lng1771-gray-20);
--lng1771-pill-column-fill: #1b3237;
--lng1771-pill-column-stroke: rgba(0, 181, 181, 0.36);
--lng1771-pill-pivot-fill: rgba(120, 57, 255, 0.18);
--lng1771-pill-pivot-stroke: rgba(136, 81, 255, 0.6);
--lng1771-pill-group-fill: rgba(0, 221, 147, 0.14);
--lng1771-pill-group-stroke: rgba(26, 255, 172, 0.35);
--lng1771-pill-icon-color: var(--lng1771-gray-70);
}
.lng1771-term256 {
color-scheme: dark;
/* Grid theme */
--lng1771-typeface:
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
monospace;
--lng1771-header-font-typeface: var(--lng1771-typeface);
--lng1771-cell-font-typeface: var(--lng1771-typeface);
--lng1771-menu-item-font-typeface: var(--lng1771-typeface);
--lng1771-primary-05: rgba(87, 255, 255, 0.07);
--lng1771-primary-10: rgba(87, 255, 255, 0.07);
--lng1771-primary-30: rgba(87, 255, 255, 0.3);
--lng1771-primary-50: #57ffff;
--lng1771-primary-70: #278081;
--lng1771-primary-90: #278081;
--lng1771-row-selected: #192b2d;
--lng1771-focus-outline: var(--lng1771-primary-50);
--lng1771-gray-00: #000000;
--lng1771-gray-02: #0f0f0f;
--lng1771-gray-05: #121212;
--lng1771-gray-10: #1c1c1c;
--lng1771-gray-20: #262626;
--lng1771-gray-30: #303030;
--lng1771-gray-40: #3a3a3a;
--lng1771-gray-50: #4e4e4e;
--lng1771-gray-60: #626262;
--lng1771-gray-70: #8a8a8a;
--lng1771-gray-80: #a8a8a8;
--lng1771-gray-90: #dadada;
--lng1771-gray-100: #eeeeee;
--lng1771-pill-plain-fill: var(--lng1771-gray-20);
--lng1771-pill-column-fill: #182a2a;
--lng1771-pill-column-stroke: rgba(0, 181, 181, 0.266);
--lng1771-pill-pivot-fill: rgba(120, 57, 255, 0.18);
--lng1771-pill-pivot-stroke: rgba(136, 81, 255, 0.6);
--lng1771-pill-group-fill: rgba(0, 221, 147, 0.14);
--lng1771-pill-group-stroke: rgba(26, 255, 172, 0.35);
--lng1771-pill-icon-color: var(--lng1771-gray-60);
}
.light .lng1771-cotton-candy,
.lng1771-cotton-candy {
--lng1771-primary-05: rgba(240, 48, 230, 0.03);
--lng1771-primary-10: rgba(240, 48, 230, 0.07);
--lng1771-primary-30: rgba(240, 48, 230, 0.25);
--lng1771-primary-50: rgba(240, 48, 230, 1);
--lng1771-primary-70: rgba(240, 48, 230, 1);
--lng1771-primary-90: rgba(194, 0, 184, 1);
--lng1771-row-selected: color-mix(in srgb, var(--color-accent) 30%, transparent);
--lng1771-focus-outline: var(--color-primary);
--lng1771-gray-00: #cff8ff;
--lng1771-gray-02: #b0eaf2;
--lng1771-gray-05: #fde9ff;
--lng1771-gray-10: #e4d5f5;
--lng1771-gray-20: #c8cef3;
--lng1771-gray-30: #c1c7f4;
--lng1771-gray-40: color-mix(in srgb, #677af3 70%, black);
--lng1771-gray-50: color-mix(in srgb, #677af3 65%, black);
--lng1771-gray-60: #4237a9;
--lng1771-gray-70: color-mix(in srgb, #677af3 90%, white);
--lng1771-gray-80: #1c1484;
--lng1771-gray-90: #151234;
--lng1771-gray-100: rgb(0, 0, 0);
--lng1771-pill-plain-fill: var(--lng1771-gray-20);
--lng1771-pill-column-fill: #c4c2ff;
--lng1771-pill-column-stroke: #754bff;
--lng1771-pill-pivot-fill: #ffc5e1;
--lng1771-pill-pivot-stroke: #f0959e;
--lng1771-pill-group-fill: #97ffaa;
--lng1771-pill-group-stroke: #4ce96e;
--lng1771-pill-icon-color: var(--lng1771-gray-50);
}
.light .lng1771-shadcn,
.lng1771-shadcn-light {
--lng1771-primary-05: color-mix(in srgb, var(--color-accent) 5%, transparent);
--lng1771-primary-10: color-mix(in srgb, var(--color-accent) 10%, transparent);
--lng1771-primary-30: color-mix(in srgb, var(--color-accent-foreground) 10%, transparent);
--lng1771-primary-50: var(--color-accent-foreground);
--lng1771-primary-70: color-mix(in srgb, var(--color-accent) 70%, black);
--lng1771-primary-90: color-mix(in srgb, var(--color-accent) 90%, black);
--lng1771-row-selected: color-mix(in srgb, var(--color-accent) 30%, transparent);
--lng1771-focus-outline: var(--color-primary);
--lng1771-gray-00: var(--color-background);
--lng1771-gray-02: color-mix(in srgb, var(--color-background) 99%, black);
--lng1771-gray-05: color-mix(in srgb, var(--color-background) 98%, black);
--lng1771-gray-10: color-mix(in srgb, var(--color-background) 95%, black);
--lng1771-gray-20: color-mix(in srgb, var(--color-background) 90%, black);
--lng1771-gray-30: color-mix(in srgb, var(--color-background) 86%, black);
--lng1771-gray-40: color-mix(in srgb, var(--color-background) 70%, black);
--lng1771-gray-50: color-mix(in srgb, var(--color-background) 65%, black);
--lng1771-gray-60: color-mix(in srgb, var(--color-background) 40%, black);
--lng1771-gray-70: color-mix(in srgb, var(--color-background) 20%, black);
--lng1771-gray-80: var(--color-secondary-foreground);
--lng1771-gray-90: var(--color-primary);
--lng1771-gray-100: black;
--lng1771-pill-plain-fill: var(--lng1771-gray-20);
--lng1771-pill-column-fill: var(--color-primary-foreground);
--lng1771-pill-column-stroke: var(--color-primary);
--lng1771-pill-pivot-fill: #f5f3ff;
--lng1771-pill-pivot-stroke: #ddd6ff;
--lng1771-pill-group-fill: #d9f2eb;
--lng1771-pill-group-stroke: #538a7f;
--lng1771-pill-icon-color: var(--lng1771-gray-50);
}
.dark .lng1771-shadcn,
.lng1771-shadcn-dark {
--lng1771-primary-05: color-mix(in srgb, var(--color-accent) 5%, transparent);
--lng1771-primary-10: color-mix(in srgb, var(--color-accent) 10%, transparent);
--lng1771-primary-30: color-mix(in srgb, var(--color-accent-foreground) 10%, transparent);
--lng1771-primary-50: var(--color-accent-foreground);
--lng1771-primary-70: color-mix(in srgb, var(--color-accent) 70%, white);
--lng1771-primary-90: color-mix(in srgb, var(--color-accent) 90%, white);
--lng1771-row-selected: color-mix(in srgb, var(--color-accent) 30%, transparent);
--lng1771-focus-outline: var(--color-primary);
--lng1771-gray-00: var(--color-background);
--lng1771-gray-02: color-mix(in srgb, var(--color-background) 99%, white);
--lng1771-gray-05: color-mix(in srgb, var(--color-background) 98%, white);
--lng1771-gray-10: color-mix(in srgb, var(--color-background) 95%, white);
--lng1771-gray-20: color-mix(in srgb, var(--color-background) 90%, white);
--lng1771-gray-30: color-mix(in srgb, var(--color-background) 86%, white);
--lng1771-gray-40: color-mix(in srgb, var(--color-background) 70%, white);
--lng1771-gray-50: color-mix(in srgb, var(--color-background) 65%, white);
--lng1771-gray-60: color-mix(in srgb, var(--color-background) 40%, white);
--lng1771-gray-70: color-mix(in srgb, var(--color-background) 20%, white);
--lng1771-gray-80: var(--color-secondary-foreground);
--lng1771-gray-90: var(--color-primary);
--lng1771-gray-100: white;
--lng1771-pill-plain-fill: var(--lng1771-gray-20);
--lng1771-pill-column-fill: var(--color-primary-foreground);
--lng1771-pill-column-stroke: var(--color-primary);
--lng1771-pill-pivot-fill: #2f0d68;
--lng1771-pill-pivot-stroke: #4d179a;
--lng1771-pill-group-fill: #162456;
--lng1771-pill-group-stroke: #1c398e;
--lng1771-pill-icon-color: var(--lng1771-gray-50);
}
.lng-grid {
[data-ln-has-cell-selection="true"] [data-ln-cell="true"]:focus-visible {
outline: none;
}
[data-ln-cell="true"] {
border-bottom: 1px solid var(--lng1771-gray-20);
border-right: 1px solid transparent;
color: var(--lng1771-gray-80);
font-size: 14px;
font-weight: 400;
font-family: var(--lng1771-typeface);
user-select: none;
background-color: var(--lng1771-gray-00);
&[data-ln-last-start-pin="true"] {
position: relative;
&::before {
position: absolute;
content: "";
top: 0px;
inset-inline-end: 0px;
width: 1px;
height: 100%;
background-color: var(--lng1771-gray-20);
}
}
&[data-ln-first-end-pin="true"] {
position: relative;
&::before {
position: absolute;
content: "";
top: 0px;
inset-inline-start: 0px;
width: 1px;
height: 100%;
background-color: var(--lng1771-gray-20);
}
}
}
[data-ln-alternate="true"] [data-ln-cell="true"] {
background-color: var(--lng1771-gray-02);
}
[data-ln-row-selected="true"] [data-ln-cell="true"] {
background-color: var(--lng1771-row-selected);
}
[data-ln-row="true"]:hover [data-ln-cell="true"] {
background-color: var(--lng1771-gray-10);
}
[data-ln-row-selected="true"][data-ln-row="true"]:hover [data-ln-cell="true"] {
background-color: var(--lng1771-primary-30);
}
[data-ln-rowtype="full-width"][data-ln-row="true"] > div:hover {
background-color: var(--lng1771-gray-10);
}
[data-ln-row-selected="true"][data-ln-rowtype="full-width"][data-ln-row="true"] > div:hover {
background-color: var(--lng1771-primary-30);
}
[data-ln-rows-top="true"] {
position: relative;
&::after {
position: absolute;
content: "";
bottom: 0px;
inset-inline-start: 0px;
width: 100%;
height: 1px;
background-color: var(--lng1771-gray-40);
z-index: 5;
}
}
[data-ln-rows-bottom="true"] {
position: relative;
&::after {
position: absolute;
content: "";
top: 0px;
inset-inline-start: 0px;
width: 100%;
height: 1px;
background-color: var(--lng1771-gray-40);
z-index: 5;
}
}
[data-ln-row="true"][data-ln-rowtype="full-width"] {
background-color: var(--lng1771-gray-00);
border-bottom: 1px solid var(--lng1771-gray-20);
&[data-ln-row-selected="true"] {
background-color: var(--lng1771-row-selected);
}
}
[data-ln-header-cell="true"],
[data-ln-header-group="true"] {
user-select: none;
color: var(--lng1771-gray-80);
background-color: var(--lng1771-gray-00);
border-bottom: 1px solid var(--lng1771-gray-20);
font-family: var(--lng1771-typeface);
position: relative;
&::after {
position: absolute;
content: "";
top: 4px;
inset-inline-end: 0px;
width: 1px;
height: calc(100% - 8px);
background-color: var(--lng1771-gray-20);
}
&[data-ln-pin="end"]::after {
inset-inline-end: unset;
inset-inline-start: 0px;
}
&[data-ln-last-start-pin]::after {
inset-inline-end: 1px;
background-color: var(--lng1771-gray-20);
}
&[data-ln-first-end-pin]::after {
background-color: var(--lng1771-gray-20);
}
}
[data-ln-header-group="true"] {
color: var(--lng1771-gray-60);
font-size: 14px;
font-weight: 600;
}
[data-ln-header-resizer="true"] {
background-color: transparent;
transition: background-color 200ms ease-in-out;
cursor: col-resize;
&:hover {
background-color: var(--lng1771-primary-50);
}
}
[data-ln-row-detail="true"] {
background-color: var(--lng1771-gray-05);
}
[data-ln-row="true"][data-ln-can-drop="true"] {
&[data-ln-over-top-half="true"] {
border-top: 1px solid var(--lng1771-primary-50);
}
&[data-ln-over-top-half="false"] [data-ln-cell="true"] {
border-bottom: 1px solid var(--lng1771-primary-50);
}
}
[data-ln-cell-selection-rect]:not([data-ln-cell-selection-is-unit="true"]) {
background-color: var(--lng1771-primary-30);
box-sizing: border-box;
&[data-ln-cell-selection-border-top="true"] {
border-top: 1px solid var(--lng1771-primary-50);
}
&[data-ln-cell-selection-border-bottom="true"] {
border-bottom: 1px solid var(--lng1771-primary-50);
}
&[data-ln-cell-selection-border-start="true"] {
border-inline-start: 1px solid var(--lng1771-primary-50);
}
&[data-ln-cell-selection-border-end="true"] {
border-inline-end: 1px solid var(--lng1771-primary-50);
}
}
[data-ln-cell-selection-rect][data-ln-cell-selection-is-unit="true"] {
outline: 1px solid var(--lng1771-primary-50);
outline-offset: -1px;
}
}