@aranzatech/diagrams-bpmn 0.1.3 → 0.2.1

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 (66) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +121 -0
  3. package/dist/catalog-OVnBDD8R.d.ts +9 -0
  4. package/dist/catalog-OWfI_yHU.d.cts +9 -0
  5. package/dist/{chunk-W3ROOC6E.js → chunk-33AR3PXF.js} +177 -40
  6. package/dist/chunk-33AR3PXF.js.map +1 -0
  7. package/dist/{chunk-3AFZDIMQ.js → chunk-ECTJRD7Z.js} +3 -3
  8. package/dist/{chunk-3AFZDIMQ.js.map → chunk-ECTJRD7Z.js.map} +1 -1
  9. package/dist/{chunk-NXMUX67A.js → chunk-H3YMTGFG.js} +79 -38
  10. package/dist/chunk-H3YMTGFG.js.map +1 -0
  11. package/dist/chunk-KALSGH4D.js +36 -0
  12. package/dist/chunk-KALSGH4D.js.map +1 -0
  13. package/dist/{chunk-DNR5WBQH.js → chunk-L5Z22RLX.js} +81 -20
  14. package/dist/chunk-L5Z22RLX.js.map +1 -0
  15. package/dist/chunk-OZKTOILD.js +3 -0
  16. package/dist/chunk-OZKTOILD.js.map +1 -0
  17. package/dist/{chunk-4AX573IV.js → chunk-RLAJNRF2.js} +3 -3
  18. package/dist/{chunk-4AX573IV.js.map → chunk-RLAJNRF2.js.map} +1 -1
  19. package/dist/chunk-YQTIODXH.js +532 -0
  20. package/dist/chunk-YQTIODXH.js.map +1 -0
  21. package/dist/chunk-ZFGQVLHB.js +226 -0
  22. package/dist/chunk-ZFGQVLHB.js.map +1 -0
  23. package/dist/edges/index.cjs +1 -1
  24. package/dist/edges/index.cjs.map +1 -1
  25. package/dist/edges/index.js +2 -2
  26. package/dist/elements/index.cjs +81 -17
  27. package/dist/elements/index.cjs.map +1 -1
  28. package/dist/elements/index.d.cts +4 -6
  29. package/dist/elements/index.d.ts +4 -6
  30. package/dist/elements/index.js +3 -2
  31. package/dist/index.cjs +1120 -118
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +10 -63
  34. package/dist/index.d.ts +10 -63
  35. package/dist/index.js +9 -42
  36. package/dist/index.js.map +1 -1
  37. package/dist/modeling/index.cjs +1241 -0
  38. package/dist/modeling/index.cjs.map +1 -0
  39. package/dist/modeling/index.d.cts +146 -0
  40. package/dist/modeling/index.d.ts +146 -0
  41. package/dist/modeling/index.js +5 -0
  42. package/dist/modeling/index.js.map +1 -0
  43. package/dist/nodes/index.cjs +91 -38
  44. package/dist/nodes/index.cjs.map +1 -1
  45. package/dist/nodes/index.js +2 -2
  46. package/dist/types-BxjCV2oX.d.ts +20 -0
  47. package/dist/{types-C78d_Kdh.d.cts → types-DznxZxpV.d.cts} +17 -19
  48. package/dist/{types-C78d_Kdh.d.ts → types-DznxZxpV.d.ts} +17 -19
  49. package/dist/types-vVi5T7qj.d.cts +20 -0
  50. package/dist/validation/index.cjs +848 -0
  51. package/dist/validation/index.cjs.map +1 -0
  52. package/dist/validation/index.d.cts +25 -0
  53. package/dist/validation/index.d.ts +25 -0
  54. package/dist/validation/index.js +5 -0
  55. package/dist/validation/index.js.map +1 -0
  56. package/dist/xml/index.cjs +215 -54
  57. package/dist/xml/index.cjs.map +1 -1
  58. package/dist/xml/index.d.cts +4 -19
  59. package/dist/xml/index.d.ts +4 -19
  60. package/dist/xml/index.js +2 -2
  61. package/package.json +16 -4
  62. package/dist/chunk-23B2IGK5.js +0 -24
  63. package/dist/chunk-23B2IGK5.js.map +0 -1
  64. package/dist/chunk-DNR5WBQH.js.map +0 -1
  65. package/dist/chunk-NXMUX67A.js.map +0 -1
  66. package/dist/chunk-W3ROOC6E.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { BPMN_THEME, resolveStroke, resolveStrokeWidth } from './chunk-23B2IGK5.js';
