%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /www/varak.net/nextcloud.varak.net/apps/text/js/
Upload File :
Create Path :
Current File : /www/varak.net/nextcloud.varak.net/apps/text/js/stateDiagram-v2-d93cdb3a-fWEFHomj.chunk.mjs.map

{"version":3,"file":"stateDiagram-v2-d93cdb3a-fWEFHomj.chunk.mjs","sources":["../node_modules/mermaid/dist/stateDiagram-v2-d93cdb3a.js"],"sourcesContent":["import { D as DEFAULT_STATE_TYPE, a as DIVIDER_TYPE, S as STMT_RELATION, b as STMT_STATE, c as DEFAULT_NESTED_DOC_DIR, p as parser, d as db, s as styles } from \"./styles-6aaf32cf.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport { select } from \"d3\";\nimport { l as log, c as getConfig, u as utils, i as configureSvgSize, e as common } from \"./mermaid-b5860b54.js\";\nimport { r as render } from \"./index-3862675e.js\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nimport \"dagre-d3-es/src/dagre/index.js\";\nimport \"dagre-d3-es/src/graphlib/json.js\";\nimport \"./edges-e0da2a9e.js\";\nimport \"./createText-2e5e7dd3.js\";\nimport \"mdast-util-from-markdown\";\nconst SHAPE_STATE = \"rect\";\nconst SHAPE_STATE_WITH_DESC = \"rectWithTitle\";\nconst SHAPE_START = \"start\";\nconst SHAPE_END = \"end\";\nconst SHAPE_DIVIDER = \"divider\";\nconst SHAPE_GROUP = \"roundedWithTitle\";\nconst SHAPE_NOTE = \"note\";\nconst SHAPE_NOTEGROUP = \"noteGroup\";\nconst CSS_DIAGRAM = \"statediagram\";\nconst CSS_STATE = \"state\";\nconst CSS_DIAGRAM_STATE = `${CSS_DIAGRAM}-${CSS_STATE}`;\nconst CSS_EDGE = \"transition\";\nconst CSS_NOTE = \"note\";\nconst CSS_NOTE_EDGE = \"note-edge\";\nconst CSS_EDGE_NOTE_EDGE = `${CSS_EDGE} ${CSS_NOTE_EDGE}`;\nconst CSS_DIAGRAM_NOTE = `${CSS_DIAGRAM}-${CSS_NOTE}`;\nconst CSS_CLUSTER = \"cluster\";\nconst CSS_DIAGRAM_CLUSTER = `${CSS_DIAGRAM}-${CSS_CLUSTER}`;\nconst CSS_CLUSTER_ALT = \"cluster-alt\";\nconst CSS_DIAGRAM_CLUSTER_ALT = `${CSS_DIAGRAM}-${CSS_CLUSTER_ALT}`;\nconst PARENT = \"parent\";\nconst NOTE = \"note\";\nconst DOMID_STATE = \"state\";\nconst DOMID_TYPE_SPACER = \"----\";\nconst NOTE_ID = `${DOMID_TYPE_SPACER}${NOTE}`;\nconst PARENT_ID = `${DOMID_TYPE_SPACER}${PARENT}`;\nconst G_EDGE_STYLE = \"fill:none\";\nconst G_EDGE_ARROWHEADSTYLE = \"fill: #333\";\nconst G_EDGE_LABELPOS = \"c\";\nconst G_EDGE_LABELTYPE = \"text\";\nconst G_EDGE_THICKNESS = \"normal\";\nlet nodeDb = {};\nlet graphItemCount = 0;\nconst setConf = function(cnf) {\n  const keys = Object.keys(cnf);\n  for (const key of keys) {\n    cnf[key];\n  }\n};\nconst getClasses = function(text, diagramObj) {\n  diagramObj.db.extract(diagramObj.db.getRootDocV2());\n  return diagramObj.db.getClasses();\n};\nfunction getClassesFromDbInfo(dbInfoItem) {\n  if (dbInfoItem === void 0 || dbInfoItem === null) {\n    return \"\";\n  } else {\n    if (dbInfoItem.classes) {\n      return dbInfoItem.classes.join(\" \");\n    } else {\n      return \"\";\n    }\n  }\n}\nfunction stateDomId(itemId = \"\", counter = 0, type = \"\", typeSpacer = DOMID_TYPE_SPACER) {\n  const typeStr = type !== null && type.length > 0 ? `${typeSpacer}${type}` : \"\";\n  return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;\n}\nconst setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) => {\n  const itemId = parsedItem.id;\n  const classStr = getClassesFromDbInfo(diagramStates[itemId]);\n  if (itemId !== \"root\") {\n    let shape = SHAPE_STATE;\n    if (parsedItem.start === true) {\n      shape = SHAPE_START;\n    }\n    if (parsedItem.start === false) {\n      shape = SHAPE_END;\n    }\n    if (parsedItem.type !== DEFAULT_STATE_TYPE) {\n      shape = parsedItem.type;\n    }\n    if (!nodeDb[itemId]) {\n      nodeDb[itemId] = {\n        id: itemId,\n        shape,\n        description: common.sanitizeText(itemId, getConfig()),\n        classes: `${classStr} ${CSS_DIAGRAM_STATE}`\n      };\n    }\n    const newNode = nodeDb[itemId];\n    if (parsedItem.description) {\n      if (Array.isArray(newNode.description)) {\n        newNode.shape = SHAPE_STATE_WITH_DESC;\n        newNode.description.push(parsedItem.description);\n      } else {\n        if (newNode.description.length > 0) {\n          newNode.shape = SHAPE_STATE_WITH_DESC;\n          if (newNode.description === itemId) {\n            newNode.description = [parsedItem.description];\n          } else {\n            newNode.description = [newNode.description, parsedItem.description];\n          }\n        } else {\n          newNode.shape = SHAPE_STATE;\n          newNode.description = parsedItem.description;\n        }\n      }\n      newNode.description = common.sanitizeTextOrArray(newNode.description, getConfig());\n    }\n    if (newNode.description.length === 1 && newNode.shape === SHAPE_STATE_WITH_DESC) {\n      newNode.shape = SHAPE_STATE;\n    }\n    if (!newNode.type && parsedItem.doc) {\n      log.info(\"Setting cluster for \", itemId, getDir(parsedItem));\n      newNode.type = \"group\";\n      newNode.dir = getDir(parsedItem);\n      newNode.shape = parsedItem.type === DIVIDER_TYPE ? SHAPE_DIVIDER : SHAPE_GROUP;\n      newNode.classes = newNode.classes + \" \" + CSS_DIAGRAM_CLUSTER + \" \" + (altFlag ? CSS_DIAGRAM_CLUSTER_ALT : \"\");\n    }\n    const nodeData = {\n      labelStyle: \"\",\n      shape: newNode.shape,\n      labelText: newNode.description,\n      // typeof newNode.description === 'object'\n      //   ? newNode.description[0]\n      //   : newNode.description,\n      classes: newNode.classes,\n      style: \"\",\n      //styles.style,\n      id: itemId,\n      dir: newNode.dir,\n      domId: stateDomId(itemId, graphItemCount),\n      type: newNode.type,\n      padding: 15\n      //getConfig().flowchart.padding\n    };\n    nodeData.centerLabel = true;\n    if (parsedItem.note) {\n      const noteData = {\n        labelStyle: \"\",\n        shape: SHAPE_NOTE,\n        labelText: parsedItem.note.text,\n        classes: CSS_DIAGRAM_NOTE,\n        // useHtmlLabels: false,\n        style: \"\",\n        // styles.style,\n        id: itemId + NOTE_ID + \"-\" + graphItemCount,\n        domId: stateDomId(itemId, graphItemCount, NOTE),\n        type: newNode.type,\n        padding: 15\n        //getConfig().flowchart.padding\n      };\n      const groupData = {\n        labelStyle: \"\",\n        shape: SHAPE_NOTEGROUP,\n        labelText: parsedItem.note.text,\n        classes: newNode.classes,\n        style: \"\",\n        // styles.style,\n        id: itemId + PARENT_ID,\n        domId: stateDomId(itemId, graphItemCount, PARENT),\n        type: \"group\",\n        padding: 0\n        //getConfig().flowchart.padding\n      };\n      graphItemCount++;\n      const parentNodeId = itemId + PARENT_ID;\n      g.setNode(parentNodeId, groupData);\n      g.setNode(noteData.id, noteData);\n      g.setNode(itemId, nodeData);\n      g.setParent(itemId, parentNodeId);\n      g.setParent(noteData.id, parentNodeId);\n      let from = itemId;\n      let to = noteData.id;\n      if (parsedItem.note.position === \"left of\") {\n        from = noteData.id;\n        to = itemId;\n      }\n      g.setEdge(from, to, {\n        arrowhead: \"none\",\n        arrowType: \"\",\n        style: G_EDGE_STYLE,\n        labelStyle: \"\",\n        classes: CSS_EDGE_NOTE_EDGE,\n        arrowheadStyle: G_EDGE_ARROWHEADSTYLE,\n        labelpos: G_EDGE_LABELPOS,\n        labelType: G_EDGE_LABELTYPE,\n        thickness: G_EDGE_THICKNESS\n      });\n    } else {\n      g.setNode(itemId, nodeData);\n    }\n  }\n  if (parent && parent.id !== \"root\") {\n    log.trace(\"Setting node \", itemId, \" to be child of its parent \", parent.id);\n    g.setParent(itemId, parent.id);\n  }\n  if (parsedItem.doc) {\n    log.trace(\"Adding nodes children \");\n    setupDoc(g, parsedItem, parsedItem.doc, diagramStates, diagramDb, !altFlag);\n  }\n};\nconst setupDoc = (g, parentParsedItem, doc, diagramStates, diagramDb, altFlag) => {\n  log.trace(\"items\", doc);\n  doc.forEach((item) => {\n    switch (item.stmt) {\n      case STMT_STATE:\n        setupNode(g, parentParsedItem, item, diagramStates, diagramDb, altFlag);\n        break;\n      case DEFAULT_STATE_TYPE:\n        setupNode(g, parentParsedItem, item, diagramStates, diagramDb, altFlag);\n        break;\n      case STMT_RELATION:\n        {\n          setupNode(g, parentParsedItem, item.state1, diagramStates, diagramDb, altFlag);\n          setupNode(g, parentParsedItem, item.state2, diagramStates, diagramDb, altFlag);\n          const edgeData = {\n            id: \"edge\" + graphItemCount,\n            arrowhead: \"normal\",\n            arrowTypeEnd: \"arrow_barb\",\n            style: G_EDGE_STYLE,\n            labelStyle: \"\",\n            label: common.sanitizeText(item.description, getConfig()),\n            arrowheadStyle: G_EDGE_ARROWHEADSTYLE,\n            labelpos: G_EDGE_LABELPOS,\n            labelType: G_EDGE_LABELTYPE,\n            thickness: G_EDGE_THICKNESS,\n            classes: CSS_EDGE\n          };\n          g.setEdge(item.state1.id, item.state2.id, edgeData, graphItemCount);\n          graphItemCount++;\n        }\n        break;\n    }\n  });\n};\nconst getDir = (parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {\n  let dir = defaultDir;\n  if (parsedItem.doc) {\n    for (let i = 0; i < parsedItem.doc.length; i++) {\n      const parsedItemDoc = parsedItem.doc[i];\n      if (parsedItemDoc.stmt === \"dir\") {\n        dir = parsedItemDoc.value;\n      }\n    }\n  }\n  return dir;\n};\nconst draw = async function(text, id, _version, diag) {\n  log.info(\"Drawing state diagram (v2)\", id);\n  nodeDb = {};\n  diag.db.getDirection();\n  const { securityLevel, state: conf } = getConfig();\n  const nodeSpacing = conf.nodeSpacing || 50;\n  const rankSpacing = conf.rankSpacing || 50;\n  log.info(diag.db.getRootDocV2());\n  diag.db.extract(diag.db.getRootDocV2());\n  log.info(diag.db.getRootDocV2());\n  const diagramStates = diag.db.getStates();\n  const g = new graphlib.Graph({\n    multigraph: true,\n    compound: true\n  }).setGraph({\n    rankdir: getDir(diag.db.getRootDocV2()),\n    nodesep: nodeSpacing,\n    ranksep: rankSpacing,\n    marginx: 8,\n    marginy: 8\n  }).setDefaultEdgeLabel(function() {\n    return {};\n  });\n  setupNode(g, void 0, diag.db.getRootDocV2(), diagramStates, diag.db, true);\n  let sandboxElement;\n  if (securityLevel === \"sandbox\") {\n    sandboxElement = select(\"#i\" + id);\n  }\n  const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n  const svg = root.select(`[id=\"${id}\"]`);\n  const element = root.select(\"#\" + id + \" g\");\n  await render(element, g, [\"barb\"], CSS_DIAGRAM, id);\n  const padding = 8;\n  utils.insertTitle(svg, \"statediagramTitleText\", conf.titleTopMargin, diag.db.getDiagramTitle());\n  const bounds = svg.node().getBBox();\n  const width = bounds.width + padding * 2;\n  const height = bounds.height + padding * 2;\n  svg.attr(\"class\", CSS_DIAGRAM);\n  const svgBounds = svg.node().getBBox();\n  configureSvgSize(svg, height, width, conf.useMaxWidth);\n  const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`;\n  log.debug(`viewBox ${vBox}`);\n  svg.attr(\"viewBox\", vBox);\n  const labels = document.querySelectorAll('[id=\"' + id + '\"] .edgeLabel .label');\n  for (const label of labels) {\n    const dim = label.getBBox();\n    const rect = document.createElementNS(\"http://www.w3.org/2000/svg\", SHAPE_STATE);\n    rect.setAttribute(\"rx\", 0);\n    rect.setAttribute(\"ry\", 0);\n    rect.setAttribute(\"width\", dim.width);\n    rect.setAttribute(\"height\", dim.height);\n    label.insertBefore(rect, label.firstChild);\n  }\n};\nconst renderer = {\n  setConf,\n  getClasses,\n  draw\n};\nconst diagram = {\n  parser,\n  db,\n  renderer,\n  styles,\n  init: (cnf) => {\n    if (!cnf.state) {\n      cnf.state = {};\n    }\n    cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n    db.clear();\n  }\n};\nexport {\n  diagram\n};\n"],"names":["SHAPE_STATE","SHAPE_STATE_WITH_DESC","SHAPE_START","SHAPE_END","SHAPE_DIVIDER","SHAPE_GROUP","SHAPE_NOTE","SHAPE_NOTEGROUP","CSS_DIAGRAM","CSS_STATE","CSS_DIAGRAM_STATE","CSS_EDGE","CSS_NOTE","CSS_NOTE_EDGE","CSS_EDGE_NOTE_EDGE","CSS_DIAGRAM_NOTE","CSS_CLUSTER","CSS_DIAGRAM_CLUSTER","CSS_CLUSTER_ALT","CSS_DIAGRAM_CLUSTER_ALT","PARENT","NOTE","DOMID_STATE","DOMID_TYPE_SPACER","NOTE_ID","PARENT_ID","G_EDGE_STYLE","G_EDGE_ARROWHEADSTYLE","G_EDGE_LABELPOS","G_EDGE_LABELTYPE","G_EDGE_THICKNESS","nodeDb","graphItemCount","setConf","cnf","keys","key","getClasses","text","diagramObj","getClassesFromDbInfo","dbInfoItem","stateDomId","itemId","counter","type","typeSpacer","typeStr","setupNode","g","parent","parsedItem","diagramStates","diagramDb","altFlag","classStr","shape","DEFAULT_STATE_TYPE","common","getConfig","newNode","log","getDir","DIVIDER_TYPE","nodeData","noteData","groupData","parentNodeId","from","to","setupDoc","parentParsedItem","doc","item","STMT_STATE","STMT_RELATION","edgeData","defaultDir","DEFAULT_NESTED_DOC_DIR","dir","i","parsedItemDoc","draw","id","_version","diag","securityLevel","conf","nodeSpacing","rankSpacing","graphlib.Graph","sandboxElement","select","root","svg","element","render","padding","utils","bounds","width","height","svgBounds","configureSvgSize","vBox","labels","label","dim","rect","renderer","diagram","parser","db","styles"],"mappings":"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","x_google_ignoreList":[0]}

Zerion Mini Shell 1.0