@bpmnkit/plugins 0.0.8

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 (140) hide show
  1. package/README.md +153 -0
  2. package/dist/ai-bridge/css.d.ts +2 -0
  3. package/dist/ai-bridge/css.js +366 -0
  4. package/dist/ai-bridge/index.d.ts +44 -0
  5. package/dist/ai-bridge/index.js +132 -0
  6. package/dist/ai-bridge/panel.d.ts +27 -0
  7. package/dist/ai-bridge/panel.js +715 -0
  8. package/dist/ascii-view/css.d.ts +4 -0
  9. package/dist/ascii-view/css.js +83 -0
  10. package/dist/ascii-view/index.d.ts +25 -0
  11. package/dist/ascii-view/index.js +92 -0
  12. package/dist/command-palette/css.d.ts +4 -0
  13. package/dist/command-palette/css.js +157 -0
  14. package/dist/command-palette/index.d.ts +53 -0
  15. package/dist/command-palette/index.js +378 -0
  16. package/dist/command-palette-editor/index.d.ts +35 -0
  17. package/dist/command-palette-editor/index.js +60 -0
  18. package/dist/config-panel/css.d.ts +4 -0
  19. package/dist/config-panel/css.js +719 -0
  20. package/dist/config-panel/index.d.ts +36 -0
  21. package/dist/config-panel/index.js +73 -0
  22. package/dist/config-panel/renderer.d.ts +127 -0
  23. package/dist/config-panel/renderer.js +1162 -0
  24. package/dist/config-panel/types.d.ts +118 -0
  25. package/dist/config-panel/types.js +2 -0
  26. package/dist/config-panel-bpmn/index.d.ts +58 -0
  27. package/dist/config-panel-bpmn/index.js +1320 -0
  28. package/dist/config-panel-bpmn/template-engine.d.ts +17 -0
  29. package/dist/config-panel-bpmn/template-engine.js +307 -0
  30. package/dist/config-panel-bpmn/template-to-service-task.d.ts +30 -0
  31. package/dist/config-panel-bpmn/template-to-service-task.js +92 -0
  32. package/dist/config-panel-bpmn/template-types.d.ts +126 -0
  33. package/dist/config-panel-bpmn/template-types.js +6 -0
  34. package/dist/config-panel-bpmn/templates/generated.d.ts +3 -0
  35. package/dist/config-panel-bpmn/templates/generated.js +57865 -0
  36. package/dist/config-panel-bpmn/util.d.ts +46 -0
  37. package/dist/config-panel-bpmn/util.js +195 -0
  38. package/dist/dmn-editor/css.d.ts +3 -0
  39. package/dist/dmn-editor/css.js +667 -0
  40. package/dist/dmn-editor/dmn-editor.d.ts +34 -0
  41. package/dist/dmn-editor/dmn-editor.js +646 -0
  42. package/dist/dmn-editor/drd-canvas.d.ts +85 -0
  43. package/dist/dmn-editor/drd-canvas.js +1087 -0
  44. package/dist/dmn-editor/index.d.ts +3 -0
  45. package/dist/dmn-editor/index.js +2 -0
  46. package/dist/dmn-viewer/css.d.ts +3 -0
  47. package/dist/dmn-viewer/css.js +151 -0
  48. package/dist/dmn-viewer/dmn-viewer.d.ts +30 -0
  49. package/dist/dmn-viewer/dmn-viewer.js +160 -0
  50. package/dist/dmn-viewer/feel.d.ts +3 -0
  51. package/dist/dmn-viewer/feel.js +2 -0
  52. package/dist/dmn-viewer/index.d.ts +14 -0
  53. package/dist/dmn-viewer/index.js +12 -0
  54. package/dist/element-docs/content.d.ts +20 -0
  55. package/dist/element-docs/content.js +1032 -0
  56. package/dist/element-docs/index.d.ts +7 -0
  57. package/dist/element-docs/index.js +643 -0
  58. package/dist/feel-playground/css.d.ts +4 -0
  59. package/dist/feel-playground/css.js +292 -0
  60. package/dist/feel-playground/index.d.ts +4 -0
  61. package/dist/feel-playground/index.js +3 -0
  62. package/dist/feel-playground/playground-plugin.d.ts +14 -0
  63. package/dist/feel-playground/playground-plugin.js +292 -0
  64. package/dist/form-editor/css.d.ts +3 -0
  65. package/dist/form-editor/css.js +703 -0
  66. package/dist/form-editor/form-editor.d.ts +48 -0
  67. package/dist/form-editor/form-editor.js +1039 -0
  68. package/dist/form-editor/index.d.ts +3 -0
  69. package/dist/form-editor/index.js +2 -0
  70. package/dist/form-viewer/css.d.ts +3 -0
  71. package/dist/form-viewer/css.js +303 -0
  72. package/dist/form-viewer/form-viewer.d.ts +29 -0
  73. package/dist/form-viewer/form-viewer.js +376 -0
  74. package/dist/form-viewer/index.d.ts +12 -0
  75. package/dist/form-viewer/index.js +11 -0
  76. package/dist/history/checkpoint.d.ts +10 -0
  77. package/dist/history/checkpoint.js +92 -0
  78. package/dist/history/css.d.ts +2 -0
  79. package/dist/history/css.js +130 -0
  80. package/dist/history/history-panel.d.ts +12 -0
  81. package/dist/history/history-panel.js +142 -0
  82. package/dist/history/index.d.ts +5 -0
  83. package/dist/history/index.js +3 -0
  84. package/dist/main-menu/css.d.ts +4 -0
  85. package/dist/main-menu/css.js +272 -0
  86. package/dist/main-menu/index.d.ts +59 -0
  87. package/dist/main-menu/index.js +285 -0
  88. package/dist/minimap/css.d.ts +10 -0
  89. package/dist/minimap/css.js +54 -0
  90. package/dist/minimap/index.d.ts +38 -0
  91. package/dist/minimap/index.js +69 -0
  92. package/dist/minimap/minimap.d.ts +35 -0
  93. package/dist/minimap/minimap.js +166 -0
  94. package/dist/optimize/index.d.ts +21 -0
  95. package/dist/optimize/index.js +304 -0
  96. package/dist/process-runner/css.d.ts +2 -0
  97. package/dist/process-runner/css.js +467 -0
  98. package/dist/process-runner/index.d.ts +56 -0
  99. package/dist/process-runner/index.js +549 -0
  100. package/dist/storage/auto-save.d.ts +11 -0
  101. package/dist/storage/auto-save.js +44 -0
  102. package/dist/storage/css.d.ts +2 -0
  103. package/dist/storage/css.js +2 -0
  104. package/dist/storage/db.d.ts +99 -0
  105. package/dist/storage/db.js +116 -0
  106. package/dist/storage/dialog.d.ts +15 -0
  107. package/dist/storage/dialog.js +201 -0
  108. package/dist/storage/export.d.ts +3 -0
  109. package/dist/storage/export.js +137 -0
  110. package/dist/storage/index.d.ts +44 -0
  111. package/dist/storage/index.js +201 -0
  112. package/dist/storage/sidebar.d.ts +2 -0
  113. package/dist/storage/sidebar.js +2 -0
  114. package/dist/storage/storage-api.d.ts +76 -0
  115. package/dist/storage/storage-api.js +342 -0
  116. package/dist/storage/types.d.ts +44 -0
  117. package/dist/storage/types.js +2 -0
  118. package/dist/storage-tabs-bridge/index.d.ts +96 -0
  119. package/dist/storage-tabs-bridge/index.js +502 -0
  120. package/dist/tabs/css.d.ts +3 -0
  121. package/dist/tabs/css.js +642 -0
  122. package/dist/tabs/file-resolver.d.ts +71 -0
  123. package/dist/tabs/file-resolver.js +46 -0
  124. package/dist/tabs/index.d.ts +15 -0
  125. package/dist/tabs/index.js +13 -0
  126. package/dist/tabs/tabs-plugin.d.ts +250 -0
  127. package/dist/tabs/tabs-plugin.js +1119 -0
  128. package/dist/token-highlight/css.d.ts +2 -0
  129. package/dist/token-highlight/css.js +81 -0
  130. package/dist/token-highlight/index.d.ts +44 -0
  131. package/dist/token-highlight/index.js +164 -0
  132. package/dist/watermark/css.d.ts +10 -0
  133. package/dist/watermark/css.js +54 -0
  134. package/dist/watermark/index.d.ts +48 -0
  135. package/dist/watermark/index.js +64 -0
  136. package/dist/zoom-controls/css.d.ts +4 -0
  137. package/dist/zoom-controls/css.js +48 -0
  138. package/dist/zoom-controls/index.d.ts +36 -0
  139. package/dist/zoom-controls/index.js +111 -0
  140. package/package.json +121 -0