1
+ import { BPMN_THEME, resolveStroke, resolveStrokeWidth, resolveShapeFilter, resolveNodeShadow } from './chunk-KALSGH4D.js';
2
2
  import { Position, Handle } from '@xyflow/react';
3
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
4
 
@@ -192,7 +192,7 @@ function StartEventNode({ data, selected }) {
192
192
  const trigger = d.trigger ?? "none";
193
193
  const dashArray = d.isNonInterrupting ? "4 2" : void 0;
194
194
  return /* @__PURE__ */ jsxs("div", { style: { width: SIZE, height: SIZE, position: "relative" }, children: [
195
- /* @__PURE__ */ jsxs("svg", { width: SIZE, height: SIZE, style: { overflow: "visible", display: "block" }, children: [
195
+ /* @__PURE__ */ jsxs("svg", { width: SIZE, height: SIZE, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
196
196
  /* @__PURE__ */ jsx(
197
197
  "circle",
198
198
  {
@@ -221,7 +221,7 @@ function EndEventNode({ data, selected }) {
221
221
  const fill = d.color?.fill ?? BPMN_THEME.fill;
222
222
  const trigger = d.trigger ?? "none";
223
223
  return /* @__PURE__ */ jsxs("div", { style: { width: SIZE2, height: SIZE2, position: "relative" }, children: [
224
- /* @__PURE__ */ jsxs("svg", { width: SIZE2, height: SIZE2, style: { overflow: "visible", display: "block" }, children: [
224
+ /* @__PURE__ */ jsxs("svg", { width: SIZE2, height: SIZE2, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
225
225
  /* @__PURE__ */ jsx(
226
226
  "circle",
227
227
  {
@@ -249,9 +249,9 @@ function IntermediateCatchEventNode({ data, selected }) {
249
249
  const stroke = resolveStroke(selected, d.color?.stroke);
250
250
  const sw = resolveStrokeWidth(selected);
251
251
  const fill = d.color?.fill ?? BPMN_THEME.fill;
252
- const trigger = d.trigger ?? "none";
252
+ const trigger = d.trigger && d.trigger !== "none" ? d.trigger : "timer";
253
253
  return /* @__PURE__ */ jsxs("div", { style: { width: SIZE3, height: SIZE3, position: "relative" }, children: [
254
- /* @__PURE__ */ jsxs("svg", { width: SIZE3, height: SIZE3, style: { overflow: "visible", display: "block" }, children: [
254
+ /* @__PURE__ */ jsxs("svg", { width: SIZE3, height: SIZE3, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
255
255
  /* @__PURE__ */ jsx("circle", { cx: CX3, cy: CX3, r: R_OUTER, fill, stroke, strokeWidth: sw }),
256
256
  /* @__PURE__ */ jsx("circle", { cx: CX3, cy: CX3, r: R_INNER, fill: "none", stroke, strokeWidth: sw }),
257
257
  /* @__PURE__ */ jsx(EventMarker, { cx: CX3, cy: CX3, trigger, filled: false, stroke, bg: fill, r: ICON_R })
@@ -265,9 +265,9 @@ function IntermediateThrowEventNode({ data, selected }) {
265
265
  const stroke = resolveStroke(selected, d.color?.stroke);
266
266
  const sw = resolveStrokeWidth(selected);
267
267
  const fill = d.color?.fill ?? BPMN_THEME.fill;
268
- const trigger = d.trigger ?? "none";
268
+ const trigger = d.trigger && d.trigger !== "none" ? d.trigger : "message";
269
269
  return /* @__PURE__ */ jsxs("div", { style: { width: SIZE3, height: SIZE3, position: "relative" }, children: [
270
- /* @__PURE__ */ jsxs("svg", { width: SIZE3, height: SIZE3, style: { overflow: "visible", display: "block" }, children: [
270
+ /* @__PURE__ */ jsxs("svg", { width: SIZE3, height: SIZE3, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
271
271
  /* @__PURE__ */ jsx("circle", { cx: CX3, cy: CX3, r: R_OUTER, fill, stroke, strokeWidth: sw }),
272
272
  /* @__PURE__ */ jsx("circle", { cx: CX3, cy: CX3, r: R_INNER, fill: stroke, stroke, strokeWidth: sw }),
273
273
  /* @__PURE__ */ jsx(EventMarker, { cx: CX3, cy: CX3, trigger, filled: true, stroke: fill, bg: stroke, r: ICON_R })
@@ -281,10 +281,10 @@ function BoundaryEventNode({ data, selected }) {
281
281
  const stroke = resolveStroke(selected, d.color?.stroke);
282
282
  const sw = resolveStrokeWidth(selected);
283
283
  const fill = d.color?.fill ?? BPMN_THEME.fill;
284
- const trigger = d.trigger ?? "none";
284
+ const trigger = d.trigger && d.trigger !== "none" ? d.trigger : "timer";
285
285
  const dashArray = d.isNonInterrupting ? "4 2" : void 0;
286
286
  return /* @__PURE__ */ jsxs("div", { style: { width: SIZE3, height: SIZE3, position: "relative" }, children: [
287
- /* @__PURE__ */ jsxs("svg", { width: SIZE3, height: SIZE3, style: { overflow: "visible", display: "block" }, children: [
287
+ /* @__PURE__ */ jsxs("svg", { width: SIZE3, height: SIZE3, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
288
288
  /* @__PURE__ */ jsx(
289
289
  "circle",
290
290
  {
@@ -319,6 +319,11 @@ function TaskIcon({ type, size = 14, color = "#404040" }) {
319
319
  const s = size;
320
320
  const c = color;
321
321
  switch (type) {
322
+ case "Task":
323
+ return /* @__PURE__ */ jsxs("svg", { width: s, height: s, viewBox: "0 0 16 16", fill: "none", children: [
324
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "10", height: "10", rx: "1.5", stroke: c, strokeWidth: "1.5" }),
325
+ /* @__PURE__ */ jsx("path", { d: "M5.5 8.2 7.2 10 10.8 6", stroke: c, strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
326
+ ] });
322
327
  case "UserTask":
323
328
  return /* @__PURE__ */ jsxs("svg", { width: s, height: s, viewBox: "0 0 16 16", fill: "none", children: [
324
329
  /* @__PURE__ */ jsx("circle", { cx: "8", cy: "5", r: "3", stroke: c, strokeWidth: "1.5" }),
@@ -461,20 +466,22 @@ function TaskNode({ data, selected }) {
461
466
  style: {
462
467
  width: "100%",
463
468
  height: "100%",
464
- background: d.color?.fill ?? BPMN_THEME.fill,
469
+ background: d.color?.fill ?? `linear-gradient(180deg, ${BPMN_THEME.fill} 0%, ${BPMN_THEME.fillSoft} 100%)`,
465
470
  border: `${borderWidth}px solid ${stroke}`,
466
- borderRadius: 6,
471
+ borderRadius: 7,
467
472
  boxSizing: "border-box",
473
+ boxShadow: resolveNodeShadow(selected),
468
474
  display: "flex",
469
475
  flexDirection: "column",
470
476
  alignItems: "center",
471
477
  justifyContent: "center",
472
478
  padding: hasMarkers ? "4px 8px 22px" : "4px 8px",
473
479
  position: "relative",
474
- fontFamily: BPMN_THEME.fontFamily
480
+ fontFamily: BPMN_THEME.fontFamily,
481
+ transition: BPMN_THEME.transition
475
482
  },
476
483
  children: [
477
- d.elementType && d.elementType !== "Task" && /* @__PURE__ */ jsx("div", { style: { position: "absolute", top: 5, left: 5 }, children: /* @__PURE__ */ jsx(TaskIcon, { type: d.elementType, size: 14, color: stroke }) }),
484
+ d.elementType && /* @__PURE__ */ jsx("div", { style: { position: "absolute", top: 5, left: 5 }, children: /* @__PURE__ */ jsx(TaskIcon, { type: d.elementType, size: 14, color: stroke }) }),
478
485
  /* @__PURE__ */ jsx(BpmnLabel, { style: { width: "100%" }, children: d.label ?? d.elementType }),
479
486
  d.priority && /* @__PURE__ */ jsx(
480
487
  "div",
@@ -552,7 +559,7 @@ function GatewayNode({ data, selected }) {
552
559
  const stroke = resolveStroke(selected, d.color?.stroke);
553
560
  const sw = resolveStrokeWidth(selected);
554
561
  return /* @__PURE__ */ jsxs("div", { style: { width: SIZE4, height: SIZE4, position: "relative" }, children: [
555
- /* @__PURE__ */ jsxs("svg", { width: SIZE4, height: SIZE4, style: { overflow: "visible", display: "block" }, children: [
562
+ /* @__PURE__ */ jsxs("svg", { width: SIZE4, height: SIZE4, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
556
563
  /* @__PURE__ */ jsx(
557
564
  "polygon",
558
565
  {
@@ -568,11 +575,24 @@ function GatewayNode({ data, selected }) {
568
575
  /* @__PURE__ */ jsx(BpmnLabel, { external: true, children: d.label })
569
576
  ] });
570
577
  }
578
+ function resolveVariant(d) {
579
+ if (d.subProcessVariant) return d.subProcessVariant;
580
+ switch (d.elementType) {
581
+ case "Transaction":
582
+ return "transaction";
583
+ case "EventSubProcess":
584
+ return "event";
585
+ case "AdHocSubProcess":
586
+ return "adhoc";
587
+ default:
588
+ return "embedded";
589
+ }
590
+ }
571
591
  function SubProcessNode({ data, selected }) {
572
592
  const d = data;
573
593
  const stroke = resolveStroke(selected, d.color?.stroke);
574
594
  const sw = resolveStrokeWidth(selected);
575
- const variant = d.subProcessVariant ?? "embedded";
595
+ const variant = resolveVariant(d);
576
596
  const isExpanded = d.isExpanded ?? true;
577
597
  const hasMarkers = d.markers && d.markers.length > 0;
578
598
  const borderStyle = variant === "event" ? "dashed" : "solid";
@@ -582,12 +602,14 @@ function SubProcessNode({ data, selected }) {
582
602
  style: {
583
603
  width: "100%",
584
604
  height: "100%",
585
- background: d.color?.fill ?? "#f8faff",
605
+ background: d.color?.fill ?? `linear-gradient(180deg, ${BPMN_THEME.fill} 0%, ${BPMN_THEME.fillSubtle} 100%)`,
586
606
  border: `${sw}px ${borderStyle} ${stroke}`,
587
607
  borderRadius: 6,
588
608
  boxSizing: "border-box",
609
+ boxShadow: resolveNodeShadow(selected),
589
610
  position: "relative",
590
- fontFamily: BPMN_THEME.fontFamily
611
+ fontFamily: BPMN_THEME.fontFamily,
612
+ transition: BPMN_THEME.transition
591
613
  },
592
614
  children: [
593
615
  variant === "transaction" && /* @__PURE__ */ jsx(
@@ -641,8 +663,8 @@ function PoolNode({ data, selected }) {
641
663
  const stroke = resolveStroke(selected, d.color?.stroke);
642
664
  const sw = resolveStrokeWidth(selected);
643
665
  const orientation = d.orientation ?? "horizontal";
644
- const fill = d.color?.fill ?? "#f5f7ff";
645
- const headerFill = d.color?.fill ?? "#edf0ff";
666
+ const fill = d.color?.fill ?? "#f8fbff";
667
+ const headerFill = d.color?.fill ?? "#eaf2ff";
646
668
  if (orientation === "vertical") {
647
669
  return /* @__PURE__ */ jsxs(
648
670
  "div",
@@ -656,14 +678,17 @@ function PoolNode({ data, selected }) {
656
678
  borderRadius: 4,
657
679
  boxSizing: "border-box",
658
680
  background: fill,
681
+ boxShadow: resolveNodeShadow(selected),
659
682
  overflow: "hidden",
660
- fontFamily: BPMN_THEME.fontFamily
683
+ fontFamily: BPMN_THEME.fontFamily,
684
+ transition: BPMN_THEME.transition
661
685
  },
662
686
  children: [
663
687
  /* @__PURE__ */ jsx(
664
688
  "div",
665
689
  {
666
690
  "aria-label": "pool-header",
691
+ className: "pool-drag-handle",
667
692
  style: {
668
693
  height: HEADER_HEIGHT,
669
694
  minHeight: HEADER_HEIGHT,
@@ -672,7 +697,8 @@ function PoolNode({ data, selected }) {
672
697
  alignItems: "center",
673
698
  justifyContent: "center",
674
699
  background: headerFill,
675
- padding: "0 8px"
700
+ padding: "0 8px",
701
+ cursor: "grab"
676
702
  },
677
703
  children: /* @__PURE__ */ jsx(
678
704
  "span",
@@ -706,14 +732,17 @@ function PoolNode({ data, selected }) {
706
732
  borderRadius: 4,
707
733
  boxSizing: "border-box",
708
734
  background: fill,
735
+ boxShadow: resolveNodeShadow(selected),
709
736
  overflow: "hidden",
710
- fontFamily: BPMN_THEME.fontFamily
737
+ fontFamily: BPMN_THEME.fontFamily,
738
+ transition: BPMN_THEME.transition
711
739
  },
712
740
  children: [
713
741
  /* @__PURE__ */ jsx(
714
742
  "div",
715
743
  {
716
744
  "aria-label": "pool-header",
745
+ className: "pool-drag-handle",
717
746
  style: {
718
747
  width: HEADER_WIDTH,
719
748
  minWidth: HEADER_WIDTH,
@@ -721,7 +750,8 @@ function PoolNode({ data, selected }) {
721
750
  display: "flex",
722
751
  alignItems: "center",
723
752
  justifyContent: "center",
724
- background: headerFill
753
+ background: headerFill,
754
+ cursor: "grab"
725
755
  },
726
756
  children: /* @__PURE__ */ jsx(
727
757
  "span",
@@ -754,8 +784,8 @@ function LaneNode({ data, selected }) {
754
784
  const stroke = resolveStroke(selected, d.color?.stroke);
755
785
  const sw = resolveStrokeWidth(selected);
756
786
  const orientation = d.orientation ?? "horizontal";
757
- const fill = d.color?.fill ?? "#fafbff";
758
- const headerFill = d.color?.fill ?? "#f0f3ff";
787
+ const fill = d.color?.fill ?? "#fbfdff";
788
+ const headerFill = d.color?.fill ?? "#eef6ff";
759
789
  if (orientation === "vertical") {
760
790
  return /* @__PURE__ */ jsxs(
761
791
  "div",
@@ -768,14 +798,17 @@ function LaneNode({ data, selected }) {
768
798
  borderRadius: 2,
769
799
  boxSizing: "border-box",
770
800
  background: fill,
801
+ boxShadow: resolveNodeShadow(selected),
771
802
  overflow: "hidden",
772
- fontFamily: BPMN_THEME.fontFamily
803
+ fontFamily: BPMN_THEME.fontFamily,
804
+ transition: BPMN_THEME.transition
773
805
  },
774
806
  children: [
775
807
  /* @__PURE__ */ jsx(
776
808
  "div",
777
809
  {
778
810
  "aria-label": "lane-header",
811
+ className: "lane-drag-handle",
779
812
  style: {
780
813
  width: HEADER_WIDTH2,
781
814
  minWidth: HEADER_WIDTH2,
@@ -784,7 +817,8 @@ function LaneNode({ data, selected }) {
784
817
  alignItems: "center",
785
818
  justifyContent: "center",
786
819
  background: headerFill,
787
- padding: "6px 0"
820
+ padding: "6px 0",
821
+ cursor: "grab"
788
822
  },
789
823
  children: /* @__PURE__ */ jsx(
790
824
  "span",
@@ -822,14 +856,17 @@ function LaneNode({ data, selected }) {
822
856
  borderRadius: 2,
823
857
  boxSizing: "border-box",
824
858
  background: fill,
859
+ boxShadow: resolveNodeShadow(selected),
825
860
  overflow: "hidden",
826
- fontFamily: BPMN_THEME.fontFamily
861
+ fontFamily: BPMN_THEME.fontFamily,
862
+ transition: BPMN_THEME.transition
827
863
  },
828
864
  children: [
829
865
  /* @__PURE__ */ jsx(
830
866
  "div",
831
867
  {
832
868
  "aria-label": "lane-header",
869
+ className: "lane-drag-handle",
833
870
  style: {
834
871
  height: HEADER_HEIGHT2,
835
872
  minHeight: HEADER_HEIGHT2,
@@ -840,7 +877,8 @@ function LaneNode({ data, selected }) {
840
877
  background: headerFill,
841
878
  fontSize: BPMN_THEME.fontSize,
842
879
  fontWeight: 500,
843
- color: BPMN_THEME.labelColor
880
+ color: BPMN_THEME.labelColor,
881
+ cursor: "grab"
844
882
  },
845
883
  children: d.label
846
884
  }
@@ -957,7 +995,7 @@ function DataObjectNode({ data, selected }) {
957
995
  `L ${W} ${FOLD}`
958
996
  ].join(" ");
959
997
  return /* @__PURE__ */ jsxs("div", { style: { width: W, height: H2, position: "relative" }, children: [
960
- /* @__PURE__ */ jsxs("svg", { width: W, height: H2, style: { overflow: "visible", display: "block" }, children: [
998
+ /* @__PURE__ */ jsxs("svg", { width: W, height: H2, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
961
999
  /* @__PURE__ */ jsx("path", { d: path, fill, stroke, strokeWidth: sw }),
962
1000
  /* @__PURE__ */ jsx("path", { d: foldPath2, fill: "none", stroke, strokeWidth: sw })
963
1001
  ] }),
@@ -975,7 +1013,7 @@ function DataStoreNode({ data, selected }) {
975
1013
  const sw = resolveStrokeWidth(selected);
976
1014
  const fill = d.color?.fill ?? BPMN_THEME.fill;
977
1015
  return /* @__PURE__ */ jsxs("div", { style: { width: DS_W, height: DS_H, position: "relative" }, children: [
978
- /* @__PURE__ */ jsxs("svg", { width: DS_W, height: DS_H, style: { overflow: "visible", display: "block" }, children: [
1016
+ /* @__PURE__ */ jsxs("svg", { width: DS_W, height: DS_H, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
979
1017
  /* @__PURE__ */ jsx(
980
1018
  "path",
981
1019
  {
@@ -1021,7 +1059,7 @@ function DataObjectReferenceNode({ data, selected }) {
1021
1059
  const sw = resolveStrokeWidth(selected);
1022
1060
  const fill = d.color?.fill ?? BPMN_THEME.fill;
1023
1061
  return /* @__PURE__ */ jsxs("div", { style: { width: W2, height: H3, position: "relative" }, children: [
1024
- /* @__PURE__ */ jsxs("svg", { width: W2, height: H3, style: { overflow: "visible", display: "block" }, children: [
1062
+ /* @__PURE__ */ jsxs("svg", { width: W2, height: H3, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
1025
1063
  /* @__PURE__ */ jsx("path", { d: documentPath(), fill, stroke, strokeWidth: sw }),
1026
1064
  /* @__PURE__ */ jsx("path", { d: foldPath(), fill: "none", stroke, strokeWidth: sw }),
1027
1065
  d.isCollection && collectionLines(stroke, sw)
@@ -1036,7 +1074,7 @@ function DataInputNode({ data, selected }) {
1036
1074
  const sw = resolveStrokeWidth(selected);
1037
1075
  const fill = d.color?.fill ?? BPMN_THEME.fill;
1038
1076
  return /* @__PURE__ */ jsxs("div", { style: { width: W2, height: H3, position: "relative" }, children: [
1039
- /* @__PURE__ */ jsxs("svg", { width: W2, height: H3, style: { overflow: "visible", display: "block" }, children: [
1077
+ /* @__PURE__ */ jsxs("svg", { width: W2, height: H3, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
1040
1078
  /* @__PURE__ */ jsx("path", { d: documentPath(), fill, stroke, strokeWidth: sw }),
1041
1079
  /* @__PURE__ */ jsx("path", { d: foldPath(), fill: "none", stroke, strokeWidth: sw }),
1042
1080
  /* @__PURE__ */ jsx(
@@ -1060,7 +1098,7 @@ function DataOutputNode({ data, selected }) {
1060
1098
  const sw = resolveStrokeWidth(selected);
1061
1099
  const fill = d.color?.fill ?? BPMN_THEME.fill;
1062
1100
  return /* @__PURE__ */ jsxs("div", { style: { width: W2, height: H3, position: "relative" }, children: [
1063
- /* @__PURE__ */ jsxs("svg", { width: W2, height: H3, style: { overflow: "visible", display: "block" }, children: [
1101
+ /* @__PURE__ */ jsxs("svg", { width: W2, height: H3, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
1064
1102
  /* @__PURE__ */ jsx("path", { d: documentPath(), fill, stroke, strokeWidth: sw }),
1065
1103
  /* @__PURE__ */ jsx("path", { d: foldPath(), fill: "none", stroke, strokeWidth: sw }),
1066
1104
  /* @__PURE__ */ jsx(
@@ -1088,7 +1126,7 @@ function DataStoreReferenceNode({ data, selected }) {
1088
1126
  const sw = resolveStrokeWidth(selected);
1089
1127
  const fill = d.color?.fill ?? BPMN_THEME.fill;
1090
1128
  return /* @__PURE__ */ jsxs("div", { style: { width: DS_W2, height: DS_H2, position: "relative" }, children: [
1091
- /* @__PURE__ */ jsxs("svg", { width: DS_W2, height: DS_H2, style: { overflow: "visible", display: "block" }, children: [
1129
+ /* @__PURE__ */ jsxs("svg", { width: DS_W2, height: DS_H2, style: { overflow: "visible", display: "block", filter: resolveShapeFilter(selected) }, children: [
1092
1130
  /* @__PURE__ */ jsx(
1093
1131
  "path",
1094
1132
  {
@@ -1414,8 +1452,11 @@ var BPMN_NODE_TYPES = {
1414
1452
  ParallelGateway: GatewayNode,
1415
1453
  EventBasedGateway: GatewayNode,
1416
1454
  ComplexGateway: GatewayNode,
1417
- // Containers
1455
+ // Containers — Transaction, EventSubProcess, AdHocSubProcess derive their visual variant from elementType
1418
1456
  SubProcess: SubProcessNode,
1457
+ Transaction: SubProcessNode,
1458
+ EventSubProcess: SubProcessNode,
1459
+ AdHocSubProcess: SubProcessNode,
1419
1460
  Pool: PoolNode,
1420
1461
  Lane: LaneNode,
1421
1462
  // Artifacts
@@ -1439,5 +1480,5 @@ var BPMN_NODE_TYPES = {
1439
1480
  };
1440
1481
 
1441
1482
  export { AnnotationNode, BPMN_NODE_TYPES, BoundaryEventNode, CallChoreographyNode, CallConversationNode, ChoreographyTaskNode, ConversationNode, DataInputNode, DataObjectNode, DataObjectReferenceNode, DataOutputNode, DataStoreNode, DataStoreReferenceNode, EndEventNode, GatewayNode, GroupNode, IntermediateCatchEventNode, IntermediateThrowEventNode, LaneNode, PoolNode, StartEventNode, SubChoreographyNode, SubConversationNode, SubProcessNode, TaskNode };
1442
- //# sourceMappingURL=chunk-NXMUX67A.js.map
1443
- //# sourceMappingURL=chunk-NXMUX67A.js.map
1483
+ //# sourceMappingURL=chunk-H3YMTGFG.js.map
1484
+ //# sourceMappingURL=chunk-H3YMTGFG.js.map