JSFiddle - React, Tailwind, and code Playground

by Uriel Zarnihchi

HTML

<div class="container">
  <div class="component1">
    <div class="item child1" onClick="toggle();">
      🔎
    </div>
    <div class="item child2" >
      Text Text Text
    </div>
  </div>
  <div class="component2">I am another component 😀</div>
</div>

CSS

.container {
  display: flex;
  gap: 5px;
  align-items: center;
}

.component1 {
  max-width: 200px;
  display: inline-block;
  overflow: hidden;
  -webkit-transition: max-width 1s ease-in-out;
  -moz-transition: max-width 1s ease-in-out;
  -o-transition: max-width 1s ease-in-out;
  transition: max-width 1s ease-in-out;
}

.item {
  display: inline-block;
  white-space: pre;
}

.child1 {
  cursor: pointer;
  width: 40px;
}

.child2 {
  width: calc(100% - 50px);
}

.hide {
  max-width: 50px;
}

.component2 {
  display: inline-block;
  background-color: yellow;
}

JavaScript

const toggle = () => {
  document.querySelector('.component1').classList.toggle('hide')
}