@powerduck/schema-designer 0.1.0

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 (102) hide show
  1. package/README.md +217 -0
  2. package/dist/InlineSchemaEditor-BssSx3SI.d.ts +6 -0
  3. package/dist/InlineSchemaEditor-Bua-lDhE.d.cts +6 -0
  4. package/dist/chunk-2XUQB6BQ.js +1896 -0
  5. package/dist/chunk-4H3LXOL4.cjs +1900 -0
  6. package/dist/chunk-7LG4MVMD.cjs +2 -0
  7. package/dist/chunk-BXFABOMJ.js +1475 -0
  8. package/dist/chunk-FTALJIVZ.js +1 -0
  9. package/dist/chunk-GTZH37JS.cjs +1120 -0
  10. package/dist/chunk-GWHDTTQK.js +1437 -0
  11. package/dist/chunk-GXXD6ITE.cjs +1477 -0
  12. package/dist/chunk-HI5FBHCO.js +1057 -0
  13. package/dist/chunk-KX3LFFOV.js +88 -0
  14. package/dist/chunk-MADPN2PJ.js +185 -0
  15. package/dist/chunk-NOUORNCI.cjs +1452 -0
  16. package/dist/chunk-O6PTRJQ5.js +1195 -0
  17. package/dist/chunk-OBHJC3I2.cjs +2 -0
  18. package/dist/chunk-OOSNM45O.cjs +264 -0
  19. package/dist/chunk-P5B3HSPY.js +244 -0
  20. package/dist/chunk-PBE36BVA.js +1 -0
  21. package/dist/chunk-PVEYKCM6.js +1 -0
  22. package/dist/chunk-QZADGAP3.cjs +1218 -0
  23. package/dist/chunk-S7GNTGEE.js +1 -0
  24. package/dist/chunk-SMBDRWV2.cjs +2 -0
  25. package/dist/chunk-THYDOHOP.cjs +2 -0
  26. package/dist/chunk-WRHWOMZQ.cjs +190 -0
  27. package/dist/chunk-YNKP5JJA.cjs +32 -0
  28. package/dist/chunk-YWDKCX6N.cjs +91 -0
  29. package/dist/chunk-ZHNYNFGL.js +28 -0
  30. package/dist/compat/inline.cjs +137 -0
  31. package/dist/compat/inline.css +275 -0
  32. package/dist/compat/inline.d.cts +6 -0
  33. package/dist/compat/inline.d.ts +6 -0
  34. package/dist/compat/inline.js +4 -0
  35. package/dist/compat/parameters.cjs +90 -0
  36. package/dist/compat/parameters.css +997 -0
  37. package/dist/compat/parameters.d.cts +70 -0
  38. package/dist/compat/parameters.d.ts +70 -0
  39. package/dist/compat/parameters.js +9 -0
  40. package/dist/compat/tree.cjs +142 -0
  41. package/dist/compat/tree.css +1069 -0
  42. package/dist/compat/tree.d.cts +4 -0
  43. package/dist/compat/tree.d.ts +4 -0
  44. package/dist/compat/tree.js +5 -0
  45. package/dist/compat/variable-editor.cjs +82 -0
  46. package/dist/compat/variable-editor.d.cts +68 -0
  47. package/dist/compat/variable-editor.d.ts +68 -0
  48. package/dist/compat/variable-editor.js +1 -0
  49. package/dist/core/index.cjs +197 -0
  50. package/dist/core/index.d.cts +21 -0
  51. package/dist/core/index.d.ts +21 -0
  52. package/dist/core/index.js +4 -0
  53. package/dist/index.cjs +35 -0
  54. package/dist/index.css +1791 -0
  55. package/dist/index.d.cts +9 -0
  56. package/dist/index.d.ts +9 -0
  57. package/dist/index.js +10 -0
  58. package/dist/parameterValue-2pL9n-3q.d.ts +8 -0
  59. package/dist/parameterValue-Cky9Lnd3.d.cts +8 -0
  60. package/dist/react/index.cjs +35 -0
  61. package/dist/react/index.css +1791 -0
  62. package/dist/react/index.d.cts +9 -0
  63. package/dist/react/index.d.ts +9 -0
  64. package/dist/react/index.js +10 -0
  65. package/dist/react/inlineSchemaEditor/index.cjs +97 -0
  66. package/dist/react/inlineSchemaEditor/index.css +275 -0
  67. package/dist/react/inlineSchemaEditor/index.d.cts +6 -0
  68. package/dist/react/inlineSchemaEditor/index.d.ts +6 -0
  69. package/dist/react/inlineSchemaEditor/index.js +4 -0
  70. package/dist/react/parametersTable/index.cjs +22 -0
  71. package/dist/react/parametersTable/index.css +997 -0
  72. package/dist/react/parametersTable/index.d.cts +7 -0
  73. package/dist/react/parametersTable/index.d.ts +7 -0
  74. package/dist/react/parametersTable/index.js +9 -0
  75. package/dist/react/parametersTable/libs/generateValue.cjs +558 -0
  76. package/dist/react/parametersTable/libs/generateValue.d.cts +17 -0
  77. package/dist/react/parametersTable/libs/generateValue.d.ts +17 -0
  78. package/dist/react/parametersTable/libs/generateValue.js +551 -0
  79. package/dist/react/schemaTreeEditor/index.cjs +18 -0
  80. package/dist/react/schemaTreeEditor/index.css +1069 -0
  81. package/dist/react/schemaTreeEditor/index.d.cts +7 -0
  82. package/dist/react/schemaTreeEditor/index.d.ts +7 -0
  83. package/dist/react/schemaTreeEditor/index.js +5 -0
  84. package/dist/react/variableTextEditor/index.cjs +11 -0
  85. package/dist/react/variableTextEditor/index.css +306 -0
  86. package/dist/react/variableTextEditor/index.d.cts +6 -0
  87. package/dist/react/variableTextEditor/index.d.ts +6 -0
  88. package/dist/react/variableTextEditor/index.js +2 -0
  89. package/dist/schema-CKAPsYeW.d.cts +41 -0
  90. package/dist/schema-o7OJRaJ8.d.ts +41 -0
  91. package/dist/styles.css +1791 -0
  92. package/dist/tree-D06Xa6_N.d.ts +95 -0
  93. package/dist/tree-Dq1Rk-CF.d.cts +95 -0
  94. package/dist/types-B27Dw9do.d.cts +163 -0
  95. package/dist/types-B27Dw9do.d.ts +163 -0
  96. package/dist/types-Bk9rzr6l.d.cts +48 -0
  97. package/dist/types-D2jEaM9Z.d.cts +145 -0
  98. package/dist/types-D2jEaM9Z.d.ts +145 -0
  99. package/dist/types-xAihO_KW.d.ts +48 -0
  100. package/dist/variableTextEditor.types-ClzvARvK.d.cts +49 -0
  101. package/dist/variableTextEditor.types-ClzvARvK.d.ts +49 -0
  102. package/package.json +130 -0
