tool-status-title.css 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. [data-component="tool-status-title"] {
  2. display: inline-flex;
  3. align-items: baseline;
  4. white-space: nowrap;
  5. text-align: start;
  6. [data-slot="tool-status-suffix"] {
  7. display: inline-flex;
  8. align-items: baseline;
  9. white-space: nowrap;
  10. }
  11. [data-slot="tool-status-prefix"] {
  12. white-space: nowrap;
  13. flex-shrink: 0;
  14. }
  15. [data-slot="tool-status-swap"],
  16. [data-slot="tool-status-tail"] {
  17. display: inline-grid;
  18. overflow: hidden;
  19. justify-items: start;
  20. transition: width var(--tool-motion-spring-ms, 480ms) var(--tool-motion-ease, cubic-bezier(0.22, 1, 0.36, 1));
  21. }
  22. [data-slot="tool-status-active"],
  23. [data-slot="tool-status-done"] {
  24. grid-area: 1 / 1;
  25. white-space: nowrap;
  26. justify-self: start;
  27. text-align: start;
  28. transition-property: opacity, filter, transform;
  29. transition-duration:
  30. var(--tool-motion-fade-ms, 240ms), calc(var(--tool-motion-fade-ms, 240ms) * 0.8),
  31. calc(var(--tool-motion-fade-ms, 240ms) * 0.8);
  32. transition-timing-function: ease-out, ease-out, ease-out;
  33. }
  34. &[data-ready="false"] {
  35. [data-slot="tool-status-swap"],
  36. [data-slot="tool-status-tail"] {
  37. transition-duration: 0ms;
  38. }
  39. [data-slot="tool-status-active"],
  40. [data-slot="tool-status-done"] {
  41. transition-duration: 0ms;
  42. }
  43. }
  44. [data-slot="tool-status-active"] {
  45. opacity: 0;
  46. filter: blur(calc(var(--tool-motion-blur, 2px) * 0.45));
  47. transform: translateY(0.03em);
  48. }
  49. [data-slot="tool-status-done"] {
  50. color: var(--text-strong);
  51. opacity: 1;
  52. filter: blur(0);
  53. transform: translateY(0);
  54. }
  55. &[data-active="true"] {
  56. [data-slot="tool-status-active"] {
  57. opacity: 1;
  58. filter: blur(0);
  59. transform: translateY(0);
  60. }
  61. [data-slot="tool-status-done"] {
  62. opacity: 0;
  63. filter: blur(calc(var(--tool-motion-blur, 2px) * 0.45));
  64. transform: translateY(0.03em);
  65. }
  66. }
  67. }
  68. @media (prefers-reduced-motion: reduce) {
  69. [data-component="tool-status-title"] [data-slot="tool-status-swap"],
  70. [data-component="tool-status-title"] [data-slot="tool-status-tail"] {
  71. transition-duration: 0ms;
  72. }
  73. [data-component="tool-status-title"] [data-slot="tool-status-active"],
  74. [data-component="tool-status-title"] [data-slot="tool-status-done"] {
  75. transition-duration: 0ms;
  76. }
  77. }