@@ -0,0 +1,719 @@
1
+ export const CONFIG_PANEL_STYLE_ID = "bpmnkit-config-panel-styles-v1";
2
+ export const CONFIG_PANEL_CSS = `
3
+ /* ── Inspector panel ─────────────────────────────────────────────────────── */
4
+ /*
5
+ * top: 36px matches the height of the .bpmnkit-tabs bar from canvas-plugin-tabs,
6
+ * so the inspector panel does not overlap the tab bar.
7
+ */
8
+ .bpmnkit-cfg-full {
9
+ position: fixed;
10
+ right: 0;
11
+ top: 36px;
12
+ bottom: 0;
13
+ width: 320px;
14
+ background: var(--bpmnkit-panel-bg, rgba(13,13,22,0.92));
15
+ backdrop-filter: blur(16px);
16
+ border-left: 1px solid var(--bpmnkit-panel-border, rgba(255,255,255,0.08));
17
+ box-shadow: -8px 0 40px rgba(0,0,0,0.6);
18
+ display: flex;
19
+ flex-direction: column;
20
+ font-family: system-ui, -apple-system, sans-serif;
21
+ font-size: 13px;
22
+ color: rgba(255,255,255,0.85);
23
+ z-index: 9999;
24
+ transition: width 0.2s ease;
25
+ }
26
+ .bpmnkit-cfg-full--collapsed {
27
+ width: 40px;
28
+ }
29
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-full-info,
30
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-full-close,
31
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-docs-link,
32
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-search-bar,
33
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-guide-bar,
34
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-tabs-area,
35
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-full-body,
36
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-search-results {
37
+ display: none;
38
+ }
39
+ .bpmnkit-cfg-full--collapsed .bpmnkit-cfg-full-header {
40
+ justify-content: center;
41
+ padding: 14px 0;
42
+ }
43
+
44
+ /* Hosted mode — renders inside a dock pane instead of as a fixed overlay */
45
+ .bpmnkit-cfg-full--hosted {
46
+ position: static !important;
47
+ width: auto !important;
48
+ top: auto; right: auto; bottom: auto;
49
+ box-shadow: none; border-left: none; backdrop-filter: none;
50
+ flex: 1; min-height: 0;
51
+ }
52
+ /* suppress controls that the dock replaces */
53
+ .bpmnkit-cfg-full--hosted .bpmnkit-cfg-resize-handle,
54
+ .bpmnkit-cfg-full--hosted .bpmnkit-cfg-collapse-btn { display: none; }
55
+
56
+ /* Resize handle — a thin grab zone along the left edge */
57
+ .bpmnkit-cfg-resize-handle {
58
+ position: absolute;
59
+ left: 0;
60
+ top: 0;
61
+ bottom: 0;
62
+ width: 5px;
63
+ cursor: ew-resize;
64
+ z-index: 1;
65
+ }
66
+ .bpmnkit-cfg-resize-handle:hover {
67
+ background: var(--bpmnkit-accent-subtle, rgba(107,157,247,0.15));
68
+ }
69
+
70
+ /* ── Header ──────────────────────────────────────────────────────────────── */
71
+ .bpmnkit-cfg-full-header {
72
+ display: flex;
73
+ align-items: center;
74
+ gap: 8px;
75
+ padding: 12px 14px 10px;
76
+ border-bottom: 1px solid rgba(255,255,255,0.08);
77
+ flex-shrink: 0;
78
+ }
79
+ .bpmnkit-cfg-full-info {
80
+ flex: 1;
81
+ min-width: 0;
82
+ }
83
+ .bpmnkit-cfg-full-type {
84
+ font-size: 10px;
85
+ font-weight: 700;
86
+ text-transform: uppercase;
87
+ letter-spacing: 0.08em;
88
+ color: rgba(255,255,255,0.35);
89
+ margin-bottom: 2px;
90
+ }
91
+ .bpmnkit-cfg-full-template {
92
+ font-size: 11px;
93
+ font-weight: 600;
94
+ color: var(--bpmnkit-accent, #6b9df7);
95
+ margin-bottom: 1px;
96
+ white-space: nowrap;
97
+ overflow: hidden;
98
+ text-overflow: ellipsis;
99
+ }
100
+ .bpmnkit-cfg-full-name {
101
+ font-size: 14px;
102
+ font-weight: 600;
103
+ color: #fff;
104
+ white-space: nowrap;
105
+ overflow: hidden;
106
+ text-overflow: ellipsis;
107
+ }
108
+ /* Docs link — ? button shown when the schema has a documentationRef */
109
+ .bpmnkit-cfg-docs-link {
110
+ width: 24px;
111
+ height: 24px;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ border-radius: 50%;
116
+ border: 1px solid rgba(255,255,255,0.2);
117
+ color: rgba(255,255,255,0.45);
118
+ font-size: 11px;
119
+ font-weight: 700;
120
+ text-decoration: none;
121
+ flex-shrink: 0;
122
+ transition: border-color 0.1s, color 0.1s, background 0.1s;
123
+ }
124
+ .bpmnkit-cfg-docs-link:hover {
125
+ color: var(--bpmnkit-accent, #6b9df7);
126
+ border-color: var(--bpmnkit-accent, #6b9df7);
127
+ background: var(--bpmnkit-accent-subtle, rgba(107,157,247,0.15));
128
+ }
129
+ .bpmnkit-cfg-collapse-btn {
130
+ width: 28px;
131
+ height: 28px;
132
+ background: none;
133
+ border: none;
134
+ color: rgba(255,255,255,0.4);
135
+ cursor: pointer;
136
+ padding: 0;
137
+ display: flex;
138
+ align-items: center;
139
+ justify-content: center;
140
+ border-radius: 6px;
141
+ font-size: 18px;
142
+ line-height: 1;
143
+ flex-shrink: 0;
144
+ transition: background 0.1s, color 0.1s;
145
+ }
146
+ .bpmnkit-cfg-collapse-btn:hover { background: rgba(255,255,255,0.08); color: #fff; }
147
+ .bpmnkit-cfg-full-close {
148
+ width: 28px;
149
+ height: 28px;
150
+ background: none;
151
+ border: none;
152
+ color: rgba(255,255,255,0.4);
153
+ cursor: pointer;
154
+ padding: 0;
155
+ display: flex;
156
+ align-items: center;
157
+ justify-content: center;
158
+ border-radius: 6px;
159
+ font-size: 20px;
160
+ line-height: 1;
161
+ flex-shrink: 0;
162
+ transition: background 0.1s, color 0.1s;
163
+ }
164
+ .bpmnkit-cfg-full-close:hover { background: rgba(255,255,255,0.08); color: #fff; }
165
+
166
+ /* ── Search bar ──────────────────────────────────────────────────────────── */
167
+ .bpmnkit-cfg-search-bar {
168
+ display: flex;
169
+ align-items: center;
170
+ gap: 4px;
171
+ padding: 8px 12px;
172
+ border-bottom: 1px solid rgba(255,255,255,0.06);
173
+ flex-shrink: 0;
174
+ }
175
+ .bpmnkit-cfg-search-input {
176
+ flex: 1;
177
+ height: 28px;
178
+ padding: 0 8px;
179
+ background: rgba(255,255,255,0.07);
180
+ border: 1px solid rgba(255,255,255,0.1);
181
+ border-radius: 5px;
182
+ color: rgba(255,255,255,0.85);
183
+ font-size: 12px;
184
+ font-family: system-ui, -apple-system, sans-serif;
185
+ outline: none;
186
+ transition: border-color 0.15s, background 0.15s;
187
+ box-sizing: border-box;
188
+ }
189
+ .bpmnkit-cfg-search-input::placeholder { color: rgba(255,255,255,0.28); }
190
+ .bpmnkit-cfg-search-input:focus {
191
+ border-color: var(--bpmnkit-accent, #6b9df7);
192
+ background: rgba(255,255,255,0.1);
193
+ }
194
+ .bpmnkit-cfg-search-clear {
195
+ width: 22px;
196
+ height: 22px;
197
+ background: none;
198
+ border: none;
199
+ color: rgba(255,255,255,0.35);
200
+ cursor: pointer;
201
+ padding: 0;
202
+ /* display toggled via JS */
203
+ align-items: center;
204
+ justify-content: center;
205
+ border-radius: 4px;
206
+ font-size: 14px;
207
+ flex-shrink: 0;
208
+ transition: color 0.1s, background 0.1s;
209
+ }
210
+ .bpmnkit-cfg-search-clear:hover { color: #fff; background: rgba(255,255,255,0.08); }
211
+
212
+ /* ── Guide bar (field assistant) ─────────────────────────────────────────── */
213
+ .bpmnkit-cfg-guide-bar {
214
+ display: flex;
215
+ align-items: center;
216
+ justify-content: space-between;
217
+ gap: 8px;
218
+ padding: 7px 14px;
219
+ background: rgba(248, 113, 113, 0.09);
220
+ border-bottom: 1px solid rgba(248, 113, 113, 0.18);
221
+ flex-shrink: 0;
222
+ }
223
+ .bpmnkit-cfg-guide-info {
224
+ display: flex;
225
+ align-items: center;
226
+ gap: 6px;
227
+ min-width: 0;
228
+ }
229
+ .bpmnkit-cfg-guide-icon {
230
+ width: 16px;
231
+ height: 16px;
232
+ background: var(--bpmnkit-danger, #f87171);
233
+ border-radius: 50%;
234
+ display: inline-flex;
235
+ align-items: center;
236
+ justify-content: center;
237
+ font-size: 10px;
238
+ font-weight: 800;
239
+ color: #fff;
240
+ flex-shrink: 0;
241
+ line-height: 1;
242
+ }
243
+ .bpmnkit-cfg-guide-text {
244
+ font-size: 11px;
245
+ font-weight: 500;
246
+ color: rgba(248, 113, 113, 0.9);
247
+ white-space: nowrap;
248
+ overflow: hidden;
249
+ text-overflow: ellipsis;
250
+ }
251
+ .bpmnkit-cfg-guide-btn {
252
+ flex-shrink: 0;
253
+ padding: 3px 10px;
254
+ border-radius: 4px;
255
+ border: 1px solid rgba(248, 113, 113, 0.4);
256
+ background: rgba(248, 113, 113, 0.12);
257
+ color: var(--bpmnkit-danger, #f87171);
258
+ font-size: 11px;
259
+ font-weight: 600;
260
+ cursor: pointer;
261
+ transition: background 0.1s, border-color 0.1s;
262
+ white-space: nowrap;
263
+ }
264
+ .bpmnkit-cfg-guide-btn:hover {
265
+ background: rgba(248, 113, 113, 0.22);
266
+ border-color: rgba(248, 113, 113, 0.6);
267
+ }
268
+
269
+ /* ── Search results ──────────────────────────────────────────────────────── */
270
+ .bpmnkit-cfg-search-results {
271
+ flex: 1;
272
+ overflow-y: auto;
273
+ padding: 4px 22px 32px;
274
+ scrollbar-width: thin;
275
+ scrollbar-color: rgba(255,255,255,0.15) transparent;
276
+ }
277
+ .bpmnkit-cfg-search-group-label {
278
+ font-size: 10px;
279
+ font-weight: 700;
280
+ text-transform: uppercase;
281
+ letter-spacing: 0.08em;
282
+ color: rgba(255,255,255,0.3);
283
+ margin: 16px 0 10px;
284
+ padding-bottom: 5px;
285
+ border-bottom: 1px solid rgba(255,255,255,0.06);
286
+ }
287
+ .bpmnkit-cfg-search-group-label:first-child { margin-top: 10px; }
288
+ .bpmnkit-cfg-search-empty {
289
+ font-size: 12px;
290
+ color: rgba(255,255,255,0.3);
291
+ text-align: center;
292
+ padding: 28px 0;
293
+ }
294
+
295
+ /* ── Tabs area (wrapper + scroll buttons) ────────────────────────────────── */
296
+ .bpmnkit-cfg-tabs-area {
297
+ display: flex;
298
+ align-items: stretch;
299
+ border-bottom: 1px solid rgba(255,255,255,0.08);
300
+ flex-shrink: 0;
301
+ overflow: hidden;
302
+ }
303
+ .bpmnkit-cfg-tabs {
304
+ flex: 1;
305
+ min-width: 0;
306
+ display: flex;
307
+ align-items: flex-end;
308
+ overflow-x: auto;
309
+ scrollbar-width: none;
310
+ }
311
+ .bpmnkit-cfg-tabs::-webkit-scrollbar { display: none; }
312
+ .bpmnkit-cfg-tab-btn {
313
+ padding: 10px 14px;
314
+ background: none;
315
+ border: none;
316
+ border-bottom: 2px solid transparent;
317
+ color: rgba(255,255,255,0.4);
318
+ cursor: pointer;
319
+ font-size: 12px;
320
+ font-weight: 500;
321
+ white-space: nowrap;
322
+ transition: color 0.1s, border-color 0.1s;
323
+ margin-bottom: -1px;
324
+ flex-shrink: 0;
325
+ }
326
+ .bpmnkit-cfg-tab-btn:hover { color: rgba(255,255,255,0.75); }
327
+ .bpmnkit-cfg-tab-btn.active { color: var(--bpmnkit-accent, #6b9df7); border-bottom-color: var(--bpmnkit-accent, #6b9df7); }
328
+ /* Red dot shown after tab label when the group has required-empty fields */
329
+ .bpmnkit-cfg-tab-btn.has-error::after {
330
+ content: '';
331
+ display: inline-block;
332
+ width: 6px;
333
+ height: 6px;
334
+ border-radius: 50%;
335
+ background: var(--bpmnkit-danger, #f87171);
336
+ margin-left: 5px;
337
+ vertical-align: middle;
338
+ flex-shrink: 0;
339
+ }
340
+
341
+ /* Arrow buttons for overflowing tabs */
342
+ .bpmnkit-cfg-tabs-scroll-btn {
343
+ flex-shrink: 0;
344
+ width: 26px;
345
+ background: none;
346
+ border: none;
347
+ border-radius: 0;
348
+ color: rgba(255,255,255,0.5);
349
+ cursor: pointer;
350
+ font-size: 16px;
351
+ line-height: 1;
352
+ padding: 0;
353
+ /* display toggled via JS */
354
+ align-items: center;
355
+ justify-content: center;
356
+ transition: background 0.1s, color 0.1s;
357
+ }
358
+ .bpmnkit-cfg-tabs-scroll-btn:hover { color: #fff; background: rgba(255,255,255,0.08); }
359
+ .bpmnkit-cfg-tabs-scroll-btn--prev { border-right: 1px solid rgba(255,255,255,0.06); }
360
+ .bpmnkit-cfg-tabs-scroll-btn--next { border-left: 1px solid rgba(255,255,255,0.06); }
361
+
362
+ /* ── Scrollable body ─────────────────────────────────────────────────────── */
363
+ .bpmnkit-cfg-full-body {
364
+ flex: 1;
365
+ overflow-y: auto;
366
+ padding: 22px 22px 32px;
367
+ scrollbar-width: thin;
368
+ scrollbar-color: rgba(255,255,255,0.15) transparent;
369
+ }
370
+
371
+ /* ── Groups & Fields ──────────────────────────────────────────────────────── */
372
+ .bpmnkit-cfg-group-label {
373
+ font-size: 10px;
374
+ font-weight: 700;
375
+ text-transform: uppercase;
376
+ letter-spacing: 0.08em;
377
+ color: rgba(255,255,255,0.3);
378
+ margin-bottom: 14px;
379
+ padding-bottom: 6px;
380
+ border-bottom: 1px solid rgba(255,255,255,0.06);
381
+ }
382
+ .bpmnkit-cfg-field {
383
+ margin-bottom: 14px;
384
+ }
385
+ .bpmnkit-cfg-field-label {
386
+ display: flex;
387
+ align-items: center;
388
+ gap: 6px;
389
+ font-size: 12px;
390
+ font-weight: 500;
391
+ color: rgba(255,255,255,0.55);
392
+ margin-bottom: 5px;
393
+ cursor: default;
394
+ }
395
+ .bpmnkit-cfg-field-label[title] { cursor: help; }
396
+ .bpmnkit-cfg-field-docs {
397
+ font-size: 10px;
398
+ color: var(--bpmnkit-accent, #6b9df7);
399
+ text-decoration: none;
400
+ opacity: 0.7;
401
+ transition: opacity 0.1s;
402
+ }
403
+ .bpmnkit-cfg-field-docs:hover { opacity: 1; }
404
+ .bpmnkit-cfg-required-star {
405
+ color: var(--bpmnkit-danger, #f87171);
406
+ font-weight: 700;
407
+ margin-left: 2px;
408
+ }
409
+ .bpmnkit-cfg-field--invalid {
410
+ border-left: 2px solid var(--bpmnkit-danger, #f87171);
411
+ padding-left: 8px;
412
+ }
413
+ .bpmnkit-cfg-field--invalid .bpmnkit-cfg-input,
414
+ .bpmnkit-cfg-field--invalid .bpmnkit-cfg-select,
415
+ .bpmnkit-cfg-field--invalid .bpmnkit-cfg-textarea {
416
+ border-color: var(--bpmnkit-danger, #f87171);
417
+ }
418
+
419
+ .bpmnkit-cfg-input,
420
+ .bpmnkit-cfg-select,
421
+ .bpmnkit-cfg-textarea {
422
+ width: 100%;
423
+ padding: 7px 10px;
424
+ background: rgba(255,255,255,0.06);
425
+ border: 1px solid rgba(255,255,255,0.1);
426
+ border-radius: 6px;
427
+ color: rgba(255,255,255,0.9);
428
+ font-size: 12px;
429
+ font-family: system-ui, -apple-system, sans-serif;
430
+ outline: none;
431
+ transition: border-color 0.15s, background 0.15s;
432
+ box-sizing: border-box;
433
+ }
434
+ .bpmnkit-cfg-input:focus,
435
+ .bpmnkit-cfg-select:focus,
436
+ .bpmnkit-cfg-textarea:focus {
437
+ border-color: var(--bpmnkit-accent, #6b9df7);
438
+ background-color: rgba(255,255,255,0.09);
439
+ }
440
+ .bpmnkit-cfg-select {
441
+ appearance: none;
442
+ cursor: pointer;
443
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='1.5'/%3E%3C/svg%3E");
444
+ background-repeat: no-repeat;
445
+ background-position: right 10px center;
446
+ padding-right: 28px;
447
+ }
448
+ .bpmnkit-cfg-textarea {
449
+ resize: vertical;
450
+ min-height: 68px;
451
+ line-height: 1.5;
452
+ font-family: var(--bpmnkit-font-mono, ui-monospace, "SF Mono", monospace);
453
+ font-size: 11px;
454
+ }
455
+ .bpmnkit-cfg-field-hint {
456
+ font-size: 11px;
457
+ color: rgba(255,255,255,0.3);
458
+ margin-top: 4px;
459
+ line-height: 1.4;
460
+ }
461
+
462
+ /* ── Field error message ──────────────────────────────────────────────────── */
463
+ .bpmnkit-cfg-field-error {
464
+ font-size: 11px;
465
+ color: var(--bpmnkit-danger, #f87171);
466
+ margin-top: 3px;
467
+ line-height: 1.3;
468
+ }
469
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-field-error { color: var(--bpmnkit-danger, #dc2626); }
470
+
471
+ /* ── FEEL expression field ────────────────────────────────────────────────── */
472
+ /* FEEL/string mode toggle — appears at the right end of a feel-expression label row */
473
+ .bpmnkit-cfg-feel-mode-btn {
474
+ margin-left: auto;
475
+ flex-shrink: 0;
476
+ padding: 1px 6px;
477
+ border-radius: 3px;
478
+ border: 1px solid rgba(255,255,255,0.12);
479
+ background: none;
480
+ color: rgba(255,255,255,0.3);
481
+ font-size: 10px;
482
+ font-weight: 600;
483
+ text-transform: uppercase;
484
+ letter-spacing: 0.05em;
485
+ cursor: pointer;
486
+ transition: background 0.1s, color 0.1s, border-color 0.1s;
487
+ }
488
+ .bpmnkit-cfg-feel-mode-btn:hover {
489
+ background: rgba(255,255,255,0.06);
490
+ color: rgba(255,255,255,0.55);
491
+ }
492
+ .bpmnkit-cfg-feel-mode-btn--active {
493
+ border-color: var(--bpmnkit-accent-subtle, rgba(107,157,247,0.15));
494
+ background: var(--bpmnkit-accent-subtle, rgba(107,157,247,0.15));
495
+ color: var(--bpmnkit-accent, #6b9df7);
496
+ }
497
+ .bpmnkit-cfg-feel-mode-btn--active:hover { background: var(--bpmnkit-accent-subtle, rgba(107,157,247,0.15)); }
498
+
499
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-feel-mode-btn {
500
+ border-color: rgba(0,0,0,0.12);
501
+ color: rgba(0,0,0,0.3);
502
+ }
503
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-feel-mode-btn:hover {
504
+ background: rgba(0,0,0,0.05);
505
+ color: rgba(0,0,0,0.55);
506
+ }
507
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-feel-mode-btn--active {
508
+ border-color: var(--bpmnkit-accent-subtle, rgba(26,86,219,0.12));
509
+ background: var(--bpmnkit-accent-subtle, rgba(26,86,219,0.12));
510
+ color: var(--bpmnkit-accent, #1a56db);
511
+ }
512
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-feel-mode-btn--active:hover { background: var(--bpmnkit-accent-subtle, rgba(26,86,219,0.12)); }
513
+
514
+ .bpmnkit-cfg-feel-ta {
515
+ width: 100%;
516
+ min-height: 68px;
517
+ padding: 7px 10px;
518
+ border: 1px solid rgba(255,255,255,0.1);
519
+ border-radius: 6px;
520
+ font-size: 11px;
521
+ font-family: var(--bpmnkit-font-mono, ui-monospace, "SF Mono", monospace);
522
+ line-height: 1.5;
523
+ resize: vertical;
524
+ outline: none;
525
+ transition: border-color 0.15s;
526
+ box-sizing: border-box;
527
+ }
528
+
529
+ .bpmnkit-cfg-feel-playground-btn {
530
+ display: inline-flex;
531
+ margin-top: 4px;
532
+ padding: 3px 8px;
533
+ border-radius: 4px;
534
+ border: 1px solid rgba(255,255,255,0.12);
535
+ background: none;
536
+ color: var(--bpmnkit-accent, #6b9df7);
537
+ font-size: 11px;
538
+ cursor: pointer;
539
+ transition: background 0.1s;
540
+ }
541
+ .bpmnkit-cfg-feel-playground-btn:hover { background: var(--bpmnkit-accent-subtle, rgba(107,157,247,0.15)); }
542
+
543
+ /* Light theme overrides */
544
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-feel-playground-btn {
545
+ border-color: rgba(0,0,0,0.12);
546
+ color: var(--bpmnkit-accent, #1a56db);
547
+ }
548
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-feel-playground-btn:hover { background: var(--bpmnkit-accent-subtle, rgba(26,86,219,0.12)); }
549
+
550
+ /* ── Toggle ───────────────────────────────────────────────────────────────── */
551
+ .bpmnkit-cfg-toggle-row {
552
+ display: flex;
553
+ align-items: center;
554
+ gap: 8px;
555
+ }
556
+ .bpmnkit-cfg-toggle-label {
557
+ font-size: 12px;
558
+ color: rgba(255,255,255,0.7);
559
+ cursor: pointer;
560
+ }
561
+ .bpmnkit-cfg-toggle-label[title] { cursor: help; }
562
+ .bpmnkit-cfg-toggle {
563
+ position: relative;
564
+ display: inline-flex;
565
+ width: 34px;
566
+ height: 18px;
567
+ flex-shrink: 0;
568
+ cursor: pointer;
569
+ }
570
+ .bpmnkit-cfg-toggle input {
571
+ opacity: 0;
572
+ width: 0;
573
+ height: 0;
574
+ position: absolute;
575
+ }
576
+ .bpmnkit-cfg-toggle-track {
577
+ position: absolute;
578
+ inset: 0;
579
+ background: rgba(255,255,255,0.15);
580
+ border-radius: 9px;
581
+ transition: background 0.2s;
582
+ }
583
+ .bpmnkit-cfg-toggle input:checked + .bpmnkit-cfg-toggle-track { background: var(--bpmnkit-accent, #6b9df7); }
584
+ .bpmnkit-cfg-toggle-thumb {
585
+ position: absolute;
586
+ top: 2px;
587
+ left: 2px;
588
+ width: 14px;
589
+ height: 14px;
590
+ background: #fff;
591
+ border-radius: 50%;
592
+ transition: transform 0.2s;
593
+ pointer-events: none;
594
+ }
595
+ .bpmnkit-cfg-toggle input:checked ~ .bpmnkit-cfg-toggle-thumb { transform: translateX(16px); }
596
+
597
+ /* ── Action button ────────────────────────────────────────────────────────── */
598
+ .bpmnkit-cfg-action-btn {
599
+ display: inline-flex;
600
+ align-items: center;
601
+ gap: 5px;
602
+ padding: 5px 12px;
603
+ border-radius: 4px;
604
+ border: 1px solid rgba(255,255,255,0.15);
605
+ background: rgba(255,255,255,0.07);
606
+ color: rgba(255,255,255,0.85);
607
+ font-size: 12px;
608
+ cursor: pointer;
609
+ transition: background 0.15s;
610
+ }
611
+ .bpmnkit-cfg-action-btn:hover {
612
+ background: rgba(255,255,255,0.13);
613
+ border-color: rgba(255,255,255,0.25);
614
+ }
615
+
616
+ /* ── Light theme overrides ────────────────────────────────────────────────── */
617
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-full {
618
+ background: var(--bpmnkit-panel-bg, rgba(255,255,255,0.92));
619
+ border-left-color: var(--bpmnkit-panel-border, rgba(0,0,0,0.08));
620
+ box-shadow: -8px 0 40px rgba(0,0,0,0.12);
621
+ color: rgba(0,0,0,0.85);
622
+ }
623
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-full-header { border-bottom-color: rgba(0,0,0,0.07); }
624
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-full-type { color: rgba(0,0,0,0.35); }
625
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-full-template { color: var(--bpmnkit-accent, #1a56db); }
626
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-full-name { color: rgba(0,0,0,0.9); }
627
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-docs-link { color: rgba(0,0,0,0.4); border-color: rgba(0,0,0,0.2); }
628
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-docs-link:hover { color: var(--bpmnkit-accent, #1a56db); border-color: var(--bpmnkit-accent, #1a56db); background: var(--bpmnkit-accent-subtle, rgba(26,86,219,0.12)); }
629
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-collapse-btn { color: rgba(0,0,0,0.4); }
630
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-collapse-btn:hover { background: rgba(0,0,0,0.06); color: rgba(0,0,0,0.9); }
631
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-full-close { color: rgba(0,0,0,0.4); }
632
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-full-close:hover { background: rgba(0,0,0,0.06); color: rgba(0,0,0,0.9); }
633
+
634
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-search-bar { border-bottom-color: rgba(0,0,0,0.06); }
635
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-search-input {
636
+ background: rgba(0,0,0,0.04);
637
+ border-color: rgba(0,0,0,0.12);
638
+ color: rgba(0,0,0,0.85);
639
+ }
640
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-search-input::placeholder { color: rgba(0,0,0,0.3); }
641
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-search-clear { color: rgba(0,0,0,0.35); }
642
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-search-clear:hover { color: rgba(0,0,0,0.9); background: rgba(0,0,0,0.06); }
643
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-search-results { scrollbar-color: rgba(0,0,0,0.15) transparent; }
644
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-search-group-label { color: rgba(0,0,0,0.35); border-bottom-color: rgba(0,0,0,0.06); }
645
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-search-empty { color: rgba(0,0,0,0.35); }
646
+
647
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-tabs-area { border-bottom-color: rgba(0,0,0,0.07); }
648
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-tab-btn { color: rgba(0,0,0,0.4); }
649
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-tab-btn:hover { color: rgba(0,0,0,0.7); }
650
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-tabs-scroll-btn { color: rgba(0,0,0,0.4); }
651
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-tabs-scroll-btn:hover { color: rgba(0,0,0,0.9); background: rgba(0,0,0,0.06); }
652
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-tabs-scroll-btn--prev { border-right-color: rgba(0,0,0,0.06); }
653
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-tabs-scroll-btn--next { border-left-color: rgba(0,0,0,0.06); }
654
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-full-body { scrollbar-color: rgba(0,0,0,0.15) transparent; }
655
+
656
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-group-label {
657
+ color: rgba(0,0,0,0.35);
658
+ border-bottom-color: rgba(0,0,0,0.06);
659
+ }
660
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-field-label { color: rgba(0,0,0,0.55); }
661
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-field-hint { color: rgba(0,0,0,0.4); }
662
+
663
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-input,
664
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-select,
665
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-textarea {
666
+ background-color: rgba(0,0,0,0.04);
667
+ border-color: rgba(0,0,0,0.12);
668
+ color: rgba(0,0,0,0.85);
669
+ }
670
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-input:focus,
671
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-select:focus,
672
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-textarea:focus {
673
+ background-color: rgba(0,0,0,0.06);
674
+ }
675
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-select {
676
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6' fill='none' stroke='rgba(0,0,0,0.45)' stroke-width='1.5'/%3E%3C/svg%3E");
677
+ }
678
+
679
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-toggle-label { color: rgba(0,0,0,0.7); }
680
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-toggle-track { background: rgba(0,0,0,0.12); }
681
+
682
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-action-btn {
683
+ border-color: rgba(0,0,0,0.15);
684
+ background: rgba(0,0,0,0.04);
685
+ color: rgba(0,0,0,0.75);
686
+ }
687
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-action-btn:hover {
688
+ background: rgba(0,0,0,0.08);
689
+ border-color: rgba(0,0,0,0.2);
690
+ }
691
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-resize-handle:hover {
692
+ background: var(--bpmnkit-accent-subtle, rgba(26,86,219,0.12));
693
+ }
694
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-guide-bar {
695
+ background: rgba(248, 113, 113, 0.06);
696
+ border-bottom-color: rgba(248, 113, 113, 0.15);
697
+ }
698
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-guide-text { color: var(--bpmnkit-danger, #dc2626); }
699
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-guide-btn {
700
+ color: var(--bpmnkit-danger, #dc2626);
701
+ border-color: rgba(220, 38, 38, 0.3);
702
+ background: rgba(220, 38, 38, 0.07);
703
+ }
704
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-cfg-guide-btn:hover {
705
+ background: rgba(220, 38, 38, 0.14);
706
+ border-color: rgba(220, 38, 38, 0.5);
707
+ }
708
+ `;
709
+ export function injectConfigPanelStyles() {
710
+ if (typeof document === "undefined")
711
+ return;
712
+ if (document.getElementById(CONFIG_PANEL_STYLE_ID))
713
+ return;
714
+ const style = document.createElement("style");
715
+ style.id = CONFIG_PANEL_STYLE_ID;
716
+ style.textContent = CONFIG_PANEL_CSS;
717
+ document.head.appendChild(style);
718
+ }
719
+ //# sourceMappingURL=css.js.map