@mongoosejs/studio 0.2.13 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/backend/actions/ChatMessage/executeScript.js +5 -1
  2. package/backend/actions/ChatThread/createChatMessage.js +4 -1
  3. package/backend/actions/ChatThread/streamChatMessage.js +4 -2
  4. package/backend/actions/Dashboard/updateDashboard.js +2 -2
  5. package/backend/actions/Task/getTaskOverview.js +102 -0
  6. package/backend/actions/Task/getTasks.js +85 -45
  7. package/backend/actions/Task/index.js +1 -0
  8. package/eslint.config.js +4 -1
  9. package/frontend/public/app.js +25025 -762
  10. package/frontend/public/dark-theme.css +365 -0
  11. package/frontend/public/images/mongoose-studio.svg +4 -0
  12. package/frontend/public/index.html +21 -1
  13. package/frontend/public/style.css +5 -7
  14. package/frontend/public/theme-variables.css +294 -0
  15. package/frontend/public/tw.css +348 -213
  16. package/frontend/src/_util/dateRange.js +82 -0
  17. package/frontend/src/ace-editor/ace-editor.html +4 -0
  18. package/frontend/src/ace-editor/ace-editor.js +95 -0
  19. package/frontend/src/aceEditor.js +69 -0
  20. package/frontend/src/api.js +6 -0
  21. package/frontend/src/chat/chat-message/chat-message.html +1 -1
  22. package/frontend/src/chat/chat-message/chat-message.js +1 -1
  23. package/frontend/src/chat/chat-message-script/chat-message-script.html +54 -42
  24. package/frontend/src/chat/chat-message-script/chat-message-script.js +6 -55
  25. package/frontend/src/chat/chat.html +68 -39
  26. package/frontend/src/chat/chat.js +26 -2
  27. package/frontend/src/clone-document/clone-document.html +7 -2
  28. package/frontend/src/clone-document/clone-document.js +1 -8
  29. package/frontend/src/create-dashboard/create-dashboard.html +11 -6
  30. package/frontend/src/create-dashboard/create-dashboard.js +0 -7
  31. package/frontend/src/create-document/create-document.html +15 -9
  32. package/frontend/src/create-document/create-document.js +5 -12
  33. package/frontend/src/dashboard/dashboard.html +14 -12
  34. package/frontend/src/dashboard/dashboard.js +21 -4
  35. package/frontend/src/dashboard/edit-dashboard/edit-dashboard.html +13 -7
  36. package/frontend/src/dashboard/edit-dashboard/edit-dashboard.js +16 -23
  37. package/frontend/src/dashboard-result/dashboard-chart/dashboard-chart.html +19 -17
  38. package/frontend/src/dashboard-result/dashboard-chart/dashboard-chart.js +97 -2
  39. package/frontend/src/dashboard-result/dashboard-map/dashboard-map.js +27 -3
  40. package/frontend/src/dashboard-result/dashboard-result.html +3 -3
  41. package/frontend/src/dashboard-result/dashboard-result.js +3 -0
  42. package/frontend/src/dashboard-result/dashboard-table/dashboard-table.html +34 -0
  43. package/frontend/src/dashboard-result/dashboard-table/dashboard-table.js +37 -0
  44. package/frontend/src/dashboards/dashboards.html +101 -109
  45. package/frontend/src/dashboards/dashboards.js +25 -1
  46. package/frontend/src/detail-default/detail-default.html +2 -2
  47. package/frontend/src/detail-default/detail-default.js +24 -3
  48. package/frontend/src/document/confirm-changes/confirm-changes.html +1 -1
  49. package/frontend/src/document/confirm-delete/confirm-delete.html +1 -1
  50. package/frontend/src/document/document.css +1 -1
  51. package/frontend/src/document/document.html +28 -28
  52. package/frontend/src/document/execute-script/execute-script.html +20 -21
  53. package/frontend/src/document/execute-script/execute-script.js +1 -43
  54. package/frontend/src/document-details/document-details.css +4 -9
  55. package/frontend/src/document-details/document-details.html +34 -33
  56. package/frontend/src/document-details/document-details.js +2 -53
  57. package/frontend/src/document-details/document-property/document-property.html +12 -12
  58. package/frontend/src/edit-array/edit-array.html +7 -6
  59. package/frontend/src/edit-array/edit-array.js +10 -50
  60. package/frontend/src/edit-boolean/edit-boolean.html +12 -12
  61. package/frontend/src/edit-date/edit-date.html +2 -2
  62. package/frontend/src/edit-default/edit-default.html +1 -1
  63. package/frontend/src/edit-string/edit-string.html +3 -3
  64. package/frontend/src/edit-subdocument/edit-subdocument.html +5 -3
  65. package/frontend/src/edit-subdocument/edit-subdocument.js +1 -15
  66. package/frontend/src/export-query-results/export-query-results.html +3 -3
  67. package/frontend/src/json-node/json-node.html +3 -3
  68. package/frontend/src/list-json/json-node.html +1 -1
  69. package/frontend/src/models/document-search/document-search.html +3 -3
  70. package/frontend/src/models/model-switcher/model-switcher.html +53 -0
  71. package/frontend/src/models/model-switcher/model-switcher.js +123 -0
  72. package/frontend/src/models/models.css +3 -10
  73. package/frontend/src/models/models.html +146 -80
  74. package/frontend/src/models/models.js +116 -7
  75. package/frontend/src/navbar/navbar.html +157 -97
  76. package/frontend/src/navbar/navbar.js +31 -12
  77. package/frontend/src/routes.js +1 -1
  78. package/frontend/src/splash/splash.html +5 -5
  79. package/frontend/src/task-by-name/task-by-name.html +77 -7
  80. package/frontend/src/task-by-name/task-by-name.js +84 -9
  81. package/frontend/src/task-single/task-single.html +29 -29
  82. package/frontend/src/task-single/task-single.js +10 -10
  83. package/frontend/src/tasks/task-details/task-details.html +43 -43
  84. package/frontend/src/tasks/task-details/task-details.js +9 -3
  85. package/frontend/src/tasks/tasks.html +36 -35
  86. package/frontend/src/tasks/tasks.js +27 -143
  87. package/frontend/src/team/new-invitation/new-invitation.html +8 -8
  88. package/frontend/src/team/team.html +27 -27
  89. package/frontend/src/update-document/update-document.html +7 -2
  90. package/frontend/src/update-document/update-document.js +2 -11
  91. package/package.json +3 -1
  92. package/tailwind.config.js +75 -11
