index.css 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. @import "@opencode-ai/ui/styles/tailwind";
  2. @layer components {
  3. @keyframes session-progress-whip {
  4. 0% {
  5. clip-path: inset(0 100% 0 0 round 999px);
  6. animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
  7. }
  8. 48% {
  9. clip-path: inset(0 0 0 0 round 999px);
  10. animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  11. }
  12. 100% {
  13. clip-path: inset(0 0 0 100% round 999px);
  14. }
  15. }
  16. [data-component="session-progress"] {
  17. position: absolute;
  18. inset: 0 0 auto;
  19. height: 2px;
  20. overflow: hidden;
  21. pointer-events: none;
  22. opacity: 1;
  23. transition: opacity 220ms ease-out;
  24. }
  25. [data-component="session-progress"][data-state="hiding"] {
  26. opacity: 0;
  27. }
  28. [data-component="session-progress-bar"] {
  29. width: 100%;
  30. height: 100%;
  31. border-radius: 999px;
  32. background: var(--session-progress-color);
  33. clip-path: inset(0 100% 0 0 round 999px);
  34. animation: session-progress-whip var(--session-progress-ms, 1800ms) infinite;
  35. will-change: clip-path;
  36. }
  37. [data-component="getting-started"] {
  38. container-type: inline-size;
  39. container-name: getting-started;
  40. }
  41. [data-component="getting-started-actions"] {
  42. display: flex;
  43. flex-direction: column;
  44. gap: 0.75rem; /* gap-3 */
  45. }
  46. [data-component="getting-started-actions"] > [data-component="button"] {
  47. width: 100%;
  48. }
  49. @container getting-started (min-width: 17rem) {
  50. [data-component="getting-started-actions"] {
  51. flex-direction: row;
  52. align-items: center;
  53. }
  54. [data-component="getting-started-actions"] > [data-component="button"] {
  55. width: auto;
  56. }
  57. }
  58. }