@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,467 @@
1
+ const STYLE_ID = "bpmnkit-process-runner-v1";
2
+ const CSS = `
3
+ /* ── Toolbar ──────────────────────────────────────────────────────────── */
4
+ .bpmnkit-runner-toolbar {
5
+ display: flex;
6
+ gap: 6px;
7
+ align-items: center;
8
+ }
9
+
10
+ /* HUD bottom-center placement (used when toolbar replaces #hud-bottom-center) */
11
+ .bpmnkit-runner-toolbar--hud-bottom {
12
+ position: fixed;
13
+ z-index: 100;
14
+ bottom: 10px;
15
+ left: 50%;
16
+ transform: translateX(-50%);
17
+ background: var(--bpmnkit-panel-bg, rgba(13,13,22,0.92));
18
+ border: 1px solid rgba(255,255,255,0.06);
19
+ border-radius: 8px;
20
+ backdrop-filter: blur(12px);
21
+ padding: 4px;
22
+ gap: 4px;
23
+ }
24
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-toolbar--hud-bottom {
25
+ background: rgba(255,255,255,0.96);
26
+ border-color: rgba(0,0,0,0.1);
27
+ box-shadow: 0 2px 16px rgba(0,0,0,0.15);
28
+ }
29
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-btn--exit {
30
+ background: #e5e7eb;
31
+ color: #374151;
32
+ }
33
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-btn--exit:hover { background: #d1d5db; }
34
+
35
+ /* ── Split play button ────────────────────────────────────────────────── */
36
+ .bpmnkit-runner-split {
37
+ display: flex;
38
+ border-radius: 6px;
39
+ overflow: visible;
40
+ position: relative;
41
+ }
42
+
43
+ .bpmnkit-runner-btn {
44
+ display: flex;
45
+ align-items: center;
46
+ gap: 5px;
47
+ padding: 6px 12px;
48
+ border: none;
49
+ cursor: pointer;
50
+ font-size: 13px;
51
+ font-family: inherit;
52
+ font-weight: 500;
53
+ background: #2563eb;
54
+ color: #fff;
55
+ white-space: nowrap;
56
+ line-height: 1.4;
57
+ transition: background 0.12s;
58
+ }
59
+ .bpmnkit-runner-btn:first-child {
60
+ border-radius: 6px 0 0 6px;
61
+ }
62
+ .bpmnkit-runner-split .bpmnkit-runner-btn:last-child {
63
+ border-radius: 0 6px 6px 0;
64
+ border-left: 1px solid rgba(255,255,255,0.25);
65
+ padding: 6px 9px;
66
+ }
67
+ .bpmnkit-runner-btn:only-child {
68
+ border-radius: 6px;
69
+ }
70
+ .bpmnkit-runner-btn:hover:not(:disabled) {
71
+ background: #1d4ed8;
72
+ }
73
+ .bpmnkit-runner-btn:disabled {
74
+ opacity: 0.5;
75
+ cursor: not-allowed;
76
+ }
77
+
78
+ /* Stop */
79
+ .bpmnkit-runner-btn--stop {
80
+ background: #dc2626;
81
+ border-radius: 6px;
82
+ }
83
+ .bpmnkit-runner-btn--stop:hover {
84
+ background: #b91c1c;
85
+ }
86
+
87
+ /* Step (idle: start step mode) */
88
+ .bpmnkit-runner-btn--step {
89
+ background: #7c3aed;
90
+ border-radius: 6px;
91
+ }
92
+ .bpmnkit-runner-btn--step:hover:not(:disabled) {
93
+ background: #6d28d9;
94
+ }
95
+
96
+ /* Step pending (running-step, user can advance) */
97
+ .bpmnkit-runner-btn--step-pending {
98
+ background: #d97706;
99
+ border-radius: 6px;
100
+ }
101
+ .bpmnkit-runner-btn--step-pending:hover {
102
+ background: #b45309;
103
+ }
104
+
105
+ /* Step waiting (running-step, process is mid-execution, not paused yet) */
106
+ .bpmnkit-runner-btn--step-waiting {
107
+ background: #6b7280;
108
+ border-radius: 6px;
109
+ }
110
+
111
+ /* Exit play mode */
112
+ .bpmnkit-runner-btn--exit {
113
+ background: #374151;
114
+ border-radius: 6px;
115
+ }
116
+ .bpmnkit-runner-btn--exit:hover {
117
+ background: #4b5563;
118
+ }
119
+
120
+ /* ── Dropdown menu ────────────────────────────────────────────────────── */
121
+ .bpmnkit-runner-dropdown {
122
+ position: fixed;
123
+ background: #ffffff;
124
+ border: 1px solid #e5e7eb;
125
+ border-radius: 6px;
126
+ box-shadow: 0 4px 16px rgba(0,0,0,0.15);
127
+ min-width: 190px;
128
+ z-index: 20;
129
+ overflow: hidden;
130
+ }
131
+ .bpmnkit-runner-dropdown[data-theme="dark"] {
132
+ background: #1f2937;
133
+ border-color: #374151;
134
+ color: #f9fafb;
135
+ }
136
+
137
+ .bpmnkit-runner-dropdown-item {
138
+ display: flex;
139
+ align-items: center;
140
+ gap: 8px;
141
+ width: 100%;
142
+ padding: 9px 14px;
143
+ border: none;
144
+ background: none;
145
+ text-align: left;
146
+ cursor: pointer;
147
+ font-size: 13px;
148
+ font-family: inherit;
149
+ color: inherit;
150
+ box-sizing: border-box;
151
+ }
152
+ .bpmnkit-runner-dropdown-item:hover {
153
+ background: #f3f4f6;
154
+ }
155
+ .bpmnkit-runner-dropdown[data-theme="dark"] .bpmnkit-runner-dropdown-item:hover {
156
+ background: #374151;
157
+ }
158
+
159
+ /* ── Payload modal ────────────────────────────────────────────────────── */
160
+ .bpmnkit-runner-modal-overlay {
161
+ position: fixed;
162
+ inset: 0;
163
+ background: rgba(0,0,0,0.45);
164
+ z-index: 1000;
165
+ display: flex;
166
+ align-items: center;
167
+ justify-content: center;
168
+ }
169
+
170
+ .bpmnkit-runner-modal {
171
+ background: #ffffff;
172
+ border-radius: 10px;
173
+ padding: 24px;
174
+ width: 480px;
175
+ max-width: 90vw;
176
+ box-shadow: 0 20px 60px rgba(0,0,0,0.3);
177
+ font-family: inherit;
178
+ }
179
+ .bpmnkit-runner-modal[data-theme="dark"] {
180
+ background: #1f2937;
181
+ color: #f9fafb;
182
+ }
183
+
184
+ .bpmnkit-runner-modal-title {
185
+ font-size: 15px;
186
+ font-weight: 600;
187
+ margin: 0 0 14px;
188
+ }
189
+
190
+ .bpmnkit-runner-modal-textarea {
191
+ width: 100%;
192
+ box-sizing: border-box;
193
+ height: 180px;
194
+ font-family: ui-monospace, "SFMono-Regular", "Menlo", monospace;
195
+ font-size: 13px;
196
+ padding: 10px 12px;
197
+ border: 1px solid #d1d5db;
198
+ border-radius: 6px;
199
+ resize: vertical;
200
+ background: #f9fafb;
201
+ color: inherit;
202
+ }
203
+ .bpmnkit-runner-modal[data-theme="dark"] .bpmnkit-runner-modal-textarea {
204
+ background: #111827;
205
+ border-color: #374151;
206
+ color: #f9fafb;
207
+ }
208
+
209
+ .bpmnkit-runner-modal-error {
210
+ color: var(--bpmnkit-danger, #dc2626);
211
+ font-size: 12px;
212
+ margin-top: 6px;
213
+ min-height: 18px;
214
+ }
215
+
216
+ .bpmnkit-runner-modal-actions {
217
+ display: flex;
218
+ justify-content: flex-end;
219
+ gap: 8px;
220
+ margin-top: 18px;
221
+ }
222
+
223
+ .bpmnkit-runner-modal-btn {
224
+ padding: 7px 18px;
225
+ border-radius: 6px;
226
+ border: none;
227
+ cursor: pointer;
228
+ font-size: 13px;
229
+ font-family: inherit;
230
+ font-weight: 500;
231
+ }
232
+ .bpmnkit-runner-modal-btn--cancel {
233
+ background: #f3f4f6;
234
+ color: #374151;
235
+ }
236
+ .bpmnkit-runner-modal-btn--cancel:hover {
237
+ background: #e5e7eb;
238
+ }
239
+ .bpmnkit-runner-modal[data-theme="dark"] .bpmnkit-runner-modal-btn--cancel {
240
+ background: #374151;
241
+ color: #f9fafb;
242
+ }
243
+ .bpmnkit-runner-modal-btn--run {
244
+ background: #2563eb;
245
+ color: #fff;
246
+ }
247
+ .bpmnkit-runner-modal-btn--run:hover {
248
+ background: #1d4ed8;
249
+ }
250
+
251
+ /* ── Play panel (mounted inside dock.playPane) ────────────────────────── */
252
+ .bpmnkit-runner-play-panel {
253
+ display: flex;
254
+ flex-direction: column;
255
+ height: 100%;
256
+ overflow: hidden;
257
+ color: rgba(255,255,255,0.75);
258
+ font-size: 12px;
259
+ font-family: system-ui, -apple-system, sans-serif;
260
+ }
261
+
262
+ .bpmnkit-runner-play-tabs {
263
+ display: flex;
264
+ border-bottom: 1px solid rgba(255,255,255,0.08);
265
+ flex-shrink: 0;
266
+ }
267
+
268
+ .bpmnkit-runner-play-tab {
269
+ padding: 8px 16px;
270
+ background: none;
271
+ border: none;
272
+ border-bottom: 2px solid transparent;
273
+ color: rgba(255,255,255,0.4);
274
+ cursor: pointer;
275
+ font-size: 12px;
276
+ font-weight: 500;
277
+ font-family: inherit;
278
+ white-space: nowrap;
279
+ transition: color 0.1s, border-color 0.1s;
280
+ }
281
+ .bpmnkit-runner-play-tab:hover { color: rgba(255,255,255,0.75); }
282
+ .bpmnkit-runner-play-tab--active { color: var(--bpmnkit-accent, #6b9df7); border-bottom-color: var(--bpmnkit-accent, #6b9df7); }
283
+
284
+ .bpmnkit-runner-play-pane {
285
+ flex: 1;
286
+ overflow-y: auto;
287
+ padding: 10px 14px;
288
+ min-height: 0;
289
+ }
290
+ .bpmnkit-runner-play-pane--hidden { display: none !important; }
291
+
292
+ .bpmnkit-runner-play-empty {
293
+ color: rgba(255,255,255,0.25);
294
+ text-align: center;
295
+ padding: 20px 0;
296
+ }
297
+
298
+ /* Variables */
299
+ .bpmnkit-runner-play-var-row {
300
+ display: flex;
301
+ align-items: baseline;
302
+ gap: 8px;
303
+ padding: 5px 0;
304
+ border-bottom: 1px solid rgba(255,255,255,0.05);
305
+ }
306
+ .bpmnkit-runner-play-var-name { color: rgba(255,255,255,0.55); flex-shrink: 0; }
307
+ .bpmnkit-runner-play-var-name::after { content: ":"; margin-left: 1px; }
308
+ .bpmnkit-runner-play-var-value {
309
+ color: #a5f3fc;
310
+ font-family: ui-monospace, "SFMono-Regular", "Menlo", monospace;
311
+ font-size: 11px;
312
+ word-break: break-all;
313
+ }
314
+
315
+ /* FEEL evaluations */
316
+ .bpmnkit-runner-play-feel-group { margin-bottom: 14px; }
317
+ .bpmnkit-runner-play-feel-header {
318
+ font-size: 10px;
319
+ font-weight: 700;
320
+ text-transform: uppercase;
321
+ letter-spacing: 0.08em;
322
+ color: rgba(255,255,255,0.3);
323
+ padding: 3px 0;
324
+ border-bottom: 1px solid rgba(255,255,255,0.07);
325
+ margin-bottom: 6px;
326
+ }
327
+ .bpmnkit-runner-play-feel-row {
328
+ display: flex;
329
+ flex-direction: column;
330
+ gap: 3px;
331
+ padding: 6px 0;
332
+ border-bottom: 1px solid rgba(255,255,255,0.04);
333
+ }
334
+ .bpmnkit-runner-play-feel-prop { color: rgba(255,255,255,0.4); font-size: 11px; }
335
+ .bpmnkit-runner-play-feel-expr {
336
+ font-family: ui-monospace, "SFMono-Regular", "Menlo", monospace;
337
+ font-size: 11px;
338
+ color: #fde68a;
339
+ background: rgba(255,255,255,0.06);
340
+ padding: 2px 5px;
341
+ border-radius: 3px;
342
+ display: block;
343
+ }
344
+ .bpmnkit-runner-play-feel-result-row { display: flex; align-items: center; gap: 5px; }
345
+ .bpmnkit-runner-play-feel-arrow { color: rgba(255,255,255,0.3); }
346
+ .bpmnkit-runner-play-feel-result {
347
+ color: #a5f3fc;
348
+ font-family: ui-monospace, "SFMono-Regular", "Menlo", monospace;
349
+ font-size: 11px;
350
+ }
351
+
352
+ /* ── Errors tab ──────────────────────────────────────────────────────────── */
353
+ .bpmnkit-runner-play-error-row {
354
+ padding: 8px 0;
355
+ border-bottom: 1px solid rgba(255,255,255,0.05);
356
+ }
357
+ .bpmnkit-runner-play-error-id {
358
+ font-size: 10px;
359
+ font-weight: 700;
360
+ text-transform: uppercase;
361
+ letter-spacing: 0.08em;
362
+ color: rgba(248,113,113,0.7);
363
+ margin-bottom: 2px;
364
+ }
365
+ .bpmnkit-runner-play-error-msg {
366
+ font-size: 12px;
367
+ color: var(--bpmnkit-danger, #f87171);
368
+ }
369
+
370
+ /* ── Input variables tab ──────────────────────────────────────────────────── */
371
+ .bpmnkit-runner-play-ivar-row {
372
+ display: flex;
373
+ align-items: center;
374
+ gap: 6px;
375
+ padding: 4px 0;
376
+ border-bottom: 1px solid rgba(255,255,255,0.05);
377
+ }
378
+ .bpmnkit-runner-play-ivar-name,
379
+ .bpmnkit-runner-play-ivar-value {
380
+ background: rgba(255,255,255,0.06);
381
+ border: 1px solid rgba(255,255,255,0.12);
382
+ border-radius: 4px;
383
+ color: inherit;
384
+ font-size: 12px;
385
+ font-family: inherit;
386
+ padding: 4px 7px;
387
+ }
388
+ .bpmnkit-runner-play-ivar-name { width: 90px; flex-shrink: 0; }
389
+ .bpmnkit-runner-play-ivar-value { flex: 1; min-width: 0; }
390
+ .bpmnkit-runner-play-ivar-name:focus,
391
+ .bpmnkit-runner-play-ivar-value:focus { outline: none; border-color: var(--bpmnkit-accent, #6b9df7); }
392
+ .bpmnkit-runner-play-ivar-eq { color: rgba(255,255,255,0.3); font-size: 12px; flex-shrink: 0; }
393
+ .bpmnkit-runner-play-ivar-del {
394
+ background: none;
395
+ border: none;
396
+ color: rgba(255,255,255,0.3);
397
+ cursor: pointer;
398
+ font-size: 14px;
399
+ padding: 0 4px;
400
+ flex-shrink: 0;
401
+ line-height: 1;
402
+ }
403
+ .bpmnkit-runner-play-ivar-del:hover { color: var(--bpmnkit-danger, #f87171); }
404
+ .bpmnkit-runner-play-ivar-add {
405
+ display: flex;
406
+ align-items: center;
407
+ justify-content: center;
408
+ background: none;
409
+ border: 1px dashed rgba(255,255,255,0.2);
410
+ border-radius: 4px;
411
+ color: rgba(255,255,255,0.4);
412
+ cursor: pointer;
413
+ font-size: 12px;
414
+ font-family: inherit;
415
+ padding: 6px 10px;
416
+ width: 100%;
417
+ margin-top: 8px;
418
+ box-sizing: border-box;
419
+ }
420
+ .bpmnkit-runner-play-ivar-add:hover { border-color: var(--bpmnkit-accent, #6b9df7); color: var(--bpmnkit-accent, #6b9df7); }
421
+
422
+ /* ── Light theme overrides ───────────────────────────────────────────────── */
423
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-panel { color: rgba(0,0,0,0.75); }
424
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-tabs { border-bottom-color: rgba(0,0,0,0.07); }
425
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-tab { color: rgba(0,0,0,0.4); }
426
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-tab:hover { color: rgba(0,0,0,0.7); }
427
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-tab--active { color: var(--bpmnkit-accent, #1a56db); border-bottom-color: var(--bpmnkit-accent, #1a56db); }
428
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-empty { color: rgba(0,0,0,0.3); }
429
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-var-name { color: rgba(0,0,0,0.6); }
430
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-var-value { color: #0369a1; }
431
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-var-row { border-bottom-color: rgba(0,0,0,0.06); }
432
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-feel-header { color: rgba(0,0,0,0.35); border-bottom-color: rgba(0,0,0,0.08); }
433
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-feel-prop { color: rgba(0,0,0,0.45); }
434
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-feel-expr { color: #92400e; background: rgba(0,0,0,0.04); }
435
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-feel-arrow { color: rgba(0,0,0,0.3); }
436
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-feel-result { color: #0369a1; }
437
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-feel-row { border-bottom-color: rgba(0,0,0,0.05); }
438
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-error-row { border-bottom-color: rgba(0,0,0,0.06); }
439
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-error-id { color: rgba(220,38,38,0.7); }
440
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-error-msg { color: var(--bpmnkit-danger, #dc2626); }
441
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-ivar-row { border-bottom-color: rgba(0,0,0,0.06); }
442
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-ivar-name,
443
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-ivar-value {
444
+ background: rgba(0,0,0,0.04);
445
+ border-color: rgba(0,0,0,0.12);
446
+ color: rgba(0,0,0,0.75);
447
+ }
448
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-ivar-eq { color: rgba(0,0,0,0.3); }
449
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-ivar-del { color: rgba(0,0,0,0.3); }
450
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-ivar-del:hover { color: var(--bpmnkit-danger, #dc2626); }
451
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-ivar-add {
452
+ border-color: rgba(0,0,0,0.2);
453
+ color: rgba(0,0,0,0.4);
454
+ }
455
+ [data-bpmnkit-hud-theme="light"] .bpmnkit-runner-play-ivar-add:hover { border-color: var(--bpmnkit-accent, #1a56db); color: var(--bpmnkit-accent, #1a56db); }
456
+ `;
457
+ export function injectProcessRunnerStyles() {
458
+ if (typeof document === "undefined")
459
+ return;
460
+ if (document.getElementById(STYLE_ID) !== null)
461
+ return;
462
+ const style = document.createElement("style");
463
+ style.id = STYLE_ID;
464
+ style.textContent = CSS;
465
+ document.head.appendChild(style);
466
+ }
467
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1,56 @@
1
+ import type { CanvasPlugin } from "@bpmnkit/canvas";
2
+ /** Minimal interface satisfied by `ProcessInstance` from `@bpmnkit/engine`. */
3
+ interface InstanceLike {
4
+ get state(): string;
5
+ onChange(callback: (event: Record<string, unknown>) => void): () => void;
6
+ cancel(): void;
7
+ beforeComplete?: (elementId: string) => Promise<void>;
8
+ }
9
+ /** Minimal interface satisfied by `Engine` from `@bpmnkit/engine`. */
10
+ interface EngineLike {
11
+ deploy(d: {
12
+ bpmn?: unknown;
13
+ }): void;
14
+ start(processId: string, variables?: Record<string, unknown>, options?: {
15
+ beforeComplete?: (elementId: string) => Promise<void>;
16
+ }): InstanceLike;
17
+ getDeployedProcesses(): string[];
18
+ }
19
+ /** Minimal interface satisfied by the token-highlight plugin. */
20
+ interface TokenHighlightLike {
21
+ api: {
22
+ trackInstance(instance: {
23
+ onChange(callback: (event: Record<string, unknown>) => void): () => void;
24
+ }): () => void;
25
+ clear(): void;
26
+ setError(elementId: string): void;
27
+ };
28
+ }
29
+ export interface ProcessRunnerOptions {
30
+ /** The engine instance used to deploy and execute processes. */
31
+ engine: EngineLike;
32
+ /**
33
+ * Optional token-highlight plugin. When provided, the executed process will
34
+ * be highlighted in real-time as the instance runs.
35
+ */
36
+ tokenHighlight?: TokenHighlightLike;
37
+ /** Container element for the play panel (e.g. dock.playPane). */
38
+ playContainer?: HTMLElement;
39
+ /** Called when play mode is entered — use to show the Play tab in the dock. */
40
+ onShowPlayTab?: () => void;
41
+ /** Called when play mode is exited — use to hide the Play tab in the dock. */
42
+ onHidePlayTab?: () => void;
43
+ /** Called when the user enters play mode by clicking the Play trigger button. */
44
+ onEnterPlayMode?: () => void;
45
+ /** Called when the user exits play mode by clicking the Exit button. */
46
+ onExitPlayMode?: () => void;
47
+ /** Returns the current project ID, used to scope input variable persistence. */
48
+ getProjectId?: () => string | null;
49
+ }
50
+ export declare function createProcessRunnerPlugin(options: ProcessRunnerOptions): CanvasPlugin & {
51
+ toolbar: HTMLDivElement;
52
+ playButton: HTMLButtonElement;
53
+ exitPlayMode(): void;
54
+ };
55
+ export {};
56
+ //# sourceMappingURL=index.d.ts.map