{"version":3,"file":"cynefinDiagram-MW4NZA55-BZPh7wE3.chunk.mjs","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/cynefinDiagram-MW4NZA55.mjs"],"sourcesContent":["import {\n  populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n  selectSvgElement\n} from \"./chunk-3NCLNEKW.mjs\";\nimport {\n  cleanAndMerge\n} from \"./chunk-NSK5VX7P.mjs\";\nimport {\n  clear,\n  configureSvgSize,\n  defaultConfig_default,\n  getAccDescription,\n  getAccTitle,\n  getConfig,\n  getDiagramTitle,\n  getThemeVariables,\n  setAccDescription,\n  setAccTitle,\n  setDiagramTitle\n} from \"./chunk-I66GZJ75.mjs\";\nimport {\n  log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n  __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/cynefin/cynefinParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/cynefin/cynefinDb.ts\nvar createDefaultData = /* @__PURE__ */ __name(() => ({\n  domains: /* @__PURE__ */ new Map(),\n  transitions: []\n}), \"createDefaultData\");\nvar data = createDefaultData();\nvar getDomains = /* @__PURE__ */ __name(() => data.domains, \"getDomains\");\nvar getTransitions = /* @__PURE__ */ __name(() => data.transitions, \"getTransitions\");\nvar setDomains = /* @__PURE__ */ __name((blocks) => {\n  if (!blocks) {\n    return;\n  }\n  for (const block of blocks) {\n    const domainName = block.domain;\n    const items = (block.items ?? []).map((item) => ({\n      label: item.label\n    }));\n    data.domains.set(domainName, {\n      name: domainName,\n      items\n    });\n  }\n}, \"setDomains\");\nvar setTransitions = /* @__PURE__ */ __name((transitions) => {\n  if (!transitions) {\n    return;\n  }\n  data.transitions = transitions.filter((t) => {\n    if (t.from === t.to) {\n      log.warn(\n        `Cynefin: self-loop transition on domain \"${t.from}\" is not meaningful and will be skipped.`\n      );\n      return false;\n    }\n    return true;\n  }).map((t) => ({\n    from: t.from,\n    to: t.to,\n    label: t.label || void 0\n  }));\n}, \"setTransitions\");\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n  return cleanAndMerge({\n    ...defaultConfig_default.cynefin,\n    ...getConfig().cynefin\n  });\n}, \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n  clear();\n  data = createDefaultData();\n}, \"clear\");\nvar db = {\n  getDomains,\n  getTransitions,\n  setDomains,\n  setTransitions,\n  getConfig: getConfig2,\n  clear: clear2,\n  setAccTitle,\n  getAccTitle,\n  setDiagramTitle,\n  getDiagramTitle,\n  getAccDescription,\n  setAccDescription\n};\n\n// src/diagrams/cynefin/cynefinParser.ts\nvar populate = /* @__PURE__ */ __name((ast) => {\n  populateCommonDb(ast, db);\n  db.setDomains(ast.domains);\n  db.setTransitions(ast.transitions);\n}, \"populate\");\nvar parser = {\n  parse: /* @__PURE__ */ __name(async (input) => {\n    const ast = await parse(\"cynefin\", input);\n    log.debug(ast);\n    populate(ast);\n  }, \"parse\")\n};\n\n// src/diagrams/cynefin/cynefinBoundaries.ts\nfunction seededRandom(seed) {\n  let t = seed + 1831565813 | 0;\n  t = Math.imul(t ^ t >>> 15, t | 1);\n  t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n  return ((t ^ t >>> 14) >>> 0) / 4294967296;\n}\n__name(seededRandom, \"seededRandom\");\nfunction hashString(str) {\n  let hash = 0;\n  for (let i = 0; i < str.length; i++) {\n    const ch = str.charCodeAt(i);\n    hash = (hash << 5) - hash + ch;\n    hash |= 0;\n  }\n  return hash;\n}\n__name(hashString, \"hashString\");\nfunction resolveSeed(configuredSeed, id) {\n  if (typeof configuredSeed === \"number\" && Number.isFinite(configuredSeed) && configuredSeed !== 0) {\n    return configuredSeed;\n  }\n  return hashString(id);\n}\n__name(resolveSeed, \"resolveSeed\");\nfunction generateFoldPath(width, height, seed, amplitudeOverride) {\n  const cx = width / 2;\n  const amplitude = amplitudeOverride ?? width * 0.015;\n  const segments = 7;\n  const segHeight = height / segments;\n  const points = [];\n  for (let i = 0; i <= segments; i++) {\n    const jitter = seededRandom(seed + i * 17) * amplitude * 2 - amplitude;\n    points.push({ x: cx + jitter, y: i * segHeight });\n  }\n  let d = `M${points[0].x},${points[0].y}`;\n  for (let i = 0; i < points.length - 1; i++) {\n    const p0 = points[i];\n    const p1 = points[i + 1];\n    const midY = (p0.y + p1.y) / 2;\n    const dir = i % 2 === 0 ? 1 : -1;\n    const offset = amplitude * 1.5 * dir * seededRandom(seed + i * 31 + 7);\n    const cp1x = p0.x + offset;\n    const cp1y = midY;\n    const cp2x = p1.x - offset;\n    const cp2y = midY;\n    d += ` C${cp1x},${cp1y} ${cp2x},${cp2y} ${p1.x},${p1.y}`;\n  }\n  return d;\n}\n__name(generateFoldPath, \"generateFoldPath\");\nfunction generateHorizontalBoundary(width, height, seed, amplitudeOverride) {\n  const cy = height / 2;\n  const amplitude = amplitudeOverride ?? height * 0.015;\n  const segments = 7;\n  const segWidth = width / segments;\n  const points = [];\n  for (let i = 0; i <= segments; i++) {\n    const jitter = seededRandom(seed + i * 23) * amplitude * 2 - amplitude;\n    points.push({ x: i * segWidth, y: cy + jitter });\n  }\n  let d = `M${points[0].x},${points[0].y}`;\n  for (let i = 0; i < points.length - 1; i++) {\n    const p0 = points[i];\n    const p1 = points[i + 1];\n    const midX = (p0.x + p1.x) / 2;\n    const dir = i % 2 === 0 ? 1 : -1;\n    const offset = amplitude * 1.5 * dir * seededRandom(seed + i * 37 + 11);\n    const cp1x = midX;\n    const cp1y = p0.y + offset;\n    const cp2x = midX;\n    const cp2y = p1.y - offset;\n    d += ` C${cp1x},${cp1y} ${cp2x},${cp2y} ${p1.x},${p1.y}`;\n  }\n  return d;\n}\n__name(generateHorizontalBoundary, \"generateHorizontalBoundary\");\nfunction generateCliffPath(width, height) {\n  const cx = width / 2;\n  const topY = height * 0.5;\n  const bottomY = height;\n  const amplitude = width * 0.03;\n  return [\n    `M${cx},${topY}`,\n    `C${cx + amplitude},${topY + (bottomY - topY) * 0.2}`,\n    `${cx - amplitude * 1.5},${topY + (bottomY - topY) * 0.55}`,\n    `${cx + amplitude * 0.5},${topY + (bottomY - topY) * 0.75}`,\n    `C${cx - amplitude},${topY + (bottomY - topY) * 0.85}`,\n    `${cx + amplitude * 0.3},${topY + (bottomY - topY) * 0.95}`,\n    `${cx},${bottomY}`\n  ].join(\" \");\n}\n__name(generateCliffPath, \"generateCliffPath\");\nfunction generateConfusionPath(cx, cy, rx, ry) {\n  return [\n    `M${cx - rx},${cy}`,\n    `A${rx},${ry} 0 1,1 ${cx + rx},${cy}`,\n    `A${rx},${ry} 0 1,1 ${cx - rx},${cy}`,\n    \"Z\"\n  ].join(\" \");\n}\n__name(generateConfusionPath, \"generateConfusionPath\");\n\n// src/diagrams/cynefin/cynefinRenderer.ts\nvar DOMAIN_META = {\n  complex: { model: \"Probe \\u2192 Sense \\u2192 Respond\", practice: \"Emergent Practices\" },\n  complicated: { model: \"Sense \\u2192 Analyse \\u2192 Respond\", practice: \"Good Practices\" },\n  clear: { model: \"Sense \\u2192 Categorise \\u2192 Respond\", practice: \"Best Practices\" },\n  chaotic: { model: \"Act \\u2192 Sense \\u2192 Respond\", practice: \"Novel Practices\" },\n  confusion: { model: \"\", practice: \"Disorder\" }\n};\nvar getDomainLayouts = /* @__PURE__ */ __name((width, height) => {\n  const hw = width / 2;\n  const hh = height / 2;\n  return {\n    complex: { cx: hw / 2, cy: hh / 2, x: 0, y: 0, w: hw, h: hh },\n    complicated: { cx: hw + hw / 2, cy: hh / 2, x: hw, y: 0, w: hw, h: hh },\n    chaotic: { cx: hw / 2, cy: hh + hh / 2, x: 0, y: hh, w: hw, h: hh },\n    clear: { cx: hw + hw / 2, cy: hh + hh / 2, x: hw, y: hh, w: hw, h: hh },\n    confusion: { cx: hw, cy: hh, x: hw * 0.7, y: hh * 0.7, w: hw * 0.6, h: hh * 0.6 }\n  };\n}, \"getDomainLayouts\");\nvar getCynefinDomainColors = /* @__PURE__ */ __name(() => {\n  const defaultThemeVariables = getThemeVariables();\n  const currentConfig = getConfig();\n  const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n  return themeVariables.cynefin;\n}, \"getCynefinDomainColors\");\nvar MAX_CONFUSION_ITEMS = 3;\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n  const db2 = diagram2.db;\n  const domains = db2.getDomains();\n  const transitions = db2.getTransitions();\n  const title = db2.getDiagramTitle();\n  const accTitle = db2.getAccTitle();\n  const accDescription = db2.getAccDescription();\n  const config = db2.getConfig();\n  const domainColors = getCynefinDomainColors();\n  log.debug(\"Rendering Cynefin diagram\");\n  const width = config.width;\n  const height = config.height;\n  const padding = config.padding;\n  const showDomainDescriptions = config.showDomainDescriptions;\n  const boundaryAmplitude = config.boundaryAmplitude;\n  const totalWidth = width + padding * 2;\n  const totalHeight = height + padding * 2;\n  const domainBg = {\n    complex: domainColors.complexBg,\n    complicated: domainColors.complicatedBg,\n    clear: domainColors.clearBg,\n    chaotic: domainColors.chaoticBg,\n    confusion: domainColors.confusionBg\n  };\n  const svg = selectSvgElement(id);\n  configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);\n  svg.attr(\"viewBox\", `0 0 ${totalWidth} ${totalHeight}`);\n  if (accTitle) {\n    svg.append(\"title\").text(accTitle);\n  }\n  if (accDescription) {\n    svg.append(\"desc\").text(accDescription);\n  }\n  const root = svg.append(\"g\").attr(\"transform\", `translate(${padding}, ${padding})`);\n  const layouts = getDomainLayouts(width, height);\n  const seed = resolveSeed(config.seed, id);\n  const bgGroup = root.append(\"g\").attr(\"class\", \"cynefin-backgrounds\");\n  const quadrantDomains = [\"complex\", \"complicated\", \"chaotic\", \"clear\"];\n  for (const domainName of quadrantDomains) {\n    const layout = layouts[domainName];\n    bgGroup.append(\"rect\").attr(\"class\", \"cynefinDomain\").attr(\"x\", layout.x).attr(\"y\", layout.y).attr(\"width\", layout.w).attr(\"height\", layout.h).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.4).attr(\"stroke\", \"none\");\n  }\n  const boundaryGroup = root.append(\"g\").attr(\"class\", \"cynefin-boundaries\");\n  boundaryGroup.append(\"path\").attr(\"class\", \"cynefinBoundary\").attr(\"d\", generateFoldPath(width, height, seed, boundaryAmplitude)).attr(\"fill\", \"none\");\n  boundaryGroup.append(\"path\").attr(\"class\", \"cynefinBoundary\").attr(\"d\", generateHorizontalBoundary(width, height, seed + 100, boundaryAmplitude)).attr(\"fill\", \"none\");\n  boundaryGroup.append(\"path\").attr(\"class\", \"cynefinCliff\").attr(\"d\", generateCliffPath(width, height)).attr(\"fill\", \"none\");\n  const confusionRx = width * 0.15;\n  const confusionRy = height * 0.15;\n  root.append(\"path\").attr(\"class\", \"cynefinConfusion\").attr(\"d\", generateConfusionPath(width / 2, height / 2, confusionRx, confusionRy)).attr(\"fill\", domainBg.confusion).attr(\"fill-opacity\", 0.5);\n  const labelGroup = root.append(\"g\").attr(\"class\", \"cynefin-labels\");\n  for (const domainName of quadrantDomains) {\n    const layout = layouts[domainName];\n    labelGroup.append(\"text\").attr(\"class\", \"cynefinDomainLabel\").attr(\"x\", layout.cx).attr(\"y\", showDomainDescriptions ? layout.cy - 30 : layout.cy).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(domainName.charAt(0).toUpperCase() + domainName.slice(1));\n  }\n  labelGroup.append(\"text\").attr(\"class\", \"cynefinDomainLabel\").attr(\"x\", width / 2).attr(\"y\", showDomainDescriptions ? height / 2 - 10 : height / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(\"Confusion\");\n  if (showDomainDescriptions) {\n    const subtitleGroup = root.append(\"g\").attr(\"class\", \"cynefin-subtitles\");\n    for (const domainName of quadrantDomains) {\n      const layout = layouts[domainName];\n      const meta = DOMAIN_META[domainName];\n      subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", layout.cx).attr(\"y\", layout.cy - 10).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(meta.model);\n      subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", layout.cx).attr(\"y\", layout.cy + 5).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(meta.practice);\n    }\n    subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", width / 2).attr(\"y\", height / 2 + 8).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(DOMAIN_META.confusion.practice);\n  }\n  const itemGroup = root.append(\"g\").attr(\"class\", \"cynefin-items\");\n  const itemHeight = 26;\n  const itemPaddingX = 10;\n  const allDomains = [\"complex\", \"complicated\", \"chaotic\", \"clear\", \"confusion\"];\n  for (const domainName of allDomains) {\n    const domain = domains.get(domainName);\n    if (!domain || domain.items.length === 0) {\n      continue;\n    }\n    const layout = layouts[domainName];\n    const isConfusion = domainName === \"confusion\";\n    let itemsToRender = domain.items;\n    let overflowCount = 0;\n    if (isConfusion && domain.items.length > MAX_CONFUSION_ITEMS) {\n      overflowCount = domain.items.length - MAX_CONFUSION_ITEMS;\n      itemsToRender = domain.items.slice(0, MAX_CONFUSION_ITEMS);\n    }\n    let startY;\n    if (isConfusion) {\n      const labelOffset = showDomainDescriptions ? 22 : 14;\n      startY = layout.cy + labelOffset;\n    } else {\n      startY = layout.cy + (showDomainDescriptions ? 25 : 15);\n    }\n    [...itemsToRender].forEach((item, idx) => {\n      const itemY = startY + idx * (itemHeight + 4);\n      const g = itemGroup.append(\"g\");\n      const textEl = g.append(\"text\").attr(\"class\", \"cynefinItemText\").attr(\"x\", 0).attr(\"y\", itemHeight / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"central\").text(item.label);\n      let measuredWidth = item.label.length * 7;\n      const textNode = textEl.node();\n      if (textNode && typeof textNode.getBBox === \"function\") {\n        const bbox = textNode.getBBox();\n        if (bbox.width > 0) {\n          measuredWidth = bbox.width;\n        }\n      }\n      const badgeWidth = measuredWidth + itemPaddingX * 2;\n      const itemX = layout.cx - badgeWidth / 2;\n      g.attr(\"transform\", `translate(${itemX}, ${itemY})`);\n      g.insert(\"rect\", \"text\").attr(\"class\", \"cynefinItem\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", badgeWidth).attr(\"height\", itemHeight).attr(\"rx\", 4).attr(\"ry\", 4).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.95);\n      textEl.attr(\"x\", badgeWidth / 2).attr(\"y\", itemHeight / 2);\n    });\n    if (overflowCount > 0) {\n      const overflowY = startY + itemsToRender.length * (itemHeight + 4);\n      const overflowLabel = `+${overflowCount} more`;\n      const g = itemGroup.append(\"g\");\n      const textEl = g.append(\"text\").attr(\"class\", \"cynefinItemText\").attr(\"x\", 0).attr(\"y\", itemHeight / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"central\").text(overflowLabel);\n      let measuredWidth = overflowLabel.length * 7;\n      const textNode = textEl.node();\n      if (textNode && typeof textNode.getBBox === \"function\") {\n        const bbox = textNode.getBBox();\n        if (bbox.width > 0) {\n          measuredWidth = bbox.width;\n        }\n      }\n      const badgeWidth = measuredWidth + itemPaddingX * 2;\n      const itemX = layout.cx - badgeWidth / 2;\n      g.attr(\"transform\", `translate(${itemX}, ${overflowY})`);\n      g.insert(\"rect\", \"text\").attr(\"class\", \"cynefinItemOverflow\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", badgeWidth).attr(\"height\", itemHeight).attr(\"rx\", 4).attr(\"ry\", 4).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.6);\n      textEl.attr(\"x\", badgeWidth / 2).attr(\"y\", itemHeight / 2);\n    }\n  }\n  if (transitions.length > 0) {\n    const defs = svg.select(\"defs\").empty() ? svg.append(\"defs\") : svg.select(\"defs\");\n    const markerId = `cynefin-arrow-${id}`;\n    defs.append(\"marker\").attr(\"id\", markerId).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerWidth\", 6).attr(\"markerHeight\", 6).attr(\"orient\", \"auto-start-reverse\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\").attr(\"class\", \"cynefinArrowHead\");\n    const arrowGroup = root.append(\"g\").attr(\"class\", \"cynefin-arrows\");\n    transitions.forEach((transition) => {\n      const fromLayout = layouts[transition.from];\n      const toLayout = layouts[transition.to];\n      if (!fromLayout || !toLayout) {\n        return;\n      }\n      if (transition.from === transition.to) {\n        log.warn(`Cynefin renderer: skipping self-loop on domain \"${transition.from}\"`);\n        return;\n      }\n      const x1 = fromLayout.cx;\n      const y1 = fromLayout.cy;\n      const x2 = toLayout.cx;\n      const y2 = toLayout.cy;\n      const mx = (x1 + x2) / 2;\n      const my = (y1 + y2) / 2;\n      const dx = x2 - x1;\n      const dy = y2 - y1;\n      const len = Math.sqrt(dx * dx + dy * dy);\n      const offsetAmount = len * 0.15;\n      const nx = -dy / len;\n      const ny = dx / len;\n      const cpx = mx + nx * offsetAmount;\n      const cpy = my + ny * offsetAmount;\n      arrowGroup.append(\"path\").attr(\"class\", \"cynefinArrowLine\").attr(\"d\", `M${x1},${y1} Q${cpx},${cpy} ${x2},${y2}`).attr(\"fill\", \"none\").attr(\"marker-end\", `url(#${markerId})`);\n      if (transition.label) {\n        arrowGroup.append(\"text\").attr(\"class\", \"cynefinArrowLabel\").attr(\"x\", cpx).attr(\"y\", cpy - 6).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"auto\").text(transition.label);\n      }\n    });\n  }\n  if (title) {\n    root.append(\"text\").attr(\"class\", \"cynefinTitle\").attr(\"x\", width / 2).attr(\"y\", -padding / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(title);\n  }\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/cynefin/styles.ts\nvar getCynefinTheme = /* @__PURE__ */ __name(() => {\n  const defaultThemeVariables = getThemeVariables();\n  const currentConfig = getConfig();\n  const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n  return themeVariables.cynefin;\n}, \"getCynefinTheme\");\nvar styles = /* @__PURE__ */ __name(() => {\n  const t = getCynefinTheme();\n  return `\n\t.cynefinDomain {\n\t\tstroke: none;\n\t}\n\t.cynefinDomainLabel {\n\t\tfont-size: ${t.domainFontSize}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t.cynefinSubtitle {\n\t\tfont-size: ${t.itemFontSize - 1}px;\n\t\tfill: ${t.textColor};\n\t\tfont-style: italic;\n\t}\n\t.cynefinItem {\n\t\tfill-opacity: 0.95;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t}\n\t.cynefinItemText {\n\t\tfont-size: ${t.itemFontSize}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinItemOverflow {\n\t\tfill-opacity: 0.6;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t\tstroke-dasharray: 3 2;\n\t}\n\t.cynefinBoundary {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: ${t.boundaryWidth};\n\t\tstroke-dasharray: 6 3;\n\t}\n\t.cynefinCliff {\n\t\tstroke: ${t.cliffColor};\n\t\tstroke-width: ${t.cliffWidth};\n\t}\n\t.cynefinConfusion {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1.5;\n\t\tstroke-dasharray: 4 2;\n\t}\n\t.cynefinArrowLine {\n\t\tstroke: ${t.arrowColor};\n\t\tstroke-width: ${t.arrowWidth};\n\t\tfill: none;\n\t}\n\t.cynefinArrowHead {\n\t\tfill: ${t.arrowColor};\n\t\tstroke: none;\n\t}\n\t.cynefinArrowLabel {\n\t\tfont-size: ${t.itemFontSize - 1}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinTitle {\n\t\tfont-size: ${t.domainFontSize + 2}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t`;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/cynefin/cynefinDiagram.ts\nvar diagram = {\n  parser,\n  db,\n  renderer,\n  styles: styles_default\n};\nexport {\n  diagram\n};\n"],"names":["createDefaultData","__name","data","getDomains","getTransitions","setDomains","blocks","block","domainName","items","item","setTransitions","transitions","t","log","getConfig2","cleanAndMerge","defaultConfig_default","getConfig","clear2","clear","db","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","populate","ast","populateCommonDb","parser","input","parse","seededRandom","seed","hashString","str","hash","i","ch","resolveSeed","configuredSeed","id","generateFoldPath","width","height","amplitudeOverride","cx","amplitude","segments","segHeight","points","jitter","d","p0","p1","midY","dir","offset","cp1x","cp1y","cp2x","generateHorizontalBoundary","cy","segWidth","midX","cp2y","generateCliffPath","topY","bottomY","generateConfusionPath","rx","ry","DOMAIN_META","getDomainLayouts","hw","hh","getCynefinDomainColors","defaultThemeVariables","getThemeVariables","currentConfig","MAX_CONFUSION_ITEMS","draw","_text","_version","diagram2","db2","domains","title","accTitle","accDescription","config","domainColors","padding","showDomainDescriptions","boundaryAmplitude","totalWidth","totalHeight","domainBg","svg","selectSvgElement","configureSvgSize","root","layouts","bgGroup","quadrantDomains","layout","boundaryGroup","confusionRx","confusionRy","labelGroup","subtitleGroup","meta","itemGroup","itemHeight","itemPaddingX","allDomains","domain","isConfusion","itemsToRender","overflowCount","startY","labelOffset","idx","itemY","g","textEl","measuredWidth","textNode","bbox","badgeWidth","itemX","overflowY","overflowLabel","defs","markerId","arrowGroup","transition","fromLayout","toLayout","x1","y1","x2","y2","mx","my","dx","dy","len","offsetAmount","nx","ny","cpx","cpy","renderer","getCynefinTheme","styles","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}