waveterm/frontend/app/element/button.scss
Copilot 6c8df20bd8
Remove ellipsis mixin and delete mixins.scss (#2480)
The `ellipsis()` mixin in `mixins.scss` was only used in two files.
Replaced with plain CSS and removed the file entirely.

## Changes

- **Converted mixin usage to plain CSS** in `flyoutmenu.scss` and
`expandablemenu.scss`:
  ```scss
  // Before
  .label {
      @include mixins.ellipsis();
  }
  
  // After
  .label {
      display: block;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
  }
  ```

- **Removed unused imports** from 8 SCSS files that imported
`mixins.scss` but didn't use it

- **Deleted** `frontend/app/mixins.scss`

<!-- START COPILOT CODING AGENT SUFFIX -->



<details>

<summary>Original prompt</summary>

> in mixins.scss we have one last one called ellipsis(). i believe it is
only used in a couple places now... at least flyoutmenu.scss and
expandablemenu.scss. lets convert those to just plain CSS instead of
using the mixin. and then i think we can delete the mixins.scss file
completely... maybe 8 or so scss files that include it that will also
need modification.
> 
> do your own check though to find any additional usages of mixins.scss
and the ellipsis mixin. make sure we remove all usages.


</details>



<!-- START COPILOT CODING AGENT TIPS -->
---

💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
2025-10-26 11:08:47 -07:00

161 lines
4.2 KiB
SCSS

// Copyright 2024, Command Line Inc.
// SPDX-License-Identifier: Apache-2.0
.wave-button {
// override default button appearance
border: 1px solid transparent;
outline: 1px solid transparent;
border: 1px solid transparent;
cursor: pointer;
display: flex;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 20px;
padding-right: 20px;
align-items: center;
gap: 4px;
border-radius: 6px;
height: auto;
line-height: 16px;
white-space: nowrap;
user-select: none;
font-size: 14px;
font-weight: normal;
transition: all 0.3s ease;
&.solid {
&.green {
color: var(--button-text-color);
background-color: var(--accent-color);
border: 1px solid var(--button-green-border-color);
&:hover {
color: var(--button-text-color);
background-color: var(--button-green-border-color);
}
}
&.grey {
background-color: var(--button-grey-bg);
border: 1px solid var(--button-grey-bg);
color: var(--main-text-color);
&:hover {
color: var(--main-text-color);
background-color: var(--button-grey-hover-bg);
}
}
&.red {
background-color: var(--button-red-bg);
border: 1px solid var(--button-red-border-color);
color: var(--main-text-color);
&:hover {
background-color: var(--button-red-hover-bg);
}
}
&.yellow {
color: var(--button-text-color);
background-color: var(--button-yellow-bg);
border: 1px solid var(--button-yellow-hover-bg);
&:hover {
color: var(--button-text-color);
background-color: var(--button-yellow-hover-bg);
}
}
}
&.outlined {
background-color: transparent;
&.green {
color: var(--accent-color);
border: 1px solid var(--accent-color);
&:hover {
color: var(--button-green-border-color);
border: 1px solid var(--button-green-border-color);
}
}
&.grey {
border: 1px solid var(--button-grey-outlined-color);
color: var(--button-grey-outlined-color);
&:hover {
color: var(--main-text-color);
border: 1px solid var(--main-text-color);
}
}
&.red {
border: 1px solid var(--button-red-bg);
color: var(--button-red-bg);
&:hover {
color: var(--button-red-outlined-color);
border: 1px solid var(--button-red-outlined-color);
}
}
&.yellow {
color: var(--button-yellow-bg);
border: 1px solid var(--button-yellow-bg);
&:hover {
color: var(--button-yellow-hover-bg);
border: 1px solid var(--button-yellow-hover-bg);
}
}
}
&.ghost {
background-color: transparent;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 8px;
padding-right: 8px;
&.green {
border: none;
color: var(--accent-color);
&:hover {
color: var(--button-green-border-color);
}
}
&.grey {
border: none;
color: var(--button-grey-outlined-color);
&:hover {
color: var(--main-text-color);
}
}
&.red {
border: none;
color: var(--button-red-bg);
&:hover {
color: var(--button-red-border-color);
}
}
&.yellow {
border: none;
color: var(--button-yellow-bg);
&:hover {
color: var(--button-yellow-hover-bg);
}
}
}
&.bold {
font-weight: bold;
}
&:disabled {
cursor: default;
opacity: 0.5;
pointer-events: none;
}
&:focus-visible {
outline: 1px solid var(--success-color);
outline-offset: 2px;
}
}