bpmn-js-rails 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 (63) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +6 -0
  3. data/app/assets/javascripts/bpmn-js/bpmn-modeler.production.min.js +199 -0
  4. data/app/assets/javascripts/bpmn-js/bpmn-viewer.production.min.js +22 -0
  5. data/app/assets/javascripts/dmn-js/dmn-modeler.production.min.js +194 -0
  6. data/app/assets/javascripts/dmn-js/dmn-viewer.production.min.js +16 -0
  7. data/app/assets/javascripts/form-js/form-editor.umd.js +78936 -0
  8. data/app/assets/javascripts/form-js/form-viewer.umd.js +54147 -0
  9. data/app/assets/stylesheets/bpmn-js/bpmn-font/css/bpmn-codes.css +108 -0
  10. data/app/assets/stylesheets/bpmn-js/bpmn-font/css/bpmn-embedded.css +166 -0
  11. data/app/assets/stylesheets/bpmn-js/bpmn-font/css/bpmn.css +164 -0
  12. data/app/assets/stylesheets/bpmn-js/bpmn-font/font/bpmn.eot +0 -0
  13. data/app/assets/stylesheets/bpmn-js/bpmn-font/font/bpmn.svg +224 -0
  14. data/app/assets/stylesheets/bpmn-js/bpmn-font/font/bpmn.ttf +0 -0
  15. data/app/assets/stylesheets/bpmn-js/bpmn-font/font/bpmn.woff +0 -0
  16. data/app/assets/stylesheets/bpmn-js/bpmn-font/font/bpmn.woff2 +0 -0
  17. data/app/assets/stylesheets/bpmn-js/bpmn-js.css +145 -0
  18. data/app/assets/stylesheets/bpmn-js/diagram-js.css +1011 -0
  19. data/app/assets/stylesheets/dmn-js/diagram-js.css +1011 -0
  20. data/app/assets/stylesheets/dmn-js/dmn-font/css/dmn-codes.css +41 -0
  21. data/app/assets/stylesheets/dmn-js/dmn-font/css/dmn-embedded.css +98 -0
  22. data/app/assets/stylesheets/dmn-js/dmn-font/css/dmn.css +97 -0
  23. data/app/assets/stylesheets/dmn-js/dmn-font/font/dmn.eot +0 -0
  24. data/app/assets/stylesheets/dmn-js/dmn-font/font/dmn.svg +90 -0
  25. data/app/assets/stylesheets/dmn-js/dmn-font/font/dmn.ttf +0 -0
  26. data/app/assets/stylesheets/dmn-js/dmn-font/font/dmn.woff +0 -0
  27. data/app/assets/stylesheets/dmn-js/dmn-font/font/dmn.woff2 +0 -0
  28. data/app/assets/stylesheets/dmn-js/dmn-js-boxed-expression-controls.css +130 -0
  29. data/app/assets/stylesheets/dmn-js/dmn-js-boxed-expression.css +186 -0
  30. data/app/assets/stylesheets/dmn-js/dmn-js-decision-table-controls.css +301 -0
  31. data/app/assets/stylesheets/dmn-js/dmn-js-decision-table.css +580 -0
  32. data/app/assets/stylesheets/dmn-js/dmn-js-drd.css +95 -0
  33. data/app/assets/stylesheets/dmn-js/dmn-js-literal-expression.css +165 -0
  34. data/app/assets/stylesheets/dmn-js/dmn-js-shared.css +221 -0
  35. data/app/assets/stylesheets/form-js/form-js-editor.css +2342 -0
  36. data/app/assets/stylesheets/form-js/form-js.css +3694 -0
  37. data/app/helpers/bpmn_js_rails/view_helper.rb +291 -0
  38. data/app/javascript/bpmn_js_rails/controllers/bpmn_js_modeler_controller.js +85 -0
  39. data/app/javascript/bpmn_js_rails/controllers/bpmn_js_viewer_controller.js +46 -0
  40. data/app/javascript/bpmn_js_rails/controllers/dmn_js_modeler_controller.js +102 -0
  41. data/app/javascript/bpmn_js_rails/controllers/dmn_js_viewer_controller.js +45 -0
  42. data/app/javascript/bpmn_js_rails/controllers/form_js_editor_controller.js +80 -0
  43. data/app/javascript/bpmn_js_rails/controllers/form_js_viewer_controller.js +52 -0
  44. data/app/javascript/bpmn_js_rails/index.js +34 -0
  45. data/app/models/bpmn_js_rails/decision.rb +60 -0
  46. data/app/models/bpmn_js_rails/diagram.rb +51 -0
  47. data/app/models/bpmn_js_rails/form.rb +32 -0
  48. data/config/importmap.rb +7 -0
  49. data/config/routes.rb +2 -0
  50. data/db/migrate/20260319000001_create_bpmn_js_rails_diagrams.rb +15 -0
  51. data/db/migrate/20260319000002_create_bpmn_js_rails_forms.rb +15 -0
  52. data/db/migrate/20260319000003_create_bpmn_js_rails_decisions.rb +15 -0
  53. data/lib/bpmn-js-rails.rb +1 -0
  54. data/lib/bpmn_js_rails/engine.rb +30 -0
  55. data/lib/bpmn_js_rails/version.rb +3 -0
  56. data/lib/bpmn_js_rails/version.rb.erb +3 -0
  57. data/lib/bpmn_js_rails.rb +5 -0
  58. data/lib/generators/bpmn_js_rails/install/install_generator.rb +58 -0
  59. data/lib/generators/bpmn_js_rails/install/templates/create_bpmn_js_rails_decisions.rb.erb +15 -0
  60. data/lib/generators/bpmn_js_rails/install/templates/create_bpmn_js_rails_diagrams.rb.erb +15 -0
  61. data/lib/generators/bpmn_js_rails/install/templates/create_bpmn_js_rails_forms.rb.erb +15 -0
  62. data/lib/tasks/form_js_rails_tasks.rake +4 -0
  63. metadata +116 -0