@@ -0,0 +1,365 @@
1
+ /*
2
+ * Dark-mode overrides for Mongoose Studio.
3
+ *
4
+ * Semantic Tailwind tokens (bg-primary, bg-surface, text-content, border-edge, etc.)
5
+ * swap automatically via CSS variables in theme-variables.css — no overrides needed here.
6
+ *
7
+ * This file only covers:
8
+ * 1. Remaining hard-coded Tailwind gray shades not yet converted to semantic tokens
9
+ * 2. Status / semantic colors (red, green, yellow, blue)
10
+ * 3. Component-specific overrides (CodeMirror, modals, chat, etc.)
11
+ * 4. Miscellaneous (JSON view, tooltips, scrollbars, placeholders)
12
+ */
13
+
14
+ /* ---- Remaining gray backgrounds ---- */
15
+ .dark .bg-gray-200 {
16
+ background-color: var(--studio-bg-subtle);
17
+ }
18
+
19
+ .dark .bg-gray-300 {
20
+ background-color: var(--studio-bg-subtle-hover);
21
+ }
22
+
23
+ .dark .bg-gray-600 {
24
+ background-color: var(--studio-bg-strong);
25
+ }
26
+
27
+ .dark .bg-gray-800 {
28
+ background-color: var(--studio-bg-stronger);
29
+ }
30
+
31
+ .dark .hover\:bg-gray-300:hover,
32
+ .dark .hover\:bg-gray-400:hover {
33
+ background-color: var(--studio-bg-strong);
34
+ }
35
+
36
+ /* ---- Remaining gray text ---- */
37
+ .dark .text-gray-300,
38
+ .dark .text-gray-400 {
39
+ color: var(--studio-text-subtle);
40
+ }
41
+
42
+ .dark .text-gray-600 {
43
+ color: var(--studio-text-muted);
44
+ }
45
+
46
+ .dark .text-gray-800 {
47
+ color: var(--studio-text-primary);
48
+ }
49
+
50
+ /* ---- Status / semantic ---- */
51
+ .dark .bg-red-50 {
52
+ background-color: var(--studio-bg-error);
53
+ }
54
+
55
+ .dark .bg-yellow-50 {
56
+ background-color: var(--studio-bg-warning);
57
+ }
58
+
59
+ .dark .bg-green-50 {
60
+ background-color: var(--studio-bg-success);
61
+ }
62
+
63
+ .dark .bg-blue-100 {
64
+ background-color: var(--studio-bg-info);
65
+ }
66
+
67
+ .dark .border-red-200 {
68
+ border-color: var(--studio-border-error);
69
+ }
70
+
71
+ .dark .border-yellow-200 {
72
+ border-color: var(--studio-border-warning);
73
+ }
74
+
75
+ .dark .border-green-200 {
76
+ border-color: var(--studio-border-success);
77
+ }
78
+
79
+ .dark .text-red-700 {
80
+ color: var(--studio-text-error);
81
+ }
82
+
83
+ .dark .text-green-700 {
84
+ color: var(--studio-text-success);
85
+ }
86
+
87
+ .dark .ring-green-600\/20 {
88
+ --tw-ring-color: var(--studio-ring-success);
89
+ }
90
+
91
+ .dark .ring-gray-600\/20 {
92
+ --tw-ring-color: var(--studio-ring-muted);
93
+ }
94
+
95
+ /* ---- Ring / shadow ---- */
96
+ .dark .ring-black\/5,
97
+ .dark .ring-opacity-5 {
98
+ --tw-ring-color: var(--studio-ring);
99
+ }
100
+
101
+ .dark .ring-gray-900\/5 {
102
+ --tw-ring-color: var(--studio-ring);
103
+ }
104
+
105
+ /* ---- Slate (documents area, filter bar) ---- */
106
+ .dark .bg-slate-50 {
107
+ background-color: var(--studio-bg-muted);
108
+ }
109
+
110
+ .dark .hover\:bg-slate-50:hover {
111
+ background-color: var(--studio-bg-muted-hover);
112
+ }
113
+
114
+ .dark .bg-slate-100 {
115
+ background-color: var(--studio-bg-muted);
116
+ }
117
+
118
+ .dark .border-slate-100,
119
+ .dark .border-slate-300 {
120
+ border-color: var(--studio-border);
121
+ }
122
+
123
+ .dark .text-slate-400 {
124
+ color: var(--studio-text-muted);
125
+ }
126
+
127
+ .dark .text-slate-500 {
128
+ color: var(--studio-text-muted);
129
+ }
130
+
131
+ .dark .text-slate-600 {
132
+ color: var(--studio-text-secondary);
133
+ }
134
+
135
+ .dark .text-slate-700 {
136
+ color: var(--studio-text-secondary);
137
+ }
138
+
139
+ .dark .text-slate-800 {
140
+ color: var(--studio-text-primary);
141
+ }
142
+
143
+ .dark .hover\:text-slate-700:hover {
144
+ color: var(--studio-text-primary);
145
+ }
146
+
147
+ /* ---- JSON view – high-contrast value colors ---- */
148
+ .dark .text-blue-600 {
149
+ color: #93c5fd;
150
+ }
151
+
152
+ .dark .text-sky-700,
153
+ .dark .text-sky-800 {
154
+ color: #7dd3fc;
155
+ }
156
+
157
+ .dark .text-emerald-600 {
158
+ color: #6ee7b7;
159
+ }
160
+
161
+ .dark .text-amber-600 {
162
+ color: #fcd34d;
163
+ }
164
+
165
+ .dark .text-violet-600 {
166
+ color: #c4b5fd;
167
+ }
168
+
169
+ /* ---- Selected document row ---- */
170
+ .dark .bg-blue-200 {
171
+ background-color: rgba(127, 29, 43, 0.35);
172
+ }
173
+
174
+ /* ---- Tooltip ---- */
175
+ .dark .tooltip .tooltiptext {
176
+ background-color: var(--studio-tooltip-bg);
177
+ color: var(--studio-tooltip-text);
178
+ border: 1px solid var(--studio-tooltip-border);
179
+ }
180
+
181
+ /* ---- Document layout ---- */
182
+ .dark .document .document-menu {
183
+ background-color: var(--studio-bg-surface);
184
+ }
185
+
186
+ .dark .document-details .path-key {
187
+ background-color: var(--studio-bg-subtle);
188
+ }
189
+
190
+ .dark .document-details .path-type {
191
+ color: var(--studio-text-muted);
192
+ }
193
+
194
+ .dark .document-details .value {
195
+ color: var(--studio-text-secondary);
196
+ }
197
+
198
+ .dark .json-view pre {
199
+ background-color: var(--studio-bg-surface);
200
+ color: var(--studio-text-primary);
201
+ }
202
+
203
+ .dark .json-view pre::-webkit-scrollbar-track {
204
+ background: var(--studio-bg-subtle);
205
+ }
206
+
207
+ .dark .json-view pre::-webkit-scrollbar-thumb {
208
+ background: var(--studio-bg-strong);
209
+ }
210
+
211
+ .dark .json-view pre::-webkit-scrollbar-thumb:hover {
212
+ background: var(--studio-text-muted);
213
+ }
214
+
215
+ /* ---- Models table and sidebar ---- */
216
+ .dark .models .documents table th,
217
+ .dark .models .documents table td,
218
+ .dark .models .documents table tr {
219
+ color: var(--studio-text-primary);
220
+ border-bottom-color: var(--studio-border);
221
+ }
222
+
223
+ .dark .models .documents table th::after {
224
+ border-bottom-color: var(--studio-border);
225
+ }
226
+
227
+ .dark .models .model-selector,
228
+ .dark .models button.gray {
229
+ background-color: var(--studio-bg-muted);
230
+ color: var(--studio-text-primary);
231
+ }
232
+
233
+ .dark .models .path-type {
234
+ color: var(--studio-text-muted);
235
+ }
236
+
237
+ /* ---- Modal ---- */
238
+ .dark .modal-container {
239
+ background-color: var(--studio-bg-surface);
240
+ color: var(--studio-text-primary);
241
+ }
242
+
243
+ .dark .modal-body {
244
+ color: inherit;
245
+ }
246
+
247
+ /* ---- Ace editor border in dark mode ---- */
248
+ .dark .ace-editor-container {
249
+ border-color: var(--studio-border) !important;
250
+ }
251
+
252
+ /* ---- Prism.js syntax highlighting (dark) ---- */
253
+ .dark code[class*="language-"],
254
+ .dark pre[class*="language-"] {
255
+ color: #e8e8e8 !important;
256
+ text-shadow: none !important;
257
+ background: var(--studio-bg-muted) !important;
258
+ }
259
+
260
+ .dark .token.comment,
261
+ .dark .token.prolog,
262
+ .dark .token.doctype,
263
+ .dark .token.cdata {
264
+ color: #6a9955 !important;
265
+ }
266
+
267
+ .dark .token.punctuation {
268
+ color: #b8b8bc !important;
269
+ }
270
+
271
+ .dark .token.property,
272
+ .dark .token.tag,
273
+ .dark .token.boolean,
274
+ .dark .token.number,
275
+ .dark .token.constant,
276
+ .dark .token.symbol,
277
+ .dark .token.deleted {
278
+ color: #d19a66 !important;
279
+ }
280
+
281
+ .dark .token.selector,
282
+ .dark .token.attr-name,
283
+ .dark .token.string,
284
+ .dark .token.char,
285
+ .dark .token.builtin,
286
+ .dark .token.inserted {
287
+ color: #98c379 !important;
288
+ }
289
+
290
+ .dark .token.operator,
291
+ .dark .token.entity,
292
+ .dark .token.url,
293
+ .dark .language-css .token.string,
294
+ .dark .style .token.string {
295
+ color: #56b6c2 !important;
296
+ background: none !important;
297
+ }
298
+
299
+ .dark .token.atrule,
300
+ .dark .token.attr-value,
301
+ .dark .token.keyword {
302
+ color: #c678dd !important;
303
+ }
304
+
305
+ .dark .token.function,
306
+ .dark .token.class-name {
307
+ color: #61afef !important;
308
+ }
309
+
310
+ .dark .token.regex,
311
+ .dark .token.important,
312
+ .dark .token.variable {
313
+ color: #d19a66 !important;
314
+ }
315
+
316
+ /* ---- Textarea (modal, dashboard editor) ---- */
317
+ .dark .modal-container textarea,
318
+ .dark .modal-body textarea,
319
+ .dark .dashboard-editor textarea,
320
+ .dark .dashboard-editor input {
321
+ background-color: var(--studio-bg-muted) !important;
322
+ color: var(--studio-text-primary) !important;
323
+ border-color: var(--studio-border) !important;
324
+ }
325
+
326
+ .dark .modal-container textarea::placeholder,
327
+ .dark .modal-body textarea::placeholder,
328
+ .dark .dashboard-editor textarea::placeholder,
329
+ .dark .dashboard-editor input::placeholder {
330
+ color: var(--studio-text-subtle) !important;
331
+ }
332
+
333
+ .dark .modal-container textarea:focus,
334
+ .dark .modal-body textarea:focus,
335
+ .dark .dashboard-editor textarea:focus,
336
+ .dark .dashboard-editor input:focus {
337
+ border-color: var(--studio-focus-ring) !important;
338
+ outline: none;
339
+ box-shadow: 0 0 0 2px var(--studio-focus-ring-shadow) !important;
340
+ }
341
+
342
+ /* ---- Dashboard editor panel ---- */
343
+ .dark .dashboard-editor {
344
+ background-color: var(--studio-bg-muted) !important;
345
+ color: var(--studio-text-primary);
346
+ }
347
+
348
+ /* ---- Chat message script block ---- */
349
+ .dark .chat-message-script {
350
+ background-color: var(--studio-bg-surface) !important;
351
+ color: var(--studio-text-primary);
352
+ border-color: var(--studio-border) !important;
353
+ }
354
+
355
+ .dark .chat-message-script .flex.border-b {
356
+ background-color: var(--studio-bg-surface) !important;
357
+ border-color: var(--studio-border) !important;
358
+ }
359
+
360
+
361
+ /* ---- Input placeholder contrast ---- */
362
+ .dark ::placeholder,
363
+ .dark .placeholder\:text-gray-400::placeholder {
364
+ color: var(--studio-text-muted);
365
+ }
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="250" height="250" viewBox="0 0 250 250" fill="none">
2
+ <path d="M 241.66,125.01 C 237.81,112.98 227.41,111.95 216.76,110.36 C 215.12,95.83 210.99,83.09 202.29,70.33 C 202.99,68.37 201.92,66.65 200.74,65.11 C 183.14,41.46 157.52,27 124.66,27 C 92.62,27 66.09,40.77 48.28,63.38 C 46.21,65.85 46.26,67.71 47.12,69.36 C 37.81,81.15 33.21,93.78 30.99,109.86 C 20.19,110.58 11.71,115.92 9.04,124.94 C 3.28,145.66 5.62,157.95 10.01,169.16 C 16.14,184.65 29.12,186.31 36.04,185.81 C 42.48,185.68 44.94,184.31 44.72,182.11 C 44.26,177.79 41.01,165.31 41.01,149.12 C 41.01,138.22 43.19,127.74 46.21,117.7 C 47.51,113.33 44.66,112.05 39.16,110.28 C 41.01,96.88 45.88,84.85 52.61,73.79 C 55.17,75.56 58.07,74.88 59.61,72.71 C 75.86,54.31 97.89,45.16 124.61,45.16 C 149.71,45.16 171.91,55.91 189.29,73.47 C 191.95,76.59 193.91,76.67 197.6,74.42 C 204.93,86.26 208.28,98.24 208.98,110.39 C 203.84,111.81 201.28,113.19 202.92,118.61 C 206.51,128.99 207.92,137.93 207.92,148.73 C 207.92,162.11 204.8,174.71 202.84,182.71 C 201.92,186.23 204.31,186.91 210.79,186.99 H 213.91 C 225.87,186.61 235.39,180.64 239.49,169.05 C 244.83,155.26 245.08,138.01 241.66,125.01 Z" fill="#7F1D2B"/>
3
+ <path d="M 124.71,70.81 C 79.63,70.81 47.49,107.12 47.49,148.72 C 47.49,169.16 56.41,188.19 73.71,200.61 L 73.96,200.77 C 77.43,177.81 84.16,162.21 95.29,145.42 C 92.04,137.09 91.71,130.87 92.62,120.83 C 93.81,111.23 96.08,107.12 102.19,107.68 C 110.04,108.87 117.98,116.18 126.22,124.96 C 139.89,124.05 157.81,131.25 178.33,139.09 C 183.11,140.86 183.72,142.63 182.97,148.33 C 179.45,160.93 170.86,166.63 158.11,174.05 C 143.09,183.07 141.13,199.42 153.88,220.09 L 153.96,221.01 L 154.71,221.17 C 181.31,208.43 201.34,181.01 201.34,148.72 C 201.34,108.15 169.29,70.81 124.71,70.81 Z" fill="#7F1D2B"/>
4
+ </svg>
@@ -6,11 +6,12 @@
6
6
  <meta name="msapplication-TileColor" />
