@reference "../../../css/globals.css";

.vega-embed {
  max-width: 100%;
}

.vega-embed[data-container-width="container"],
.vega-embed:has(> .chart-wrapper.fit-x) {
  width: 100%;
}

.vega-embed > .chart-wrapper {
  overflow-x: auto;
}

.vega-embed canvas {
  @apply rounded-md;
}

.vega-embed .vega-actions.vega-actions {
  /* Otherwise overflows */
  right: 3px;

  &::after {
    right: 3px;
  }

  &::before {
    right: 2px;
  }
}

/**
 * Due to a bug when defining our own VegaPlugin where these styles are not applied,
 * we provide the default styles for vega-actions.
 * https://github.com/vega/vega-embed/blob/8f4ec8e136951a7e34b358e4e9b6037582a6ccdd/vega-embed.scss
 */

.vega-embed.has-actions {
  padding-right: 38px;
}
.vega-embed details:not([open]) > :not(summary) {
  display: none !important;
}
.vega-embed summary {
  list-style: none;
  position: absolute;
  top: 0;
  right: 0;
  padding: 6px;
  z-index: 1000;
  background: white;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  color: #1b1e23;
  border: 1px solid #aaa;
  border-radius: 999px;
  opacity: 0.2;
  transition: opacity 0.4s ease-in;
  cursor: pointer;
  line-height: 0px;
}
.vega-embed summary::-webkit-details-marker {
  display: none;
}
.vega-embed summary:active {
  box-shadow: #aaa 0px 0px 0px 1px inset;
}
.vega-embed summary svg {
  width: 14px;
  height: 14px;
}
.vega-embed details[open] summary {
  opacity: 0.7;
}
.vega-embed:hover summary,
.vega-embed:focus-within summary {
  opacity: 1 !important;
  transition: opacity 0.2s ease;
}
.vega-embed .vega-actions {
  position: absolute;
  z-index: 1001;
  top: 35px;
  /* right: -9px; Remove right for our own styles */
  display: flex;
  flex-direction: column;
  padding-bottom: 8px;
  padding-top: 8px;
  border-radius: 4px;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
  border: 1px solid #d9d9d9;
  background: white;
  animation-duration: 0.15s;
  animation-name: scale-in;
  animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);
  text-align: left;
}
.vega-embed .vega-actions a {
  padding: 8px 16px;
  font-family: sans-serif;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  color: #434a56;
  text-decoration: none;
}
.vega-embed .vega-actions a:hover,
.vega-embed .vega-actions a:focus {
  background-color: #f7f7f9;
  color: black;
}
.vega-embed .vega-actions::before,
.vega-embed .vega-actions::after {
  content: "";
  display: inline-block;
  position: absolute;
}
.vega-embed .vega-actions::before {
  left: auto;
  /* right: 14px; */
  top: -16px;
  border: 8px solid #000 0;
  border-bottom-color: #d9d9d9;
}
.vega-embed .vega-actions::after {
  left: auto;
  /* right: 15px; */
  top: -14px;
  border: 7px solid #000 0;
  border-bottom-color: #fff;
}
.vega-embed .chart-wrapper.fit-x {
  width: 100%;
}
.vega-embed .chart-wrapper.fit-y {
  height: 100%;
}
.vega-embed-wrapper {
  max-width: 100%;
  overflow: auto;
  padding-right: 14px;
}
@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(0.6);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
