popover.css 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. [data-slot="popover-trigger"] {
  2. display: inline-flex;
  3. }
  4. [data-component="popover-content"] {
  5. z-index: 50;
  6. min-width: 200px;
  7. max-width: 320px;
  8. border-radius: var(--radius-md);
  9. background-color: var(--surface-raised-stronger-non-alpha);
  10. border: 1px solid color-mix(in oklch, var(--border-base) 50%, transparent);
  11. background-clip: padding-box;
  12. box-shadow: var(--shadow-md);
  13. transform-origin: var(--kb-popover-content-transform-origin);
  14. &:focus-within {
  15. outline: none;
  16. }
  17. &[data-closed] {
  18. animation: popover-close 0.15s ease-out;
  19. }
  20. &[data-expanded] {
  21. animation: popover-open 0.15s ease-out;
  22. }
  23. [data-slot="popover-header"] {
  24. display: flex;
  25. padding: 12px;
  26. padding-bottom: 0;
  27. justify-content: space-between;
  28. align-items: center;
  29. gap: 8px;
  30. [data-slot="popover-title"] {
  31. flex: 1;
  32. color: var(--text-strong);
  33. margin: 0;
  34. font-family: var(--font-family-sans);
  35. font-size: var(--font-size-base);
  36. font-style: normal;
  37. font-weight: var(--font-weight-medium);
  38. line-height: var(--line-height-large);
  39. letter-spacing: var(--letter-spacing-normal);
  40. }
  41. [data-slot="popover-close-button"] {
  42. flex-shrink: 0;
  43. }
  44. }
  45. [data-slot="popover-description"] {
  46. padding: 0 12px;
  47. margin: 0;
  48. color: var(--text-base);
  49. font-family: var(--font-family-sans);
  50. font-size: var(--font-size-small);
  51. font-style: normal;
  52. font-weight: var(--font-weight-regular);
  53. line-height: var(--line-height-large);
  54. letter-spacing: var(--letter-spacing-normal);
  55. }
  56. [data-slot="popover-body"] {
  57. padding: 12px;
  58. }
  59. [data-slot="popover-arrow"] {
  60. fill: var(--surface-raised-stronger-non-alpha);
  61. }
  62. }
  63. @keyframes popover-open {
  64. from {
  65. opacity: 0;
  66. transform: scale(0.96);
  67. }
  68. to {
  69. opacity: 1;
  70. transform: scale(1);
  71. }
  72. }
  73. @keyframes popover-close {
  74. from {
  75. opacity: 1;
  76. transform: scale(1);
  77. }
  78. to {
  79. opacity: 0;
  80. transform: scale(0.96);
  81. }
  82. }