@@ -0,0 +1,580 @@
1
+ .dmn-decision-table-container {
2
+ --action-icon-color: var(--color-blue-205-100-50);
3
+ --action-icon-background-color: transparent;
4
+ --action-icon-hover-background-color: var(--color-blue-205-100-45);
5
+ --action-icon-hover-color: var(--color-white);
6
+ --add-column-icon-color: var(--color-white);
7
+ --add-column-icon-background-color: var(--color-grey-225-10-35);
8
+ --decision-table-color: var(--color-grey-225-10-15);
9
+ --decision-table-background-color: var(--color-white);
10
+ --decision-table-properties-color: var(--color-grey-225-10-15);
11
+ --dmn-expression-language-background-color: var(--color-blue-205-100-45-opacity-30);
12
+ --dmn-expression-language-color: var(--color-white);
13
+ --dmn-expression-language-hover-background-color: var(--color-blue-205-100-50);
14
+ --drag-and-drop-drag-color: var(--color-grey-225-10-55);
15
+ --drag-and-drop-drop-marker-color: var(--color-grey-225-10-35);
16
+ --hit-policy-explanation-color: var(--color-grey-225-10-35);
17
+ --powered-by-overlay-background-color: var(--color-black-opacity-20);
18
+ --powered-by-overlay-content-background-color: var(--color-white);
19
+ --powered-by-overlay-content-color: var(--color-grey-225-10-15);
20
+ --powered-by-overlay-content-border-color: var(--color-grey-225-10-75);
21
+ --simple-mode-button-color: var(--color-grey-225-10-15);
22
+ --simple-mode-button-background-color: var(--color-grey-225-10-97);
23
+ --simple-mode-button-border-color: var(--color-grey-225-10-75);
24
+ --simple-mode-button-box-shadow-color: var(--color-black-opacity-10);
25
+ --simple-mode-button-disabled-color: var(--color-grey-225-10-75);
26
+ --table-cell-color: var(--color-grey-225-10-15);
27
+ --table-cell-border-color: var(--color-grey-225-10-15);
28
+ --table-cell-selected-outline-color: var(--color-blue-205-100-45);
29
+ --table-foot-add-rule-border-color: var(--color-grey-225-10-75);
30
+ --table-foot-add-rule-color: var(--color-grey-225-10-75);
31
+ --table-foot-add-rule-hover-border-color: var(--color-grey-225-10-15);
32
+ --table-foot-add-rule-hover-color: var(--color-grey-225-10-15);
33
+ --table-head-border-color: var(--color-grey-225-10-15);
34
+ --table-head-clause-color: var(--color-grey-225-10-35);
35
+ --table-head-separator-color: var(--color-grey-225-10-75);
36
+ --table-head-variable-color: var(--color-grey-225-10-35);
37
+ --table-row-alternative-background-color: var(--color-grey-225-10-97);
38
+ --view-drd-button-background-color: var(--color-white);
39
+ --view-drd-button-border-color: var(--color-grey-225-10-75);
40
+ --view-drd-button-color: var(--color-grey-225-10-15);
41
+ --view-drd-button-hover-background-color: var(--color-grey-225-10-97);
42
+ --decision-table-font-family: 'Arial', sans-serif;
43
+
44
+ width: 100%;
45
+ height: 100%;
46
+ overflow: hidden;
47
+ position: relative;
48
+ font-family: var(--decision-table-font-family);
49
+ font-size: 14px;
50
+ color: var(--table-color);
51
+ max-height: 100%;
52
+ }
53
+
54
+ /* basic styles */
55
+
56
+ .dmn-decision-table-container * {
57
+ box-sizing: border-box;
58
+ }
59
+
60
+ .dmn-decision-table-container .tjs-container {
61
+ display: flex;
62
+ flex-direction: column;
63
+ width: min-content;
64
+ max-width: 100%;
65
+ height: 100%;
66
+ }
67
+
68
+ /* end basic styles */
69
+
70
+ /* basic table styles */
71
+
72
+ .dmn-decision-table-container .tjs-table-container {
73
+ overflow: auto;
74
+ border: solid 1px var(--table-cell-border-color);
75
+ border-top: none;
76
+ }
77
+
78
+ .dmn-decision-table-container .tjs-table {
79
+ max-width: 100%;
80
+ max-height: 100%;
81
+ position: relative;
82
+ width: 100%; /* Fallback for legacy Edge */
83
+ width: min-content;
84
+ table-layout: fixed;
85
+ border-collapse: separate;
86
+ border-spacing: 0;
87
+ }
88
+
89
+ .dmn-decision-table-container th,
90
+ .dmn-decision-table-container td {
91
+ position: relative;
92
+ white-space: pre-wrap;
93
+ overflow-wrap: break-word;
94
+ background-clip: padding-box;
95
+ }
96
+
97
+ .dmn-decision-table-container thead th {
98
+ text-align: center;
99
+ width: 192px;
100
+ font-weight: normal;
101
+ position: sticky;
102
+ top: 0;
103
+ z-index: 1;
104
+ background-color: var(--decision-table-background-color);
105
+ border-bottom: 3px double var(--table-head-border-color);
106
+ }
107
+
108
+ .dmn-decision-table-container thead th.output-editor {
109
+ z-index: 2;
110
+ }
111
+
112
+ .dmn-decision-table-container thead th.create-inputs,
113
+ .dmn-decision-table-container thead th.input-editor {
114
+ z-index: 3;
115
+ }
116
+
117
+ .dmn-decision-table-container tbody td {
118
+ border-top: solid 1px var(--table-cell-border-color);
119
+ }
120
+
121
+ .dmn-decision-table-container th.input-cell,
122
+ .dmn-decision-table-container td.input-cell,
123
+ .dmn-decision-table-container th.output-cell,
124
+ .dmn-decision-table-container td.output-cell,
125
+ .dmn-decision-table-container th.annotation,
126
+ .dmn-decision-table-container td.annotation {
127
+ color: var(--table-cell-color);
128
+ }
129
+
130
+ .dmn-decision-table-container th.input-cell + th.output-cell,
131
+ .dmn-decision-table-container td.input-cell + td.output-cell {
132
+ border-left: 3px double var(--table-cell-border-color);
133
+ }
134
+
135
+ .dmn-decision-table-container th:not(:first-child),
136
+ .dmn-decision-table-container td:not(:first-child) {
137
+ padding: 4px;
138
+ border-left: solid 1px var(--table-cell-border-color);
139
+ }
140
+
141
+ .dmn-decision-table-container thead {
142
+ background-color: var(--decision-table-background-color);
143
+ }
144
+
145
+ .dmn-decision-table-container thead th:first-child {
146
+ left: 0;
147
+ z-index: 4;
148
+ }
149
+
150
+ .dmn-decision-table-container tfoot td:first-child {
151
+ border-right: solid 1px var(--table-foot-add-rule-border-color);
152
+ }
153
+
154
+ .dmn-decision-table-container tbody td:first-child,
155
+ .dmn-decision-table-container tfoot td:first-child {
156
+ position: sticky;
157
+ left: 0;
158
+ background-color: var(--decision-table-background-color);
159
+ z-index: 1;
160
+ }
161
+
162
+ .dmn-decision-table-container tbody:empty {
163
+ display: none;
164
+ }
165
+
166
+ .dmn-decision-table-container thead th:first-child,
167
+ .dmn-decision-table-container tbody td:first-child {
168
+ border-right: solid 1px var(--table-cell-border-color);
169
+ }
170
+
171
+ .dmn-decision-table-container thead th:nth-child(2),
172
+ .dmn-decision-table-container tbody td:nth-child(2),
173
+ .dmn-decision-table-container tfoot td:nth-child(2) {
174
+ border-left: none;
175
+ }
176
+
177
+ .dmn-decision-table-container tbody tr:last-child td {
178
+ border-bottom: solid 1px var(--table-cell-border-color);
179
+ }
180
+
181
+ .dmn-decision-table-container tbody tr:first-child td {
182
+ border-top: none;
183
+ }
184
+
185
+ .dmn-decision-table-container th.index-column {
186
+ width: 56px;
187
+ }
188
+
189
+ .dmn-decision-table-container td.rule-index {
190
+ text-align: right;
191
+ padding-right: 8px;
192
+ }
193
+
194
+ .dmn-decision-table-container tbody tr:nth-child(2n) {
195
+ background-color: var(--table-row-alternative-background-color);
196
+ }
197
+
198
+ .dmn-decision-table-container td.input-cell.add-rule,
199
+ .dmn-decision-table-container td.input-cell:not(.focussed).empty {
200
+ text-align: center;
201
+ }
202
+
203
+ /* end basic table styles */
204
+
205
+ /* selection styles */
206
+
207
+ .dmn-decision-table-container h3,
208
+ .dmn-decision-table-container h5 {
209
+ position: relative;
210
+ }
211
+
212
+ .dmn-decision-table-container .selected {
213
+ outline: var(--table-cell-selected-outline-color);
214
+ outline-offset: -1px;
215
+ }
216
+
217
+ .dmn-decision-table-container th.selected:not(.focussed) {
218
+ background: var(--selected-not-focused-border-color);
219
+ }
220
+
221
+ /* end selection styles */
222
+
223
+ /* footer styles */
224
+
225
+ .dmn-decision-table-container tfoot td.input-cell + td.output-cell {
226
+ border-left: 3px double var(--table-foot-add-rule-border-color);
227
+ }
228
+
229
+ .dmn-decision-table-container tfoot.add-rule td.add-rule-add {
230
+ text-align: right;
231
+ padding-right: 4px;
232
+ }
233
+
234
+ .dmn-decision-table-container tfoot.add-rule tr td {
235
+ border-color: var(--table-foot-add-rule-border-color);
236
+ color: var(--table-foot-add-rule-color);
237
+ }
238
+
239
+ .dmn-decision-table-container tfoot.add-rule:hover td.input-cell + td.output-cell {
240
+ border-left-color: var(--table-cell-border-color);
241
+ }
242
+
243
+ .dmn-decision-table-container tfoot.add-rule:hover td {
244
+ border-color: var(--table-foot-add-rule-hover-border-color);
245
+ color: var(--table-foot-add-rule-hover-color);
246
+ }
247
+
248
+ /* end footer styles */
249
+
250
+ /* content editable styles */
251
+
252
+ .dmn-decision-table-container [contenteditable],
253
+ .dmn-decision-table-container [tabindex] {
254
+ outline: none;
255
+ }
256
+
257
+ /* end content editable styles */
258
+
259
+ /* decision table header */
260
+ .dmn-decision-table-container .decision-table-header {
261
+ text-align: left;
262
+ padding: 10px;
263
+ }
264
+
265
+ .dmn-decision-table-container .decision-table-header * {
266
+ vertical-align: middle;
267
+ }
268
+
269
+ /* decision table properties */
270
+ .dmn-decision-table-container .decision-table-properties {
271
+ display: flex;
272
+ color: var(--decision-table-properties-color);
273
+ border: 1px solid var(--table-cell-border-color);
274
+ background-color: var(--decision-table-background-color);
275
+ padding: 10px;
276
+ align-items: center;
277
+ }
278
+
279
+ .dmn-decision-table-container .decision-table-name {
280
+ position: relative;
281
+ display: block;
282
+ flex-grow: 1;
283
+ margin: 0;
284
+ width: 0;
285
+ min-width: 100px;
286
+ max-width: min-content;
287
+ font-size: 21px;
288
+ font-weight: normal;
289
+ }
290
+
291
+ .dmn-decision-table-container .decision-table-name:not(.editable),
292
+ .dmn-decision-table-container .decision-table-name .content-editable {
293
+ text-overflow: ellipsis;
294
+ white-space: nowrap;
295
+ overflow: hidden;
296
+ }
297
+
298
+ .dmn-decision-table-container .decision-table-name.focussed .content-editable {
299
+ text-overflow: unset;
300
+ }
301
+
302
+ .dmn-decision-table-container .decision-table-header-separator {
303
+ display: block;
304
+ height: 32px;
305
+ border-left: 2px solid var(--table-head-separator-color);
306
+ margin: 0 10px;
307
+ }
308
+
309
+ .dmn-decision-table-container .hit-policy {
310
+ display: block;
311
+ }
312
+
313
+ .dmn-decision-table-container .hit-policy-explanation {
314
+ margin-left: 5px;
315
+ color: var(--hit-policy-explanation-color);
316
+ }
317
+
318
+ /* end decision table properties */
319
+
320
+ .dmn-decision-table-container thead .input-label,
321
+ .dmn-decision-table-container thead .input-expression,
322
+ .dmn-decision-table-container thead .output-label,
323
+ .dmn-decision-table-container thead .output-name {
324
+ display: -webkit-box;
325
+ margin: 16px 6px;
326
+ font-size: 16px;
327
+ overflow: hidden;
328
+ text-overflow: ellipsis;
329
+ -webkit-line-clamp: 3;
330
+ -webkit-box-orient: vertical; /* stylelint-disable-line property-no-deprecated */
331
+ }
332
+
333
+ .dmn-decision-table-container thead .input-expression:empty::before {
334
+ content: 'Input';
335
+ opacity: 0.5;
336
+ }
337
+
338
+ .dmn-decision-table-container thead .output-name:empty::before {
339
+ content: 'Output';
340
+ opacity: 0.5;
341
+ }
342
+
343
+ .dmn-decision-table-container thead .input-variable,
344
+ .dmn-decision-table-container thead .output-variable {
345
+ white-space: nowrap;
346
+ overflow: hidden;
347
+ text-overflow: ellipsis;
348
+ text-align: right;
349
+ }
350
+
351
+ .dmn-decision-table-container thead .input-cell .clause,
352
+ .dmn-decision-table-container thead .output-cell .clause {
353
+ font-size: 12px;
354
+ text-align: left;
355
+ color: var(--table-head-clause-color);
356
+ }
357
+
358
+ .dmn-decision-table-container thead .input-cell .input-variable,
359
+ .dmn-decision-table-container thead .output-cell .output-variable {
360
+ font-size: 12px;
361
+ color: var(--table-head-variable-color);
362
+ }
363
+
364
+ /* actionable icon */
365
+
366
+ .dmn-decision-table-container .action-icon {
367
+ border: none;
368
+ border-radius: 2px;
369
+ box-shadow: 0 0 0 2px var(--decision-table-background-color);
370
+ color: var(--action-icon-color);
371
+ background-color: var(--action-icon-background-color);
372
+ padding: 0;
373
+ }
374
+
375
+ .dmn-decision-table-container .create-inputs .action-icon,
376
+ .dmn-decision-table-container .add-input .action-icon,
377
+ .dmn-decision-table-container .add-output .action-icon {
378
+ display: flex;
379
+ align-items: center;
380
+ justify-content: center;
381
+ width: 16px;
382
+ height: 16px;
383
+ margin: 0;
384
+ border-radius: 50%;
385
+ color: var(--add-column-icon-color);
386
+ background-color: var(--add-column-icon-background-color);
387
+ outline-offset: 4px;
388
+ }
389
+
390
+ .dmn-decision-table-container .actionable:hover .action-icon {
391
+ background-color: var(--action-icon-hover-background-color);
392
+ color: var(--action-icon-hover-color);
393
+ }
394
+
395
+ .dmn-decision-table-container .action-icon::before {
396
+ margin-left: 0.1em;
397
+ margin-right: 0.1em;
398
+ }
399
+
400
+ .dmn-decision-table-container .add-input,
401
+ .dmn-decision-table-container .add-output {
402
+ position: absolute;
403
+ top: 50%;
404
+ right: -1px;
405
+ transform: translate(50%, -50%);
406
+ z-index: 2;
407
+ border-radius: 100%;
408
+ padding: 6px;
409
+ }
410
+
411
+ /* end actionable icon */
412
+
413
+ /* view drd */
414
+ .dmn-decision-table-container .view-drd {
415
+ margin-bottom: 10px;
416
+ }
417
+
418
+ .dmn-decision-table-container .view-drd .view-drd-button {
419
+ background: var(--view-drd-button-background-color);
420
+ padding: 8px;
421
+ border: solid 1px var(--view-drd-button-border-color);
422
+ border-radius: 2px;
423
+ font-size: 14px;
424
+ color: var(--view-drd-button-color);
425
+ font-weight: bold;
426
+ cursor: pointer;
427
+ }
428
+
429
+ .dmn-decision-table-container .view-drd .view-drd-button:hover {
430
+ background: var(--view-drd-button-hover-background-color);
431
+ }
432
+
433
+ /* end view drd */
434
+
435
+ /* simple mode */
436
+
437
+ .dmn-decision-table-container .simple-mode-button {
438
+ color: var(--simple-mode-button-color);
439
+ background-color: var(--simple-mode-button-background-color);
440
+ position: absolute;
441
+ padding: 4px;
442
+ border-radius: 2px;
443
+ border: solid 1px var(--simple-mode-button-border-color);
444
+ cursor: pointer;
445
+ font-size: 14px;
446
+ z-index: 5;
447
+ opacity: 0.8;
448
+ box-shadow: 1px 1px 1px 1px var(--simple-mode-button-box-shadow-color);
449
+ }
450
+
451
+ .dmn-decision-table-container .simple-mode-button:hover {
452
+ opacity: 1;
453
+ }
454
+
455
+ .dmn-decision-table-container .simple-mode-button.disabled,
456
+ .dmn-decision-table-container .simple-mode-button.disabled:hover {
457
+ color: var(--simple-mode-button-disabled-olor);
458
+ }
459
+
460
+ .dmn-decision-table-container .dms-input-duration-edit-row {
461
+ align-items: flex-start;
462
+ }
463
+
464
+ /* end simple mode */
465
+
466
+ /* badges */
467
+
468
+ .dms-badge {
469
+ border-radius: 2px;
470
+ padding: 3px 6px;
471
+ font-size: 0.8em;
472
+ height: 19px;
473
+ }
474
+
475
+ .dms-badge-icon + .dms-badge-label {
476
+ margin-left: 3px;
477
+ }
478
+
479
+ .dms-badge.dmn-expression-language {
480
+ background: var(--dmn-expression-language-background-color);
481
+ color: var(--dmn-expression-language-color);
482
+ }
483
+
484
+ .dms-badge + .dms-badge {
485
+ margin-left: 3px;
486
+ }
487
+
488
+ .dmn-decision-table-container .dmn-expression-language .dms-badge-label {
489
+ display: none;
490
+ }
491
+
492
+ .dmn-decision-table-container .input-cell:hover .dmn-expression-language .dms-badge-label,
493
+ .dmn-decision-table-container .output-cell:hover .dmn-expression-language .dms-badge-label {
494
+ display: inline-block;
495
+ }
496
+
497
+ .dmn-decision-table-container .input-editor .dmn-expression-language {
498
+ margin-top: 4px;
499
+ display: inline-block;
500
+ }
501
+
502
+ .dmn-decision-table-container .cell .dms-badge.dmn-expression-language {
503
+ z-index: -1;
504
+ }
505
+
506
+ .dmn-decision-table-container .cell:hover .dms-badge.dmn-expression-language {
507
+ background: var(--dmn-expression-language-hover-background-color);
508
+ z-index: 1;
509
+ }
510
+
511
+ /* cell expression language */
512
+
513
+ .dmn-decision-table-container .cell .dmn-expression-language {
514
+ display: flex;
515
+ align-items: center;
516
+ position: absolute;
517
+ top: 2px;
518
+ right: 2px;
519
+ pointer-events: none;
520
+ }
521
+
522
+ /* end cell expression language */
523
+
524
+ /* drag and drop */
525
+
526
+ .dmn-decision-table-container .dragover::before {
527
+ content: '';
528
+ display: block;
529
+ position: absolute;
530
+ background-color: var(--drag-and-drop-drop-marker-color);
531
+ z-index: 2;
532
+ pointer-events: none;
533
+ }
534
+
535
+ .dmn-decision-table-container .dragover.top::before {
536
+ left: 0;
537
+ right: 0;
538
+ height: 5px;
539
+ top: 0;
540
+ }
541
+
542
+ .dmn-decision-table-container .dragover.right::before {
543
+ top: 0;
544
+ bottom: 0;
545
+ width: 5px;
546
+ right: 0;
547
+ }
548
+
549
+ .dmn-decision-table-container .dragover.bottom::before {
550
+ left: 0;
551
+ right: 0;
552
+ height: 5px;
553
+ bottom: 0;
554
+ }
555
+
556
+ .dmn-decision-table-container .dragover.left::before {
557
+ top: 0;
558
+ bottom: 0;
559
+ width: 5px;
560
+ left: 0;
561
+ }
562
+
563
+ .dmn-decision-table-container .dragged {
564
+ color: var(--drag-and-drop-drag-color);
565
+ }
566
+
567
+ /* cell description */
568
+
569
+ .dmn-decision-table-container .description-indicator {
570
+ position: absolute;
571
+ top: 0;
572
+ right: -4px;
573
+ border-left: 4px solid transparent;
574
+ border-right: 4px solid transparent;
575
+ border-bottom: 4px solid var(--color-black);
576
+ transform: rotate(45deg);
577
+ transform-origin: top;
578
+ }
579
+
580
+ /* end cell description */
@@ -0,0 +1,95 @@
1
+ .dmn-drd-container {
2
+ --dmn-definitions-background-color: var(--color-grey-225-10-97);
3
+ --dmn-definitions-border-color: var(--color-grey-225-10-75);
4
+ --dmn-definitions-focus-border-color: var(--color-grey-225-10-75);
5
+ --dmn-definitions-error-color: var(--color-red-360-100-45);
6
+ --dmn-definitions-error-border-color: var(--color-red-360-100-45);
7
+ --dmn-definitions-error-background-color: var(--color-red-360-100-97);
8
+ --drill-down-overlay-background-color: var(--color-blue-205-100-50);
9
+ --drill-down-overlay-color: var(--color-white);
10
+ --drd-font-family-monospace: monospace;
11
+
12
+ width: 100%;
13
+ height: 100%;
14
+ position: relative;
15
+ }
16
+
17
+ .dmn-drd-container * {
18
+ box-sizing: border-box;
19
+ }
20
+
21
+ .djs-overlay .drill-down-overlay {
22
+ font-size: 16px;
23
+ text-align: left;
24
+ padding: 1px;
25
+ }
26
+
27
+ .djs-overlay .drill-down-overlay > button,
28
+ .djs-overlay .drill-down-overlay > span {
29
+ display: block;
30
+ padding: 2px 4px;
31
+ margin: 0;
32
+ border: none;
33
+ border-radius: 1px;
34
+ background: var(--drill-down-overlay-background-color);
35
+ color: var(--drill-down-overlay-color);
36
+ font-size: inherit;
37
+ outline-offset: 2px;
38
+ }
39
+
40
+ .dmn-definitions {
41
+ position: absolute;
42
+ top: 20px;
43
+ left: 20px;
44
+ background-color: var(--dmn-definitions-background-color);
45
+ border: solid 1px var(--dmn-definitions-border-color);
46
+ border-radius: 2px;
47
+ padding: 4px;
48
+ }
49
+
50
+ .dmn-definitions .dmn-definitions-name {
51
+ font-size: 24px;
52
+ padding: 3px;
53
+ }
54
+
55
+ .dmn-definitions .dmn-definitions-name:focus {
56
+ outline: none;
57
+ }
58
+
59
+ .dmn-definitions .dmn-definitions-id {
60
+ font-family: var(--drd-font-family-monospace);
61
+ margin-top: 2px;
62
+ padding: 3px;
63
+ }
64
+
65
+ .dmn-definitions .dmn-definitions-id:focus {
66
+ outline: none;
67
+ }
68
+
69
+ .dmn-definitions > [contenteditable]:hover,
70
+ .dmn-definitions > [contenteditable]:focus {
71
+ padding: 2px;
72
+ background-color: var(--color-white);
73
+ border-radius: 2px;
74
+ border: 1px solid var(--dmn-definitions-focus-border-color);
75
+ }
76
+
77
+ .dmn-definitions .dmn-definitions-error-message {
78
+ color: var(--dmn-definitions-error-color);
79
+ display: block;
80
+ font-size: 12px;
81
+ margin-top: 6px;
82
+ }
83
+
84
+ .dmn-definitions .dmn-definitions-id.dmn-definitions-error {
85
+ border-color: var(--dmn-definitions-error-border-color);
86
+ background-color: var(--dmn-definitions-error-background-color);
87
+ }
88
+
89
+ .djs-container.with-palette .dmn-definitions {
90
+ left: 80px;
91
+ }
92
+
93
+ .djs-container.with-palette-two-column .dmn-definitions {
94
+ left: 130px;
95
+ }