command-palette.scss 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. :root {
  2. --command-palette-color-scheme: dark;
  3. --command-palette-selected-bg: var(--green-70);
  4. --command-palette-selected-color: var(--green-10);
  5. --command-palette-border-color: var(--border-primary);
  6. }
  7. @include theme('light') {
  8. --command-palette-color-scheme: light;
  9. --command-palette-selected-bg: var(--bg-accent-03);
  10. --command-palette-selected-color: var(--green-70);
  11. --command-palette-border-color: var(--border-divider);
  12. }
  13. .command-palette {
  14. color-scheme: var(--command-palette-color-scheme);
  15. pointer-events: none;
  16. .modal-dialog {
  17. pointer-events: auto;
  18. }
  19. .modal-body {
  20. padding: 0;
  21. }
  22. .modal-content {
  23. background-color: var(--bg-primary-themed);
  24. border: 1px solid var(--command-palette-border-color);
  25. }
  26. .command-palette-input {
  27. width: 100%;
  28. padding: var(--spacing-05);
  29. border: 0;
  30. border-bottom: 1px solid var(--border-divider-themed);
  31. background: transparent;
  32. color: var(--content-primary-themed);
  33. font-size: var(--font-size-04);
  34. outline: none;
  35. &::placeholder {
  36. color: var(--content-placeholder-themed);
  37. }
  38. }
  39. .command-palette-results {
  40. list-style: none;
  41. margin: 0;
  42. padding: var(--spacing-02);
  43. max-height: 50vh;
  44. overflow-y: auto;
  45. color: var(--content-primary-themed);
  46. &:empty {
  47. display: none;
  48. }
  49. }
  50. .command-palette-result {
  51. margin: 0;
  52. button {
  53. display: flex;
  54. flex-direction: column;
  55. align-items: flex-start;
  56. gap: var(--spacing-01);
  57. width: 100%;
  58. padding: var(--spacing-03) var(--spacing-04);
  59. border: 0;
  60. border-radius: var(--border-radius-base);
  61. background: transparent;
  62. color: var(--content-primary-themed);
  63. text-align: left;
  64. cursor: pointer;
  65. &:focus-visible {
  66. outline: none;
  67. }
  68. }
  69. &.command-palette-result-selected button {
  70. background-color: var(--command-palette-selected-bg);
  71. color: var(--command-palette-selected-color);
  72. }
  73. &.command-palette-result-selected .command-palette-result-description {
  74. color: var(--command-palette-selected-color);
  75. }
  76. }
  77. .command-palette-result-title {
  78. color: var(--content-primary-themed);
  79. font-size: var(--font-size-03);
  80. font-weight: 500;
  81. line-height: 1.2;
  82. }
  83. .command-palette-result-description {
  84. font-size: var(--font-size-02);
  85. color: var(--content-secondary-themed);
  86. line-height: 1.2;
  87. }
  88. }