xref: /plugin/bpmnio/vendor/bpmn-js/dist/assets/diagram-js.css (revision 70ecf1cc07faff97df84c7c2f0c5d9a54e244e28)
1/**
2 * color definitions
3 */
4.djs-container {
5  --color-grey-225-10-15: hsl(225, 10%, 15%);
6  --color-grey-225-10-35: hsl(225, 10%, 35%);
7  --color-grey-225-10-55: hsl(225, 10%, 55%);
8  --color-grey-225-10-75: hsl(225, 10%, 75%);
9  --color-grey-225-10-80: hsl(225, 10%, 80%);
10  --color-grey-225-10-85: hsl(225, 10%, 85%);
11  --color-grey-225-10-90: hsl(225, 10%, 90%);
12  --color-grey-225-10-95: hsl(225, 10%, 95%);
13  --color-grey-225-10-97: hsl(225, 10%, 97%);
14
15  --color-blue-205-100-45: hsl(205, 100%, 45%);
16  --color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);
17  --color-blue-205-100-50: hsl(205, 100%, 50%);
18  --color-blue-205-100-50-opacity-15: hsla(205, 100%, 50%, 15%);
19  --color-blue-205-100-70: hsl(205, 100%, 75%);
20  --color-blue-205-100-95: hsl(205, 100%, 95%);
21
22  --color-green-150-86-44: hsl(150, 86%, 44%);
23
24  --color-red-360-100-40: hsl(360, 100%, 40%);
25  --color-red-360-100-45: hsl(360, 100%, 45%);
26  --color-red-360-100-92: hsl(360, 100%, 92%);
27  --color-red-360-100-97: hsl(360, 100%, 97%);
28
29  --color-white: hsl(0, 0%, 100%);
30  --color-black: hsl(0, 0%, 0%);
31  --color-black-opacity-10: hsla(0, 0%, 0%, 10%);
32
33  --canvas-fill-color: var(--color-white);
34
35  --bendpoint-fill-color: var(--color-blue-205-100-45);
36  --bendpoint-stroke-color: var(--canvas-fill-color);
37
38  --context-pad-entry-background-color: var(--color-white);
39  --context-pad-entry-hover-background-color: var(--color-grey-225-10-95);
40
41  --element-dragger-color: var(--color-blue-205-100-50);
42  --element-hover-outline-fill-color: var(--color-blue-205-100-45);
43  --element-selected-outline-stroke-color: var(--color-blue-205-100-50);
44  --element-selected-outline-secondary-stroke-color: var(--color-blue-205-100-70);
45
46  --lasso-fill-color: var(--color-blue-205-100-50-opacity-15);
47  --lasso-stroke-color: var(--element-selected-outline-stroke-color);
48
49  --palette-entry-color: var(--color-grey-225-10-15);
50  --palette-entry-hover-color: var(--color-blue-205-100-45);
51  --palette-entry-selected-color: var(--color-blue-205-100-50);
52  --palette-separator-color: var(--color-grey-225-10-75);
53  --palette-toggle-hover-background-color: var(--color-grey-225-10-55);
54  --palette-background-color: var(--color-grey-225-10-97);
55  --palette-border-color: var(--color-grey-225-10-75);
56
57  --popup-body-background-color: var(--color-white);
58  --popup-header-entry-selected-color: var(--color-blue-205-100-50);
59  --popup-header-entry-selected-background-color: var(--color-black-opacity-10);
60  --popup-header-separator-color: var(--color-grey-225-10-75);
61  --popup-background-color: var(--color-grey-225-10-97);
62  --popup-border-color: var(--color-grey-225-10-75);
63
64  --resizer-fill-color: var(--color-blue-205-100-45);
65  --resizer-stroke-color: var(--canvas-fill-color);
66
67  --search-container-background-color: var(--color-grey-225-10-97);
68  --search-container-border-color: var(--color-blue-205-100-50);
69  --search-container-box-shadow-color: var(--color-blue-205-100-95);
70  --search-container-box-shadow-inset-color: var(--color-grey-225-10-80);
71  --search-input-border-color: var(--color-grey-225-10-75);
72  --search-result-border-color: var(--color-grey-225-10-75);
73  --search-result-highlight-color: var(--color-black);
74  --search-result-selected-color: var(--color-blue-205-100-45-opacity-30);
75
76  --shape-attach-allowed-stroke-color: var(--color-blue-205-100-50);
77  --shape-connect-allowed-fill-color: var(--color-grey-225-10-97);
78  --shape-drop-allowed-fill-color: var(--color-grey-225-10-97);
79  --shape-drop-not-allowed-fill-color: var(--color-red-360-100-97);
80  --shape-resize-preview-stroke-color: var(--color-blue-205-100-50);
81
82  --snap-line-stroke-color: var(--color-blue-205-100-45-opacity-30);
83
84  --space-tool-crosshair-stroke-color: var(--color-black);
85
86  --tooltip-error-background-color: var(--color-red-360-100-97);
87  --tooltip-error-border-color: var(--color-red-360-100-45);
88  --tooltip-error-color: var(--color-red-360-100-45);
89}
90
91/**
92 * outline styles
93 */
94
95.djs-outline,
96.djs-selection-outline {
97  fill: none;
98  shape-rendering: geometricPrecision;
99  stroke-width: 2px;
100}
101
102.djs-outline {
103  visibility: hidden;
104}
105
106.djs-selection-outline {
107  stroke: var(--element-selected-outline-stroke-color);
108}
109
110.djs-element.selected .djs-outline {
111  visibility: visible;
112
113  stroke: var(--element-selected-outline-stroke-color);
114}
115
116.djs-multi-select .djs-element.selected .djs-outline {
117  stroke: var(--element-selected-outline-secondary-stroke-color);
118}
119
120.djs-shape.connect-ok .djs-visual > :nth-child(1) {
121  fill: var(--shape-connect-allowed-fill-color) !important;
122}
123
124.djs-shape.connect-not-ok .djs-visual > :nth-child(1),
125.djs-shape.drop-not-ok .djs-visual > :nth-child(1) {
126  fill: var(--shape-drop-not-allowed-fill-color) !important;
127}
128
129.djs-shape.new-parent .djs-visual > :nth-child(1) {
130  fill: var(--shape-drop-allowed-fill-color) !important;
131}
132
133svg.drop-not-ok {
134  background: var(--shape-drop-not-allowed-fill-color) !important;
135}
136
137svg.new-parent {
138  background: var(--shape-drop-allowed-fill-color) !important;
139}
140
141
142/* Override move cursor during drop and connect */
143.drop-not-ok,
144.connect-not-ok,
145.drop-not-ok *,
146.connect-not-ok * {
147  cursor: not-allowed !important;
148}
149
150.drop-ok,
151.connect-ok,
152.drop-ok *,
153.connect-ok * {
154  cursor: default !important;
155}
156
157.djs-element.attach-ok .djs-visual > :nth-child(1) {
158  stroke-width: 5px !important;
159  stroke: var(--shape-attach-allowed-stroke-color) !important;
160}
161
162.djs-frame.connect-not-ok .djs-visual > :nth-child(1),
163.djs-frame.drop-not-ok .djs-visual > :nth-child(1) {
164  stroke-width: 3px !important;
165  stroke: var(--shape-drop-not-allowed-fill-color) !important;
166  fill: none !important;
167}
168
169/**
170* Selection box style
171*
172*/
173.djs-lasso-overlay {
174  fill: var(--lasso-fill-color);
175  stroke: var(--lasso-stroke-color);
176  stroke-width: 2px;
177  shape-rendering: geometricPrecision;
178  pointer-events: none;
179}
180
181/**
182 * Resize styles
183 */
184.djs-resize-overlay {
185  fill: none;
186
187  stroke-dasharray: 5 1 3 1;
188  stroke: var(--shape-resize-preview-stroke-color);
189
190  pointer-events: none;
191}
192
193.djs-resizer-hit {
194  fill: none;
195  pointer-events: all;
196}
197
198.djs-resizer-visual {
199  fill: var(--resizer-fill-color);
200  stroke-width: 1px;
201  stroke: var(--resizer-stroke-color);
202  shape-rendering: geometricPrecision;
203}
204
205.djs-resizer:hover .djs-resizer-visual {
206  stroke: var(--resizer-stroke-color);
207  stroke-opacity: 1;
208}
209
210.djs-cursor-resize-ns,
211.djs-resizer-n,
212.djs-resizer-s {
213  cursor: ns-resize;
214}
215
216.djs-cursor-resize-ew,
217.djs-resizer-e,
218.djs-resizer-w {
219  cursor: ew-resize;
220}
221
222.djs-cursor-resize-nwse,
223.djs-resizer-nw,
224.djs-resizer-se {
225  cursor: nwse-resize;
226}
227
228.djs-cursor-resize-nesw,
229.djs-resizer-ne,
230.djs-resizer-sw {
231  cursor: nesw-resize;
232}
233
234.djs-shape.djs-resizing > .djs-outline {
235  visibility: hidden !important;
236}
237
238.djs-shape.djs-resizing > .djs-resizer {
239  visibility: hidden;
240}
241
242.djs-dragger > .djs-resizer {
243  visibility: hidden;
244}
245
246/**
247 * drag styles
248 */
249.djs-dragger * {
250  fill: none !important;
251  stroke: var(--element-dragger-color) !important;
252}
253
254.djs-dragger tspan,
255.djs-dragger text {
256  fill: var(--element-dragger-color) !important;
257  stroke: none !important;
258}
259
260marker.djs-dragger circle,
261marker.djs-dragger path,
262marker.djs-dragger polygon,
263marker.djs-dragger polyline,
264marker.djs-dragger rect {
265  fill: var(--element-dragger-color) !important;
266  stroke: none !important;
267}
268
269marker.djs-dragger text,
270marker.djs-dragger tspan {
271  fill: none !important;
272  stroke: var(--element-dragger-color) !important;
273}
274
275.djs-dragging {
276  opacity: 0.3;
277}
278
279.djs-dragging,
280.djs-dragging > * {
281  pointer-events: none !important;
282}
283
284.djs-dragging .djs-context-pad,
285.djs-dragging .djs-outline {
286  display: none !important;
287}
288
289/**
290 * no pointer events for visual
291 */
292.djs-visual,
293.djs-outline {
294  pointer-events: none;
295}
296
297.djs-element.attach-ok .djs-hit {
298  stroke-width: 60px !important;
299}
300
301/**
302 * all pointer events for hit shape
303 */
304.djs-element > .djs-hit-all,
305.djs-element > .djs-hit-no-move {
306  pointer-events: all;
307}
308
309.djs-element > .djs-hit-stroke,
310.djs-element > .djs-hit-click-stroke {
311  pointer-events: stroke;
312}
313
314/**
315 * shape / connection basic styles
316 */
317.djs-connection .djs-visual {
318  stroke-width: 2px;
319  fill: none;
320}
321
322.djs-cursor-grab {
323  cursor: -webkit-grab;
324  cursor: -moz-grab;
325  cursor: grab;
326}
327
328.djs-cursor-grabbing {
329  cursor: -webkit-grabbing;
330  cursor: -moz-grabbing;
331  cursor: grabbing;
332}
333
334.djs-cursor-crosshair {
335  cursor: crosshair;
336}
337
338.djs-cursor-move {
339  cursor: move;
340}
341
342.djs-cursor-resize-ns {
343  cursor: ns-resize;
344}
345
346.djs-cursor-resize-ew {
347  cursor: ew-resize;
348}
349
350
351/**
352 * snapping
353 */
354.djs-snap-line {
355  stroke: var(--snap-line-stroke-color);
356  stroke-linecap: round;
357  stroke-width: 2px;
358  pointer-events: none;
359}
360
361/**
362 * snapping
363 */
364.djs-crosshair {
365  stroke: var(--space-tool-crosshair-stroke-color);
366  stroke-linecap: round;
367  stroke-width: 1px;
368  pointer-events: none;
369  shape-rendering: geometricPrecision;
370  stroke-dasharray: 5, 5;
371}
372
373/**
374 * palette
375 */
376
377.djs-palette {
378  position: absolute;
379  left: 20px;
380  top: 20px;
381
382  box-sizing: border-box;
383  width: 48px;
384}
385
386.djs-palette .separator {
387  margin: 5px;
388  padding-top: 5px;
389
390  border: none;
391  border-bottom: solid 1px var(--palette-separator-color);
392
393  clear: both;
394}
395
396.djs-palette .entry:before {
397  vertical-align: initial;
398}
399
400.djs-palette .djs-palette-toggle {
401  cursor: pointer;
402}
403
404.djs-palette .entry,
405.djs-palette .djs-palette-toggle {
406  color: var(--palette-entry-color);
407  font-size: 30px;
408
409  text-align: center;
410}
411
412.djs-palette .entry {
413  float: left;
414}
415
416.djs-palette .entry img {
417  max-width: 100%;
418}
419
420.djs-palette .djs-palette-entries:after {
421  content: '';
422  display: table;
423  clear: both;
424}
425
426.djs-palette .djs-palette-toggle:hover {
427  background: var(--palette-toggle-hover-background-color);
428}
429
430.djs-palette .entry:hover {
431  color: var(--palette-entry-hover-color);
432}
433
434.djs-palette .highlighted-entry {
435  color: var(--palette-entry-selected-color) !important;
436}
437
438.djs-palette .entry,
439.djs-palette .djs-palette-toggle {
440  width: 46px;
441  height: 46px;
442  line-height: 46px;
443  cursor: default;
444}
445
446/**
447 * Palette open / two-column layout is controlled via
448 * classes on the palette. Events to hook into palette
449 * changed life-cycle are available in addition.
450 */
451.djs-palette.two-column.open {
452  width: 94px;
453}
454
455.djs-palette:not(.open) .djs-palette-entries {
456  display: none;
457}
458
459.djs-palette:not(.open) {
460  overflow: hidden;
461}
462
463.djs-palette.open .djs-palette-toggle {
464  display: none;
465}
466
467/**
468 * context-pad
469 */
470.djs-overlay-context-pad {
471  width: 72px;
472  z-index: 100;
473}
474
475.djs-context-pad {
476  position: absolute;
477  display: none;
478  pointer-events: none;
479  line-height: 1;
480}
481
482.djs-context-pad .entry {
483  width: 22px;
484  height: 22px;
485  text-align: center;
486  display: inline-block;
487  font-size: 22px;
488  margin: 0 2px 2px 0;
489
490  border-radius: 3px;
491
492  cursor: default;
493
494  background-color: var(--context-pad-entry-background-color);
495  box-shadow: 0 0 2px 1px var(--context-pad-entry-background-color);
496  pointer-events: all;
497  vertical-align: middle;
498}
499
500.djs-context-pad .entry:hover {
501  background: var(--context-pad-entry-hover-background-color);
502}
503
504.djs-context-pad.open {
505  display: block;
506}
507
508/**
509 * popup styles
510 */
511.djs-popup .entry {
512  line-height: 20px;
513  white-space: nowrap;
514  cursor: default;
515}
516
517/* larger font for prefixed icons */
518.djs-popup .entry:before {
519  vertical-align: middle;
520  font-size: 20px;
521}
522
523.djs-popup .entry > span {
524  vertical-align: middle;
525  font-size: 14px;
526}
527
528.djs-popup .entry:hover,
529.djs-popup .entry.active:hover {
530  background: var(--popup-header-entry-selected-background-color);
531}
532
533.djs-popup .entry.disabled {
534  background: inherit;
535}
536
537.djs-popup .djs-popup-header .entry {
538  display: inline-block;
539  padding: 2px 3px 2px 3px;
540
541  border: solid 1px transparent;
542  border-radius: 3px;
543}
544
545.djs-popup .djs-popup-header .entry.active {
546  color: var(--popup-header-entry-selected-color);
547  border: solid 1px var(--popup-header-entry-selected-color);
548  background-color: var(--popup-header-entry-selected-background-color);
549}
550
551.djs-popup-body .entry {
552  padding: 4px 5px;
553}
554
555.djs-popup-body .entry > span {
556  margin-left: 5px;
557}
558
559.djs-popup-body {
560  background-color: var(--popup-body-background-color);
561}
562
563.djs-popup-header {
564  border-bottom: 1px solid var(--popup-header-separator-color);
565}
566
567.djs-popup-header .entry {
568  margin: 1px;
569  margin-left: 3px;
570}
571
572.djs-popup-header .entry:last-child {
573  margin-right: 3px;
574}
575
576/**
577 * popup / palette styles
578 */
579.djs-palette {
580  background: var(--palette-background-color);
581  border: solid 1px var(--palette-border-color);
582  border-radius: 2px;
583}
584
585.djs-popup {
586  background: var(--popup-background-color);
587  border: solid 1px var(--popup-border-color);
588  border-radius: 2px;
589}
590
591/**
592 * touch
593 */
594
595.djs-shape,
596.djs-connection {
597  touch-action: none;
598}
599
600.djs-segment-dragger,
601.djs-bendpoint {
602  display: none;
603}
604
605/**
606 * bendpoints
607 */
608.djs-segment-dragger .djs-visual {
609  display: none;
610
611  fill: var(--bendpoint-fill-color);
612  stroke: var(--bendpoint-stroke-color);
613  stroke-width: 1px;
614  stroke-opacity: 1;
615}
616
617.djs-segment-dragger:hover .djs-visual {
618  display: block;
619}
620
621.djs-bendpoint .djs-visual {
622  fill: var(--bendpoint-fill-color);
623  stroke: var(--bendpoint-stroke-color);
624  stroke-width: 1px;
625}
626
627.djs-segment-dragger:hover,
628.djs-bendpoints.hover .djs-segment-dragger,
629.djs-bendpoints.selected .djs-segment-dragger,
630.djs-bendpoint:hover,
631.djs-bendpoints.hover .djs-bendpoint,
632.djs-bendpoints.selected .djs-bendpoint {
633  display: block;
634}
635
636.djs-drag-active .djs-bendpoints * {
637  display: none;
638}
639
640.djs-bendpoints:not(.hover) .floating {
641  display: none;
642}
643
644.djs-segment-dragger:hover .djs-visual,
645.djs-segment-dragger.djs-dragging .djs-visual,
646.djs-bendpoint:hover .djs-visual,
647.djs-bendpoint.floating .djs-visual {
648  fill: var(--bendpoint-fill-color);
649  stroke: var(--bendpoint-stroke-color);
650  stroke-opacity: 1;
651}
652
653.djs-bendpoint.floating .djs-hit {
654  pointer-events: none;
655}
656
657.djs-segment-dragger .djs-hit,
658.djs-bendpoint .djs-hit {
659  fill: none;
660  pointer-events: all;
661}
662
663.djs-segment-dragger.horizontal .djs-hit {
664  cursor: ns-resize;
665}
666
667.djs-segment-dragger.vertical .djs-hit {
668  cursor: ew-resize;
669}
670
671.djs-segment-dragger.djs-dragging .djs-hit {
672  pointer-events: none;
673}
674
675.djs-updating,
676.djs-updating > * {
677  pointer-events: none !important;
678}
679
680.djs-updating .djs-context-pad,
681.djs-updating .djs-outline,
682.djs-updating .djs-bendpoint,
683.djs-multi-select .djs-bendpoint,
684.djs-multi-select .djs-segment-dragger,
685.connect-ok .djs-bendpoint,
686.connect-not-ok .djs-bendpoint,
687.drop-ok .djs-bendpoint,
688.drop-not-ok .djs-bendpoint {
689  display: none !important;
690}
691
692.djs-segment-dragger.djs-dragging,
693.djs-bendpoint.djs-dragging {
694  display: block;
695  opacity: 1.0;
696}
697
698
699/**
700 * tooltips
701 */
702.djs-tooltip-error {
703  width: 160px;
704  padding: 6px;
705
706  background: var(--tooltip-error-background-color);
707  border: solid 1px var(--tooltip-error-border-color);
708  border-radius: 2px;
709  color: var(--tooltip-error-color);
710  font-size: 12px;
711  line-height: 16px;
712
713  opacity: 0.75;
714}
715
716.djs-tooltip-error:hover {
717  opacity: 1;
718}
719
720
721/**
722 * search pad
723 */
724.djs-search-container {
725  position: absolute;
726  top: 20px;
727  left: 0;
728  right: 0;
729  margin-left: auto;
730  margin-right: auto;
731
732  width: 25%;
733  min-width: 300px;
734  max-width: 400px;
735  z-index: 10;
736
737  font-size: 1.05em;
738  opacity: 0.9;
739  background: var(--search-container-background-color);
740  border: solid 1px var(--search-container-border-color);
741  border-radius: 2px;
742  box-shadow: 0 0 0 2px var(--search-container-box-shadow-color), 0 0 0 1px var(--search-container-box-shadow-inset-color) inset;
743}
744
745.djs-search-container:not(.open) {
746  display: none;
747}
748
749.djs-search-input input {
750  font-size: 1.05em;
751  width: 100%;
752  padding: 6px 10px;
753  border: 1px solid var(--search-input-border-color);
754  box-sizing: border-box;
755}
756
757.djs-search-input input:focus {
758  outline: none;
759  border-color: var(--search-input-border-color);
760}
761
762.djs-search-results {
763  position: relative;
764  overflow-y: auto;
765  max-height: 200px;
766}
767
768.djs-search-results:hover {
769  cursor: pointer;
770}
771
772.djs-search-result {
773  width: 100%;
774  padding: 6px 10px;
775  background: white;
776  border-bottom: solid 1px var(--search-result-border-color);
777  border-radius: 1px;
778}
779
780.djs-search-highlight {
781  color: var(--search-result-highlight-color);
782}
783
784.djs-search-result-primary {
785  margin: 0 0 10px;
786}
787
788.djs-search-result-secondary {
789  font-family: monospace;
790  margin: 0;
791}
792
793.djs-search-result:hover {
794  background: var(--search-result-selected-color);
795}
796
797.djs-search-result-selected {
798  background: var(--search-result-selected-color);
799}
800
801.djs-search-result-selected:hover {
802  background: var(--search-result-selected-color);
803}
804
805.djs-search-overlay {
806  background: var(--search-result-selected-color);
807}
808
809/**
810 * hidden styles
811 */
812.djs-element-hidden,
813.djs-element-hidden .djs-hit,
814.djs-element-hidden .djs-outline,
815.djs-label-hidden .djs-label {
816  display: none !important;
817}
818
819.djs-element .djs-hit-stroke,
820.djs-element .djs-hit-click-stroke,
821.djs-element .djs-hit-all {
822  cursor: move;
823}