Current section

Files

Jump to
kino_explorer lib assets data_transform_cell main.css
Raw

lib/assets/data_transform_cell/main.css

.app {
font-family: "Inter";
box-sizing: border-box;
--gray-50: #f8fafc;
--gray-100: #f0f5f9;
--gray-200: #e1e8f0;
--gray-300: #cad5e0;
--gray-400: #91a4b7;
--gray-500: #61758a;
--gray-600: #445668;
--gray-700: #304254;
--gray-800: #1c2a3a;
--gray-900: #0d1829;
--blue-100: #ecf0ff;
--blue-200: #d8e0ff;
--blue-600: #3e64ff;
--green-100: #e9f4e9;
--green-200: #d2e7d1;
--green-600: #1d891a;
--yellow-100: #fff7ec;
--yellow-600: #ffa83f;
--red-300: #f1a3a6;
--red-500: #e2474d;
--crimson-100: #ffeff2;
--crimson-200: #ffe4e9;
--crimson-600: #f56991;
--magenta-100: #fff1ff;
--magenta-200: #fad4fa;
--magenta-600: #c689c6;
--orange-100: #fff5f2;
--orange-200: #ffe3d9;
--orange-600: #ff9770;
--teal-blue-100: #edf3fa;
--teal-blue-200: #d4e4fa;
--teal-blue-600: #88abdb;
--teal-green-100: #edfaf4;
--teal-green-200: #d4fae7;
--teal-green-600: #88dbb1;
--purple-100: #f4f2fd;
--purple-200: #d2cbef;
--purple-600: #957fef;
--beige-100: #fbf5f1;
--beige-200: #f8ebe4;
--beige-600: #edcdbb;
--emerald-100: #e5f3f2;
--emerald-200: #b5e2e0;
--emerald-600: #7fc5be;
}
p,
pre {
margin: 0;
}
.container {
border: solid 1px var(--gray-300);
border-bottom: solid 1px var(--gray-200);
border-radius: 0.5rem;
background-color: rgba(248, 250, 252, 0.3);
padding-bottom: 12px;
}
.row {
display: flex;
gap: 24px;
flex-wrap: wrap;
}
.root {
display: flex;
background-color: var(--blue-100);
padding: 8px 16px;
margin-bottom: 6px;
border-radius: 0.5rem 0.5rem 0 0;
border-bottom: solid 1px var(--gray-200);
justify-content: space-between;
}
.input {
appearance: none;
padding: 8px 12px;
background-color: var(--gray-50);
font-size: 0.875rem;
border: 1px solid var(--gray-200);
border-radius: 0.5rem;
color: var(--gray-600);
}
input[type="number"] {
appearance: textfield;
}
.input::placeholder {
color: var(--gray-400);
}
.input:focus {
outline: none;
border: 1px solid var(--gray-300);
}
.input-label {
display: block;
margin-bottom: 2px;
font-size: 0.875rem;
color: var(--gray-800);
font-weight: 500;
}
.validation-wrapper {
width: 24px;
height: 0;
position: relative;
left: 85%;
bottom: 47%;
font-size: 20px;
}
.validation-message {
text-transform: lowercase;
}
.validation-icon {
color: var(--red-500);
}
.required {
border: 1px solid var(--red-300);
}
.input:disabled {
opacity: 50%;
border: 1px solid var(--gray-300);
}
.root .input-label {
color: var(--gray-600);
padding-right: 6px;
font-size: 0.875rem;
text-transform: uppercase;
padding-top: 2px;
}
.field {
display: flex;
flex-direction: column;
min-width: 200px;
}
.root-field {
display: flex;
flex-direction: row;
align-items: center;
flex-grow: 1;
margin-bottom: 0;
max-width: 345px;
min-width: auto;
margin-right: 8px;
}
.root-group {
display: flex;
gap: 16px;
}
.special-field {
display: flex;
flex-direction: column;
margin-bottom: 16px;
flex-basis: 50%;
max-width: 348px;
}
.inline-field {
display: flex;
flex-direction: row;
align-items: center;
justify-content: start;
border: none;
width: 298px;
}
.inline-field .input-label {
color: var(--gray-700);
font-weight: 400;
padding-right: 8px;
}
.inline-field input {
border-bottom: 1px solid var(--gray-200);
border-radius: 0;
}
.inline-field .required {
border-bottom: 1px solid var(--red-300);
border-radius: 0;
}
.inline-field:focus {
outline: none;
border: none;
border-bottom: 1px solid var(--gray-500);
}
.button {
padding: 0.5rem 1.25rem;
color: var(--gray-500);
font-size: 0.875rem;
line-height: 1.25rem;
font-weight: 500;
white-space: nowrap;
border-radius: 0.5rem;
border-width: 1px;
border-color: transparent;
margin-right: 18px;
margin-bottom: 6px;
background-color: var(--gray-100);
}
.button:hover {
cursor: pointer;
background-color: var(--gray-300);
}
.button:disabled {
opacity: 50%;
pointer-events: none;
}
.button--sm {
margin: 0;
padding: 5px 10px;
background: transparent;
}
.button--sm:hover {
background: transparent;
}
.button--dashed {
background: transparent;
border: 1px dashed var(--gray-500);
}
.button--dashed:hover {
background-color: var(--gray-100);
}
.dashed-button-label {
padding-left: 2px;
}
.button--icon {
display: flex;
flex-direction: column;
padding: 0 6px;
margin: 0;
place-items: center;
justify-content: center;
width: 60px;
}
.button--icon .active {
background-color: var(--gray-100);
}
.button-svg {
transition-property: all;
transition-duration: 200ms;
color: var(--gray-600);
}
.icon-only {
padding-right: 0;
font-size: 16px;
}
.hidden-checkbox-input {
display: none;
}
.input-icon {
border: 1px solid var(--gray-200);
outline: none;
padding: 8px 12px 8px 36px;
}
.input-icon:hover {
cursor: pointer;
}
.input-icon.unavailable {
border-color: var(--red-300);
}
.input-icon-container {
position: relative;
}
.icon-container {
position: absolute;
top: 20px;
padding: 7px 6px;
border-right: 1px solid var(--gray-200);
background-color: var(--gray-100);
border-radius: 0.5rem;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
margin-left: 1px;
}
.icon-container:hover {
cursor: pointer;
background-color: var(--gray-200);
}
.input-icon-text {
border: 1px solid var(--gray-200);
outline: none;
padding: 8px 12px 8px 42px;
}
.hidden-checkbox:hover {
cursor: pointer;
}
.box {
margin-bottom: 24px;
padding: 16px;
border-radius: 0.5rem;
font-size: 0.875rem;
color: var(--gray-700);
border: solid 1px var(--gray-300);
}
.box > *:not(:first-child) {
margin-top: 1rem;
}
.box pre code {
font-family: "JetBrains Mono", monospace;
font-size: 14px;
color: var(--gray-900);
}
.box.box-warning {
color: var(--gray-900);
background-color: var(--yellow-100);
border-color: var(--yellow-600);
}
.hidden {
display: none;
}
select.input {
appearance: none;
background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik01Ljk5OTg5IDQuOTc2NzFMMTAuMTI0OSAwLjg1MTcwOEwxMS4zMDMyIDIuMDMwMDRMNS45OTk4OSA3LjMzMzM3TDAuNjk2NTU1IDIuMDMwMDRMMS44NzQ4OSAwLjg1MTcwOEw1Ljk5OTg5IDQuOTc2NzFaIiBmaWxsPSIjNjE3NThBIi8+Cjwvc3ZnPgo=");
background-repeat: no-repeat;
background-position: center right 10px;
background-size: 10px;
padding-right: 28px;
}
.unavailable-option {
color: rgba(0, 0, 0, 0.5);
}
.unavailable {
color: rgba(0, 0, 0, 0.5);
}
select option {
color: black;
}
.card-controls {
display: flex;
justify-content: flex-end;
position: relative;
}
.card-controls > .button--sm {
padding-bottom: 0;
}
.card-content {
display: flex;
}
.operation-controls {
display: flex;
align-items: center;
position: relative;
top: -6px;
}
.button-svg {
transition-property: all;
transition-duration: 200ms;
width: 0.95rem;
height: 0.95rem;
color: var(--gray-500);
}
.button-svg:hover {
color: var(--gray-900);
}
.drag-move {
opacity: 0;
position: relative;
top: 50%;
left: 2px;
margin-left: -15px;
}
.drag-move:hover {
opacity: 100%;
cursor: move;
}
.card:hover .drag-move {
opacity: 100%;
cursor: move;
}
.card:hover {
cursor: move;
}
.card.pivot_wider:hover {
cursor: default;
}
.card-content:hover .drag-move {
opacity: 0;
}
.card-content:hover {
cursor: default;
}
.rotate-180 {
transform: rotate(180deg);
}
.rotate-0 {
transform: rotate(0deg);
}
.add-operation {
display: flex;
gap: 16px;
margin-left: 16px;
padding-top: 6px;
flex-wrap: wrap;
}
.data-frame-title {
margin: 0 12px;
padding: 6px 12px 12px;
border-left: solid 3px var(--gray-300);
color: var(--gray-500);
font-size: 0.875rem;
min-height: 15px;
}
.data-frame-title:before {
content: "";
display: block;
width: 12px;
height: 12px;
border-radius: 50%;
background-color: var(--gray-400);
position: absolute;
left: 9px;
margin-top: 3px;
}
.content {
margin-top: -4px;
}
.operations {
padding-bottom: 12px;
border-left: solid 3px var(--gray-200);
margin: 0 12px;
}
.operations.grouped {
padding-bottom: 4px;
}
.card:before {
content: "";
display: block;
width: 12px;
height: 12px;
border-radius: 50%;
position: absolute;
left: 8px;
margin-top: 3px;
}
.card.filters:before {
background-color: var(--teal-green-600);
}
.card.fill_missing:before {
background-color: var(--teal-blue-600);
}
.card.sorting:before {
background-color: var(--purple-600);
}
.card.group_by:before {
background-color: var(--magenta-600);
}
.card.summarise:before {
background-color: var(--beige-600);
}
.card.pivot_wider:before {
background-color: var(--orange-600);
}
.card.discard:before {
background-color: var(--crimson-600);
}
.card.select:before {
background-color: var(--emerald-600);
}
.operations.filters {
border-left: solid 3px var(--teal-green-600);
}
.operations.fill_missing {
border-left: solid 3px var(--teal-blue-600);
}
.operations.sorting {
border-left: solid 3px var(--purple-600);
}
.operations.group_by {
border-left: solid 3px var(--magenta-600);
}
.operations.summarise {
border-left: solid 3px var(--beige-600);
}
.operations.pivot_wider {
border-left: solid 3px var(--orange-600);
}
.operations.discard {
border-left: solid 3px var(--crimson-600);
}
.operations.select {
border-left: solid 3px var(--emerald-600);
}
.card {
display: flex;
font-size: 0.875rem;
justify-content: space-between;
padding: 9px 12px;
border-top-right-radius: 0.5rem;
border-bottom-right-radius: 0.5rem;
}
.card.filters {
background-color: var(--teal-green-100);
}
.card.fill_missing {
background-color: var(--teal-blue-100);
}
.card.sorting {
background-color: var(--purple-100);
}
.card.group_by {
background-color: var(--magenta-100);
}
.card.summarise {
background-color: var(--beige-100);
}
.card.pivot_wider {
background-color: var(--orange-100);
padding-bottom: 14px;
}
.card.discard {
background-color: var(--crimson-100);
}
.card.select {
background-color: var(--emerald-100);
}
.dndrop-draggable-wrapper:last-child > .operations {
padding-bottom: 0;
margin-bottom: 9px;
}
.tooltip {
position: relative;
bottom: 40%;
display: flex;
--distance: 4px;
--arrow-size: 5px;
--show-delay: 0.5s;
}
.tooltip:before {
position: absolute;
content: attr(data-tooltip);
white-space: pre;
text-align: center;
display: block;
z-index: 100;
background-color: #1c273c;
color: #f0f5f9;
font-size: 12px;
font-weight: 500;
border-radius: 4px;
padding: 3px 12px;
visibility: hidden;
transition-property: visibility;
transition-duration: 0s;
transition-delay: 0s;
}
/* Tooltip arrow */
.tooltip:after {
content: "";
position: absolute;
display: block;
z-index: 100;
/* For the arrow we use the triangle trick: https://css-tricks.com/snippets/css/css-triangle/ */
border-width: var(--arrow-size);
border-style: solid;
border-color: #1c273c;
visibility: hidden;
transition-property: visibility;
transition-duration: 0s;
transition-delay: 0s;
}
.tooltip:hover:before {
visibility: visible;
transition-delay: var(--show-delay);
}
.tooltip:hover:after {
visibility: visible;
transition-delay: var(--show-delay);
}
.tooltip.right:before {
top: 50%;
left: 100%;
transform: translate(calc(var(--arrow-size) - 1px + var(--distance)), -50%);
}
.tooltip.right:after {
top: 50%;
left: 100%;
transform: translate(var(--distance), -50%);
border-left: none;
border-top-color: transparent;
border-bottom-color: transparent;
}
/* Switch SM */
.switch-button {
display: inline-block;
position: relative;
width: 28px;
height: 14px;
user-select: none;
}
.switch-button[disabled] {
pointer-events: none;
opacity: 0.5;
}
.switch-button-checkbox {
outline: none;
appearance: none;
position: absolute;
display: block;
width: 14px;
height: 14px;
margin: 0;
border-radius: 9999px;
background-color: white;
border: 2.5px solid var(--gray-300);
cursor: pointer;
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 300ms;
}
.switch-button-bg {
display: block;
height: 100%;
width: 100%;
border-radius: 9999px;
background-color: var(--gray-300);
cursor: pointer;
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 300ms;
}
.switch-button-checkbox:checked {
background: white;
border-color: var(--blue-600);
transform: translateX(100%);
}
.switch-button-checkbox.filters:checked {
background: white;
border-color: var(--teal-green-600);
transform: translateX(100%);
}
.switch-button-checkbox.fill_missing:checked {
background: white;
border-color: var(--teal-blue-600);
transform: translateX(100%);
}
.switch-button-checkbox.sorting:checked {
background: white;
border-color: var(--purple-600);
transform: translateX(100%);
}
.switch-button-checkbox.group_by:checked {
background: white;
border-color: var(--magenta-600);
transform: translateX(100%);
}
.switch-button-checkbox.summarise:checked {
background: white;
border-color: var(--beige-600);
transform: translateX(100%);
}
.switch-button-checkbox.pivot_wider:checked {
background: white;
border-color: var(--orange-600);
transform: translateX(100%);
}
.switch-button-checkbox.discard:checked {
background: white;
border-color: var(--crimson-600);
transform: translateX(100%);
}
.switch-button-checkbox.select:checked {
background: white;
border-color: var(--emerald-600);
transform: translateX(100%);
}
.switch-button-checkbox:checked + .switch-button-bg {
background-color: var(--blue-600);
}
.switch-button-checkbox.filters:checked + .switch-button-bg {
background-color: var(--teal-green-600);
}
.switch-button-checkbox.fill_missing:checked + .switch-button-bg {
background-color: var(--teal-blue-600);
}
.switch-button-checkbox.sorting:checked + .switch-button-bg {
background-color: var(--purple-600);
}
.switch-button-checkbox.group_by:checked + .switch-button-bg {
background-color: var(--magenta-600);
}
.switch-button-checkbox.summarise:checked + .switch-button-bg {
background-color: var(--beige-600);
}
.switch-button-checkbox.pivot_wider:checked + .switch-button-bg {
background-color: var(--orange-600);
}
.switch-button-checkbox.discard:checked + .switch-button-bg {
background-color: var(--crimson-600);
}
.switch-button-checkbox.select:checked + .switch-button-bg {
background-color: var(--emerald-600);
}
.switch-button-checkbox:disabled {
background: white;
border-color: var(--blue-200);
}
.switch-button-checkbox.filters:disabled {
background: white;
border-color: var(--teal-green-100);
}
.switch-button-checkbox.fill_missing:disabled {
background: white;
border-color: var(--teal-blue-100);
}
.switch-button-checkbox.sorting:disabled {
background: white;
border-color: var(--purple-100);
}
.switch-button-checkbox.group_by:disabled {
background: white;
border-color: var(--magenta-100);
}
.switch-button-checkbox.summarise:disabled {
background: white;
border-color: var(--beige-100);
}
.switch-button-checkbox.pivot_wider:disabled {
background: white;
border-color: var(--orange-100);
}
.switch-button-checkbox.discard:disabled {
background: white;
border-color: var(--crimson-100);
}
.switch-button-checkbox.select:disabled {
background: white;
border-color: var(--emerald-100);
}
.switch-button-checkbox:disabled + .switch-button-bg {
background-color: var(--blue-200);
}
.switch-button-checkbox.filters:disabled + .switch-button-bg {
background-color: var(--teal-green-200);
}
.switch-button-checkbox.fill_missing:disabled + .switch-button-bg {
background-color: var(--teal-blue-200);
}
.switch-button-checkbox.sorting:disabled + .switch-button-bg {
background-color: var(--purple-200);
}
.switch-button-checkbox.group_by:disabled + .switch-button-bg {
background-color: var(--magenta-200);
}
.switch-button-checkbox.summarise:disabled + .switch-button-bg {
background-color: var(--beige-200);
}
.switch-button-checkbox.pivot_wider:disabled + .switch-button-bg {
background-color: var(--orange-200);
}
.switch-button-checkbox.discard:disabled + .switch-button-bg {
background-color: var(--crimson-200);
}
.switch-button-checkbox.select:disabled + .switch-button-bg {
background-color: var(--emerald-200);
}
.switch-lg .switch-button {
width: 42px;
height: 21px;
margin-top: 5px;
}
.switch-lg .switch-button-checkbox {
width: 21px;
height: 21px;
}
.tag-button {
padding: 0;
}
.tag-button:hover {
color: var(--gray-900);
}
.tag-button:hover .tag-svg {
background-color: var(--gray-300);
border-radius: 0.25rem;
}
.tag-svg:hover {
background-color: var(--gray-300);
border-radius: 0.25rem;
}
.multiselect {
width: 425px;
}
.tags {
display: flex;
justify-content: space-between;
padding: 3px 12px;
min-height: 27px;
}
.tags-wrapper {
display: flex;
flex-wrap: wrap;
align-content: center;
gap: 3px;
}
.tag-pill {
display: flex;
gap: 3px;
padding: 1px 5px;
background-color: rgba(225, 232, 240, 0.5);
color: var(--gray-600);
border-radius: 1.5rem;
align-items: baseline;
}
.tag-input {
color: var(--gray-50);
width: 25px;
padding: 0 4px;
border: none;
flex-grow: 1;
position: relative;
left: 13px;
background-color: transparent;
}
.tag-input:focus {
border: none;
}
.tag-message {
opacity: 50%;
}
select.input.tag-input:disabled {
display: none;
}
.dndrop-container.horizontal > .dndrop-draggable-wrapper {
height: auto;
}
.dndrop-container.horizontal {
display: flex;
}