@@ -0,0 +1,1791 @@
1
+ /* src/react/shared/SettingsPanel.module.css */
2
+ .SettingsPanel_panel {
3
+ width: min(420px, calc(100vw - 24px));
4
+ max-height: min(640px, calc(100dvh - 32px), var(--available-height, 640px));
5
+ display: flex;
6
+ flex-direction: column;
7
+ overflow: hidden;
8
+ color: var(--color-text-primary, #26282b);
9
+ background: var(--color-surface, #fff);
10
+ border: 1px solid var(--color-border-default, #e0e4e8);
11
+ border-radius: var(--radius-md, 6px);
12
+ box-shadow: var(--shadow-lg, 0 8px 28px #0002);
13
+ font-family: var(--font-family-ui, system-ui, sans-serif);
14
+ font-size: 12px;
15
+ }
16
+ .SettingsPanel_header {
17
+ margin: 0;
18
+ display: flex;
19
+ align-items: center;
20
+ gap: 8px;
21
+ padding: 8px 12px;
22
+ border-bottom: 1px solid var(--color-border-subtle, #eceff1);
23
+ flex-shrink: 0;
24
+ }
25
+ .SettingsPanel_title {
26
+ flex: 1;
27
+ min-width: 0;
28
+ overflow: hidden;
29
+ text-overflow: ellipsis;
30
+ white-space: nowrap;
31
+ font-size: 12px;
32
+ font-weight: 600;
33
+ }
34
+ .SettingsPanel_close {
35
+ position: static;
36
+ display: inline-flex;
37
+ align-items: center;
38
+ justify-content: center;
39
+ padding: 0;
40
+ width: 24px;
41
+ height: 24px;
42
+ border-radius: 4px;
43
+ background: transparent;
44
+ color: var(--color-text-secondary, #6f747c);
45
+ }
46
+ .SettingsPanel_close:hover {
47
+ background: var(--color-surface-hover, #f4f5f6);
48
+ }
49
+ .SettingsPanel_close:focus-visible {
50
+ outline: 2px solid var(--color-focus-ring, #f5c98f);
51
+ }
52
+ .SettingsPanel_body {
53
+ padding: 12px;
54
+ overflow: auto;
55
+ min-height: 0;
56
+ overscroll-behavior: contain;
57
+ scrollbar-width: thin;
58
+ scrollbar-color: transparent transparent;
59
+ }
60
+ .SettingsPanel_body:hover,
61
+ .SettingsPanel_body:focus-within {
62
+ scrollbar-color: var(--color-border-strong, #ccd2d8) transparent;
63
+ }
64
+
65
+ /* src/react/inlineSchemaEditor/InlineSchemaEditor.module.css */
66
+ .InlineSchemaEditor_root {
67
+ width: 100%;
68
+ min-width: 0;
69
+ padding: 0;
70
+ color: var(--color-text-primary, #26282b);
71
+ font-family: var(--font-family-ui, system-ui, sans-serif);
72
+ font-size: 12px;
73
+ }
74
+ .InlineSchemaEditor_shell {
75
+ display: flex;
76
+ gap: 16px;
77
+ align-items: flex-start;
78
+ min-width: 0;
79
+ }
80
+ .InlineSchemaEditor_editorPane {
81
+ flex: 1;
82
+ min-width: 0;
83
+ }
84
+ .InlineSchemaEditor_previewPane {
85
+ width: min(36vw, 360px);
86
+ min-width: 240px;
87
+ padding: 12px;
88
+ border: 1px solid var(--color-border-subtle, #eceff1);
89
+ border-radius: 6px;
90
+ background: var(--color-surface, #fff);
91
+ max-height: 70vh;
92
+ display: flex;
93
+ }
94
+ .InlineSchemaEditor_root input:not([type=checkbox]):not([type=radio]),
95
+ .InlineSchemaEditor_root select,
96
+ .InlineSchemaEditor_root [data-scope=select][data-part=trigger] {
97
+ height: 28px;
98
+ min-height: 28px;
99
+ padding: 0 8px;
100
+ font-size: 12px;
101
+ border: 1px solid var(--color-border-default, #e0e4e8);
102
+ border-radius: 4px;
103
+ color: var(--color-text-primary, #26282b);
104
+ background: var(--color-surface, #fff);
105
+ }
106
+ .InlineSchemaEditor_root select {
107
+ padding-right: 28px;
108
+ }
109
+ .InlineSchemaEditor_root textarea {
110
+ font-size: 12px;
111
+ padding: 6px 8px;
112
+ border: 1px solid var(--color-border-default, #e0e4e8);
113
+ border-radius: 4px;
114
+ color: var(--color-text-primary, #26282b);
115
+ background: var(--color-surface, #fff);
116
+ }
117
+ .InlineSchemaEditor_root [data-scope=field][data-part=root] {
118
+ gap: 4px;
119
+ min-width: 0;
120
+ }
121
+ .InlineSchemaEditor_root [data-part=label] {
122
+ font-size: 12px;
123
+ font-weight: 500;
124
+ line-height: 18px;
125
+ color: var(--color-text-secondary, #6f747c);
126
+ }
127
+ .InlineSchemaEditor_root [data-part=helper-text],
128
+ .InlineSchemaEditor_root p {
129
+ font-size: 11px;
130
+ line-height: 16px;
131
+ color: var(--color-text-secondary, #6f747c);
132
+ }
133
+ .InlineSchemaEditor_root button {
134
+ font-size: 12px;
135
+ min-height: 24px;
136
+ color: var(--color-text-secondary, #6f747c);
137
+ }
138
+ .InlineSchemaEditor_root button:hover {
139
+ background: var(--color-surface-hover, #f4f5f6);
140
+ }
141
+ .InlineSchemaEditor_root input:focus-visible,
142
+ .InlineSchemaEditor_root select:focus-visible,
143
+ .InlineSchemaEditor_root textarea:focus-visible,
144
+ .InlineSchemaEditor_root button:focus-visible,
145
+ .InlineSchemaEditor_reference > summary:focus-visible {
146
+ outline: 2px solid var(--color-focus-ring, #f5c98f);
147
+ outline-offset: 1px;
148
+ box-shadow: none;
149
+ }
150
+ .InlineSchemaEditor_root [data-scope=switch][data-part=control] {
151
+ width: 28px;
152
+ height: 16px;
153
+ min-width: 28px;
154
+ background: var(--color-surface-selected, #eef0f2);
155
+ border: 1px solid var(--color-border-strong, #ccd2d8);
156
+ }
157
+ .InlineSchemaEditor_root [data-scope=switch][data-part=thumb] {
158
+ width: 12px;
159
+ height: 12px;
160
+ background: var(--color-surface, #fff);
161
+ }
162
+ .InlineSchemaEditor_root [data-scope=switch][data-part=control][data-state=checked] {
163
+ background: var(--color-accent, #f28c28);
164
+ border-color: var(--color-accent, #f28c28);
165
+ }
166
+ .InlineSchemaEditor_tabsList,
167
+ .InlineSchemaEditor_root [data-scope=tabs][data-part=list] {
168
+ display: flex;
169
+ width: 100%;
170
+ gap: 12px;
171
+ padding: 0;
172
+ border: 0;
173
+ border-bottom: 1px solid var(--color-border-subtle, #eceff1);
174
+ background: transparent;
175
+ border-radius: 0;
176
+ }
177
+ .InlineSchemaEditor_root [data-scope=tabs][data-part=trigger] {
178
+ flex: 0 0 auto;
179
+ min-height: 28px;
180
+ height: 28px;
181
+ padding: 0 2px;
182
+ border-radius: 0;
183
+ border-bottom: 2px solid transparent;
184
+ box-shadow: none;
185
+ font-size: 12px;
186
+ background: transparent;
187
+ }
188
+ .InlineSchemaEditor_root [data-scope=tabs][data-part=trigger][data-selected] {
189
+ color: var(--color-text-primary, #26282b);
190
+ border-bottom-color: var(--color-accent, #f28c28);
191
+ }
192
+ .InlineSchemaEditor_root .pdDesignerSchemaSection {
193
+ padding: 0;
194
+ border: 0;
195
+ border-radius: 0;
196
+ background: transparent;
197
+ }
198
+ .InlineSchemaEditor_root .pdDesignerSchemaNestedCard {
199
+ padding: 8px;
200
+ border: 1px solid var(--color-border-subtle, #eceff1);
201
+ border-radius: 4px;
202
+ background: transparent;
203
+ }
204
+ .InlineSchemaEditor_reference {
205
+ border-top: 1px solid var(--color-border-subtle, #eceff1);
206
+ padding-top: 6px;
207
+ }
208
+ .InlineSchemaEditor_reference > summary {
209
+ cursor: pointer;
210
+ font-size: 12px;
211
+ color: var(--color-text-secondary, #6f747c);
212
+ padding: 2px 0;
213
+ }
214
+ .InlineSchemaEditor_reference[open] > summary {
215
+ margin-bottom: 6px;
216
+ }
217
+ .pdDesignerSchemaPopoverContent {
218
+ width: min(420px, calc(100vw - 24px));
219
+ background: var(--color-surface, #fff);
220
+ color: var(--color-text-primary, #26282b);
221
+ border: 1px solid var(--color-border-default, #e0e4e8);
222
+ border-radius: 6px;
223
+ max-height: 80vh;
224
+ overflow: hidden;
225
+ }
226
+ .pdDesignerSchemaPopoverBody {
227
+ padding: 12px;
228
+ max-height: 72vh;
229
+ overflow: auto;
230
+ }
231
+ .pdDesignerSchemaIconButton {
232
+ width: 24px;
233
+ min-width: 24px;
234
+ height: 24px;
235
+ padding: 0;
236
+ }
237
+ @media (max-width: 900px) {
238
+ .InlineSchemaEditor_shell {
239
+ flex-direction: column;
240
+ }
241
+ .InlineSchemaEditor_editorPane {
242
+ width: 100%;
243
+ }
244
+ .InlineSchemaEditor_previewPane {
245
+ width: 100%;
246
+ min-width: 0;
247
+ max-height: 280px;
248
+ }
249
+ }
250
+ .pdDesignerSelectMenu {
251
+ min-width: var(--reference-width, 132px);
252
+ background: var(--color-surface, #fff);
253
+ color: var(--color-text-primary, #26282b);
254
+ border: 1px solid var(--color-border-default, #e0e4e8);
255
+ font-size: 12px;
256
+ padding: 4px;
257
+ }
258
+ .pdDesignerSelectMenu [data-part=item] {
259
+ min-height: 26px;
260
+ padding: 4px 8px;
261
+ border-radius: 4px;
262
+ }
263
+ .pdDesignerSelectMenu [data-highlighted] {
264
+ background: var(--color-surface-hover, #f4f5f6);
265
+ }
266
+ .InlineSchemaEditor_root p {
267
+ margin: 0;
268
+ }
269
+ .InlineSchemaEditor_root [data-scope=tabs][data-part=trigger]::before,
270
+ .InlineSchemaEditor_root [data-scope=tabs][data-part=trigger]::after {
271
+ display: none;
272
+ }
273
+ .InlineSchemaEditor_root [data-scope=tabs][data-part=indicator] {
274
+ display: none;
275
+ }
276
+
277
+ /* src/react/schemaTreeEditor/SchemaTreeEditor.module.css */
278
+ .SchemaTreeEditor_nameInput,
279
+ .SchemaTreeEditor_descriptionInput,
280
+ .SchemaTreeEditor_typeSelect select,
281
+ .SchemaTreeEditor_typeSelect [data-part=field],
282
+ .SchemaTreeEditor_typeSelect [data-part=trigger] {
283
+ box-sizing: border-box;
284
+ }
285
+ .SchemaTreeEditor_root {
286
+ --grid-columns: minmax(180px, 1.2fr) 116px 36px minmax(180px, 1.5fr) 84px;
287
+ --row-inset: 22px;
288
+ --row-pad-x: var(--space-3, 12px);
289
+ --ref-frame: var(--color-info, #4f79bf);
290
+ container-type: inline-size;
291
+ font-family: var( --font-family-ui, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif );
292
+ font-size: var(--font-size-sm, 13px);
293
+ color: var(--color-text-primary, #26282b);
294
+ background: var(--color-surface, #ffffff);
295
+ border: 1px solid var(--color-border-subtle, #eceff1);
296
+ border-radius: var(--radius-lg, 8px);
297
+ box-shadow: var( --shadow-sm, 0 1px 2px rgba(28, 32, 36, 0.035), 0 1px 3px rgba(28, 32, 36, 0.025) );
298
+ display: flex;
299
+ flex-direction: column;
300
+ min-width: 0;
301
+ overflow: hidden;
302
+ }
303
+ .SchemaTreeEditor_toolbar {
304
+ display: flex;
305
+ align-items: center;
306
+ gap: var(--space-2, 8px);
307
+ height: var(--header-height, 36px);
308
+ padding: 0 var(--space-2, 8px) 0 var(--space-3, 12px);
309
+ border-bottom: 1px solid var(--color-border-subtle, #eceff1);
310
+ background: var(--color-surface-subtle, #f8f9fa);
311
+ flex: 0 0 auto;
312
+ }
313
+ .SchemaTreeEditor_toolbarTitle {
314
+ font-size: var(--font-size-sm, 13px);
315
+ font-weight: var(--font-weight-semibold, 600);
316
+ line-height: var(--line-height-tight, 16px);
317
+ }
318
+ .SchemaTreeEditor_toolbarMeta {
319
+ font-size: var(--font-size-xs, 12px);
320
+ color: var(--color-text-tertiary, #989da5);
321
+ }
322
+ .SchemaTreeEditor_toolbarSpacer {
323
+ flex: 1 1 auto;
324
+ }
325
+ .SchemaTreeEditor_ghostButton {
326
+ display: inline-flex;
327
+ align-items: center;
328
+ gap: var(--space-1, 4px);
329
+ height: var(--control-height-xs, 24px);
330
+ padding: 0 var(--space-2, 8px);
331
+ border-radius: var(--radius-sm, 4px);
332
+ font-size: var(--font-size-xs, 12px);
333
+ font-weight: var(--font-weight-medium, 500);
334
+ color: var(--color-text-secondary, #6f747c);
335
+ background: transparent;
336
+ transition: background var(--transition-fast, 140ms ease), color var(--transition-fast, 140ms ease);
337
+ }
338
+ .SchemaTreeEditor_ghostButton:hover:not(:disabled) {
339
+ background: var(--color-surface-hover, #f4f5f6);
340
+ color: var(--color-text-primary, #26282b);
341
+ }
342
+ .SchemaTreeEditor_ghostButton:disabled {
343
+ color: var(--color-text-disabled, #c2c6cc);
344
+ cursor: not-allowed;
345
+ }
346
+ .SchemaTreeEditor_ghostButton:focus-visible {
347
+ outline: none;
348
+ box-shadow: 0 0 0 3px var(--color-focus-ring, rgba(242, 140, 40, 0.28));
349
+ }
350
+ .SchemaTreeEditor_header,
351
+ .SchemaTreeEditor_row {
352
+ display: grid;
353
+ grid-template-columns: var(--grid-columns);
354
+ align-items: center;
355
+ column-gap: var(--space-3, 12px);
356
+ }
357
+ .SchemaTreeEditor_header {
358
+ padding: var(--space-1, 4px) var(--row-pad-x) var(--space-1, 4px) calc(var(--row-pad-x) + var(--row-inset));
359
+ border-bottom: 1px solid var(--color-border-subtle, #eceff1);
360
+ background: var(--color-surface, #ffffff);
361
+ font-size: var(--font-size-xxs, 10px);
362
+ font-weight: var(--font-weight-semibold, 600);
363
+ letter-spacing: 0.04em;
364
+ text-transform: uppercase;
365
+ color: var(--color-text-tertiary, #989da5);
366
+ flex: 0 0 auto;
367
+ }
368
+ .SchemaTreeEditor_headerCell {
369
+ min-width: 0;
370
+ overflow: hidden;
371
+ text-overflow: ellipsis;
372
+ white-space: nowrap;
373
+ }
374
+ .SchemaTreeEditor_headerCell:nth-child(3) {
375
+ text-align: center;
376
+ letter-spacing: 0;
377
+ }
378
+ .SchemaTreeEditor_list {
379
+ position: relative;
380
+ overflow: auto;
381
+ padding: var(--space-2, 8px) 0;
382
+ scrollbar-width: thin;
383
+ scrollbar-color: var(--color-border-strong, #ccd2d8) transparent;
384
+ }
385
+ .SchemaTreeEditor_list::-webkit-scrollbar {
386
+ width: 10px;
387
+ height: 10px;
388
+ }
389
+ .SchemaTreeEditor_list::-webkit-scrollbar-thumb {
390
+ background: var(--color-border-default, #e0e4e8);
391
+ border: 3px solid transparent;
392
+ background-clip: content-box;
393
+ border-radius: var(--radius-full, 9999px);
394
+ }
395
+ .SchemaTreeEditor_list::-webkit-scrollbar-thumb:hover {
396
+ background-color: var(--color-border-strong, #ccd2d8);
397
+ }
398
+ .SchemaTreeEditor_row {
399
+ position: relative;
400
+ padding: 3px var(--row-pad-x) 3px calc(var(--row-pad-x) + var(--row-inset));
401
+ min-height: var(--control-height-md, 32px);
402
+ transition: background var(--transition-fast, 140ms ease);
403
+ }
404
+ .SchemaTreeEditor_row:hover {
405
+ background: var(--color-surface-hover, #f4f5f6);
406
+ }
407
+ .SchemaTreeEditor_row:focus-within {
408
+ background: var(--color-surface-subtle, #f8f9fa);
409
+ }
410
+ .SchemaTreeEditor_row[data-dragging=true] {
411
+ opacity: 0.45;
412
+ }
413
+ .SchemaTreeEditor_row[data-ref-segment]:not([data-ref-segment=none]) {
414
+ box-shadow: inset 2px 0 var(--color-border-default, #e0e4e8);
415
+ }
416
+ .SchemaTreeEditor_row[data-readonly] .SchemaTreeEditor_nameInput:disabled,
417
+ .SchemaTreeEditor_row[data-readonly] .SchemaTreeEditor_descriptionInput:disabled,
418
+ .SchemaTreeEditor_row[data-readonly] .SchemaTreeEditor_typeSelect select:disabled,
419
+ .SchemaTreeEditor_row[data-readonly] .SchemaTreeEditor_typeSelect [data-part=field]:disabled,
420
+ .SchemaTreeEditor_row[data-readonly] .SchemaTreeEditor_typeSelect [data-part=trigger][data-disabled] {
421
+ color: var(--color-text-secondary, #6f747c);
422
+ -webkit-text-fill-color: var(--color-text-secondary, #6f747c);
423
+ opacity: 1;
424
+ border-color: transparent;
425
+ background: transparent;
426
+ }
427
+ .SchemaTreeEditor_row[data-readonly] .SchemaTreeEditor_requiredToggle:disabled {
428
+ opacity: 0.85;
429
+ }
430
+ .SchemaTreeEditor_dropLine {
431
+ height: 2px;
432
+ margin: -1px calc(var(--row-pad-x)) -1px calc(var(--row-pad-x) + var(--row-inset));
433
+ border-radius: var(--radius-full, 9999px);
434
+ background: var(--color-accent, #f28c28);
435
+ pointer-events: none;
436
+ z-index: 1;
437
+ }
438
+ .SchemaTreeEditor_list[data-dragging=true] .SchemaTreeEditor_row:hover {
439
+ background: transparent;
440
+ }
441
+ .SchemaTreeEditor_list[data-dragging=true] .SchemaTreeEditor_row[data-ref-segment=head]:hover,
442
+ .SchemaTreeEditor_list[data-dragging=true] .SchemaTreeEditor_row[data-ref-segment=body]:hover,
443
+ .SchemaTreeEditor_list[data-dragging=true] .SchemaTreeEditor_row[data-ref-segment=tail]:hover,
444
+ .SchemaTreeEditor_list[data-dragging=true] .SchemaTreeEditor_row[data-ref-segment=single]:hover {
445
+ background: var(--color-info-soft, #f0f5ff);
446
+ }
447
+ .SchemaTreeEditor_grip {
448
+ position: absolute;
449
+ left: calc(var(--row-pad-x) - 2px);
450
+ top: 50%;
451
+ transform: translateY(-50%);
452
+ display: inline-flex;
453
+ padding: 3px;
454
+ border-radius: var(--radius-xs, 3px);
455
+ color: var(--color-text-tertiary, #989da5);
456
+ cursor: grab;
457
+ opacity: 0;
458
+ transition:
459
+ opacity var(--transition-fast, 140ms ease),
460
+ background var(--transition-fast, 140ms ease),
461
+ color var(--transition-fast, 140ms ease);
462
+ }
463
+ .SchemaTreeEditor_row:hover .SchemaTreeEditor_grip,
464
+ .SchemaTreeEditor_row:focus-within .SchemaTreeEditor_grip {
465
+ opacity: 1;
466
+ }
467
+ .SchemaTreeEditor_grip:hover {
468
+ background: var(--color-surface-selected, #eef0f2);
469
+ color: var(--color-text-secondary, #6f747c);
470
+ }
471
+ .SchemaTreeEditor_grip:active {
472
+ cursor: grabbing;
473
+ }
474
+ .SchemaTreeEditor_gripPlaceholder {
475
+ position: absolute;
476
+ left: calc(var(--row-pad-x) - 2px);
477
+ width: 16px;
478
+ height: 16px;
479
+ pointer-events: none;
480
+ }
481
+ .SchemaTreeEditor_nameCell {
482
+ display: flex;
483
+ align-items: center;
484
+ gap: var(--space-1, 4px);
485
+ min-width: 0;
486
+ }
487
+ .SchemaTreeEditor_chevron {
488
+ flex: 0 0 auto;
489
+ display: inline-flex;
490
+ align-items: center;
491
+ justify-content: center;
492
+ width: 18px;
493
+ height: 18px;
494
+ min-width: 18px;
495
+ padding: 0;
496
+ border-radius: var(--radius-xs, 3px);
497
+ color: var(--color-text-secondary, #6f747c);
498
+ background: transparent;
499
+ transition:
500
+ background var(--transition-fast, 140ms ease),
501
+ color var(--transition-fast, 140ms ease),
502
+ transform var(--transition-fast, 140ms ease);
503
+ }
504
+ .SchemaTreeEditor_chevron:hover {
505
+ background: var(--color-surface-selected, #eef0f2);
506
+ color: var(--color-text-primary, #26282b);
507
+ }
508
+ .SchemaTreeEditor_chevron:focus-visible {
509
+ outline: none;
510
+ box-shadow: 0 0 0 2px var(--color-focus-ring, rgba(242, 140, 40, 0.28));
511
+ }
512
+ .SchemaTreeEditor_chevron[data-expanded] {
513
+ transform: rotate(90deg);
514
+ }
515
+ @media (prefers-reduced-motion: reduce) {
516
+ .SchemaTreeEditor_chevron {
517
+ transition: background var(--transition-fast, 140ms ease), color var(--transition-fast, 140ms ease);
518
+ }
519
+ }
520
+ .SchemaTreeEditor_chevronPlaceholder {
521
+ flex: 0 0 auto;
522
+ width: 18px;
523
+ display: inline-flex;
524
+ justify-content: center;
525
+ }
526
+ .SchemaTreeEditor_chevronPlaceholder::after {
527
+ content: "";
528
+ align-self: center;
529
+ width: 4px;
530
+ height: 4px;
531
+ border-radius: var(--radius-full, 9999px);
532
+ background: var(--color-border-strong, #ccd2d8);
533
+ }
534
+ .SchemaTreeEditor_nameInput {
535
+ flex: 1;
536
+ width: 0;
537
+ min-width: 0;
538
+ height: var(--control-height-xs, 24px);
539
+ padding: 0 var(--space-1, 4px);
540
+ border: 1px solid transparent;
541
+ border-radius: var(--radius-sm, 4px);
542
+ background: transparent;
543
+ color: var(--color-text-primary, #26282b);
544
+ font-family: var( --font-family-ui, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif );
545
+ font-size: var(--font-size-sm, 13px);
546
+ font-weight: var(--font-weight-medium, 500);
547
+ line-height: var(--line-height-tight, 16px);
548
+ transition:
549
+ background var(--transition-fast, 140ms ease),
550
+ border-color var(--transition-fast, 140ms ease),
551
+ box-shadow var(--transition-fast, 140ms ease);
552
+ }
553
+ .SchemaTreeEditor_descriptionInput {
554
+ width: 100%;
555
+ min-width: 0;
556
+ height: var(--control-height-xs, 24px);
557
+ padding: 0 var(--space-1, 4px);
558
+ border: 1px solid transparent;
559
+ border-radius: var(--radius-sm, 4px);
560
+ background: transparent;
561
+ color: var(--color-text-secondary, #6f747c);
562
+ font-size: var(--font-size-xs, 12px);
563
+ line-height: var(--line-height-tight, 16px);
564
+ transition:
565
+ background var(--transition-fast, 140ms ease),
566
+ border-color var(--transition-fast, 140ms ease),
567
+ box-shadow var(--transition-fast, 140ms ease);
568
+ }
569
+ .SchemaTreeEditor_nameInput::placeholder,
570
+ .SchemaTreeEditor_descriptionInput::placeholder {
571
+ color: var(--color-text-tertiary, #989da5);
572
+ font-family: var( --font-family-ui, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif );
573
+ }
574
+ .SchemaTreeEditor_nameInput:hover:not(:disabled),
575
+ .SchemaTreeEditor_descriptionInput:hover:not(:disabled) {
576
+ background: var(--color-surface, #ffffff);
577
+ border-color: var(--color-border-subtle, #eceff1);
578
+ }
579
+ .SchemaTreeEditor_nameInput:focus,
580
+ .SchemaTreeEditor_descriptionInput:focus {
581
+ outline: none;
582
+ background: var(--color-surface, #ffffff);
583
+ border-color: var(--color-accent, #f28c28);
584
+ }
585
+ .SchemaTreeEditor_nameInput:disabled,
586
+ .SchemaTreeEditor_descriptionInput:disabled {
587
+ color: var(--color-text-secondary, #6f747c);
588
+ opacity: 1;
589
+ cursor: default;
590
+ }
591
+ .SchemaTreeEditor_inputRejected,
592
+ .SchemaTreeEditor_nameInput[aria-invalid=true],
593
+ .SchemaTreeEditor_descriptionInput[aria-invalid=true] {
594
+ border-color: var(--color-danger, #ff0000);
595
+ background: var(--color-danger-soft, #fff2f1);
596
+ transition:
597
+ border-color var(--transition-fast, 140ms ease),
598
+ background var(--transition-fast, 140ms ease),
599
+ box-shadow var(--transition-fast, 140ms ease);
600
+ }
601
+ .SchemaTreeEditor_refBadge {
602
+ flex: 0 0 auto;
603
+ display: inline-flex;
604
+ align-items: center;
605
+ gap: 3px;
606
+ max-width: 132px;
607
+ height: 18px;
608
+ padding: 0 6px;
609
+ border: 0;
610
+ border-radius: var(--radius-full, 9999px);
611
+ background: var(--color-surface, #ffffff);
612
+ color: var(--color-text-secondary, #6f747c);
613
+ font-size: var(--font-size-xxs, 10px);
614
+ font-weight: var(--font-weight-medium, 500);
615
+ }
616
+ .SchemaTreeEditor_refBadgeIcon {
617
+ flex: 0 0 auto;
618
+ width: 11px;
619
+ height: 11px;
620
+ }
621
+ .SchemaTreeEditor_refBadgeText {
622
+ min-width: 0;
623
+ overflow: hidden;
624
+ text-overflow: ellipsis;
625
+ white-space: nowrap;
626
+ }
627
+ .SchemaTreeEditor_recursiveBadge {
628
+ flex: 0 0 auto;
629
+ display: inline-flex;
630
+ align-items: center;
631
+ height: 18px;
632
+ padding: 0 6px;
633
+ border-radius: var(--radius-full, 9999px);
634
+ background: var(--color-warning-soft, #fff8e8);
635
+ color: var(--color-warning, #d98a22);
636
+ }
637
+ .SchemaTreeEditor_recursiveBadgeText {
638
+ font-size: var(--font-size-xxs, 10px);
639
+ font-weight: var(--font-weight-medium, 500);
640
+ white-space: nowrap;
641
+ }
642
+ .SchemaTreeEditor_typeCell {
643
+ display: flex;
644
+ align-items: center;
645
+ min-width: 0;
646
+ }
647
+ .SchemaTreeEditor_typeSelect {
648
+ width: 100%;
649
+ min-width: 0;
650
+ }
651
+ .SchemaTreeEditor_typeSelect select,
652
+ .SchemaTreeEditor_typeSelect [data-part=field],
653
+ .SchemaTreeEditor_typeSelect [data-part=trigger] {
654
+ width: 100%;
655
+ height: var(--control-height-xs, 24px);
656
+ padding: 0 var(--space-4, 16px) 0 var(--space-2, 8px);
657
+ border: 1px solid transparent;
658
+ border-radius: var(--radius-sm, 4px);
659
+ background: transparent;
660
+ color: var(--color-text-secondary, #6f747c);
661
+ font-size: var(--font-size-xs, 12px);
662
+ font-family: var( --font-family-ui, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif );
663
+ transition:
664
+ border-color var(--transition-fast, 140ms ease),
665
+ background var(--transition-fast, 140ms ease),
666
+ box-shadow var(--transition-fast, 140ms ease);
667
+ }
668
+ .SchemaTreeEditor_typeSelect select:hover:not(:disabled),
669
+ .SchemaTreeEditor_typeSelect [data-part=field]:hover:not(:disabled),
670
+ .SchemaTreeEditor_typeSelect [data-part=trigger]:hover {
671
+ background: var(--color-surface, #ffffff);
672
+ border-color: var(--color-border-subtle, #eceff1);
673
+ color: var(--color-text-primary, #26282b);
674
+ }
675
+ .SchemaTreeEditor_typeSelect select:focus-visible,
676
+ .SchemaTreeEditor_typeSelect [data-part=field]:focus-visible,
677
+ .SchemaTreeEditor_typeSelect [data-part=trigger]:focus-visible {
678
+ outline: none;
679
+ background: var(--color-surface, #ffffff);
680
+ border-color: var(--color-accent-border, #f5c98f);
681
+ box-shadow: 0 0 0 3px var(--color-focus-ring, rgba(242, 140, 40, 0.28));
682
+ }
683
+ .SchemaTreeEditor_typeSelect select:disabled,
684
+ .SchemaTreeEditor_typeSelect [data-part=field]:disabled {
685
+ cursor: default;
686
+ }
687
+ .SchemaTreeEditor_typeSelectContent {
688
+ background-color: var(--color-surface-subtle, #f8f9fa);
689
+ }
690
+ .SchemaTreeEditor_typeSelectItem {
691
+ height: 28px;
692
+ min-height: 28px;
693
+ color: var(--color-text-primary, #26282b);
694
+ border-color: var(--color-border-subtle, #eceff1);
695
+ }
696
+ .SchemaTreeEditor_typeSelectOption {
697
+ font-size: var(--font-size-xs, 12px);
698
+ text-transform: capitalize;
699
+ color: var(--color-text-primary, #26282b);
700
+ }
701
+ .SchemaTreeEditor_typeSelectOption svg,
702
+ .SchemaTreeEditor_typeSelectItem svg {
703
+ color: var(--color-text-primary, #26282b);
704
+ stroke: var(--color-text-primary, #26282b);
705
+ }
706
+ .SchemaTreeEditor_typeStatic {
707
+ min-width: 0;
708
+ padding: 0 var(--space-2, 8px);
709
+ color: var(--color-text-secondary, #6f747c);
710
+ font-family: var( --font-family-ui, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif );
711
+ font-size: var(--font-size-xs, 12px);
712
+ overflow: hidden;
713
+ text-overflow: ellipsis;
714
+ white-space: nowrap;
715
+ }
716
+ .SchemaTreeEditor_requiredCell {
717
+ display: flex;
718
+ align-items: center;
719
+ justify-content: center;
720
+ }
721
+ .SchemaTreeEditor_requiredToggle {
722
+ display: inline-flex;
723
+ align-items: center;
724
+ justify-content: center;
725
+ width: 22px;
726
+ height: 22px;
727
+ padding: 0;
728
+ border-radius: var(--radius-full, 9999px);
729
+ border: 1px solid transparent;
730
+ background: transparent;
731
+ color: var(--color-text-tertiary, #989da5);
732
+ transition:
733
+ color var(--transition-fast, 140ms ease),
734
+ background var(--transition-fast, 140ms ease),
735
+ border-color var(--transition-fast, 140ms ease);
736
+ }
737
+ .SchemaTreeEditor_requiredToggle svg {
738
+ font-size: 12px;
739
+ width: 8px;
740
+ }
741
+ .SchemaTreeEditor_requiredToggle:hover:not(:disabled) {
742
+ color: var(--color-accent, #f28c28);
743
+ }
744
+ .SchemaTreeEditor_requiredToggle:focus-visible {
745
+ outline: none;
746
+ box-shadow: 0 0 0 3px var(--color-focus-ring, rgba(242, 140, 40, 0.28));
747
+ }
748
+ .SchemaTreeEditor_requiredToggle:disabled {
749
+ cursor: default;
750
+ }
751
+ .SchemaTreeEditor_requiredToggle[data-on] {
752
+ color: var(--color-text-accent, #d97818);
753
+ }
754
+ .SchemaTreeEditor_requiredToggle[data-on]:hover:not(:disabled) {
755
+ color: var(--color-text-accent, #d97818);
756
+ }
757
+ .SchemaTreeEditor_descriptionCell {
758
+ min-width: 0;
759
+ }
760
+ .SchemaTreeEditor_actions {
761
+ display: flex;
762
+ align-items: center;
763
+ justify-content: flex-start;
764
+ gap: 2px;
765
+ opacity: 0;
766
+ pointer-events: none;
767
+ transition: opacity var(--transition-fast, 140ms ease);
768
+ }
769
+ .SchemaTreeEditor_row:hover .SchemaTreeEditor_actions,
770
+ .SchemaTreeEditor_row:focus-within .SchemaTreeEditor_actions,
771
+ .SchemaTreeEditor_row[data-menu-open=true] .SchemaTreeEditor_actions,
772
+ .SchemaTreeEditor_row[data-popover-open=true] .SchemaTreeEditor_actions {
773
+ opacity: 1;
774
+ pointer-events: auto;
775
+ }
776
+ .SchemaTreeEditor_iconButton {
777
+ width: var(--control-height-xs, 24px);
778
+ height: var(--control-height-xs, 24px);
779
+ min-width: var(--control-height-xs, 24px);
780
+ padding: 0;
781
+ border-radius: var(--radius-sm, 4px);
782
+ color: var(--color-text-secondary, #6f747c);
783
+ background: transparent;
784
+ transition: background var(--transition-fast, 140ms ease), color var(--transition-fast, 140ms ease);
785
+ }
786
+ .SchemaTreeEditor_iconButton:hover {
787
+ background: var(--color-surface-selected, #eef0f2);
788
+ color: var(--color-text-primary, #26282b);
789
+ }
790
+ .SchemaTreeEditor_iconButton:focus-visible {
791
+ outline: none;
792
+ box-shadow: 0 0 0 2px var(--color-focus-ring, rgba(242, 140, 40, 0.28));
793
+ }
794
+ .SchemaTreeEditor_iconButton[data-state=open] {
795
+ visibility: visible;
796
+ background: var(--color-surface-selected, #eef0f2);
797
+ color: var(--color-text-primary, #26282b);
798
+ }
799
+ .SchemaTreeEditor_dangerArmed,
800
+ .SchemaTreeEditor_dangerArmed:hover {
801
+ color: var(--color-danger, #d92d20);
802
+ background: var(--color-danger-soft, #fff2f1);
803
+ outline: none;
804
+ }
805
+ .SchemaTreeEditor_menu {
806
+ min-width: var(--menu-min-width, 224px);
807
+ padding: var(--space-1, 4px);
808
+ border: 1px solid var(--color-border-subtle, #eceff1);
809
+ border-radius: var(--radius-md, 6px);
810
+ background: var(--color-surface, #ffffff);
811
+ box-shadow: var( --shadow-md, 0 6px 18px rgba(28, 32, 36, 0.07), 0 2px 6px rgba(28, 32, 36, 0.035) );
812
+ }
813
+ .SchemaTreeEditor_menu [data-part=item] {
814
+ display: flex;
815
+ align-items: center;
816
+ height: var(--control-height-sm, 28px);
817
+ padding: 0 var(--space-2, 8px);
818
+ border-radius: var(--radius-sm, 4px);
819
+ font-size: var(--font-size-xs, 12px);
820
+ font-weight: var(--font-weight-medium, 500);
821
+ color: var(--color-text-primary, #26282b);
822
+ cursor: pointer;
823
+ transition: background var(--transition-fast, 140ms ease);
824
+ }
825
+ .SchemaTreeEditor_menu [data-part=item]:hover,
826
+ .SchemaTreeEditor_menu [data-part=item][data-highlighted] {
827
+ background: var(--color-surface-hover, #f4f5f6);
828
+ outline: none;
829
+ }
830
+ .SchemaTreeEditor_advancedPanel {
831
+ max-height: min(640px, calc(100dvh - 32px));
832
+ overflow-y: auto;
833
+ overscroll-behavior: contain;
834
+ width: min(440px, calc(100vw - var(--space-8, 32px)));
835
+ border: 1px solid var(--color-border-subtle, #eceff1);
836
+ border-radius: var(--radius-lg, 8px);
837
+ background: var(--color-surface, #ffffff);
838
+ box-shadow: var( --shadow-lg, 0 16px 40px rgba(28, 32, 36, 0.1), 0 4px 12px rgba(28, 32, 36, 0.05) );
839
+ }
840
+ .SchemaTreeEditor_advancedBody {
841
+ padding: var(--space-4, 16px);
842
+ }
843
+ .SchemaTreeEditor_empty {
844
+ display: flex;
845
+ flex-direction: column;
846
+ align-items: center;
847
+ gap: var(--space-2, 8px);
848
+ margin: var(--space-2, 8px) var(--space-3, 12px);
849
+ padding: var(--space-6, 24px) var(--space-4, 16px);
850
+ border: 1px dashed var(--color-border-default, #e0e4e8);
851
+ border-radius: var(--radius-md, 6px);
852
+ background: var(--color-canvas, #fafafa);
853
+ text-align: center;
854
+ }
855
+ .SchemaTreeEditor_emptyTitle {
856
+ font-size: var(--font-size-sm, 13px);
857
+ font-weight: var(--font-weight-semibold, 600);
858
+ }
859
+ .SchemaTreeEditor_emptyHint {
860
+ max-width: 320px;
861
+ font-size: var(--font-size-xs, 12px);
862
+ line-height: var(--line-height-normal, 20px);
863
+ color: var(--color-text-secondary, #6f747c);
864
+ }
865
+ .SchemaTreeEditor_notice {
866
+ margin: 0 var(--space-3, 12px) var(--space-2, 8px);
867
+ padding: var(--space-2, 8px) var(--space-3, 12px);
868
+ border: 1px solid var(--color-border-subtle, #eceff1);
869
+ border-radius: var(--radius-md, 6px);
870
+ background: var(--color-warning-soft, #fff8e8);
871
+ }
872
+ .SchemaTreeEditor_noticeText {
873
+ color: var(--color-warning, #d98a22);
874
+ font-size: var(--font-size-xs, 12px);
875
+ line-height: var(--line-height-normal, 20px);
876
+ }
877
+ .SchemaTreeEditor_fallback {
878
+ display: flex;
879
+ flex-direction: column;
880
+ align-items: flex-start;
881
+ gap: var(--space-2, 8px);
882
+ margin: var(--space-3, 12px);
883
+ padding: var(--space-4, 16px);
884
+ border: 1px solid var(--color-danger, #ff0000);
885
+ border-radius: var(--radius-md, 6px);
886
+ background: var(--color-danger-soft, #fff2f1);
887
+ }
888
+ .SchemaTreeEditor_fallbackTitle {
889
+ font-size: var(--font-size-sm, 13px);
890
+ font-weight: var(--font-weight-semibold, 600);
891
+ color: var(--color-danger, #ff0000);
892
+ }
893
+ .SchemaTreeEditor_fallbackMessage {
894
+ font-size: var(--font-size-xs, 12px);
895
+ line-height: var(--line-height-normal, 20px);
896
+ color: var(--color-text-secondary, #6f747c);
897
+ word-break: break-word;
898
+ }
899
+ .SchemaTreeEditor_srOnly {
900
+ position: absolute;
901
+ width: 1px;
902
+ height: 1px;
903
+ margin: -1px;
904
+ padding: 0;
905
+ overflow: hidden;
906
+ clip: rect(0 0 0 0);
907
+ clip-path: inset(50%);
908
+ white-space: nowrap;
909
+ border: 0;
910
+ }
911
+ @container (max-width: 560px) {
912
+ .SchemaTreeEditor_root {
913
+ --grid-columns: minmax(140px, 1.3fr) 92px 24px minmax(120px, 1fr) 84px;
914
+ --row-pad-x: var(--space-2, 8px);
915
+ }
916
+ }
917
+ .SchemaTreeEditor_advancedPanel {
918
+ scrollbar-width: thin;
919
+ scrollbar-color: var(--color-border-strong, #ccd2d8) transparent;
920
+ }
921
+ [data-theme=dark] .SchemaTreeEditor_advancedPanel {
922
+ color-scheme: dark;
923
+ }
924
+ .SchemaTreeEditor_advancedPanel::-webkit-scrollbar {
925
+ width: 6px;
926
+ height: 6px;
927
+ }
928
+ .SchemaTreeEditor_advancedPanel::-webkit-scrollbar-track {
929
+ background: transparent;
930
+ }
931
+ .SchemaTreeEditor_advancedPanel::-webkit-scrollbar-thumb {
932
+ background: transparent;
933
+ border-radius: 8px;
934
+ }
935
+ .SchemaTreeEditor_advancedPanel:hover::-webkit-scrollbar-thumb,
936
+ .SchemaTreeEditor_advancedPanel:focus-within::-webkit-scrollbar-thumb {
937
+ background: var(--color-border-strong, #ccd2d8);
938
+ }
939
+ .SchemaTreeEditor_root[data-show-type=false] .SchemaTreeEditor_typeCell,
940
+ .SchemaTreeEditor_root[data-show-type=false] .SchemaTreeEditor_headerCell:nth-child(2),
941
+ .SchemaTreeEditor_root[data-show-required=false] .SchemaTreeEditor_requiredCell,
942
+ .SchemaTreeEditor_root[data-show-required=false] .SchemaTreeEditor_headerCell:nth-child(3),
943
+ .SchemaTreeEditor_root[data-show-description=false] .SchemaTreeEditor_descriptionCell,
944
+ .SchemaTreeEditor_root[data-show-description=false] .SchemaTreeEditor_headerCell:nth-child(4) {
945
+ display: none;
946
+ }
947
+ .SchemaTreeEditor_root {
948
+ box-shadow: none;
949
+ }
950
+ .SchemaTreeEditor_header,
951
+ .SchemaTreeEditor_row {
952
+ column-gap: 8px;
953
+ }
954
+ .SchemaTreeEditor_row {
955
+ min-height: 30px;
956
+ padding-top: 2px;
957
+ padding-bottom: 2px;
958
+ }
959
+ .SchemaTreeEditor_list {
960
+ padding: 4px 0;
961
+ scrollbar-color: transparent transparent;
962
+ }
963
+ .SchemaTreeEditor_list:hover,
964
+ .SchemaTreeEditor_list:focus-within {
965
+ scrollbar-color: var(--color-border-strong, #ccd2d8) transparent;
966
+ }
967
+ .SchemaTreeEditor_actions {
968
+ opacity: 1;
969
+ pointer-events: auto;
970
+ }
971
+ .SchemaTreeEditor_actions > :not(:first-child) {
972
+ opacity: 0;
973
+ }
974
+ .SchemaTreeEditor_row:hover .SchemaTreeEditor_actions > *,
975
+ .SchemaTreeEditor_row:focus-within .SchemaTreeEditor_actions > *,
976
+ .SchemaTreeEditor_actions:has([data-state=open]) > * {
977
+ opacity: 1;
978
+ }
979
+ @media (hover: none) {
980
+ .SchemaTreeEditor_actions > :not(:first-child) {
981
+ opacity: 1;
982
+ }
983
+ }
984
+ .SchemaTreeEditor_refBadge {
985
+ background: transparent;
986
+ line-height: 18px;
987
+ }
988
+ .SchemaTreeEditor_refBadgeText {
989
+ font-size: 11px;
990
+ line-height: 18px;
991
+ }
992
+ .SchemaTreeEditor_root p {
993
+ margin: 0;
994
+ }
995
+ .SchemaTreeEditor_refBadge {
996
+ height: 20px;
997
+ border-radius: 4px;
998
+ background: var(--color-surface-subtle, #f8f9fa);
999
+ transition: background 120ms ease, color 120ms ease;
1000
+ }
1001
+ .SchemaTreeEditor_refBadge:hover,
1002
+ .SchemaTreeEditor_refBadge:focus-within,
1003
+ .SchemaTreeEditor_row:hover .SchemaTreeEditor_refBadge {
1004
+ background: var(--color-info-soft, #edf3fb);
1005
+ color: var(--color-info, #4f79bf);
1006
+ }
1007
+ .SchemaTreeEditor_refBadgeText {
1008
+ display: inline;
1009
+ margin: 0;
1010
+ font-size: 11px;
1011
+ line-height: 1;
1012
+ color: inherit;
1013
+ }
1014
+ .SchemaTreeEditor_refBadgeIcon {
1015
+ display: block;
1016
+ width: 12px;
1017
+ height: 12px;
1018
+ }
1019
+ .SchemaTreeEditor_typeStatic {
1020
+ margin: 0;
1021
+ line-height: 24px;
1022
+ }
1023
+ .SchemaTreeEditor_iconButton > svg {
1024
+ width: 14px;
1025
+ height: 14px;
1026
+ }
1027
+ .SchemaTreeEditor_headerCell:first-child {
1028
+ padding-left: 26px;
1029
+ }
1030
+ .SchemaTreeEditor_headerCell:nth-child(2) {
1031
+ padding-left: 8px;
1032
+ }
1033
+ .SchemaTreeEditor_headerCell:nth-child(4) {
1034
+ padding-left: 4px;
1035
+ }
1036
+ .SchemaTreeEditor_referenceGroup:hover .SchemaTreeEditor_row,
1037
+ .SchemaTreeEditor_referenceGroup:focus-within .SchemaTreeEditor_row {
1038
+ background: var(--color-info-soft, #f0f5ff);
1039
+ }
1040
+ .SchemaTreeEditor_referenceGroup:hover .SchemaTreeEditor_refBadge,
1041
+ .SchemaTreeEditor_referenceGroup:focus-within .SchemaTreeEditor_refBadge {
1042
+ color: var(--color-info, #4f79bf);
1043
+ background: transparent;
1044
+ }
1045
+ .SchemaTreeEditor_tableViewport {
1046
+ overflow: auto;
1047
+ min-height: 0;
1048
+ scrollbar-width: thin;
1049
+ scrollbar-color: transparent transparent;
1050
+ }
1051
+ .SchemaTreeEditor_tableViewport:hover,
1052
+ .SchemaTreeEditor_tableViewport:focus-within {
1053
+ scrollbar-color: var(--color-border-strong, #ccd2d8) transparent;
1054
+ }
1055
+ .SchemaTreeEditor_header,
1056
+ .SchemaTreeEditor_list {
1057
+ min-width: var(--grid-min-width, 430px);
1058
+ }
1059
+ .SchemaTreeEditor_list {
1060
+ overflow: visible;
1061
+ }
1062
+ @media (max-width: 480px) {
1063
+ .SchemaTreeEditor_toolbar {
1064
+ height: auto;
1065
+ min-height: 36px;
1066
+ flex-wrap: wrap;
1067
+ padding-block: 4px;
1068
+ }
1069
+ }
1070
+
1071
+ /* src/react/variableTextEditor/VariableTextEditor.module.css */
1072
+ .VariableTextEditor_root {
1073
+ --editor-min-height: 40px;
1074
+ --editor-max-focused-height: 240px;
1075
+ --editor-line-height: 24px;
1076
+ --editor-padding-block: 4px;
1077
+ position: relative;
1078
+ box-sizing: border-box;
1079
+ width: 100%;
1080
+ min-width: 0;
1081
+ min-height: var(--editor-min-height);
1082
+ height: var(--editor-min-height);
1083
+ overflow: hidden;
1084
+ color: var(--color-text-primary, #202124);
1085
+ background: transparent;
1086
+ font-family:
1087
+ var(--font-family-ui, Inter),
1088
+ ui-monospace,
1089
+ SFMono-Regular,
1090
+ Menlo,
1091
+ Monaco,
1092
+ Consolas,
1093
+ monospace;
1094
+ font-size: var(--font-size-sm, 13px);
1095
+ line-height: var(--editor-line-height);
1096
+ }
1097
+ .VariableTextEditor_root[data-focused] {
1098
+ height: var(--editor-focused-height, var(--editor-min-height));
1099
+ max-height: var(--editor-max-focused-height);
1100
+ }
1101
+ .VariableTextEditor_root[data-wrapped] {
1102
+ border-radius: var(--radius-sm, 4px);
1103
+ background: var(--color-surface, #fff);
1104
+ margin-left: 0;
1105
+ margin-top: 0;
1106
+ z-index: 1;
1107
+ width: 100%;
1108
+ }
1109
+ .VariableTextEditor_root[data-disabled] {
1110
+ color: var(--color-text-disabled, #9aa0a6);
1111
+ }
1112
+ .VariableTextEditor_root .cm-editor,
1113
+ .VariableTextEditor_root .cm-scroller {
1114
+ box-sizing: border-box;
1115
+ width: 100%;
1116
+ min-width: 0;
1117
+ height: 100%;
1118
+ background: transparent;
1119
+ }
1120
+ .VariableTextEditor_root .cm-editor {
1121
+ font: inherit;
1122
+ }
1123
+ .VariableTextEditor_root .cm-scroller {
1124
+ padding-inline: var(--space-2, 8px);
1125
+ overflow-x: hidden;
1126
+ overflow-y: hidden;
1127
+ scrollbar-width: thin;
1128
+ scrollbar-color: transparent transparent;
1129
+ }
1130
+ .VariableTextEditor_root .cm-content {
1131
+ box-sizing: border-box;
1132
+ display: block;
1133
+ width: 100%;
1134
+ min-width: 0;
1135
+ min-height: 0;
1136
+ height: auto;
1137
+ padding: 0;
1138
+ white-space: pre;
1139
+ overflow-wrap: normal;
1140
+ word-break: normal;
1141
+ line-height: var(--editor-line-height);
1142
+ }
1143
+ .VariableTextEditor_root .cm-line {
1144
+ font-family: var(--font-family-ui, Inter), sans-serif;
1145
+ box-sizing: border-box;
1146
+ width: auto;
1147
+ min-width: 0;
1148
+ min-height: var(--editor-min-height);
1149
+ padding: 0;
1150
+ font-size: var(--font-size-sm, 13px);
1151
+ line-height: var(--editor-min-height);
1152
+ }
1153
+ .VariableTextEditor_root[data-focused] .cm-scroller {
1154
+ overflow-x: hidden;
1155
+ overflow-y: hidden;
1156
+ }
1157
+ .VariableTextEditor_root[data-focused] .cm-content {
1158
+ width: 100%;
1159
+ min-width: 0;
1160
+ min-height: 0 !important;
1161
+ height: auto !important;
1162
+ padding-block: var(--editor-padding-block, 4px);
1163
+ white-space: pre-wrap !important;
1164
+ overflow-wrap: anywhere !important;
1165
+ word-break: normal !important;
1166
+ line-height: var(--editor-line-height);
1167
+ }
1168
+ .VariableTextEditor_root[data-focused] .cm-lineWrapping {
1169
+ white-space: pre-wrap !important;
1170
+ overflow-wrap: anywhere !important;
1171
+ word-break: normal !important;
1172
+ }
1173
+ .VariableTextEditor_root[data-focused] .cm-line {
1174
+ width: auto;
1175
+ min-width: 0;
1176
+ min-height: var(--editor-line-height);
1177
+ line-height: var(--editor-line-height);
1178
+ white-space: pre-wrap !important;
1179
+ overflow-wrap: anywhere !important;
1180
+ word-break: normal !important;
1181
+ hyphens: manual;
1182
+ }
1183
+ .VariableTextEditor_root .cm-selectionLayer {
1184
+ pointer-events: none;
1185
+ }
1186
+ .VariableTextEditor_root .cm-selectionBackground {
1187
+ background: var( --pd-editor-selection-background, color-mix(in srgb, var(--color-info, #4f79bf) 24%, transparent) ) !important;
1188
+ }
1189
+ .VariableTextEditor_root .cm-focused .cm-selectionBackground {
1190
+ background: var( --pd-editor-selection-background-focused, color-mix(in srgb, var(--color-info, #4f79bf) 34%, transparent) ) !important;
1191
+ }
1192
+ .VariableTextEditor_root .cm-cursorLayer {
1193
+ z-index: 30;
1194
+ pointer-events: none;
1195
+ }
1196
+ .VariableTextEditor_root .cm-cursor {
1197
+ border-left: 1px solid currentColor;
1198
+ display: none;
1199
+ visibility: visible;
1200
+ box-sizing: border-box;
1201
+ margin-left: 0;
1202
+ filter: drop-shadow(1px 0 0 var(--color-surface, #fff)) drop-shadow(-1px 0 0 var(--color-surface, #fff));
1203
+ pointer-events: none;
1204
+ }
1205
+ .VariableTextEditor_root .cm-focused .cm-cursor {
1206
+ display: block;
1207
+ }
1208
+ .VariableTextEditor_root .cm-fat-cursor {
1209
+ background: currentColor;
1210
+ color: var(--color-surface, #fff);
1211
+ }
1212
+ .VariableTextEditor_root .cm-tooltip-autocomplete {
1213
+ z-index: 1500;
1214
+ min-width: 220px;
1215
+ max-width: min(360px, calc(100vw - 24px));
1216
+ margin-top: 8px;
1217
+ overflow: hidden;
1218
+ color: var(--color-text-primary, #202124);
1219
+ background: var(--color-surface, #fff);
1220
+ border: 1px solid var(--color-border-default, #dadce0);
1221
+ border-radius: var(--radius-md, 8px);
1222
+ box-shadow: var(--shadow-lg, 0 12px 32px rgb(60 64 67 / 18%));
1223
+ }
1224
+ .VariableTextEditor_root .cm-tooltip-autocomplete > ul {
1225
+ max-height: 280px;
1226
+ padding: 4px;
1227
+ overflow-y: auto;
1228
+ font-family: var(--font-family-ui, Inter), sans-serif;
1229
+ font-size: var(--font-size-sm, 13px);
1230
+ }
1231
+ .VariableTextEditor_root .cm-tooltip-autocomplete > ul > li {
1232
+ min-height: 30px;
1233
+ padding: 5px 8px;
1234
+ border-radius: var(--radius-sm, 6px);
1235
+ }
1236
+ .VariableTextEditor_root .cm-tooltip-autocomplete > ul > li[aria-selected=true] {
1237
+ color: var(--color-text-primary, #202124);
1238
+ background: var(--color-surface-hover, #f1f3f4);
1239
+ }
1240
+ .VariableTextEditor_variableToken {
1241
+ --token-color: unset;
1242
+ --token-bg-color: unset;
1243
+ color: var(--token-color);
1244
+ background-color: var(--token-bg-color);
1245
+ position: relative;
1246
+ z-index: 1;
1247
+ display: inline;
1248
+ padding: 2px 0;
1249
+ border-radius: var(--radius-sm, 4px);
1250
+ box-decoration-break: clone;
1251
+ -webkit-box-decoration-break: clone;
1252
+ cursor: text;
1253
+ white-space: nowrap;
1254
+ overflow-wrap: normal;
1255
+ word-break: normal;
1256
+ }
1257
+ .VariableTextEditor_variableToken_unknown {
1258
+ color: var(--color-accent, #dc2626);
1259
+ }
1260
+ .VariableTextEditor_variableToken_environment {
1261
+ color: var(--color-success, #15803d);
1262
+ }
1263
+ .VariableTextEditor_variableToken_secret {
1264
+ color: var(--color-secret, #7c3aed);
1265
+ }
1266
+ .VariableTextEditor_variableToken_request {
1267
+ color: var(--color-info, #2563eb);
1268
+ }
1269
+ .VariableTextEditor_variableToken_dynamic {
1270
+ color: var(--color-dynamic, #1d4ed8);
1271
+ }
1272
+ .VariableTextEditor_hoverPopover {
1273
+ position: fixed;
1274
+ z-index: 1600;
1275
+ box-sizing: border-box;
1276
+ width: min(360px, calc(100vw - 24px));
1277
+ padding: 14px;
1278
+ color: var(--color-text-primary, #202124);
1279
+ background: var(--color-surface, #fff);
1280
+ border: 1px solid var(--color-border-default, #dadce0);
1281
+ border-radius: var(--radius-lg, 10px);
1282
+ box-shadow: var(--shadow-lg, 0 12px 32px rgb(60 64 67 / 20%));
1283
+ isolation: isolate;
1284
+ pointer-events: auto;
1285
+ }
1286
+ .VariableTextEditor_hoverPopover[data-placement=bottom]::before,
1287
+ .VariableTextEditor_hoverPopover[data-placement=top]::before {
1288
+ position: absolute;
1289
+ right: -8px;
1290
+ left: -8px;
1291
+ height: 12px;
1292
+ content: "";
1293
+ pointer-events: auto;
1294
+ }
1295
+ .VariableTextEditor_hoverPopover[data-placement=bottom]::before {
1296
+ top: -16px;
1297
+ }
1298
+ .VariableTextEditor_hoverPopover[data-placement=top]::before {
1299
+ bottom: -16px;
1300
+ }
1301
+ .VariableTextEditor_hoverPopoverArrow {
1302
+ position: absolute;
1303
+ left: var(--popover-arrow-left, 50%);
1304
+ width: 11px;
1305
+ height: 11px;
1306
+ background: var(--color-surface, #fff);
1307
+ pointer-events: none;
1308
+ }
1309
+ .VariableTextEditor_hoverPopover[data-placement=bottom] .VariableTextEditor_hoverPopoverArrow {
1310
+ top: -6px;
1311
+ border-top: 1px solid var(--color-border-default, #dadce0);
1312
+ border-left: 1px solid var(--color-border-default, #dadce0);
1313
+ transform: translateX(-50%) rotate(45deg);
1314
+ }
1315
+ .VariableTextEditor_hoverPopover[data-placement=top] .VariableTextEditor_hoverPopoverArrow {
1316
+ bottom: -6px;
1317
+ border-right: 1px solid var(--color-border-default, #dadce0);
1318
+ border-bottom: 1px solid var(--color-border-default, #dadce0);
1319
+ transform: translateX(-50%) rotate(45deg);
1320
+ }
1321
+ .VariableTextEditor_popoverHeader {
1322
+ font-weight: var(--font-weight-semibold, 600);
1323
+ }
1324
+ .VariableTextEditor_popoverType {
1325
+ color: var(--color-text-tertiary, #80868b);
1326
+ font-size: var(--font-size-xs, 12px);
1327
+ text-transform: capitalize;
1328
+ }
1329
+ .VariableTextEditor_popoverValue {
1330
+ box-sizing: border-box;
1331
+ width: 100%;
1332
+ max-height: 180px;
1333
+ margin-top: 5px;
1334
+ padding: 7px 9px;
1335
+ overflow: auto;
1336
+ overflow-wrap: anywhere;
1337
+ color: var(--color-text-primary, #202124);
1338
+ background: var(--color-surface-subtle, #f8f9fa);
1339
+ border-radius: var(--radius-sm, 6px);
1340
+ font-family: var(--font-family-ui, Inter), sans-serif;
1341
+ white-space: pre-wrap;
1342
+ }
1343
+ .VariableTextEditor_popoverDesc {
1344
+ color: var(--color-text-secondary, #5f6368);
1345
+ font-size: var(--font-size-sm, 13px);
1346
+ overflow-wrap: anywhere;
1347
+ }
1348
+ .VariableTextEditor_root[data-focused] {
1349
+ border-radius: 0;
1350
+ background: var(--color-surface, #fff);
1351
+ box-shadow: inset 0 0 0 1px var(--color-border-strong, #ccd2d8);
1352
+ }
1353
+ .VariableTextEditor_root .cm-focused {
1354
+ outline: none;
1355
+ }
1356
+ .VariableTextEditor_root[data-focused] .cm-scroller {
1357
+ overflow-y: auto;
1358
+ }
1359
+ .VariableTextEditor_root[data-focused]:hover .cm-scroller,
1360
+ .VariableTextEditor_root[data-focused]:focus-within .cm-scroller {
1361
+ scrollbar-color: var(--color-border-strong, #ccd2d8) transparent;
1362
+ }
1363
+ .VariableTextEditor_hoverPopover {
1364
+ max-height: calc(100dvh - 24px);
1365
+ overflow: auto;
1366
+ }
1367
+ .VariableTextEditor_root[data-focused][data-multiline] .cm-line {
1368
+ position: relative;
1369
+ }
1370
+ .VariableTextEditor_root[data-focused][data-multiline] .cm-line:has(> br:only-child)::before {
1371
+ content: "\21b5";
1372
+ position: absolute;
1373
+ color: var(--color-text-tertiary, #989da5);
1374
+ pointer-events: none;
1375
+ user-select: none;
1376
+ }
1377
+
1378
+ /* src/react/parametersTable/ParametersTable.module.css */
1379
+ .ParametersTable_root {
1380
+ position: relative;
1381
+ display: flex;
1382
+ width: 100%;
1383
+ min-width: 0;
1384
+ min-height: 0;
1385
+ flex-direction: column;
1386
+ overflow: hidden;
1387
+ border-radius: var(--radius-md, 6px);
1388
+ background: var(--color-surface, #ffffff);
1389
+ color: var(--color-text-primary, #26282b);
1390
+ font-family: var( --font-family-ui, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif );
1391
+ font-size: var(--font-size-sm, 13px);
1392
+ line-height: var(--line-height-normal, 20px);
1393
+ }
1394
+ .ParametersTable_tableViewport {
1395
+ position: relative;
1396
+ display: block;
1397
+ width: 100%;
1398
+ min-width: 0;
1399
+ min-height: 0;
1400
+ flex: 1;
1401
+ overflow: auto;
1402
+ background: var(--color-surface, #ffffff);
1403
+ }
1404
+ .ParametersTable_tableContainer {
1405
+ position: relative;
1406
+ width: 100%;
1407
+ min-width: 100%;
1408
+ }
1409
+ .ParametersTable_table {
1410
+ width: 100%;
1411
+ min-width: 100%;
1412
+ max-width: none;
1413
+ table-layout: fixed;
1414
+ border-collapse: collapse;
1415
+ border-spacing: 0;
1416
+ }
1417
+ .ParametersTable_colCheckbox {
1418
+ width: 48px !important;
1419
+ min-width: 48px !important;
1420
+ max-width: 48px !important;
1421
+ }
1422
+ .ParametersTable_colData {
1423
+ min-width: 0;
1424
+ }
1425
+ .ParametersTable_headerCell {
1426
+ position: sticky;
1427
+ z-index: 3;
1428
+ top: 0;
1429
+ height: var(--control-height-md, 32px);
1430
+ padding: 0 var(--space-2, 8px);
1431
+ border-bottom: 1px solid var(--color-border-default, #e0e4e8);
1432
+ background: var(--color-surface-subtle, #f8f9fa);
1433
+ color: var(--color-text-secondary, #6f747c);
1434
+ font-size: var(--font-size-xs, 12px);
1435
+ font-weight: var(--font-weight-semibold, 600);
1436
+ line-height: var(--line-height-tight, 16px);
1437
+ text-align: left;
1438
+ white-space: nowrap;
1439
+ user-select: none;
1440
+ }
1441
+ .ParametersTable_headerCell.ParametersTable_dragCell,
1442
+ .ParametersTable_headerCell.ParametersTable_checkboxCell {
1443
+ padding: 0;
1444
+ }
1445
+ .ParametersTable_headerContent {
1446
+ position: relative;
1447
+ display: flex;
1448
+ width: 100%;
1449
+ min-width: 0;
1450
+ height: 100%;
1451
+ align-items: center;
1452
+ justify-content: space-between;
1453
+ gap: var(--space-2, 8px);
1454
+ }
1455
+ .ParametersTable_headerLabel {
1456
+ min-width: 0;
1457
+ padding-left: var(--space-2, 8px);
1458
+ overflow: hidden;
1459
+ text-overflow: ellipsis;
1460
+ white-space: nowrap;
1461
+ font-size: var(--font-size-md, 14px);
1462
+ }
1463
+ .ParametersTable_resizeHandle {
1464
+ position: absolute;
1465
+ top: 0;
1466
+ right: -1px;
1467
+ z-index: 5;
1468
+ width: 12px;
1469
+ height: 100%;
1470
+ cursor: col-resize;
1471
+ touch-action: none;
1472
+ user-select: none;
1473
+ }
1474
+ .ParametersTable_resizeHandle::after {
1475
+ position: absolute;
1476
+ top: 50%;
1477
+ right: 3px;
1478
+ width: 3px;
1479
+ height: 14px;
1480
+ border-radius: 999px;
1481
+ background: transparent;
1482
+ content: "";
1483
+ transform: translateY(-50%);
1484
+ transition: background var(--transition-fast, 140ms ease), height var(--transition-fast, 140ms ease);
1485
+ }
1486
+ .ParametersTable_resizeHandle:hover::after,
1487
+ .ParametersTable_resizeHandle[data-resizing=true]::after {
1488
+ height: 20px;
1489
+ background: var(--color-accent, #f28c28);
1490
+ }
1491
+ .ParametersTable_root:has(.ParametersTable_resizeHandle[data-resizing=true]) {
1492
+ user-select: none;
1493
+ }
1494
+ .ParametersTable_root:has(.ParametersTable_resizeHandle[data-resizing=true]) .ParametersTable_table {
1495
+ cursor: col-resize;
1496
+ }
1497
+ .ParametersTable_variableTextEditor {
1498
+ display: flex;
1499
+ align-items: flex-start;
1500
+ gap: 6px;
1501
+ width: 100%;
1502
+ min-width: 0;
1503
+ min-height: 32px;
1504
+ padding-block: 2px;
1505
+ box-sizing: border-box;
1506
+ }
1507
+ .ParametersTable_row {
1508
+ height: 32px;
1509
+ background: var(--color-surface, #ffffff);
1510
+ transition: background var(--transition-fast, 140ms ease), opacity var(--transition-fast, 140ms ease);
1511
+ }
1512
+ .ParametersTable_row,
1513
+ .ParametersTable_cell {
1514
+ min-width: 0;
1515
+ }
1516
+ .ParametersTable_row:hover {
1517
+ background: var(--color-surface-hover, #f4f5f6);
1518
+ }
1519
+ .ParametersTable_row[data-dragging=true] {
1520
+ opacity: 0.45;
1521
+ }
1522
+ .ParametersTable_cell {
1523
+ position: relative;
1524
+ height: 32px;
1525
+ min-width: 0;
1526
+ padding: 0 var(--space-2, 8px);
1527
+ border-bottom: 1px solid var(--color-border-subtle, #eceff1);
1528
+ color: var(--color-text-primary, #26282b);
1529
+ vertical-align: top;
1530
+ }
1531
+ .ParametersTable_nameCell {
1532
+ min-width: 0;
1533
+ }
1534
+ .ParametersTable_checkboxCell {
1535
+ width: 48px;
1536
+ min-width: 48px;
1537
+ max-width: 48px;
1538
+ padding: 0;
1539
+ text-align: center;
1540
+ }
1541
+ .ParametersTable_checkboxCellGroup {
1542
+ display: flex;
1543
+ width: 48px;
1544
+ height: 32px;
1545
+ align-items: center;
1546
+ justify-content: flex-end;
1547
+ padding: 0;
1548
+ margin: 0;
1549
+ }
1550
+ .ParametersTable_checkboxRoot {
1551
+ display: inline-flex;
1552
+ width: 22px;
1553
+ min-width: 22px;
1554
+ max-width: 22px;
1555
+ height: 22px;
1556
+ align-items: center;
1557
+ justify-content: center;
1558
+ border-radius: var(--space-2, 8px);
1559
+ }
1560
+ .ParametersTable_checkboxRoot [data-checked=true] {
1561
+ color: var(--color-on-accent, #ffffff);
1562
+ }
1563
+ .ParametersTable_checkboxRoot .ParametersTable_chakra-checkbox__control,
1564
+ .ParametersTable_checkboxRoot [data-state=unchecked] {
1565
+ border-color: var(--color-border-strong, #ccd2d8);
1566
+ background: transparent;
1567
+ border-radius: 6px;
1568
+ cursor: pointer;
1569
+ }
1570
+ .ParametersTable_checkboxRoot [data-checked=true],
1571
+ .ParametersTable_checkboxRoot [data-state=checked] {
1572
+ background: var(--color-accent, #f28c28);
1573
+ border-color: var(--color-accent, #f28c28);
1574
+ border-radius: 6px;
1575
+ cursor: pointer;
1576
+ }
1577
+ .ParametersTable_checkboxRoot [data-checked=mixed],
1578
+ .ParametersTable_checkboxRoot [data-state=indeterminate] {
1579
+ background: var(--color-accent, #f28c28);
1580
+ border-color: var(--color-accent, #f28c28);
1581
+ border-radius: 6px;
1582
+ cursor: pointer;
1583
+ }
1584
+ .ParametersTable_checkboxRoot:focus-visible {
1585
+ outline: 2px solid var(--color-focus-ring, rgba(242, 140, 40, 0.28));
1586
+ outline-offset: 2px;
1587
+ border-radius: var(--radius-xs, 3px);
1588
+ }
1589
+ .ParametersTable_dragHandleWrap {
1590
+ display: flex;
1591
+ width: 28px;
1592
+ min-width: 28px;
1593
+ max-width: 28px;
1594
+ height: 32px;
1595
+ align-items: center;
1596
+ justify-content: center;
1597
+ }
1598
+ .ParametersTable_dragHandle {
1599
+ display: none;
1600
+ width: 28px;
1601
+ height: 32px;
1602
+ align-items: center;
1603
+ justify-content: center;
1604
+ padding: 0;
1605
+ margin: 0;
1606
+ border: 0;
1607
+ background: transparent;
1608
+ color: var(--color-text-tertiary, #989da5);
1609
+ cursor: grab;
1610
+ touch-action: none;
1611
+ user-select: none;
1612
+ }
1613
+ .ParametersTable_row:hover .ParametersTable_dragHandle {
1614
+ display: inline-flex;
1615
+ }
1616
+ .ParametersTable_dragHandle:hover {
1617
+ color: var(--color-text-secondary, #6f747c);
1618
+ }
1619
+ .ParametersTable_dragHandle:active {
1620
+ cursor: grabbing;
1621
+ }
1622
+ .ParametersTable_description {
1623
+ display: block;
1624
+ min-width: 0;
1625
+ overflow: hidden;
1626
+ color: var(--color-text-secondary, #6f747c);
1627
+ font-size: var(--font-size-xs, 12px);
1628
+ text-overflow: ellipsis;
1629
+ white-space: nowrap;
1630
+ }
1631
+ .ParametersTable_required {
1632
+ display: inline-flex;
1633
+ align-items: center;
1634
+ color: var(--color-text-accent, #d97818);
1635
+ font-size: var(--font-size-xs, 12px);
1636
+ font-weight: var(--font-weight-semibold, 600);
1637
+ }
1638
+ .ParametersTable_optional {
1639
+ color: var(--color-text-tertiary, #989da5);
1640
+ font-size: var(--font-size-xs, 12px);
1641
+ }
1642
+ .ParametersTable_name {
1643
+ overflow: hidden;
1644
+ color: var(--color-text-primary, #26282b);
1645
+ font-family:
1646
+ ui-monospace,
1647
+ SFMono-Regular,
1648
+ Menlo,
1649
+ Monaco,
1650
+ Consolas,
1651
+ "Liberation Mono",
1652
+ "Courier New",
1653
+ monospace;
1654
+ font-size: var(--font-size-sm, 13px);
1655
+ font-weight: var(--font-weight-medium, 500);
1656
+ text-overflow: ellipsis;
1657
+ white-space: nowrap;
1658
+ }
1659
+ .ParametersTable_empty {
1660
+ display: flex;
1661
+ min-height: 160px;
1662
+ align-items: center;
1663
+ justify-content: center;
1664
+ padding: var(--space-8, 32px);
1665
+ color: var(--color-text-tertiary, #989da5);
1666
+ font-size: var(--font-size-sm, 13px);
1667
+ }
1668
+ .ParametersTable_actionBarContent {
1669
+ display: flex;
1670
+ min-height: 32px;
1671
+ align-items: center;
1672
+ gap: 10px;
1673
+ padding: var(--space-1, 4px);
1674
+ border: 1px solid var(--color-border-default, #e0e4e8);
1675
+ border-radius: var(--radius-full, 9999px);
1676
+ background: var(--color-surface, #ffffff);
1677
+ box-shadow: var( --shadow-sm, 0 1px 2px rgba(28, 32, 36, 0.035), 0 1px 3px rgba(28, 32, 36, 0.025) );
1678
+ }
1679
+ .ParametersTable_actionBarLeft {
1680
+ display: flex;
1681
+ align-items: center;
1682
+ }
1683
+ .ParametersTable_actionBarTrigger {
1684
+ border: 0;
1685
+ color: var(--color-text-primary, #26282b);
1686
+ font-size: var(--font-size-xs, 12px);
1687
+ font-weight: var(--font-weight-semibold, 600);
1688
+ }
1689
+ .ParametersTable_actionBarDivider {
1690
+ width: 1px;
1691
+ height: 18px;
1692
+ border-radius: 9999px;
1693
+ background: var(--color-border-subtle, #eceff1);
1694
+ }
1695
+ .ParametersTable_actionButton {
1696
+ height: 26px;
1697
+ padding: 0 10px;
1698
+ border: 1px solid transparent;
1699
+ border-radius: var(--radius-full, 9999px);
1700
+ color: var(--color-text-primary, #26282b);
1701
+ font-size: var(--font-size-xs, 12px);
1702
+ font-weight: var(--font-weight-medium, 500);
1703
+ }
1704
+ .ParametersTable_actionButton:hover {
1705
+ border-color: var(--color-border-subtle, #eceff1);
1706
+ background: var(--color-surface-hover, #f4f5f6);
1707
+ }
1708
+ .ParametersTable_actionButtonAccent {
1709
+ color: var(--color-text-accent, #d97818);
1710
+ }
1711
+ .ParametersTable_actionButtonAccent:hover {
1712
+ border-color: var(--color-accent-border, #f5c98f);
1713
+ background: var(--color-accent-bg-subtle, #fffaf5);
1714
+ color: var(--color-accent-hover, #e47c16);
1715
+ }
1716
+ .ParametersTable_actionIcon {
1717
+ flex: 0 0 auto;
1718
+ margin-right: 6px;
1719
+ font-size: 12px;
1720
+ }
1721
+ @media (max-width: 640px) {
1722
+ .ParametersTable_headerCell {
1723
+ padding: 0 var(--space-1, 4px);
1724
+ }
1725
+ .ParametersTable_cell {
1726
+ padding: 0 var(--space-1, 4px);
1727
+ }
1728
+ .ParametersTable_headerLabel {
1729
+ padding-left: var(--space-1, 4px);
1730
+ }
1731
+ }
1732
+ .ParametersTable_variableTextEditor > [data-scope=checkbox] {
1733
+ flex: 0 0 22px;
1734
+ }
1735
+ .ParametersTable_variableTextEditor > button {
1736
+ flex-shrink: 0;
1737
+ }
1738
+ .ParametersTable_variableTextEditor > div {
1739
+ flex: 1;
1740
+ min-width: 0;
1741
+ }
1742
+ .ParametersTable_row:focus-within .ParametersTable_dragHandle {
1743
+ display: inline-flex;
1744
+ }
1745
+ .ParametersTable_cell select {
1746
+ height: 26px;
1747
+ min-height: 26px;
1748
+ font-size: 12px;
1749
+ border-color: transparent;
1750
+ background: transparent;
1751
+ }
1752
+ .ParametersTable_cell select:hover,
1753
+ .ParametersTable_cell select:focus-visible {
1754
+ border-color: var(--color-border-default, #e0e4e8);
1755
+ }
1756
+ .ParametersTable_variableTextEditor > button {
1757
+ color: var(--color-text-secondary, #6f747c);
1758
+ }
1759
+ .ParametersTable_root[data-sticky-header=false] .ParametersTable_headerCell {
1760
+ position: static;
1761
+ }
1762
+ .ParametersTable_tableViewport {
1763
+ scrollbar-width: thin;
1764
+ scrollbar-color: transparent transparent;
1765
+ overscroll-behavior: contain;
1766
+ }
1767
+ .ParametersTable_tableViewport:hover,
1768
+ .ParametersTable_tableViewport:focus-within {
1769
+ scrollbar-color: var(--color-border-strong, #ccd2d8) transparent;
1770
+ }
1771
+ .ParametersTable_cell [data-scope=select][data-part=trigger] {
1772
+ height: 28px;
1773
+ min-height: 28px;
1774
+ padding: 0 8px;
1775
+ font-size: 12px;
1776
+ background: transparent;
1777
+ border-color: transparent;
1778
+ color: var(--color-text-primary, #26282b);
1779
+ }
1780
+ .ParametersTable_cell [data-scope=select][data-part=trigger]:hover {
1781
+ border-color: var(--color-border-default, #e0e4e8);
1782
+ }
1783
+ @media (hover: none) {
1784
+ .ParametersTable_dragHandle {
1785
+ display: inline-flex;
1786
+ }
1787
+ }
1788
+ .ParametersTable_resizeHandle:focus-visible {
1789
+ outline: 2px solid var(--color-focus-ring, #f5c98f);
1790
+ outline-offset: -2px;
1791
+ }