You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			503 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			503 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			JavaScript
		
	
| "use strict";
 | |
| (self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([[8140],{
 | |
| 
 | |
| /***/ 98140:
 | |
| /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
 | |
| 
 | |
| /* harmony export */ __webpack_require__.d(__webpack_exports__, {
 | |
| /* harmony export */   diagram: () => (/* binding */ diagram)
 | |
| /* harmony export */ });
 | |
| /* harmony import */ var _chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55726);
 | |
| /* harmony import */ var _chunk_55IACEB6_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40448);
 | |
| /* harmony import */ var _chunk_QN33PNHL_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51755);
 | |
| /* harmony import */ var _chunk_N4CR4FBY_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54160);
 | |
| /* harmony import */ var _chunk_QXUST7PY_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(55195);
 | |
| /* harmony import */ var _chunk_HN2XXSSU_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67894);
 | |
| /* harmony import */ var _chunk_JZLCHNYA_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(26212);
 | |
| /* harmony import */ var _chunk_CVBHYZKI_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(22462);
 | |
| /* harmony import */ var _chunk_ATLVNIR6_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(37756);
 | |
| /* harmony import */ var _chunk_JA3XYJ7Z_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2111);
 | |
| /* harmony import */ var _chunk_S3R3BYOJ_mjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(17175);
 | |
| /* harmony import */ var _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(61805);
 | |
| /* harmony import */ var _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(74999);
 | |
| /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(35321);
 | |
| /* harmony import */ var dagre_d3_es_src_dagre_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(24276);
 | |
| /* harmony import */ var dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(67406);
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| // src/diagrams/state/stateRenderer.js
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| // src/diagrams/state/shapes.js
 | |
| 
 | |
| var drawStartState = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((g) => g.append("circle").attr("class", "start-state").attr("r", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit).attr("cx", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit).attr("cy", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit), "drawStartState");
 | |
