.elab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
  box-sizing: border-box;
}

.elab > :not(ul) {
  flex: none;
}

.elab > ul {
  list-style-type: none;
  flex: auto;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}

.elab:not(.elab-wrap) > ul {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.elab > ul > li {
  display: none;
}

.elab > ul > li[data-selected] {
  cursor: pointer;
}

.elab > ul > li[data-placeholder] {
  display: flex;
  opacity: 0.5;
}
.elab > ul > li[data-selected] ~ li[data-placeholder] {
  display: none;
}

.elab-popup {
  user-select: none;
  list-style-type: none;
  display: block;
  padding: 0;
  margin: 0;
  position: fixed;
  z-index: 9999;
  overflow: auto;
  box-sizing: border-box;
  background-color: white;
}

.elab-popup > li[data-disabled] {
  pointer-events: none;
}
