Bin
2025-12-16 9e0b2ba2c317b1a86212f24cbae3195ad1f3dbfa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
.codeEditor {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
 
  textarea,
  :global(.react-codemirror2) {
    height: 100%;
    width: 100%;
    flex: 1;
    font-family: var(--font-mono);
    caret-color: var(--color-neutral-content);
 
    :global(.CodeMirror) {
      height: 100%;
      width: 100%;
      border: 1px solid var(--color-neutral-border);
      background: var(--color-neutral-background);
      color: var(--color-neutral-content-subtle);
      border-radius: var(--corner-radius-small);
    }
 
    :global(.CodeMirror-lines) {
      padding: var(--spacing-tight) 0;
    }
 
    :global(.CodeMirror-line) {
      padding: 0 var(--spacing-tight);
    }
 
    /**
     * @todo .CodeMirror-hints and all descendants are outside of editor in a modal,
     * so we need to move them to the top level of this file
     */
    :global(.CodeMirror-hint-tag) {
      white-space: normal;
      line-height: 1.4em;
      max-height: 3em;
      max-width: 400px;
      overflow: hidden;
      text-overflow: ellipsis;
    }
 
    :global(.CodeMirror-hint-name) {
      font-weight: 500;
      color: darkgoldenrod;
      font-family: var(--font-mono);
    }
 
    :global(.CodeMirror-hint-active) :global(.CodeMirror-hint-name) {
      color: blanchedalmond;
    }
 
    :global(.CodeMirror-hint-type) {
      font-style: italic;
      color: #aaa;
    }
 
    :global(.CodeMirror-hint-active) :global(.CodeMirror-hint-type) {
      color: #ddd;
    }
 
    :global(.CodeMirror-cursor) {
      border-color: var(--color-neutral-content);
    }
 
    :global(.cm-attribute),
    :global(.cm-keyword) {
      color: var(--color-accent-blueberry-bold);
    }
 
    :global(.cm-def) {
      color: var(--color-accent-grape-bold);
    }
 
    :global(.cm-builtin) {
      color: var(--color-accent-canteloupe-bold);
    }
 
    :global(.cm-number) {
      color: var(--color-accent-kiwi-bold);
    }
 
    :global(.cm-tag),
    :global(.cm-bracket) {
      color: var(--color-accent-kale-bold);
    }
 
    :global(.cm-string) {
      color: var(--color-accent-persimmon-bold);
    }
 
    :global(.cm-comment) {
      color: var(--color-accent-sand-bold);
    }
 
    :global(.CodeMirror-gutters) {
      background-color: var(--color-neutral-surface-inset);
      color: var(--color-neutral-content-subtlest);
      border-right: 1px solid var(--color-neutral-border);
    }
  }
}
 
.border :global(.CodeMirror) {
  border: 1px solid var(--color-neutral-border);
}
 
:global(.CodeMirror-hints) {
  background-color: var(--color-neutral-background);
  border: 1px solid var(--color-neutral-border);
  box-shadow: 0 2px 4px rgba(var(--color-neutral-shadow-raw) / calc( 30% * var(--shadow-intensity))), 0 4px 16px rgba(var(--color-neutral-shadow-raw) / calc( 15% * var(--shadow-intensity)));
 
  // Create Project modal has z-index: 10000, so we have to overrule it
  z-index: 11000;
}
 
:global(.CodeMirror-hints .CodeMirror-hint) {
  color: var(--color-neutral-content);
}
 
:global(.CodeMirror-hints .CodeMirror-hint-active) {
  color: var(--color-neutral-content);
  background: var(--color-primary-emphasis-subtle);
}
 
:global(.CodeMirror-hints .CodeMirror-hint:hover) {
  color: var(--color-neutral-content);
  background: var(--color-primary-emphasis-subtle);
}
 
:global(.CodeMirror-hints .CodeMirror-hint-type) {
  color: var(--color-neutral-content-subtle);
}
 
:global(.CodeMirror-hints .CodeMirror-hint-description) {
  color: var(--color-neutral-content-subtler);
}