| var drawDivider = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((g) => g.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight).attr("class", "divider").attr("x2", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider");
 | |
| var drawSimpleState = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((g, stateDef) => {
 | |
|   const state = g.append("text").attr("x", 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("y", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("font-size", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.fontSize).attr("class", "state-title").text(stateDef.id);
 | |
|   const classBox = state.node().getBBox();
 | |
|   g.insert("rect", ":first-child").attr("x", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("y", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("width", classBox.width + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("height", classBox.height + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("rx", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.radius);
 | |
|   return state;
 | |
| }, "drawSimpleState");
 | |
| var drawDescrState = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((g, stateDef) => {
 | |
|   const addTspan = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)(function(textEl, txt, isFirst2) {
 | |
|     const tSpan = textEl.append("tspan").attr("x", 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).text(txt);
 | |
|     if (!isFirst2) {
 | |
|       tSpan.attr("dy", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight);
 | |
|     }
 | |
|   }, "addTspan");
 | |
|   const title = g.append("text").attr("x", 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("y", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight + 1.3 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("font-size", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.fontSize).attr("class", "state-title").text(stateDef.descriptions[0]);
 | |
|   const titleBox = title.node().getBBox();
 | |
|   const titleHeight = titleBox.height;
 | |
|   const description = g.append("text").attr("x", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr(
 | |
|     "y",
 | |
|     titleHeight + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding * 0.4 + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.dividerMargin + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight
 | |
|   ).attr("class", "state-description");
 | |
|   let isFirst = true;
 | |
|   let isSecond = true;
 | |
|   stateDef.descriptions.forEach(function(descr) {
 | |
|     if (!isFirst) {
 | |
|       addTspan(description, descr, isSecond);
 | |
|       isSecond = false;
 | |
|     }
 | |
|     isFirst = false;
 | |
|   });
 | |
|   const descrLine = g.append("line").attr("x1", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("y1", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding + titleHeight + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.dividerMargin / 2).attr("y2", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding + titleHeight + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.dividerMargin / 2).attr("class", "descr-divider");
 | |
|   const descrBox = description.node().getBBox();
 | |
|   const width = Math.max(descrBox.width, titleBox.width);
 | |
|   descrLine.attr("x2", width + 3 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding);
 | |
|   g.insert("rect", ":first-child").attr("x", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("y", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("width", width + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("height", descrBox.height + titleHeight + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("rx", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.radius);
 | |
|   return g;
 | |
| }, "drawDescrState");
 | |
| var addTitleAndBox = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((g, stateDef, altBkg) => {
 | |
|   const pad = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding;
 | |
|   const dblPad = 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding;
 | |
|   const orgBox = g.node().getBBox();
 | |
|   const orgWidth = orgBox.width;
 | |
|   const orgX = orgBox.x;
 | |
|   const title = g.append("text").attr("x", 0).attr("y", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.titleShift).attr("font-size", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.fontSize).attr("class", "state-title").text(stateDef.id);
 | |
|   const titleBox = title.node().getBBox();
 | |
|   const titleWidth = titleBox.width + dblPad;
 | |
|   let width = Math.max(titleWidth, orgWidth);
 | |
|   if (width === orgWidth) {
 | |
|     width = width + dblPad;
 | |
|   }
 | |
|   let startX;
 | |
|   const graphBox = g.node().getBBox();
 | |
|   if (stateDef.doc) {
 | |
|   }
 | |
|   startX = orgX - pad;
 | |
|   if (titleWidth > orgWidth) {
 | |
|     startX = (orgWidth - width) / 2 + pad;
 | |
|   }
 | |
|   if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {
 | |
|     startX = orgX - (titleWidth - orgWidth) / 2;
 | |
|   }
 | |
|   const lineY = 1 - (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight;
 | |
|   g.insert("rect", ":first-child").attr("x", startX).attr("y", lineY).attr("class", altBkg ? "alt-composit" : "composit").attr("width", width).attr(
 | |
|     "height",
 | |
|     graphBox.height + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.titleShift + 1
 | |
|   ).attr("rx", "0");
 | |
|   title.attr("x", startX + pad);
 | |
|   if (titleWidth <= orgWidth) {
 | |
|     title.attr("x", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);
 | |
|   }
 | |
|   g.insert("rect", ":first-child").attr("x", startX).attr(
 | |
|     "y",
 | |
|     (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.titleShift - (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight - (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding
 | |
|   ).attr("width", width).attr("height", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight * 3).attr("rx", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.radius);
 | |
|   g.insert("rect", ":first-child").attr("x", startX).attr(
 | |
|     "y",
 | |
|     (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.titleShift - (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight - (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding
 | |
|   ).attr("width", width).attr("height", graphBox.height + 3 + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.textHeight).attr("rx", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.radius);
 | |
|   return g;
 | |
| }, "addTitleAndBox");
 | |
| var drawEndState = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((g) => {
 | |
|   g.append("circle").attr("class", "end-state-outer").attr("r", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.miniPadding).attr(
 | |
|     "cx",
 | |
|     (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.miniPadding
 | |
|   ).attr(
 | |
|     "cy",
 | |
|     (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.miniPadding
 | |
|   );
 | |
|   return g.append("circle").attr("class", "end-state-inner").attr("r", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit).attr("cx", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit + 2).attr("cy", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.sizeUnit + 2);
 | |
| }, "drawEndState");
 | |
| var drawForkJoinState = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((g, stateDef) => {
 | |
|   let width = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.forkWidth;
 | |
|   let height = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.forkHeight;
 | |
|   if (stateDef.parentId) {
 | |
|     let tmp = width;
 | |
|     width = height;
 | |
|     height = tmp;
 | |
|   }
 | |
|   return g.append("rect").style("stroke", "black").style("fill", "black").attr("width", width).attr("height", height).attr("x", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("y", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding);
 | |
| }, "drawForkJoinState");
 | |
| var _drawLongText = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((_text, x, y, g) => {
 | |
|   let textHeight = 0;
 | |
|   const textElem = g.append("text");
 | |
|   textElem.style("text-anchor", "start");
 | |
|   textElem.attr("class", "noteText");
 | |
|   let text = _text.replace(/\r\n/g, "<br/>");
 | |
|   text = text.replace(/\n/g, "<br/>");
 | |
|   const lines = text.split(_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .common_default */ .SY.lineBreakRegex);
 | |
|   let tHeight = 1.25 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.noteMargin;
 | |
|   for (const line2 of lines) {
 | |
|     const txt = line2.trim();
 | |
|     if (txt.length > 0) {
 | |
|       const span = textElem.append("tspan");
 | |
|       span.text(txt);
 | |
|       if (tHeight === 0) {
 | |
|         const textBounds = span.node().getBBox();
 | |
|         tHeight += textBounds.height;
 | |
|       }
 | |
|       textHeight += tHeight;
 | |
|       span.attr("x", x + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.noteMargin);
 | |
|       span.attr("y", y + textHeight + 1.25 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.noteMargin);
 | |
|     }
 | |
|   }
 | |
|   return { textWidth: textElem.node().getBBox().width, textHeight };
 | |
| }, "_drawLongText");
 | |
| var drawNote = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((text, g) => {
 | |
|   g.attr("class", "state-note");
 | |
|   const note = g.append("rect").attr("x", 0).attr("y", (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding);
 | |
|   const rectElem = g.append("g");
 | |
|   const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);
 | |
|   note.attr("height", textHeight + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.noteMargin);
 | |
|   note.attr("width", textWidth + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.noteMargin * 2);
 | |
|   return note;
 | |
| }, "drawNote");
 | |
| var drawState = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)(function(elem, stateDef) {
 | |
|   const id = stateDef.id;
 | |
|   const stateInfo = {
 | |
|     id,
 | |
|     label: stateDef.id,
 | |
|     width: 0,
 | |
|     height: 0
 | |
|   };
 | |
|   const g = elem.append("g").attr("id", id).attr("class", "stateGroup");
 | |
|   if (stateDef.type === "start") {
 | |
|     drawStartState(g);
 | |
|   }
 | |
|   if (stateDef.type === "end") {
 | |
|     drawEndState(g);
 | |
|   }
 | |
|   if (stateDef.type === "fork" || stateDef.type === "join") {
 | |
|     drawForkJoinState(g, stateDef);
 | |
|   }
 | |
|   if (stateDef.type === "note") {
 | |
|     drawNote(stateDef.note.text, g);
 | |
|   }
 | |
|   if (stateDef.type === "divider") {
 | |
|     drawDivider(g);
 | |
|   }
 | |
|   if (stateDef.type === "default" && stateDef.descriptions.length === 0) {
 | |
|     drawSimpleState(g, stateDef);
 | |
|   }
 | |
|   if (stateDef.type === "default" && stateDef.descriptions.length > 0) {
 | |
|     drawDescrState(g, stateDef);
 | |
|   }
 | |
|   const stateBox = g.node().getBBox();
 | |
|   stateInfo.width = stateBox.width + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding;
 | |
|   stateInfo.height = stateBox.height + 2 * (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding;
 | |
|   return stateInfo;
 | |
| }, "drawState");
 | |
| var edgeCount = 0;
 | |
| var drawEdge = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)(function(elem, path, relation) {
 | |
|   const getRelationType = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)(function(type) {
 | |
|     switch (type) {
 | |
|       case _chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__/* .StateDB */ .oI.relationType.AGGREGATION:
 | |
|         return "aggregation";
 | |
|       case _chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__/* .StateDB */ .oI.relationType.EXTENSION:
 | |
|         return "extension";
 | |
|       case _chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__/* .StateDB */ .oI.relationType.COMPOSITION:
 | |
|         return "composition";
 | |
|       case _chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__/* .StateDB */ .oI.relationType.DEPENDENCY:
 | |
|         return "dependency";
 | |
|     }
 | |
|   }, "getRelationType");
 | |
|   path.points = path.points.filter((p) => !Number.isNaN(p.y));
 | |
|   const lineData = path.points;
 | |
|   const lineFunction = (0,d3__WEBPACK_IMPORTED_MODULE_13__/* .line */ .jvg)().x(function(d) {
 | |
|     return d.x;
 | |
|   }).y(function(d) {
 | |
|     return d.y;
 | |
|   }).curve(d3__WEBPACK_IMPORTED_MODULE_13__/* .curveBasis */ .$0Z);
 | |
|   const svgPath = elem.append("path").attr("d", lineFunction(lineData)).attr("id", "edge" + edgeCount).attr("class", "transition");
 | |
|   let url = "";
 | |
|   if ((0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.arrowMarkerAbsolute) {
 | |
|     url = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getUrl */ .Gr)(true);
 | |
|   }
 | |
|   svgPath.attr(
 | |
|     "marker-end",
 | |
|     "url(" + url + "#" + getRelationType(_chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__/* .StateDB */ .oI.relationType.DEPENDENCY) + "End)"
 | |
|   );
 | |
|   if (relation.title !== void 0) {
 | |
|     const label = elem.append("g").attr("class", "stateLabel");
 | |
|     const { x, y } = _chunk_S3R3BYOJ_mjs__WEBPACK_IMPORTED_MODULE_10__/* .utils_default */ .w8.calcLabelPosition(path.points);
 | |
|     const rows = _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .common_default */ .SY.getRows(relation.title);
 | |
|     let titleHeight = 0;
 | |
|     const titleRows = [];
 | |
|     let maxWidth = 0;
 | |
|     let minX = 0;
 | |
|     for (let i = 0; i <= rows.length; i++) {
 | |
|       const title = label.append("text").attr("text-anchor", "middle").text(rows[i]).attr("x", x).attr("y", y + titleHeight);
 | |
|       const boundsTmp = title.node().getBBox();
 | |
|       maxWidth = Math.max(maxWidth, boundsTmp.width);
 | |
|       minX = Math.min(minX, boundsTmp.x);
 | |
|       _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.info(boundsTmp.x, x, y + titleHeight);
 | |
|       if (titleHeight === 0) {
 | |
|         const titleBox = title.node().getBBox();
 | |
|         titleHeight = titleBox.height;
 | |
|         _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.info("Title height", titleHeight, y);
 | |
|       }
 | |
|       titleRows.push(title);
 | |
|     }
 | |
|     let boxHeight = titleHeight * rows.length;
 | |
|     if (rows.length > 1) {
 | |
|       const heightAdj = (rows.length - 1) * titleHeight * 0.5;
 | |
|       titleRows.forEach((title, i) => title.attr("y", y + i * titleHeight - heightAdj));
 | |
|       boxHeight = titleHeight * rows.length;
 | |
|     }
 | |
|     const bounds = label.node().getBBox();
 | |
|     label.insert("rect", ":first-child").attr("class", "box").attr("x", x - maxWidth / 2 - (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding / 2).attr("y", y - boxHeight / 2 - (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding / 2 - 3.5).attr("width", maxWidth + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding).attr("height", boxHeight + (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state.padding);
 | |
|     _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.info(bounds);
 | |
|   }
 | |
|   edgeCount++;
 | |
| }, "drawEdge");
 | |
| 
 | |
| // src/diagrams/state/stateRenderer.js
 | |
| var conf;
 | |
| var transformationLog = {};
 | |
| var setConf = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)(function() {
 | |
| }, "setConf");
 | |
| var insertMarkers = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)(function(elem) {
 | |
|   elem.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
 | |
| }, "insertMarkers");
 | |
| var draw = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)(function(text, id, _version, diagObj) {
 | |
|   conf = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().state;
 | |
|   const securityLevel = (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .getConfig2 */ .nV)().securityLevel;
 | |
|   let sandboxElement;
 | |
|   if (securityLevel === "sandbox") {
 | |
|     sandboxElement = (0,d3__WEBPACK_IMPORTED_MODULE_13__/* .select */ .Ys)("#i" + id);
 | |
|   }
 | |
|   const root = securityLevel === "sandbox" ? (0,d3__WEBPACK_IMPORTED_MODULE_13__/* .select */ .Ys)(sandboxElement.nodes()[0].contentDocument.body) : (0,d3__WEBPACK_IMPORTED_MODULE_13__/* .select */ .Ys)("body");
 | |
|   const doc = securityLevel === "sandbox" ? sandboxElement.nodes()[0].contentDocument : document;
 | |
|   _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.debug("Rendering diagram " + text);
 | |
|   const diagram2 = root.select(`[id='${id}']`);
 | |
|   insertMarkers(diagram2);
 | |
|   const rootDoc = diagObj.db.getRootDoc();
 | |
|   renderDoc(rootDoc, diagram2, void 0, false, root, doc, diagObj);
 | |
|   const padding = conf.padding;
 | |
|   const bounds = diagram2.node().getBBox();
 | |
|   const width = bounds.width + padding * 2;
 | |
|   const height = bounds.height + padding * 2;
 | |
|   const svgWidth = width * 1.75;
 | |
|   (0,_chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .configureSvgSize */ .v2)(diagram2, height, svgWidth, conf.useMaxWidth);
 | |
|   diagram2.attr(
 | |
|     "viewBox",
 | |
|     `${bounds.x - conf.padding}  ${bounds.y - conf.padding} ` + width + " " + height
 | |
|   );
 | |
| }, "draw");
 | |
| var getLabelWidth = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((text) => {
 | |
|   return text ? text.length * conf.fontSizeFactor : 1;
 | |
| }, "getLabelWidth");
 | |
| var renderDoc = /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {
 | |
|   const graph = new dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_15__/* .Graph */ .k({
 | |
|     compound: true,
 | |
|     multigraph: true
 | |
|   });
 | |
|   let i;
 | |
|   let edgeFreeDoc = true;
 | |
|   for (i = 0; i < doc.length; i++) {
 | |
|     if (doc[i].stmt === "relation") {
 | |
|       edgeFreeDoc = false;
 | |
|       break;
 | |
|     }
 | |
|   }
 | |
|   if (parentId) {
 | |
|     graph.setGraph({
 | |
|       rankdir: "LR",
 | |
|       multigraph: true,
 | |
|       compound: true,
 | |
|       // acyclicer: 'greedy',
 | |
|       ranker: "tight-tree",
 | |
|       ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,
 | |
|       nodeSep: edgeFreeDoc ? 1 : 50,
 | |
|       isMultiGraph: true
 | |
|       // ranksep: 5,
 | |
|       // nodesep: 1
 | |
|     });
 | |
|   } else {
 | |
|     graph.setGraph({
 | |
|       rankdir: "TB",
 | |
|       multigraph: true,
 | |
|       compound: true,
 | |
|       // isCompound: true,
 | |
|       // acyclicer: 'greedy',
 | |
|       // ranker: 'longest-path'
 | |
|       ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,
 | |
|       nodeSep: edgeFreeDoc ? 1 : 50,
 | |
|       ranker: "tight-tree",
 | |
|       // ranker: 'network-simplex'
 | |
|       isMultiGraph: true
 | |
|     });
 | |
|   }
 | |
|   graph.setDefaultEdgeLabel(function() {
 | |
|     return {};
 | |
|   });
 | |
|   const states = diagObj.db.getStates();
 | |
|   const relations = diagObj.db.getRelations();
 | |
|   const keys = Object.keys(states);
 | |
|   let first = true;
 | |
|   for (const key of keys) {
 | |
|     const stateDef = states[key];
 | |
|     if (parentId) {
 | |
|       stateDef.parentId = parentId;
 | |
|     }
 | |
|     let node;
 | |
|     if (stateDef.doc) {
 | |
|       let sub = diagram2.append("g").attr("id", stateDef.id).attr("class", "stateGroup");
 | |
|       node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);
 | |
|       if (first) {
 | |
|         sub = addTitleAndBox(sub, stateDef, altBkg);
 | |
|         let boxBounds = sub.node().getBBox();
 | |
|         node.width = boxBounds.width;
 | |
|         node.height = boxBounds.height + conf.padding / 2;
 | |
|         transformationLog[stateDef.id] = { y: conf.compositTitleSize };
 | |
|       } else {
 | |
|         let boxBounds = sub.node().getBBox();
 | |
|         node.width = boxBounds.width;
 | |
|         node.height = boxBounds.height;
 | |
|       }
 | |
|     } else {
 | |
|       node = drawState(diagram2, stateDef, graph);
 | |
|     }
 | |
|     if (stateDef.note) {
 | |
|       const noteDef = {
 | |
|         descriptions: [],
 | |
|         id: stateDef.id + "-note",
 | |
|         note: stateDef.note,
 | |
|         type: "note"
 | |
|       };
 | |
|       const note = drawState(diagram2, noteDef, graph);
 | |
|       if (stateDef.note.position === "left of") {
 | |
|         graph.setNode(node.id + "-note", note);
 | |
|         graph.setNode(node.id, node);
 | |
|       } else {
 | |
|         graph.setNode(node.id, node);
 | |
|         graph.setNode(node.id + "-note", note);
 | |
|       }
 | |
|       graph.setParent(node.id, node.id + "-group");
 | |
|       graph.setParent(node.id + "-note", node.id + "-group");
 | |
|     } else {
 | |
|       graph.setNode(node.id, node);
 | |
|     }
 | |
|   }
 | |
|   _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.debug("Count=", graph.nodeCount(), graph);
 | |
|   let cnt = 0;
 | |
|   relations.forEach(function(relation) {
 | |
|     cnt++;
 | |
|     _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.debug("Setting edge", relation);
 | |
|     graph.setEdge(
 | |
|       relation.id1,
 | |
|       relation.id2,
 | |
|       {
 | |
|         relation,
 | |
|         width: getLabelWidth(relation.title),
 | |
|         height: conf.labelHeight * _chunk_ABZYJK2D_mjs__WEBPACK_IMPORTED_MODULE_11__/* .common_default */ .SY.getRows(relation.title).length,
 | |
|         labelpos: "c"
 | |
|       },
 | |
|       "id" + cnt
 | |
|     );
 | |
|   });
 | |
|   (0,dagre_d3_es_src_dagre_index_js__WEBPACK_IMPORTED_MODULE_14__/* .layout */ .bK)(graph);
 | |
|   _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.debug("Graph after layout", graph.nodes());
 | |
|   const svgElem = diagram2.node();
 | |
|   graph.nodes().forEach(function(v) {
 | |
|     if (v !== void 0 && graph.node(v) !== void 0) {
 | |
|       _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.warn("Node " + v + ": " + JSON.stringify(graph.node(v)));
 | |
|       root.select("#" + svgElem.id + " #" + v).attr(
 | |
|         "transform",
 | |
|         "translate(" + (graph.node(v).x - graph.node(v).width / 2) + "," + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + " )"
 | |
|       );
 | |
|       root.select("#" + svgElem.id + " #" + v).attr("data-x-shift", graph.node(v).x - graph.node(v).width / 2);
 | |
|       const dividers = domDocument.querySelectorAll("#" + svgElem.id + " #" + v + " .divider");
 | |
|       dividers.forEach((divider) => {
 | |
|         const parent = divider.parentElement;
 | |
|         let pWidth = 0;
 | |
|         let pShift = 0;
 | |
|         if (parent) {
 | |
|           if (parent.parentElement) {
 | |
|             pWidth = parent.parentElement.getBBox().width;
 | |
|           }
 | |
|           pShift = parseInt(parent.getAttribute("data-x-shift"), 10);
 | |
|           if (Number.isNaN(pShift)) {
 | |
|             pShift = 0;
 | |
|           }
 | |
|         }
 | |
|         divider.setAttribute("x1", 0 - pShift + 8);
 | |
|         divider.setAttribute("x2", pWidth - pShift - 8);
 | |
|       });
 | |
|     } else {
 | |
|       _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.debug("No Node " + v + ": " + JSON.stringify(graph.node(v)));
 | |
|     }
 | |
|   });
 | |
|   let stateBox = svgElem.getBBox();
 | |
|   graph.edges().forEach(function(e) {
 | |
|     if (e !== void 0 && graph.edge(e) !== void 0) {
 | |
|       _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.debug("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(graph.edge(e)));
 | |
|       drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);
 | |
|     }
 | |
|   });
 | |
|   stateBox = svgElem.getBBox();
 | |
|   const stateInfo = {
 | |
|     id: parentId ? parentId : "root",
 | |
|     label: parentId ? parentId : "root",
 | |
|     width: 0,
 | |
|     height: 0
 | |
|   };
 | |
|   stateInfo.width = stateBox.width + 2 * conf.padding;
 | |
|   stateInfo.height = stateBox.height + 2 * conf.padding;
 | |
|   _chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .log */ .cM.debug("Doc rendered", stateInfo, graph);
 | |
|   return stateInfo;
 | |
| }, "renderDoc");
 | |
| var stateRenderer_default = {
 | |
|   setConf,
 | |
|   draw
 | |
| };
 | |
| 
 | |
| // src/diagrams/state/stateDiagram.ts
 | |
| var diagram = {
 | |
|   parser: _chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__/* .stateDiagram_default */ .J8,
 | |
|   get db() {
 | |
|     return new _chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__/* .StateDB */ .oI(1);
 | |
|   },
 | |
|   renderer: stateRenderer_default,
 | |
|   styles: _chunk_DI55MBZ5_mjs__WEBPACK_IMPORTED_MODULE_0__/* .styles_default */ .Ee,
 | |
|   init: /* @__PURE__ */ (0,_chunk_AGHRB4JF_mjs__WEBPACK_IMPORTED_MODULE_12__/* .__name */ .eW)((cnf) => {
 | |
|     if (!cnf.state) {
 | |
|       cnf.state = {};
 | |
|     }
 | |
|     cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
 | |
|   }, "init")
 | |
| };
 | |
| 
 | |
| 
 | |
| 
 | |
| /***/ })
 | |
| 
 | |
| }]);
 | |
| //# sourceMappingURL=8140.18f3349945ed9676aed6.js.map?v=18f3349945ed9676aed6
 |