|
55 | 55 | opacity: 1; |
56 | 56 | } |
57 | 57 |
|
58 | | -.action-button.disabled { |
59 | | - opacity: 0.35; |
60 | | - cursor: not-allowed; |
61 | | - filter: grayscale(30%); |
| 58 | +.codicon-sparkle { |
| 59 | + transition: all 0.3s ease; |
| 60 | + z-index: 1; |
62 | 61 | } |
63 | 62 |
|
64 | | -.action-button.disabled:hover { |
65 | | - background-color: transparent; |
| 63 | +.codicon-sparkle:hover { |
| 64 | + filter: brightness(1.2); |
66 | 65 | } |
67 | 66 |
|
68 | | -/* Loading spinner styles */ |
69 | | -.action-button.codicon-loading { |
70 | | - animation: spin 1s linear infinite; |
| 67 | +.enhancing { |
| 68 | + position: relative; |
| 69 | + background: transparent !important; |
| 70 | + opacity: 1 !important; |
| 71 | +} |
| 72 | + |
| 73 | +.enhancing::after { |
| 74 | + content: ""; |
| 75 | + position: absolute; |
| 76 | + inset: -2px; |
| 77 | + border-radius: 8px; |
| 78 | + background: linear-gradient( |
| 79 | + 45deg, |
| 80 | + var(--vscode-button-background), |
| 81 | + var(--vscode-textLink-foreground), |
| 82 | + var(--vscode-symbolIcon-classForeground), |
| 83 | + var(--vscode-button-background) |
| 84 | + ); |
| 85 | + background-size: 400% 400%; |
| 86 | + opacity: 0.08; |
| 87 | + z-index: 0; |
| 88 | + animation: border-flow 2s ease-in-out infinite; |
71 | 89 | } |
72 | 90 |
|
73 | | -@keyframes spin { |
74 | | - from { |
75 | | - transform: rotate(0deg); |
| 91 | +@keyframes border-flow { |
| 92 | + 0%, |
| 93 | + 100% { |
| 94 | + background-position: 0% 50%; |
| 95 | + opacity: 0.08; |
76 | 96 | } |
77 | | - to { |
78 | | - transform: rotate(360deg); |
| 97 | + 50% { |
| 98 | + background-position: 100% 50%; |
| 99 | + opacity: 0.12; |
79 | 100 | } |
80 | 101 | } |
81 | 102 |
|
| 103 | +.disabled:not(.enhancing) { |
| 104 | + opacity: 0.35; |
| 105 | + cursor: not-allowed; |
| 106 | + filter: grayscale(30%); |
| 107 | +} |
| 108 | + |
| 109 | +.disabled:not(.enhancing):hover { |
| 110 | + background-color: transparent; |
| 111 | +} |
| 112 | + |
82 | 113 | /* Desktop styles */ |
83 | 114 | @media (min-width: 1024px) { |
84 | 115 | .action-button { |
|
0 commit comments