7
7
  <meta name="theme-color" content="#ffffff"/>
8
8
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter"/>
9
+ <link rel="stylesheet" href="theme-variables.css">
9
10
  <link rel="stylesheet" type="text/css" href="style.css"/>
10
11
  <link rel="stylesheet" href="https://unpkg.com/prismjs@1.29.0/themes/prism.css"/>
11
12
  <link rel="stylesheet" href="tw.css">
13
+ <link rel="stylesheet" href="dark-theme.css">
12
14
  <link rel="stylesheet" href="vanillatoasts/vanillatoasts.css">
13
- <link rel="stylesheet" href="https://unpkg.com/codemirror@5.65.16/lib/codemirror.css">
14
15
  <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"/>
15
16
  <link rel="icon" href="images/logo.svg" type="image/svg+xml">
16
17
  <script src="./config.js"></script>
@@ -20,6 +21,25 @@
20
21
  <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
21
22
  <script src="https://unpkg.com/codemirror@5.65.16/lib/codemirror.js"></script>
22
23
  <script src="https://unpkg.com/codemirror@5.65.16/mode/javascript/javascript.js"></script>
24
+ <script>
25
+ (function() {
26
+ try {
27
+ var key = 'studio-theme';
28
+ var stored = localStorage.getItem(key);
29
+ var prefersDark = typeof matchMedia !== 'undefined' && matchMedia('(prefers-color-scheme: dark)').matches;
30
+ var isDark = stored === 'dark' || (!stored && prefersDark);
31
+ if (!stored) localStorage.setItem(key, isDark ? 'dark' : 'light');
32
+ if (isDark) document.documentElement.classList.add('dark');
33
+ var meta = document.querySelector('meta[name="theme-color"]');
34
+ if (meta) meta.setAttribute('content', isDark ? '#0f0f0f' : '#ffffff');
35
+ } catch (err) {
36
+ var prefersDark = typeof matchMedia !== 'undefined' && matchMedia('(prefers-color-scheme: dark)').matches;
37
+ if (prefersDark) document.documentElement.classList.add('dark');
38
+ var meta = document.querySelector('meta[name="theme-color"]');
39
+ if (meta) meta.setAttribute('content', prefersDark ? '#0f0f0f' : '#ffffff');
40
+ }
41
+ })();
42
+ </script>
23
43
  </head>
24
44
 
25
45
  <body>
@@ -3,11 +3,8 @@ body {
3
3
  margin: 0;
4
4
  padding: 0;
5
5
  font-family: "Inter", Helvetica, Arial, FreeSans, sans-serif;
6
- }
7
-
8
- a {
9
- text-decoration: none;
10
- color: #0e5887;
6
+ background-color: var(--studio-bg-page);
7
+ color: var(--studio-text-page);
11
8
  }
12
9
 
13
10
  .bold {
@@ -23,8 +20,9 @@ a {
23
20
  .tooltip .tooltiptext {
24
21
  visibility: hidden;
25
22
  width: 120px;
26
- background-color: black;
27
- color: #fff;
23
+ background-color: var(--studio-tooltip-bg);
24
+ color: var(--studio-tooltip-text);
25
+ border: 1px solid var(--studio-tooltip-border);
28
26
  text-align: center;
29
27
  padding: 5px 0px;
30
28
  border-radius: 6px;