cc-viewer 1.6.261 → 1.6.263

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 (83) hide show
  1. package/README.md +80 -81
  2. package/cli.js +1 -0
  3. package/dist/assets/{App-Co-5BI9q.js → App-CX6bF6ke.js} +1 -1
  4. package/dist/assets/{MdxEditorPanel-DFNyQW6b.js → MdxEditorPanel--reKHew0.js} +1 -1
  5. package/dist/assets/{Mobile-DwYIskc6.js → Mobile-YwIGAQWc.js} +1 -1
  6. package/dist/assets/{_baseUniq-DGKwdzTD.js → _baseUniq-DiLy7vi3.js} +1 -1
  7. package/dist/assets/{arc-nTLBi2ib.js → arc-CAB2oIHx.js} +1 -1
  8. package/dist/assets/{architectureDiagram-Q4EWVU46-pWWvthzV.js → architectureDiagram-Q4EWVU46-Cijl_JpW.js} +1 -1
  9. package/dist/assets/{blockDiagram-DXYQGD6D-CpU6v2gv.js → blockDiagram-DXYQGD6D-Bk4yWCPQ.js} +1 -1
  10. package/dist/assets/{c4Diagram-AHTNJAMY-zdTsx1jJ.js → c4Diagram-AHTNJAMY-Vz4JKuzi.js} +1 -1
  11. package/dist/assets/{channel-Cq1UANGu.js → channel-BnYKz_zI.js} +1 -1
  12. package/dist/assets/{chunk-4BX2VUAB-D6w9m5kB.js → chunk-4BX2VUAB-DM3ZjqKX.js} +1 -1
  13. package/dist/assets/{chunk-4TB4RGXK-DjZZc11c.js → chunk-4TB4RGXK-BTiJOoNa.js} +1 -1
  14. package/dist/assets/{chunk-55IACEB6-Cw2U09Tu.js → chunk-55IACEB6-B4fMQcTE.js} +1 -1
  15. package/dist/assets/{chunk-EDXVE4YY-Cv-G70H7.js → chunk-EDXVE4YY-B_WylnyS.js} +1 -1
  16. package/dist/assets/{chunk-FMBD7UC4-Dykxux6b.js → chunk-FMBD7UC4-Cx2lqZi9.js} +1 -1
  17. package/dist/assets/{chunk-OYMX7WX6-Cn9oAaEC.js → chunk-OYMX7WX6-CPZm7o6V.js} +1 -1
  18. package/dist/assets/{chunk-QZHKN3VN-CA1IccbG.js → chunk-QZHKN3VN-DuYVzv7E.js} +1 -1
  19. package/dist/assets/{chunk-YZCP3GAM-CbReBNg5.js → chunk-YZCP3GAM-Bk3OysLK.js} +1 -1
  20. package/dist/assets/classDiagram-6PBFFD2Q-CeAAXpgl.js +1 -0
  21. package/dist/assets/classDiagram-v2-HSJHXN6E-CeAAXpgl.js +1 -0
  22. package/dist/assets/clone-BcGHaFBY.js +1 -0
  23. package/dist/assets/{cose-bilkent-S5V4N54A-TwxpCIwM.js → cose-bilkent-S5V4N54A-CQuaqKHt.js} +1 -1
  24. package/dist/assets/{dagre-KV5264BT-CxuHKd9a.js → dagre-KV5264BT-BFdoRcuo.js} +1 -1
  25. package/dist/assets/{diagram-5BDNPKRD-BzR9Peib.js → diagram-5BDNPKRD-ByFdSFIu.js} +1 -1
  26. package/dist/assets/{diagram-G4DWMVQ6-PWFXrQqF.js → diagram-G4DWMVQ6-C1TcKWp0.js} +1 -1
  27. package/dist/assets/{diagram-MMDJMWI5-CqnrwtNB.js → diagram-MMDJMWI5-B5N1Sn5F.js} +1 -1
  28. package/dist/assets/{diagram-TYMM5635-Do2MhBCf.js → diagram-TYMM5635-B-payI0e.js} +1 -1
  29. package/dist/assets/{erDiagram-SMLLAGMA-CklZI6kO.js → erDiagram-SMLLAGMA-zziefklH.js} +1 -1
  30. package/dist/assets/{flowDiagram-DWJPFMVM-C_SKJN0d.js → flowDiagram-DWJPFMVM-BOSomu1b.js} +1 -1
  31. package/dist/assets/{ganttDiagram-T4ZO3ILL-ChhhqFiR.js → ganttDiagram-T4ZO3ILL-DILUsv0T.js} +1 -1
  32. package/dist/assets/{gitGraphDiagram-UUTBAWPF-HarEJVSI.js → gitGraphDiagram-UUTBAWPF-BKp2DE69.js} +1 -1
  33. package/dist/assets/{graph-BTcI3kpi.js → graph-NObGxitU.js} +1 -1
  34. package/dist/assets/{index-B0NtFDg2.js → index-0aPBVZuP.js} +1 -1
  35. package/dist/assets/{index-B7-pqPyp.js → index-BI-0Lyyt.js} +1 -1
  36. package/dist/assets/{index-CQ579eP2.js → index-BbXZgnby.js} +1 -1
  37. package/dist/assets/{index-BG6Hzhck.js → index-Bq9Sic2n.js} +1 -1
  38. package/dist/assets/{index-NNx0667m.js → index-C88BDuL0.js} +1 -1
  39. package/dist/assets/index-DHUf_c1w.js +2 -0
  40. package/dist/assets/{index-CF0YP7s8.js → index-PsZiLKrC.js} +1 -1
  41. package/dist/assets/{index-Bzp41aRh.js → index-VqFARC4A.js} +1 -1
  42. package/dist/assets/{index-Dzkxj8m_.css → index-_4BCXKKF.css} +1 -1
  43. package/dist/assets/{infoDiagram-42DDH7IO-DOcCtSEj.js → infoDiagram-42DDH7IO-D409o-BL.js} +1 -1
  44. package/dist/assets/{ishikawaDiagram-UXIWVN3A-Crb_pmG4.js → ishikawaDiagram-UXIWVN3A-CMVPOGr3.js} +1 -1
  45. package/dist/assets/{journeyDiagram-VCZTEJTY-BUv2Exj_.js → journeyDiagram-VCZTEJTY-Bl_5WlaZ.js} +1 -1
  46. package/dist/assets/{jszip.min-BuZCDHia.js → jszip.min-C2654z9i.js} +1 -1
  47. package/dist/assets/{kanban-definition-6JOO6SKY-DwSHz9oV.js → kanban-definition-6JOO6SKY-BfCyUP29.js} +1 -1
  48. package/dist/assets/{layout-Dp3N3WRT.js → layout-CgAMa0xE.js} +1 -1
  49. package/dist/assets/{linear-JU5ltHCp.js → linear-J1N1npGr.js} +1 -1
  50. package/dist/assets/{mermaid.core-f1mZHh7u.js → mermaid.core-YnqOkuoS.js} +2 -2
  51. package/dist/assets/{min-CDzial6q.js → min-CowkZam8.js} +1 -1
  52. package/dist/assets/{mindmap-definition-QFDTVHPH-DnhPHplB.js → mindmap-definition-QFDTVHPH-D7yMfot2.js} +1 -1
  53. package/dist/assets/{pieDiagram-DEJITSTG-dMhPj5wG.js → pieDiagram-DEJITSTG-DKUHBCwB.js} +1 -1
  54. package/dist/assets/{quadrantDiagram-34T5L4WZ-GCi1_zHo.js → quadrantDiagram-34T5L4WZ-DhRqBNfT.js} +1 -1
  55. package/dist/assets/{requirementDiagram-MS252O5E-WeErs64x.js → requirementDiagram-MS252O5E-DVE3wKT7.js} +1 -1
  56. package/dist/assets/{sankeyDiagram-XADWPNL6-BKpP6-8Q.js → sankeyDiagram-XADWPNL6-Rn_9b5V_.js} +1 -1
  57. package/dist/assets/seqResourceLoaders-B9D4RGth.js +2 -0
  58. package/dist/assets/{seqResourceLoaders-B8CyM6Ul.css → seqResourceLoaders-DZvMjXCl.css} +2 -2
  59. package/dist/assets/{sequenceDiagram-FGHM5R23-CAC5BKbx.js → sequenceDiagram-FGHM5R23-CemLRaXC.js} +1 -1
  60. package/dist/assets/{stateDiagram-FHFEXIEX-Cxrg604Z.js → stateDiagram-FHFEXIEX-DNT1gAty.js} +1 -1
  61. package/dist/assets/{stateDiagram-v2-QKLJ7IA2-DaUpf340.js → stateDiagram-v2-QKLJ7IA2-DPlMhu-M.js} +1 -1
  62. package/dist/assets/{timeline-definition-GMOUNBTQ-DbvXGDTU.js → timeline-definition-GMOUNBTQ-B-F8vgZN.js} +1 -1
  63. package/dist/assets/{vendor-antd-jGWxgt_-.js → vendor-antd-Dq3DHFa-.js} +1 -1
  64. package/dist/assets/{vendor-codemirror-9gysGjWj.js → vendor-codemirror-DjMkT0sn.js} +1 -1
  65. package/dist/assets/{vendor-mdxeditor-BFiCaYAL.js → vendor-mdxeditor-CrZ9SWce.js} +2 -2
  66. package/dist/assets/{vendor-qrcode-DjZ-VpGR.js → vendor-qrcode-C_77dtHg.js} +1 -1
  67. package/dist/assets/{vendor-virtuoso-DB1J9xKG.js → vendor-virtuoso-aMZPf2fi.js} +1 -1
  68. package/dist/assets/{vennDiagram-DHZGUBPP-BoIw-nWl.js → vennDiagram-DHZGUBPP-K67JHnnN.js} +1 -1
  69. package/dist/assets/{wardley-RL74JXVD-4PjirsHP.js → wardley-RL74JXVD-CCis01LD.js} +1 -1
  70. package/dist/assets/{wardleyDiagram-NUSXRM2D-C8RzJmfU.js → wardleyDiagram-NUSXRM2D-BjqRIOpN.js} +1 -1
  71. package/dist/assets/{xychartDiagram-5P7HB3ND-Ct6fDXwq.js → xychartDiagram-5P7HB3ND-CaXETYTI.js} +1 -1
  72. package/dist/index.html +5 -5
  73. package/lib/ask-bridge.js +19 -1
  74. package/lib/sdk-manager.js +48 -5
  75. package/package.json +1 -1
  76. package/pty-manager.js +1 -1
  77. package/scratch-pty-manager.js +2 -2
  78. package/server.js +110 -11
  79. package/dist/assets/classDiagram-6PBFFD2Q-PgwmelQQ.js +0 -1
  80. package/dist/assets/classDiagram-v2-HSJHXN6E-PgwmelQQ.js +0 -1
  81. package/dist/assets/clone-Dnu1HdEX.js +0 -1
  82. package/dist/assets/index-C6MrFmhs.js +0 -2
  83. package/dist/assets/seqResourceLoaders-80G7f5Kr.js +0 -2
@@ -1 +1 @@
1
- import{$ as LRLanguage,a as LanguageSupport,Y as html,Z as parseMixed,a0 as styleTags,t as tags,aa as javascriptLanguage,a4 as LRParser,a6 as LocalTokenGroup}from"./vendor-codemirror-9gysGjWj.js";import"./vendor-antd-jGWxgt_-.js";const parser=LRParser.deserialize({version:14,states:"%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",stateData:"$g~OjOS~OQROUROkQO~OWTOXUOZUO`VO~OSXOTWO~OXUO[]OlZO~OY^O~O[_O~OT`O~OYaO~OmcOodO~OmfOogO~O^iOnhO~O_jOphO~ObkOqkOrmO~OcnOsnOtmO~OnpO~OppO~ObkOqkOrrO~OcnOsnOtrO~OWX`~",goto:"!^hPPPiPPPPPPPPPmPPPpPPsy!Q!WTROSRe]Re_QSORYSS[T^Rb[QlfRqlQogRso",nodeNames:"⚠ Content Text Interpolation InterpolationContent }} Entity Attribute VueAttributeName : Identifier @ Is ScriptAttributeValue AttributeScript AttributeScript AttributeName AttributeValue Entity Entity",maxTerm:36,nodeProps:[["isolate",-3,3,13,17,""]],skippedNodes:[0],repeatNodeCount:4,tokenData:"'y~RdXY!aYZ!a]^!apq!ars!rwx!w}!O!|!O!P#t!Q![#y![!]$s!_!`%g!b!c%l!c!}#y#R#S#y#T#j#y#j#k%q#k#o#y%W;'S#y;'S;:j$m<%lO#y~!fSj~XY!aYZ!a]^!apq!a~!wOm~~!|Oo~!b#RX`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|!b#qP;=`<%l!|~#yOl~%W$QXY#t`!b}!O!|!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y%W$pP;=`<%l#y~$zXX~`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|~%lO[~~%qOZ~%W%xXY#t`!b}!O&e!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y!b&jX`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|!b'^XW!b`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|",tokenizers:[6,7,new LocalTokenGroup("b~RP#q#rU~XP#q#r[~aOT~~",17,4),new LocalTokenGroup("!k~RQvwX#o#p!_~^TU~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOU~~![P;=`<%lm~!bP#o#p!e~!jOk~~",72,2),new LocalTokenGroup("[~RPwxU~ZOp~~",11,15),new LocalTokenGroup("[~RPrsU~ZOn~~",11,14),new LocalTokenGroup("!e~RQvwXwx!_~^Tc~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOc~~![P;=`<%lm~!dOt~~",66,35),new LocalTokenGroup("!e~RQrsXvw^~^Or~~cTb~Oprq!]r!^;'Sr;'S;=`!^<%lOr~uUOprq!]r!]!^!X!^;'Sr;'S;=`!^<%lOr~!^Ob~~!aP;=`<%lr~",66,33)],topRules:{Content:[0,1],Attribute:[1,7]},tokenPrec:157}),exprParser=javascriptLanguage.parser.configure({top:"SingleExpression"}),baseParser=parser.configure({props:[styleTags({Text:tags.content,Is:tags.definitionOperator,AttributeName:tags.attributeName,VueAttributeName:tags.keyword,Identifier:tags.variableName,"AttributeValue ScriptAttributeValue":tags.attributeValue,Entity:tags.character,"{{ }}":tags.brace,"@ :":tags.punctuation})]}),exprMixed={parser:exprParser},textMixed={parser:baseParser.configure({wrap:parseMixed((node,input)=>"InterpolationContent"==node.name?exprMixed:null)})},attrMixed={parser:baseParser.configure({wrap:parseMixed((node,input)=>"AttributeScript"==node.name?exprMixed:null),top:"Attribute"})},baseHTML=html();function makeVue(base){return base.configure({dialect:"selfClosing",wrap:parseMixed(mixVue)},"vue")}const vueLanguage=makeVue(baseHTML.language);function mixVue(node,input){switch(node.name){case"Attribute":return/^(@|:|v-)/.test(input.read(node.from,node.from+2))?attrMixed:null;case"Text":return textMixed}return null}function vue(config={}){let base=baseHTML;if(config.base){if("html"!=config.base.language.name||!(config.base.language instanceof LRLanguage))throw new RangeError("The base option must be the result of calling html(...)");base=config.base}return new LanguageSupport(base.language==baseHTML.language?vueLanguage:makeVue(base.language),[base.support,base.language.data.of({closeBrackets:{brackets:["{",'"']}})])}export{vue,vueLanguage};
1
+ import{$ as LRLanguage,a as LanguageSupport,Y as html,Z as parseMixed,a0 as styleTags,t as tags,aa as javascriptLanguage,a4 as LRParser,a6 as LocalTokenGroup}from"./vendor-codemirror-DjMkT0sn.js";import"./vendor-antd-Dq3DHFa-.js";const parser=LRParser.deserialize({version:14,states:"%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",stateData:"$g~OjOS~OQROUROkQO~OWTOXUOZUO`VO~OSXOTWO~OXUO[]OlZO~OY^O~O[_O~OT`O~OYaO~OmcOodO~OmfOogO~O^iOnhO~O_jOphO~ObkOqkOrmO~OcnOsnOtmO~OnpO~OppO~ObkOqkOrrO~OcnOsnOtrO~OWX`~",goto:"!^hPPPiPPPPPPPPPmPPPpPPsy!Q!WTROSRe]Re_QSORYSS[T^Rb[QlfRqlQogRso",nodeNames:"⚠ Content Text Interpolation InterpolationContent }} Entity Attribute VueAttributeName : Identifier @ Is ScriptAttributeValue AttributeScript AttributeScript AttributeName AttributeValue Entity Entity",maxTerm:36,nodeProps:[["isolate",-3,3,13,17,""]],skippedNodes:[0],repeatNodeCount:4,tokenData:"'y~RdXY!aYZ!a]^!apq!ars!rwx!w}!O!|!O!P#t!Q![#y![!]$s!_!`%g!b!c%l!c!}#y#R#S#y#T#j#y#j#k%q#k#o#y%W;'S#y;'S;:j$m<%lO#y~!fSj~XY!aYZ!a]^!apq!a~!wOm~~!|Oo~!b#RX`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|!b#qP;=`<%l!|~#yOl~%W$QXY#t`!b}!O!|!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y%W$pP;=`<%l#y~$zXX~`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|~%lO[~~%qOZ~%W%xXY#t`!b}!O&e!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y!b&jX`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|!b'^XW!b`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|",tokenizers:[6,7,new LocalTokenGroup("b~RP#q#rU~XP#q#r[~aOT~~",17,4),new LocalTokenGroup("!k~RQvwX#o#p!_~^TU~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOU~~![P;=`<%lm~!bP#o#p!e~!jOk~~",72,2),new LocalTokenGroup("[~RPwxU~ZOp~~",11,15),new LocalTokenGroup("[~RPrsU~ZOn~~",11,14),new LocalTokenGroup("!e~RQvwXwx!_~^Tc~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOc~~![P;=`<%lm~!dOt~~",66,35),new LocalTokenGroup("!e~RQrsXvw^~^Or~~cTb~Oprq!]r!^;'Sr;'S;=`!^<%lOr~uUOprq!]r!]!^!X!^;'Sr;'S;=`!^<%lOr~!^Ob~~!aP;=`<%lr~",66,33)],topRules:{Content:[0,1],Attribute:[1,7]},tokenPrec:157}),exprParser=javascriptLanguage.parser.configure({top:"SingleExpression"}),baseParser=parser.configure({props:[styleTags({Text:tags.content,Is:tags.definitionOperator,AttributeName:tags.attributeName,VueAttributeName:tags.keyword,Identifier:tags.variableName,"AttributeValue ScriptAttributeValue":tags.attributeValue,Entity:tags.character,"{{ }}":tags.brace,"@ :":tags.punctuation})]}),exprMixed={parser:exprParser},textMixed={parser:baseParser.configure({wrap:parseMixed((node,input)=>"InterpolationContent"==node.name?exprMixed:null)})},attrMixed={parser:baseParser.configure({wrap:parseMixed((node,input)=>"AttributeScript"==node.name?exprMixed:null),top:"Attribute"})},baseHTML=html();function makeVue(base){return base.configure({dialect:"selfClosing",wrap:parseMixed(mixVue)},"vue")}const vueLanguage=makeVue(baseHTML.language);function mixVue(node,input){switch(node.name){case"Attribute":return/^(@|:|v-)/.test(input.read(node.from,node.from+2))?attrMixed:null;case"Text":return textMixed}return null}function vue(config={}){let base=baseHTML;if(config.base){if("html"!=config.base.language.name||!(config.base.language instanceof LRLanguage))throw new RangeError("The base option must be the result of calling html(...)");base=config.base}return new LanguageSupport(base.language==baseHTML.language?vueLanguage:makeVue(base.language),[base.support,base.language.data.of({closeBrackets:{brackets:["{",'"']}})])}export{vue,vueLanguage};
@@ -1 +1 @@
1
- import{a as LanguageSupport,$ as LRLanguage,a1 as indentNodeProp,a2 as delimitedIndent,a3 as foldNodeProp,a9 as foldInside,a0 as styleTags,t as tags,a4 as LRParser}from"./vendor-codemirror-9gysGjWj.js";import"./vendor-antd-jGWxgt_-.js";const spec_Keyword={__proto__:null,anyref:34,dataref:34,eqref:34,externref:34,i31ref:34,funcref:34,i8:34,i16:34,i32:34,i64:34,f32:34,f64:34},parser=LRParser.deserialize({version:14,states:"!^Q]QPOOOqQPO'#CbOOQO'#Cd'#CdOOQO'#Cl'#ClOOQO'#Ch'#ChQ]QPOOOOQO,58|,58|OxQPO,58|OOQO-E6f-E6fOOQO1G.h1G.h",stateData:"!P~O_OSPOSQOS~OTPOVROXROYROZROaQO~OSUO~P]OSXO~P]O",goto:"xaPPPPPPbPbPPPhPPPrXROPTVQTOQVPTWTVXSOPTV",nodeNames:"⚠ LineComment BlockComment Module ) ( App Identifier Type Keyword Number String",maxTerm:17,nodeProps:[["isolate",-3,1,2,11,""],["openedBy",4,"("],["closedBy",5,")"],["group",-6,6,7,8,9,10,11,"Expression"]],skippedNodes:[0,1,2],repeatNodeCount:1,tokenData:"0o~R^XY}YZ}]^}pq}rs!Stu#pxy'Uyz(e{|(j}!O(j!Q!R(s!R![*p!]!^.^#T#o.{~!SO_~~!VVOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j<%lO!S~!qOZ~~!tRO;'S!S;'S;=`!};=`O!S~#QWOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j;=`<%l!S<%lO!S~#mP;=`<%l!S~#siqr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~%giV~qr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~'ZPT~!]!^'^~'aTO!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~'sVOy'^yz(Yz!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~(_OQ~~(bP;=`<%l'^~(jOS~~(mQ!Q!R(s!R![*p~(xUY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){#l#m+[~)aRY~!Q![)j!g!h){#X#Y){~)oSY~!Q![)j!g!h){#R#S*j#X#Y){~*OR{|*X}!O*X!Q![*_~*[P!Q![*_~*dQY~!Q![*_#R#S*X~*mP!Q![)j~*uTY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){~+XP!Q![*p~+_R!Q![+h!c!i+h#T#Z+h~+mVY~!O!P,S!Q![+h!c!i+h!r!s-P#R#S+[#T#Z+h#d#e-P~,XTY~!Q![,h!c!i,h!r!s-P#T#Z,h#d#e-P~,mUY~!Q![,h!c!i,h!r!s-P#R#S.Q#T#Z,h#d#e-P~-ST{|-c}!O-c!Q![-o!c!i-o#T#Z-o~-fR!Q![-o!c!i-o#T#Z-o~-tSY~!Q![-o!c!i-o#R#S-c#T#Z-o~.TR!Q![,h!c!i,h#T#Z,h~.aP!]!^.d~.iSP~OY.dZ;'S.d;'S;=`.u<%lO.d~.xP;=`<%l.d~/QiX~qr.{st.{tu.{uv.{vw.{wx.{z{.{{|.{}!O.{!O!P.{!P!Q.{!Q![.{![!].{!^!_.{!_!`.{!`!a.{!a!b.{!b!c.{!c!}.{#Q#R.{#R#S.{#S#T.{#T#o.{#p#q.{#r#s.{",tokenizers:[0],topRules:{Module:[0,3]},specialized:[{term:9,get:value=>spec_Keyword[value]||-1}],tokenPrec:0}),wastLanguage=LRLanguage.define({name:"wast",parser:parser.configure({props:[indentNodeProp.add({App:delimitedIndent({closing:")",align:!1})}),foldNodeProp.add({App:foldInside,BlockComment:tree=>({from:tree.from+2,to:tree.to-2})}),styleTags({Keyword:tags.keyword,Type:tags.typeName,Number:tags.number,String:tags.string,Identifier:tags.variableName,LineComment:tags.lineComment,BlockComment:tags.blockComment,"( )":tags.paren})]}),languageData:{commentTokens:{line:";;",block:{open:"(;",close:";)"}},closeBrackets:{brackets:["(",'"']}}});function wast(){return new LanguageSupport(wastLanguage)}export{wast,wastLanguage};
1
+ import{a as LanguageSupport,$ as LRLanguage,a1 as indentNodeProp,a2 as delimitedIndent,a3 as foldNodeProp,a9 as foldInside,a0 as styleTags,t as tags,a4 as LRParser}from"./vendor-codemirror-DjMkT0sn.js";import"./vendor-antd-Dq3DHFa-.js";const spec_Keyword={__proto__:null,anyref:34,dataref:34,eqref:34,externref:34,i31ref:34,funcref:34,i8:34,i16:34,i32:34,i64:34,f32:34,f64:34},parser=LRParser.deserialize({version:14,states:"!^Q]QPOOOqQPO'#CbOOQO'#Cd'#CdOOQO'#Cl'#ClOOQO'#Ch'#ChQ]QPOOOOQO,58|,58|OxQPO,58|OOQO-E6f-E6fOOQO1G.h1G.h",stateData:"!P~O_OSPOSQOS~OTPOVROXROYROZROaQO~OSUO~P]OSXO~P]O",goto:"xaPPPPPPbPbPPPhPPPrXROPTVQTOQVPTWTVXSOPTV",nodeNames:"⚠ LineComment BlockComment Module ) ( App Identifier Type Keyword Number String",maxTerm:17,nodeProps:[["isolate",-3,1,2,11,""],["openedBy",4,"("],["closedBy",5,")"],["group",-6,6,7,8,9,10,11,"Expression"]],skippedNodes:[0,1,2],repeatNodeCount:1,tokenData:"0o~R^XY}YZ}]^}pq}rs!Stu#pxy'Uyz(e{|(j}!O(j!Q!R(s!R![*p!]!^.^#T#o.{~!SO_~~!VVOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j<%lO!S~!qOZ~~!tRO;'S!S;'S;=`!};=`O!S~#QWOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j;=`<%l!S<%lO!S~#mP;=`<%l!S~#siqr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~%giV~qr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~'ZPT~!]!^'^~'aTO!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~'sVOy'^yz(Yz!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~(_OQ~~(bP;=`<%l'^~(jOS~~(mQ!Q!R(s!R![*p~(xUY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){#l#m+[~)aRY~!Q![)j!g!h){#X#Y){~)oSY~!Q![)j!g!h){#R#S*j#X#Y){~*OR{|*X}!O*X!Q![*_~*[P!Q![*_~*dQY~!Q![*_#R#S*X~*mP!Q![)j~*uTY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){~+XP!Q![*p~+_R!Q![+h!c!i+h#T#Z+h~+mVY~!O!P,S!Q![+h!c!i+h!r!s-P#R#S+[#T#Z+h#d#e-P~,XTY~!Q![,h!c!i,h!r!s-P#T#Z,h#d#e-P~,mUY~!Q![,h!c!i,h!r!s-P#R#S.Q#T#Z,h#d#e-P~-ST{|-c}!O-c!Q![-o!c!i-o#T#Z-o~-fR!Q![-o!c!i-o#T#Z-o~-tSY~!Q![-o!c!i-o#R#S-c#T#Z-o~.TR!Q![,h!c!i,h#T#Z,h~.aP!]!^.d~.iSP~OY.dZ;'S.d;'S;=`.u<%lO.d~.xP;=`<%l.d~/QiX~qr.{st.{tu.{uv.{vw.{wx.{z{.{{|.{}!O.{!O!P.{!P!Q.{!Q![.{![!].{!^!_.{!_!`.{!`!a.{!a!b.{!b!c.{!c!}.{#Q#R.{#R#S.{#S#T.{#T#o.{#p#q.{#r#s.{",tokenizers:[0],topRules:{Module:[0,3]},specialized:[{term:9,get:value=>spec_Keyword[value]||-1}],tokenPrec:0}),wastLanguage=LRLanguage.define({name:"wast",parser:parser.configure({props:[indentNodeProp.add({App:delimitedIndent({closing:")",align:!1})}),foldNodeProp.add({App:foldInside,BlockComment:tree=>({from:tree.from+2,to:tree.to-2})}),styleTags({Keyword:tags.keyword,Type:tags.typeName,Number:tags.number,String:tags.string,Identifier:tags.variableName,LineComment:tags.lineComment,BlockComment:tags.blockComment,"( )":tags.paren})]}),languageData:{commentTokens:{line:";;",block:{open:"(;",close:";)"}},closeBrackets:{brackets:["(",'"']}}});function wast(){return new LanguageSupport(wastLanguage)}export{wast,wastLanguage};
@@ -1 +1 @@
1
- :root,[data-theme=dark]{--bg-base: #0a0a0a;--bg-base-pure: #000;--bg-base-alt: #0d0d0d;--bg-container: #111;--bg-elevated: #1e1e1e;--bg-surface: #2a2a2a;--bg-code: #14141F;--bg-code-dark: #0d1117;--bg-code-system: #060f2a;--border-primary: #2a2a2a;--border-secondary: #303030;--border-hover: #3a3a3a;--border-light: #444;--border-code: #2a2a3e;--border-code-system: #0b2a5c;--text-primary: #e5e5e5;--text-secondary: #ccc;--text-tertiary: #888;--text-muted: #666;--text-disabled: #555;--text-disabled-faint: rgba(255, 255, 255, .45);--text-white: #fff;--text-gray: #6b7280;--text-light: #aaa;--color-primary: #1668dc;--color-primary-light: #3b82f6;--color-primary-lighter: #60a5fa;--color-primary-pale: #4a9eff;--color-primary-dark: #165bbe;--color-primary-dark-bg: #1e3a5f;--color-primary-bg-light: rgba(22, 104, 220, .15);--color-primary-bg-lighter: rgba(22, 104, 220, .2);--color-primary-bg-medium: rgba(22, 104, 220, .35);--color-primary-bg-faint: rgba(22, 104, 220, .1);--color-primary-shadow: rgba(22, 104, 220, .6);--color-success: #22c55e;--color-success-light: #4ade80;--color-success-dark: #2ea043;--color-success-bg-light: rgba(34, 197, 94, .15);--color-success-bg-medium: rgba(34, 197, 94, .3);--color-error: #ef4444;--color-error-rgb: 239, 68, 68;--color-error-light: #f87171;--color-error-muted: #a33;--color-error-dark-bg: #220000;--color-error-bg-light: rgba(239, 68, 68, .15);--color-error-bg-faint: rgba(239, 68, 68, .1);--color-error-bg-medium: rgba(239, 68, 68, .3);--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark-bg: #2a2000;--color-warning-dark-border: #5c4d00;--color-warning-bg-light: rgba(245, 158, 11, .15);--color-warning-bg-medium: rgba(245, 158, 11, .3);--color-selection-bg: #1a2332;--color-selection-alt: #264f78;--color-green-bg: #1a3a1a;--color-green-dark-bg: #162312;--color-diff-add: #73c991;--color-diff-delete: #ef4444;--color-diff-add-bg: rgba(115, 201, 145, .15);--color-diff-delete-bg: rgba(239, 68, 68, .11);--color-tree-selected: #532f00;--color-accent-yellow: #e2c08d;--color-info-light: #7dd3fc;--color-code-purple: #a78bfa;--color-code-orange: #d97757;--code-keyword: #f87171;--code-string: #7dd3fc;--code-comment: #888;--code-number: #7dd3fc;--code-text: #e5e5e5;--code-inline-color: #aeafff;--code-inline-bg: #14141F;--code-error: #e06c75;--color-purple-bg: rgba(139, 92, 246, .18);--color-purple-border: rgba(139, 92, 246, .3);--color-primary-outline: rgba(22, 104, 220, .75);--color-primary-bg-extra-faint: rgba(74, 159, 255, .05);--color-primary-pale-shadow: rgba(74, 159, 255, .5);--color-error-border: rgba(239, 68, 68, .25);--color-error-border-light: rgba(239, 68, 68, .2);--color-warning-bg-faint: rgba(234, 179, 8, .1);--color-warning-border-light: rgba(234, 179, 8, .2);--color-success-bg-faint: rgba(34, 197, 94, .11);--color-diff-delete-text: #fca5a5;--color-green-border: #2a5a3a;--color-green-dark-border: #274916;--color-red-dark-bg: #8b1a1a;--color-red-dark-border: #2a1a1a;--color-thinking-bg: #111108;--color-thinking-border: #2a2a1e;--color-code-orange-border: rgba(217, 119, 87, .27);--color-code-orange-bg: rgba(217, 119, 87, .07);--bg-container-alt: #161616;--bg-model-avatar: #000;--bg-sub-avatar: #3a3a3a;--avatar-bg-0: #5b6abf;--avatar-bg-1: #2a9d8f;--avatar-bg-2: #6366f1;--avatar-bg-3: #d97706;--avatar-bg-4: #3b82f6;--avatar-bg-5: #8b5cf6;--avatar-bg-6: #0e7490;--avatar-bg-7: #ea580c;--avatar-bg-8: #059669;--avatar-bg-9: #e11d48;--avatar-bg-10: #0284c7;--avatar-bg-11: #dc2626;--avatar-bg-12: #65a30d;--avatar-bg-13: #ca8a04;--avatar-bg-14: #9333ea;--avatar-bg-15: #db2777;--avatar-bg-16: #6b7280;--avatar-bg-17: #1d4ed8;--avatar-bg-18: #b45309;--avatar-bg-19: #047857;--model-logo-mono: #fff;--bg-input-bar: rgba(0, 0, 0, .5);--bg-sticky-btn: rgba(0, 0, 0, .5);--chat-boxer-gradient-dir: to top;--chat-boxer-bg-from: var(--bg-surface);--chat-boxer-bg-to: var(--border-secondary);--chat-boxer-hover-from: var(--border-secondary);--chat-boxer-hover-to: var(--border-hover);--shadow-approval-heavy: rgba(0, 0, 0, .6);--shadow-approval-glow: rgba(245, 158, 11, .15);--color-approval-border: #f59e0b;--color-approval-label: #fbbf24;--color-gray-bg-light: rgba(107, 114, 128, .15);--color-gray-bg-medium: rgba(107, 114, 128, .3);--overlay-light-faint: rgba(255, 255, 255, .04);--overlay-light-medium: rgba(255, 255, 255, .1);--overlay-light-strong: rgba(255, 255, 255, .2);--overlay-light-half: rgba(255, 255, 255, .5);--overlay-light-bright: rgba(255, 255, 255, .7);--overlay-dark: rgba(0, 0, 0, .75);--overlay-dark-medium: rgba(0, 0, 0, .6);--overlay-dark-light: rgba(0, 0, 0, .5);--overlay-dark-strong: rgba(0, 0, 0, .88)}[data-theme=light]{--bg-base: #FAFAFA;--bg-base-pure: #FFFFFF;--bg-base-alt: #F5F5F5;--bg-container: #FFFFFF;--bg-elevated: #F9F9F9;--bg-surface: #F0F0F0;--bg-code: #F5F5F5;--bg-code-dark: #F5F5F5;--bg-code-system: #EFF1F3;--border-primary: #E0E0E0;--border-secondary: #EBEBEB;--border-hover: #C0C0C0;--border-light: #D4D4D4;--border-code: #D4D4D4;--border-code-system: #C0D0E0;--text-primary: #1a1a1a;--text-secondary: #333;--text-tertiary: #666;--text-muted: #888;--text-disabled: #AAA;--text-disabled-faint: rgba(0, 0, 0, .35);--text-white: #1a1a1a;--text-gray: #6b7280;--text-light: #555;--color-primary: #0969DA;--color-primary-light: #0969DA;--color-primary-lighter: #0969DA;--color-primary-pale: #2A7DE1;--color-primary-dark: #0550AE;--color-primary-dark-bg: #DDF4FF;--color-primary-bg-light: rgba(9, 105, 218, .1);--color-primary-bg-lighter: rgba(9, 105, 218, .12);--color-primary-bg-medium: rgba(9, 105, 218, .2);--color-primary-bg-faint: rgba(9, 105, 218, .06);--color-primary-shadow: rgba(9, 105, 218, .3);--color-success: #1A7F37;--color-success-light: #2DA44E;--color-success-dark: #116329;--color-success-bg-light: rgba(26, 127, 55, .08);--color-success-bg-medium: rgba(26, 127, 55, .15);--color-error: #CF222E;--color-error-rgb: 207, 34, 46;--color-error-light: #DA3633;--color-error-muted: #82071E;--color-error-dark-bg: #FFEBE9;--color-error-bg-light: rgba(207, 34, 46, .08);--color-error-bg-faint: rgba(207, 34, 46, .06);--color-error-bg-medium: rgba(207, 34, 46, .15);--color-warning: #9A6700;--color-warning-light: #BF8700;--color-warning-dark-bg: #FFF8E1;--color-warning-dark-border: #D4A72C;--color-warning-bg-light: rgba(154, 103, 0, .08);--color-warning-bg-medium: rgba(154, 103, 0, .15);--color-selection-bg: #B4D7FF;--color-selection-alt: #ADD6FF;--color-green-bg: #DAFBE1;--color-green-dark-bg: #DAFBE1;--color-diff-add: #116329;--color-diff-delete: #82071E;--color-diff-add-bg: #DAFBE1;--color-diff-delete-bg: #FFEBE9;--color-tree-selected: #FFF3D5;--color-accent-yellow: #CB7C5E;--color-info-light: #0969DA;--color-code-purple: #8250DF;--color-code-orange: #953800;--code-keyword: #0000FF;--code-string: #A31515;--code-comment: #6A9955;--code-number: #098658;--code-text: #383838;--code-inline-color: #0969DA;--code-inline-bg: #EFF1F3;--code-error: #CF222E;--color-purple-bg: rgba(130, 80, 223, .1);--color-purple-border: rgba(130, 80, 223, .2);--color-primary-outline: rgba(9, 105, 218, .5);--color-primary-bg-extra-faint: rgba(9, 105, 218, .04);--color-primary-pale-shadow: rgba(9, 105, 218, .3);--color-error-border: rgba(207, 34, 46, .2);--color-error-border-light: rgba(207, 34, 46, .15);--color-warning-bg-faint: rgba(154, 103, 0, .06);--color-warning-border-light: rgba(154, 103, 0, .15);--color-success-bg-faint: rgba(26, 127, 55, .08);--color-diff-delete-text: #DA3633;--color-green-border: #2DA44E;--color-green-dark-border: #1A7F37;--color-red-dark-bg: #FFEBE9;--color-red-dark-border: #FFCECB;--color-thinking-bg: #FAFAF5;--color-thinking-border: #E8E8D0;--color-code-orange-border: rgba(149, 56, 0, .2);--color-code-orange-bg: rgba(149, 56, 0, .06);--bg-container-alt: #F5F5F5;--bg-model-avatar: transparent;--bg-sub-avatar: #E5E5E5;--avatar-bg-0: #ced0db;--avatar-bg-1: #9abcb8;--avatar-bg-2: #edeef5;--avatar-bg-3: #cfb99f;--avatar-bg-4: #d6deea;--avatar-bg-5: #efecf5;--avatar-bg-6: #78a8b5;--avatar-bg-7: #d6bcaf;--avatar-bg-8: #72b8a2;--avatar-bg-9: #d6b7be;--avatar-bg-10: #8fb5c8;--avatar-bg-11: #d6bbbb;--avatar-bg-12: #a4bc83;--avatar-bg-13: #cab893;--avatar-bg-14: #d6cae2;--avatar-bg-15: #d6bbc7;--avatar-bg-16: #bbbcbf;--avatar-bg-17: #b2bad2;--avatar-bg-18: #c2a28a;--avatar-bg-19: #5ead97;--model-logo-mono: #000;--bg-input-bar: #ffffff;--bg-sticky-btn: rgba(255, 255, 255, .85);--chat-boxer-gradient-dir: to bottom;--chat-boxer-bg-from: #F7F7F7;--chat-boxer-bg-to: #F0F0F0;--chat-boxer-hover-from: #EEEEEE;--chat-boxer-hover-to: #E8E8E8;--shadow-approval-heavy: rgba(0, 0, 0, .1);--shadow-approval-glow: rgba(245, 158, 11, .08);--color-approval-border: #1f1f1f;--color-approval-label: #1f1f1f;--color-gray-bg-light: rgba(107, 114, 128, .1);--color-gray-bg-medium: rgba(107, 114, 128, .2);--overlay-light-faint: rgba(0, 0, 0, .03);--overlay-light-medium: rgba(0, 0, 0, .06);--overlay-light-strong: rgba(0, 0, 0, .1);--overlay-light-half: rgba(0, 0, 0, .3);--overlay-light-bright: rgba(0, 0, 0, .5);--overlay-dark: rgba(0, 0, 0, .5);--overlay-dark-medium: rgba(0, 0, 0, .4);--overlay-dark-light: rgba(0, 0, 0, .3);--overlay-dark-strong: rgba(0, 0, 0, .6)}body{margin:0;background-color:var(--bg-base-alt);overflow-x:hidden;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none}::selection{background-color:var(--color-selection-alt);color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--border-hover) var(--bg-base-alt)}@media(pointer:coarse){*{scrollbar-width:auto;scrollbar-color:auto}}@media(pointer:fine){*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:var(--bg-base-alt)}*::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}}.code-highlight{color:var(--code-text)}.hl-keyword{color:var(--code-keyword)}.hl-string{color:var(--code-string)}.hl-comment{color:var(--code-comment);font-style:italic}.hl-number{color:var(--code-number)}.hl-linenum{color:var(--text-disabled);-webkit-user-select:none;user-select:none}.chat-md pre{background:var(--bg-code-dark);border:1px solid var(--border-primary);border-radius:6px;padding:12px;overflow-x:auto;font-size:13px;line-height:1.5}.chat-md code{background:var(--code-inline-bg);padding:2px 6px;border-radius:4px;font-size:13px;color:var(--code-inline-color)}.chat-md pre code{background:none;padding:0}.chat-md p{margin:6px 0}.chat-md ul,.chat-md ol{padding-left:20px;margin:6px 0}.chat-md li{margin:2px 0}.chat-md h1,.chat-md h2,.chat-md h3{margin:12px 0 6px;color:var(--text-white)}.chat-md h1{font-size:1.3em}.chat-md h2{font-size:1.15em}.chat-md h3{font-size:1.05em}.chat-md blockquote{border-left:3px solid var(--color-primary-light);margin:8px 0;padding:4px 12px;color:var(--text-tertiary)}.chat-md table{border-collapse:collapse;margin:8px 0;font-size:13px}.chat-md th,.chat-md td{border:1px solid var(--text-gray);padding:6px 10px}.chat-md th{background:var(--bg-elevated);color:var(--text-white)}.chat-md a{color:var(--color-primary-lighter)}.chat-md img{cursor:pointer;max-width:100%;height:auto;border-radius:6px}.chat-md hr{border:none;border-top:1px solid var(--border-primary);margin:12px 0}.chat-md strong,.chat-md em{color:var(--text-primary)}.mermaid-diagram{display:flex;justify-content:center;margin:12px 0;padding:16px;background:var(--bg-code-dark);border:1px solid var(--border-primary);border-radius:6px;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}*:focus{outline:none!important;box-shadow:none!important}*:focus-visible{outline:none!important;box-shadow:none!important}.chat-boxer{background:linear-gradient(var(--chat-boxer-gradient-dir),var(--chat-boxer-bg-from),var(--chat-boxer-bg-to));color:var(--text-white);border-radius:6px;padding:2px 10px;margin-bottom:6px;border:1px solid var(--text-muted);box-sizing:border-box}.chat-boxer:hover{background:linear-gradient(var(--chat-boxer-gradient-dir),var(--chat-boxer-hover-from),var(--chat-boxer-hover-to))}.chat-boxer .chat-md tbody{background:var(--bg-base-pure)}.ant-dropdown .logo-dropdown-menu.logo-dropdown-menu{border:1px solid var(--border-hover);border-radius:4px}.ant-dropdown .logo-dropdown-menu.logo-dropdown-menu .ant-dropdown-menu-item,.ant-dropdown .logo-dropdown-menu.logo-dropdown-menu .ant-dropdown-menu-submenu-title{font-size:12px;padding:8px 12px}.ant-dropdown-menu-submenu-popup .ant-dropdown-menu{border:1px solid var(--border-hover);border-radius:4px}.ant-tooltip .ant-tooltip-inner{background-color:var(--bg-base-alt);color:var(--text-primary)}.ant-tooltip .ant-tooltip-arrow:before,.ant-tooltip .ant-tooltip-arrow:after{background:var(--bg-base-alt)}.ant-popover .ant-popover-arrow:before,.ant-popover .ant-popover-arrow:after{background:var(--border-secondary)}[data-theme=light] .ant-popover .ant-popover-arrow:before,[data-theme=light] .ant-popover .ant-popover-arrow:after{background:var(--bg-base-pure)}.ant-typography{font-size:12px}.ant-modal-confirm .ant-modal-content{background-color:var(--bg-elevated);border:1px solid var(--border-primary)}.ant-modal-confirm .ant-modal-confirm-title{color:var(--text-primary)}.ant-modal-confirm .ant-modal-confirm-content{color:var(--text-light)}.ant-modal-confirm .ant-btn-default{background-color:transparent;border-color:var(--border-light);color:var(--text-secondary)}.ant-modal-confirm .ant-btn-default.ant-btn-default:hover,.ant-modal-confirm .ant-btn-default.ant-btn-default:focus{background-color:var(--bg-surface);border-color:var(--text-muted);color:var(--text-white)}.ant-modal-confirm .ant-btn-primary,.ant-modal-confirm .ant-btn-primary:hover{background-color:var(--color-primary);border-color:var(--color-primary)}.ant-tabs .ant-tabs-nav:before{border-bottom-color:var(--border-primary)}[data-theme=light] .hljs{background:var(--bg-code);color:#383838}[data-theme=light] .hljs-keyword{color:#00f}[data-theme=light] .hljs-string{color:#a31515}[data-theme=light] .hljs-comment{color:#6a9955}[data-theme=light] .hljs-number{color:#098658}[data-theme=light] .hljs-title{color:#795e26}[data-theme=light] .hljs-type,[data-theme=light] .hljs-built_in{color:#267f99}[data-theme=light] .hljs-literal{color:#00f}[data-theme=light] .hljs-attr{color:#e50000}[data-theme=light] .hljs-variable{color:#001080}[data-theme=light] .hljs-name,[data-theme=light] .hljs-tag{color:maroon}[data-theme=light] .hljs-attribute{color:red}[data-theme=light] .hljs-symbol{color:#098658}[data-theme=light] .hljs-meta{color:#6a9955}[data-theme=light] .hljs-selector-tag{color:maroon}[data-theme=light] .hljs-selector-class,[data-theme=light] .hljs-selector-id{color:#267f99}
1
+ :root,[data-theme=dark]{--bg-base: #0a0a0a;--bg-base-pure: #000;--bg-base-alt: #0d0d0d;--bg-container: #111;--bg-elevated: #1e1e1e;--bg-surface: #2a2a2a;--bg-code: #14141F;--bg-code-dark: #0d1117;--bg-code-system: #060f2a;--border-primary: #2a2a2a;--border-secondary: #303030;--border-hover: #3a3a3a;--border-light: #444;--border-code: #2a2a3e;--border-code-system: #0b2a5c;--text-primary: #e5e5e5;--text-secondary: #ccc;--text-tertiary: #888;--text-muted: #666;--text-disabled: #555;--text-disabled-faint: rgba(255, 255, 255, .45);--text-white: #fff;--text-gray: #6b7280;--text-light: #aaa;--color-primary: #1668dc;--color-primary-light: #3b82f6;--color-primary-lighter: #60a5fa;--color-primary-pale: #4a9eff;--color-primary-dark: #165bbe;--color-primary-dark-bg: #1e3a5f;--color-primary-bg-light: rgba(22, 104, 220, .15);--color-primary-bg-lighter: rgba(22, 104, 220, .2);--color-primary-bg-medium: rgba(22, 104, 220, .35);--color-primary-bg-faint: rgba(22, 104, 220, .1);--color-primary-shadow: rgba(22, 104, 220, .6);--color-success: #22c55e;--color-success-light: #4ade80;--color-success-dark: #2ea043;--color-success-bg-light: rgba(34, 197, 94, .15);--color-success-bg-medium: rgba(34, 197, 94, .3);--color-error: #ef4444;--color-error-rgb: 239, 68, 68;--color-error-light: #f87171;--color-error-muted: #a33;--color-error-dark-bg: #220000;--color-error-bg-light: rgba(239, 68, 68, .15);--color-error-bg-faint: rgba(239, 68, 68, .1);--color-error-bg-medium: rgba(239, 68, 68, .3);--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark-bg: #2a2000;--color-warning-dark-border: #5c4d00;--color-warning-bg-light: rgba(245, 158, 11, .15);--color-warning-bg-medium: rgba(245, 158, 11, .3);--color-selection-bg: #1a2332;--color-selection-alt: #264f78;--color-green-bg: #1a3a1a;--color-green-dark-bg: #162312;--color-diff-add: #73c991;--color-diff-delete: #ef4444;--color-diff-add-bg: rgba(115, 201, 145, .15);--color-diff-delete-bg: rgba(239, 68, 68, .11);--color-tree-selected: #532f00;--color-accent-yellow: #e2c08d;--color-info-light: #7dd3fc;--color-code-purple: #a78bfa;--color-code-orange: #d97757;--code-keyword: #f87171;--code-string: #7dd3fc;--code-comment: #888;--code-number: #7dd3fc;--code-text: #e5e5e5;--code-inline-color: #aeafff;--code-inline-bg: #14141F;--code-error: #e06c75;--color-purple-bg: rgba(139, 92, 246, .18);--color-purple-border: rgba(139, 92, 246, .3);--color-primary-outline: rgba(22, 104, 220, .75);--color-primary-bg-extra-faint: rgba(74, 159, 255, .05);--color-primary-pale-shadow: rgba(74, 159, 255, .5);--color-error-border: rgba(239, 68, 68, .25);--color-error-border-light: rgba(239, 68, 68, .2);--color-warning-bg-faint: rgba(234, 179, 8, .1);--color-warning-border-light: rgba(234, 179, 8, .2);--color-success-bg-faint: rgba(34, 197, 94, .11);--color-diff-delete-text: #fca5a5;--color-green-border: #2a5a3a;--color-green-dark-border: #274916;--color-red-dark-bg: #8b1a1a;--color-red-dark-border: #2a1a1a;--color-thinking-bg: #111108;--color-thinking-border: #2a2a1e;--color-code-orange-border: rgba(217, 119, 87, .27);--color-code-orange-bg: rgba(217, 119, 87, .07);--bg-container-alt: #161616;--bg-model-avatar: #000;--bg-sub-avatar: #3a3a3a;--avatar-bg-0: #5b6abf;--avatar-bg-1: #2a9d8f;--avatar-bg-2: #6366f1;--avatar-bg-3: #d97706;--avatar-bg-4: #3b82f6;--avatar-bg-5: #8b5cf6;--avatar-bg-6: #0e7490;--avatar-bg-7: #ea580c;--avatar-bg-8: #059669;--avatar-bg-9: #e11d48;--avatar-bg-10: #0284c7;--avatar-bg-11: #dc2626;--avatar-bg-12: #65a30d;--avatar-bg-13: #ca8a04;--avatar-bg-14: #9333ea;--avatar-bg-15: #db2777;--avatar-bg-16: #6b7280;--avatar-bg-17: #1d4ed8;--avatar-bg-18: #b45309;--avatar-bg-19: #047857;--model-logo-mono: #fff;--bg-input-bar: rgba(0, 0, 0, .5);--bg-sticky-btn: rgba(0, 0, 0, .5);--chat-boxer-gradient-dir: to top;--chat-boxer-bg-from: var(--bg-surface);--chat-boxer-bg-to: var(--border-secondary);--chat-boxer-hover-from: var(--border-secondary);--chat-boxer-hover-to: var(--border-hover);--shadow-approval-heavy: rgba(0, 0, 0, .6);--shadow-approval-glow: rgba(245, 158, 11, .15);--color-approval-border: #f59e0b;--color-approval-label: #fbbf24;--color-gray-bg-light: rgba(107, 114, 128, .15);--color-gray-bg-medium: rgba(107, 114, 128, .3);--overlay-light-faint: rgba(255, 255, 255, .04);--overlay-light-medium: rgba(255, 255, 255, .1);--overlay-light-strong: rgba(255, 255, 255, .2);--overlay-light-half: rgba(255, 255, 255, .5);--overlay-light-bright: rgba(255, 255, 255, .7);--overlay-dark: rgba(0, 0, 0, .75);--overlay-dark-medium: rgba(0, 0, 0, .6);--overlay-dark-light: rgba(0, 0, 0, .5);--overlay-dark-strong: rgba(0, 0, 0, .88)}[data-theme=light]{--bg-base: #FAFAFA;--bg-base-pure: #FFFFFF;--bg-base-alt: #F5F5F5;--bg-container: #FFFFFF;--bg-elevated: #F9F9F9;--bg-surface: #F0F0F0;--bg-code: #F5F5F5;--bg-code-dark: #F5F5F5;--bg-code-system: #EFF1F3;--border-primary: #E0E0E0;--border-secondary: #EBEBEB;--border-hover: #C0C0C0;--border-light: #D4D4D4;--border-code: #D4D4D4;--border-code-system: #C0D0E0;--text-primary: #1a1a1a;--text-secondary: #333;--text-tertiary: #666;--text-muted: #888;--text-disabled: #AAA;--text-disabled-faint: rgba(0, 0, 0, .35);--text-white: #1a1a1a;--text-gray: #6b7280;--text-light: #555;--color-primary: #0969DA;--color-primary-light: #0969DA;--color-primary-lighter: #0969DA;--color-primary-pale: #2A7DE1;--color-primary-dark: #0550AE;--color-primary-dark-bg: #DDF4FF;--color-primary-bg-light: rgba(9, 105, 218, .1);--color-primary-bg-lighter: rgba(9, 105, 218, .12);--color-primary-bg-medium: rgba(9, 105, 218, .2);--color-primary-bg-faint: rgba(9, 105, 218, .06);--color-primary-shadow: rgba(9, 105, 218, .3);--color-success: #1A7F37;--color-success-light: #2DA44E;--color-success-dark: #116329;--color-success-bg-light: rgba(26, 127, 55, .08);--color-success-bg-medium: rgba(26, 127, 55, .15);--color-error: #CF222E;--color-error-rgb: 207, 34, 46;--color-error-light: #DA3633;--color-error-muted: #82071E;--color-error-dark-bg: #FFEBE9;--color-error-bg-light: rgba(207, 34, 46, .08);--color-error-bg-faint: rgba(207, 34, 46, .06);--color-error-bg-medium: rgba(207, 34, 46, .15);--color-warning: #9A6700;--color-warning-light: #BF8700;--color-warning-dark-bg: #FFF8E1;--color-warning-dark-border: #D4A72C;--color-warning-bg-light: rgba(154, 103, 0, .08);--color-warning-bg-medium: rgba(154, 103, 0, .15);--color-selection-bg: #B4D7FF;--color-selection-alt: #ADD6FF;--color-green-bg: #DAFBE1;--color-green-dark-bg: #DAFBE1;--color-diff-add: #116329;--color-diff-delete: #82071E;--color-diff-add-bg: #DAFBE1;--color-diff-delete-bg: #FFEBE9;--color-tree-selected: #FFF3D5;--color-accent-yellow: #CB7C5E;--color-info-light: #0969DA;--color-code-purple: #8250DF;--color-code-orange: #953800;--code-keyword: #0000FF;--code-string: #A31515;--code-comment: #6A9955;--code-number: #098658;--code-text: #383838;--code-inline-color: #0969DA;--code-inline-bg: #EFF1F3;--code-error: #CF222E;--color-purple-bg: rgba(130, 80, 223, .1);--color-purple-border: rgba(130, 80, 223, .2);--color-primary-outline: rgba(9, 105, 218, .5);--color-primary-bg-extra-faint: rgba(9, 105, 218, .04);--color-primary-pale-shadow: rgba(9, 105, 218, .3);--color-error-border: rgba(207, 34, 46, .2);--color-error-border-light: rgba(207, 34, 46, .15);--color-warning-bg-faint: rgba(154, 103, 0, .06);--color-warning-border-light: rgba(154, 103, 0, .15);--color-success-bg-faint: rgba(26, 127, 55, .08);--color-diff-delete-text: #DA3633;--color-green-border: #2DA44E;--color-green-dark-border: #1A7F37;--color-red-dark-bg: #FFEBE9;--color-red-dark-border: #FFCECB;--color-thinking-bg: #FAFAF5;--color-thinking-border: #E8E8D0;--color-code-orange-border: rgba(149, 56, 0, .2);--color-code-orange-bg: rgba(149, 56, 0, .06);--bg-container-alt: #F5F5F5;--bg-model-avatar: transparent;--bg-sub-avatar: #E5E5E5;--avatar-bg-0: #ced0db;--avatar-bg-1: #9abcb8;--avatar-bg-2: #edeef5;--avatar-bg-3: #cfb99f;--avatar-bg-4: #d6deea;--avatar-bg-5: #efecf5;--avatar-bg-6: #78a8b5;--avatar-bg-7: #d6bcaf;--avatar-bg-8: #72b8a2;--avatar-bg-9: #d6b7be;--avatar-bg-10: #8fb5c8;--avatar-bg-11: #d6bbbb;--avatar-bg-12: #a4bc83;--avatar-bg-13: #cab893;--avatar-bg-14: #d6cae2;--avatar-bg-15: #d6bbc7;--avatar-bg-16: #bbbcbf;--avatar-bg-17: #b2bad2;--avatar-bg-18: #c2a28a;--avatar-bg-19: #5ead97;--model-logo-mono: #000;--bg-input-bar: #ffffff;--bg-sticky-btn: rgba(255, 255, 255, .85);--chat-boxer-gradient-dir: to bottom;--chat-boxer-bg-from: #F7F7F7;--chat-boxer-bg-to: #F0F0F0;--chat-boxer-hover-from: #EEEEEE;--chat-boxer-hover-to: #E8E8E8;--shadow-approval-heavy: rgba(0, 0, 0, .1);--shadow-approval-glow: rgba(245, 158, 11, .08);--color-approval-border: #1f1f1f;--color-approval-label: #1f1f1f;--color-gray-bg-light: rgba(107, 114, 128, .1);--color-gray-bg-medium: rgba(107, 114, 128, .2);--overlay-light-faint: rgba(0, 0, 0, .03);--overlay-light-medium: rgba(0, 0, 0, .06);--overlay-light-strong: rgba(0, 0, 0, .1);--overlay-light-half: rgba(0, 0, 0, .3);--overlay-light-bright: rgba(0, 0, 0, .5);--overlay-dark: rgba(0, 0, 0, .5);--overlay-dark-medium: rgba(0, 0, 0, .4);--overlay-dark-light: rgba(0, 0, 0, .3);--overlay-dark-strong: rgba(0, 0, 0, .6)}body{margin:0;background-color:var(--bg-base-alt);overflow-x:hidden;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none}::selection{background-color:var(--color-selection-alt);color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--border-hover) var(--bg-base-alt)}@media(pointer:coarse){*{scrollbar-width:auto;scrollbar-color:auto}}@media(pointer:fine){*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:var(--bg-base-alt)}*::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}}.code-highlight{color:var(--code-text)}.hl-keyword{color:var(--code-keyword)}.hl-string{color:var(--code-string)}.hl-comment{color:var(--code-comment);font-style:italic}.hl-number{color:var(--code-number)}.hl-linenum{color:var(--text-disabled);-webkit-user-select:none;user-select:none}.chat-md pre{background:var(--bg-code-dark);border:1px solid var(--border-primary);border-radius:6px;padding:12px;overflow-x:auto;font-size:13px;line-height:1.5}.chat-md code{background:var(--code-inline-bg);padding:2px 6px;border-radius:4px;font-size:13px;color:var(--code-inline-color)}.chat-md pre code{background:none;padding:0}.chat-md p{margin:6px 0}.chat-md ul,.chat-md ol{padding-left:20px;margin:6px 0}.chat-md li{margin:2px 0}.chat-md h1,.chat-md h2,.chat-md h3{margin:12px 0 6px;color:var(--text-white)}.chat-md h1{font-size:1.3em}.chat-md h2{font-size:1.15em}.chat-md h3{font-size:1.05em}.chat-md blockquote{border-left:3px solid var(--color-primary-light);margin:8px 0;padding:4px 12px;color:var(--text-tertiary)}.chat-md table{border-collapse:collapse;margin:8px 0;font-size:13px}.chat-md th,.chat-md td{border:1px solid var(--text-gray);padding:6px 10px}.chat-md th{background:var(--bg-elevated);color:var(--text-white)}.chat-md a{color:var(--color-primary-lighter)}.chat-md img{cursor:pointer;max-width:100%;height:auto;border-radius:6px}.chat-md hr{border:none;border-top:1px solid var(--border-primary);margin:12px 0}.chat-md .chat-boxer hr,.chat-boxer .chat-md hr{border-top-color:var(--border-light);margin:8px 0}.chat-md strong,.chat-md em{color:var(--text-primary)}.mermaid-diagram{display:flex;justify-content:center;margin:12px 0;padding:16px;background:var(--bg-code-dark);border:1px solid var(--border-primary);border-radius:6px;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}*:focus{outline:none!important;box-shadow:none!important}*:focus-visible{outline:none!important;box-shadow:none!important}.chat-boxer{background:linear-gradient(var(--chat-boxer-gradient-dir),var(--chat-boxer-bg-from),var(--chat-boxer-bg-to));color:var(--text-white);border-radius:6px;padding:2px 10px;margin-bottom:6px;border:1px solid var(--text-muted);box-sizing:border-box}.chat-boxer:hover{background:linear-gradient(var(--chat-boxer-gradient-dir),var(--chat-boxer-hover-from),var(--chat-boxer-hover-to))}.chat-boxer .chat-md tbody{background:var(--bg-base-pure)}.ant-dropdown .logo-dropdown-menu.logo-dropdown-menu{border:1px solid var(--border-hover);border-radius:4px}.ant-dropdown .logo-dropdown-menu.logo-dropdown-menu .ant-dropdown-menu-item,.ant-dropdown .logo-dropdown-menu.logo-dropdown-menu .ant-dropdown-menu-submenu-title{font-size:12px;padding:8px 12px}.ant-dropdown-menu-submenu-popup .ant-dropdown-menu{border:1px solid var(--border-hover);border-radius:4px}.ant-tooltip .ant-tooltip-inner{background-color:var(--bg-base-alt);color:var(--text-primary)}.ant-tooltip .ant-tooltip-arrow:before,.ant-tooltip .ant-tooltip-arrow:after{background:var(--bg-base-alt)}.ant-popover .ant-popover-arrow:before,.ant-popover .ant-popover-arrow:after{background:var(--border-secondary)}[data-theme=light] .ant-popover .ant-popover-arrow:before,[data-theme=light] .ant-popover .ant-popover-arrow:after{background:var(--bg-base-pure)}.ant-typography{font-size:12px}.ant-modal-confirm .ant-modal-content{background-color:var(--bg-elevated);border:1px solid var(--border-primary)}.ant-modal-confirm .ant-modal-confirm-title{color:var(--text-primary)}.ant-modal-confirm .ant-modal-confirm-content{color:var(--text-light)}.ant-modal-confirm .ant-btn-default{background-color:transparent;border-color:var(--border-light);color:var(--text-secondary)}.ant-modal-confirm .ant-btn-default.ant-btn-default:hover,.ant-modal-confirm .ant-btn-default.ant-btn-default:focus{background-color:var(--bg-surface);border-color:var(--text-muted);color:var(--text-white)}.ant-modal-confirm .ant-btn-primary,.ant-modal-confirm .ant-btn-primary:hover{background-color:var(--color-primary);border-color:var(--color-primary)}.ant-tabs .ant-tabs-nav:before{border-bottom-color:var(--border-primary)}[data-theme=light] .hljs{background:var(--bg-code);color:#383838}[data-theme=light] .hljs-keyword{color:#00f}[data-theme=light] .hljs-string{color:#a31515}[data-theme=light] .hljs-comment{color:#6a9955}[data-theme=light] .hljs-number{color:#098658}[data-theme=light] .hljs-title{color:#795e26}[data-theme=light] .hljs-type,[data-theme=light] .hljs-built_in{color:#267f99}[data-theme=light] .hljs-literal{color:#00f}[data-theme=light] .hljs-attr{color:#e50000}[data-theme=light] .hljs-variable{color:#001080}[data-theme=light] .hljs-name,[data-theme=light] .hljs-tag{color:maroon}[data-theme=light] .hljs-attribute{color:red}[data-theme=light] .hljs-symbol{color:#098658}[data-theme=light] .hljs-meta{color:#6a9955}[data-theme=light] .hljs-selector-tag{color:maroon}[data-theme=light] .hljs-selector-class,[data-theme=light] .hljs-selector-id{color:#267f99}
@@ -1 +1 @@
1
- import{_ as __name,l as log,H as selectSvgElement,e as configureSvgSize}from"./mermaid.core-f1mZHh7u.js";import{p as parse}from"./wardley-RL74JXVD-4PjirsHP.js";import"./vendor-mdxeditor-BFiCaYAL.js";import"./vendor-antd-jGWxgt_-.js";import"./vendor-codemirror-9gysGjWj.js";import"./vendor-markdown-BFrYfpb0.js";import"./min-CDzial6q.js";import"./_baseUniq-DGKwdzTD.js";var DEFAULT_INFO_DB_version="11.14.0",diagram={parser:{parse:__name(async input=>{const ast=await parse("info",input);log.debug(ast)},"parse")},db:{getVersion:__name(()=>DEFAULT_INFO_DB_version,"getVersion")},renderer:{draw:__name((text,id,version)=>{log.debug("rendering info diagram\n"+text);const svg=selectSvgElement(id);configureSvgSize(svg,100,400,!0);svg.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${version}`)},"draw")}};export{diagram};
1
+ import{_ as __name,l as log,H as selectSvgElement,e as configureSvgSize}from"./mermaid.core-YnqOkuoS.js";import{p as parse}from"./wardley-RL74JXVD-CCis01LD.js";import"./vendor-mdxeditor-CrZ9SWce.js";import"./vendor-antd-Dq3DHFa-.js";import"./vendor-codemirror-DjMkT0sn.js";import"./vendor-markdown-BFrYfpb0.js";import"./min-CowkZam8.js";import"./_baseUniq-DiLy7vi3.js";var DEFAULT_INFO_DB_version="11.14.0",diagram={parser:{parse:__name(async input=>{const ast=await parse("info",input);log.debug(ast)},"parse")},db:{getVersion:__name(()=>DEFAULT_INFO_DB_version,"getVersion")},renderer:{draw:__name((text,id,version)=>{log.debug("rendering info diagram\n"+text);const svg=selectSvgElement(id);configureSvgSize(svg,100,400,!0);svg.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${version}`)},"draw")}};export{diagram};
@@ -1 +1 @@
1
- var _a;import{_ as __name,c as getConfig2,M as parseFontSize,H as selectSvgElement,ar as at,y as clear,k as common_default,p as setDiagramTitle,a as getAccTitle,b as setAccTitle,g as getAccDescription,s as setAccDescription,q as getDiagramTitle,e as configureSvgSize}from"./mermaid.core-f1mZHh7u.js";import"./vendor-mdxeditor-BFiCaYAL.js";import"./vendor-antd-jGWxgt_-.js";import"./vendor-codemirror-9gysGjWj.js";import"./vendor-markdown-BFrYfpb0.js";var parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[1,4],$V1=[1,14],$V2=[1,12],$V3=[1,13],$V4=[6,7,8],$V5=[1,20],$V6=[1,18],$V7=[1,19],$V8=[6,7,11],$V9=[1,6,13,14],$Va=[1,23],$Vb=[1,24],$Vc=[1,6,7,11,13,14],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 6:case 7:return yy;case 15:yy.addNode($$[$0-1].length,$$[$0].trim());break;case 16:yy.addNode(0,$$[$0].trim())}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:$V0},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:$V0},{6:$V1,7:[1,10],9:9,12:11,13:$V2,14:$V3},o($V4,[2,3]),{1:[2,2]},o($V4,[2,4]),o($V4,[2,5]),{1:[2,6],6:$V1,12:15,13:$V2,14:$V3},{6:$V1,9:16,12:11,13:$V2,14:$V3},{6:$V5,7:$V6,10:17,11:$V7},o($V8,[2,18],{14:[1,21]}),o($V8,[2,16]),o($V8,[2,17]),{6:$V5,7:$V6,10:22,11:$V7},{1:[2,7],6:$V1,12:15,13:$V2,14:$V3},o($V9,[2,14],{7:$Va,11:$Vb}),o($Vc,[2,8]),o($Vc,[2,9]),o($Vc,[2,10]),o($V8,[2,15]),o($V9,[2,13],{7:$Va,11:$Vb}),o($Vc,[2,11]),o($Vc,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:case 3:return 6;case 1:case 2:return 8;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var ishikawa_default=parser,IshikawaDB=(__name(_a=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,clear()}getRoot(){return this.root}addNode(rawLevel,text){const label=common_default.sanitizeText(text,getConfig2());if(!this.root)return this.root={text:label,children:[]},this.stack=[{level:0,node:this.root}],void setDiagramTitle(label);this.baseLevel??(this.baseLevel=rawLevel);let level=rawLevel-this.baseLevel+1;for(level<=0&&(level=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=level;)this.stack.pop();const node={text:label,children:[]};this.stack[this.stack.length-1].node.children.push(node),this.stack.push({level:level,node:node})}getAccTitle(){return getAccTitle()}setAccTitle(title){setAccTitle(title)}getAccDescription(){return getAccDescription()}setAccDescription(description){setAccDescription(description)}getDiagramTitle(){return getDiagramTitle()}setDiagramTitle(title){setDiagramTitle(title)}},"IshikawaDB"),_a),ANGLE=82*Math.PI/180,COS_A=Math.cos(ANGLE),SIN_A=Math.sin(ANGLE),applyPaddedViewBox=__name((svgEl,pad,maxW)=>{const bbox=svgEl.node().getBBox(),w=bbox.width+2*pad,h=bbox.height+2*pad;configureSvgSize(svgEl,h,w,maxW),svgEl.attr("viewBox",`${bbox.x-pad} ${bbox.y-pad} ${w} ${h}`)},"applyPaddedViewBox"),draw=__name((_text,id,_version,diagram2)=>{var _a2,_b;const root=diagram2.db.getRoot();if(!root)return;const drawConfig=getConfig2(),{look:look,handDrawnSeed:handDrawnSeed,themeVariables:themeVariables}=drawConfig,fontSize=parseFontSize(drawConfig.fontSize)[0]??14,isHandDrawn="handDrawn"===look,causes=root.children??[],padding=(null==(_a2=drawConfig.ishikawa)?void 0:_a2.diagramPadding)??20,useMaxWidth=(null==(_b=drawConfig.ishikawa)?void 0:_b.useMaxWidth)??!1,svg=selectSvgElement(id),g=svg.append("g").attr("class","ishikawa"),roughSvg=isHandDrawn?at.svg(svg.node()):void 0,roughContext=roughSvg?{roughSvg:roughSvg,seed:handDrawnSeed??0,lineColor:(null==themeVariables?void 0:themeVariables.lineColor)??"#333",fillColor:(null==themeVariables?void 0:themeVariables.mainBkg)??"#fff"}:void 0,markerId=`ishikawa-arrow-${id}`;isHandDrawn||g.append("defs").append("marker").attr("id",markerId).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let spineX=0,spineY=250;const spineLine=isHandDrawn?void 0:drawLine(g,spineX,spineY,spineX,spineY,"ishikawa-spine");if(drawHead(g,spineX,spineY,root.text,fontSize,roughContext),!causes.length)return isHandDrawn&&drawLine(g,spineX,spineY,spineX,spineY,"ishikawa-spine",roughContext),void applyPaddedViewBox(svg,padding,useMaxWidth);spineX-=20;const upperCauses=causes.filter((_,i)=>i%2==0),lowerCauses=causes.filter((_,i)=>i%2==1),upperStats=sideStats(upperCauses),lowerStats=sideStats(lowerCauses),descendantTotal=upperStats.total+lowerStats.total;let upperLen=250,lowerLen=250;if(descendantTotal>0){const pool=500,minLen=75;upperLen=Math.max(minLen,pool*(upperStats.total/descendantTotal)),lowerLen=Math.max(minLen,pool*(lowerStats.total/descendantTotal))}const minSpacing=2*fontSize;upperLen=Math.max(upperLen,upperStats.max*minSpacing),lowerLen=Math.max(lowerLen,lowerStats.max*minSpacing),spineY=Math.max(upperLen,250),spineLine&&spineLine.attr("y1",spineY).attr("y2",spineY),g.select(".ishikawa-head-group").attr("transform",`translate(0,${spineY})`);const pairCount=Math.ceil(causes.length/2);for(let p=0;p<pairCount;p++){const pg=g.append("g").attr("class","ishikawa-pair");for(const[cause,dir,len]of[[causes[2*p],-1,upperLen],[causes[2*p+1],1,lowerLen]])cause&&drawBranch(pg,cause,spineX,spineY,dir,len,fontSize,roughContext);spineX=pg.selectAll("text").nodes().reduce((left,n)=>Math.min(left,n.getBBox().x),1/0)}if(isHandDrawn)drawLine(g,spineX,spineY,0,spineY,"ishikawa-spine",roughContext);else{spineLine.attr("x1",spineX);const markerUrl=`url(#${markerId})`;g.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",markerUrl)}applyPaddedViewBox(svg,padding,useMaxWidth)},"draw"),sideStats=__name(nodes=>{const countDescendants=__name(node=>node.children.reduce((sum,child)=>sum+1+countDescendants(child),0),"countDescendants");return nodes.reduce((stats,node)=>{const descendants=countDescendants(node);return stats.total+=descendants,stats.max=Math.max(stats.max,descendants),stats},{total:0,max:0})},"sideStats"),drawHead=__name((svg,x,y,label,fontSize,roughContext)=>{const maxChars=Math.max(6,Math.floor(110/(.6*fontSize))),headGroup=svg.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${x},${y})`),textEl=drawMultilineText(headGroup,wrapText(label,maxChars),0,0,"ishikawa-head-label","start",fontSize),tb=textEl.node().getBBox(),w=Math.max(60,tb.width+6),h=Math.max(40,2*tb.height+40),headPath=`M 0 ${-h/2} L 0 ${h/2} Q ${2.4*w} 0 0 ${-h/2} Z`;if(roughContext){const roughNode=roughContext.roughSvg.path(headPath,{roughness:1.5,seed:roughContext.seed,fill:roughContext.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:roughContext.lineColor,strokeWidth:2});headGroup.insert(()=>roughNode,":first-child").attr("class","ishikawa-head")}else headGroup.insert("path",":first-child").attr("class","ishikawa-head").attr("d",headPath);textEl.attr("transform",`translate(${(w-tb.width)/2-tb.x+3},${-tb.y-tb.height/2})`)},"drawHead"),flattenTree=__name((children,direction)=>{const entries=[],yOrder=[],walk=__name((nodes,pid,depth)=>{const ordered=-1===direction?[...nodes].reverse():nodes;for(const child of ordered){const idx=entries.length,gc=child.children??[];entries.push({depth:depth,text:wrapText(child.text,15),parentIndex:pid,childCount:gc.length}),depth%2==0?(yOrder.push(idx),gc.length&&walk(gc,idx,depth+1)):(gc.length&&walk(gc,idx,depth+1),yOrder.push(idx))}},"walk");return walk(children,-1,2),{entries:entries,yOrder:yOrder}},"flattenTree"),drawCauseLabel=__name((svg,text,x,y,direction,fontSize,roughContext)=>{const lg=svg.append("g").attr("class","ishikawa-label-group"),tb=drawMultilineText(lg,text,x,y+11*direction,"ishikawa-label cause","middle",fontSize).node().getBBox();if(roughContext){const roughNode=roughContext.roughSvg.rectangle(tb.x-20,tb.y-2,tb.width+40,tb.height+4,{roughness:1.5,seed:roughContext.seed,fill:roughContext.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:roughContext.lineColor,strokeWidth:2});lg.insert(()=>roughNode,":first-child").attr("class","ishikawa-label-box")}else lg.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",tb.x-20).attr("y",tb.y-2).attr("width",tb.width+40).attr("height",tb.height+4)},"drawCauseLabel"),drawArrowMarker=__name((g,x,y,dx,dy,roughContext)=>{const len=Math.sqrt(dx*dx+dy*dy);if(0===len)return;const ux=dx/len,uy=dy/len,px=6*-uy,py=6*ux,d=`M ${x} ${y} L ${x-6*ux*2+px} ${y-6*uy*2+py} L ${x-6*ux*2-px} ${y-6*uy*2-py} Z`,roughNode=roughContext.roughSvg.path(d,{roughness:1,seed:roughContext.seed,fill:roughContext.lineColor,fillStyle:"solid",stroke:roughContext.lineColor,strokeWidth:1});g.append(()=>roughNode)},"drawArrowMarker"),drawBranch=__name((svg,node,startX,startY,direction,length,fontSize,roughContext)=>{const children=node.children??[],lineLen=length*(children.length?1:.2),dy=SIN_A*lineLen*direction,endX=startX+-COS_A*lineLen,endY=startY+dy;if(drawLine(svg,startX,startY,endX,endY,"ishikawa-branch",roughContext),roughContext&&drawArrowMarker(svg,startX,startY,startX-endX,startY-endY,roughContext),drawCauseLabel(svg,node.text,endX,endY,direction,fontSize,roughContext),!children.length)return;const{entries:entries,yOrder:yOrder}=flattenTree(children,direction),entryCount=entries.length,ys=new Array(entryCount);for(const[slot,entryIdx]of yOrder.entries())ys[entryIdx]=startY+dy*((slot+1)/(entryCount+1));const bones=new Map;bones.set(-1,{x0:startX,y0:startY,x1:endX,y1:endY,childCount:children.length,childrenDrawn:0});const diagonalX=-COS_A,diagonalY=SIN_A*direction,oddLabel=direction<0?"ishikawa-label up":"ishikawa-label down";for(const[i,e]of entries.entries()){const y=ys[i],par=bones.get(e.parentIndex),grp=svg.append("g").attr("class","ishikawa-sub-group");let bx0=0,by0=0,bx1=0;if(e.depth%2==0){const dyP=par.y1-par.y0;bx0=lerp(par.x0,par.x1,dyP?(y-par.y0)/dyP:.5),by0=y,bx1=bx0-(e.childCount>0?60+5*e.childCount:30),drawLine(grp,bx0,y,bx1,y,"ishikawa-sub-branch",roughContext),roughContext&&drawArrowMarker(grp,bx0,y,1,0,roughContext),drawMultilineText(grp,e.text,bx1,y,"ishikawa-label align","end",fontSize)}else{const k=par.childrenDrawn++;bx0=lerp(par.x0,par.x1,(par.childCount-k)/(par.childCount+1)),by0=par.y0,bx1=bx0+diagonalX*((y-by0)/diagonalY),drawLine(grp,bx0,by0,bx1,y,"ishikawa-sub-branch",roughContext),roughContext&&drawArrowMarker(grp,bx0,by0,bx0-bx1,by0-y,roughContext),drawMultilineText(grp,e.text,bx1,y,oddLabel,"end",fontSize)}e.childCount>0&&bones.set(i,{x0:bx0,y0:by0,x1:bx1,y1:y,childCount:e.childCount,childrenDrawn:0})}},"drawBranch"),splitLines=__name(text=>text.split(/<br\s*\/?>|\n/),"splitLines"),wrapText=__name((text,maxChars)=>{if(text.length<=maxChars)return text;const lines=[];for(const word of text.split(/\s+/)){const last=lines.length-1;last>=0&&lines[last].length+1+word.length<=maxChars?lines[last]+=" "+word:lines.push(word)}return lines.join("\n")},"wrapText"),drawMultilineText=__name((g,text,x,y,cls,anchor,fontSize)=>{const lines=splitLines(text),lh=1.05*fontSize,el=g.append("text").attr("class",cls).attr("text-anchor",anchor).attr("x",x).attr("y",y-(lines.length-1)*lh/2);for(const[i,line]of lines.entries())el.append("tspan").attr("x",x).attr("dy",0===i?0:lh).text(line);return el},"drawMultilineText"),lerp=__name((a,b,t)=>a+(b-a)*t,"lerp"),drawLine=__name((g,x1,y1,x2,y2,cls,roughContext)=>{if(roughContext){const roughNode=roughContext.roughSvg.line(x1,y1,x2,y2,{roughness:1.5,seed:roughContext.seed,stroke:roughContext.lineColor,strokeWidth:2});return void g.append(()=>roughNode).attr("class",cls)}return g.append("line").attr("class",cls).attr("x1",x1).attr("y1",y1).attr("x2",x2).attr("y2",y2)},"drawLine"),renderer={draw:draw},ishikawaStyles_default=__name(options=>`\n.ishikawa .ishikawa-spine,\n.ishikawa .ishikawa-branch,\n.ishikawa .ishikawa-sub-branch {\n stroke: ${options.lineColor};\n stroke-width: 2;\n fill: none;\n}\n\n.ishikawa .ishikawa-sub-branch {\n stroke-width: 1;\n}\n\n.ishikawa .ishikawa-arrow {\n fill: ${options.lineColor};\n}\n\n.ishikawa .ishikawa-head {\n fill: ${options.mainBkg};\n stroke: ${options.lineColor};\n stroke-width: 2;\n}\n\n.ishikawa .ishikawa-label-box {\n fill: ${options.mainBkg};\n stroke: ${options.lineColor};\n stroke-width: 2;\n}\n\n.ishikawa text {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor};\n}\n\n.ishikawa .ishikawa-head-label {\n font-weight: 600;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: 14px;\n}\n\n.ishikawa .ishikawa-label {\n text-anchor: end;\n}\n\n.ishikawa .ishikawa-label.cause {\n text-anchor: middle;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.align {\n text-anchor: end;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.up {\n dominant-baseline: baseline;\n}\n\n.ishikawa .ishikawa-label.down {\n dominant-baseline: hanging;\n}\n`,"getStyles"),diagram={parser:ishikawa_default,get db(){return new IshikawaDB},renderer:renderer,styles:ishikawaStyles_default};export{diagram};
1
+ var _a;import{_ as __name,c as getConfig2,M as parseFontSize,H as selectSvgElement,ar as at,y as clear,k as common_default,p as setDiagramTitle,a as getAccTitle,b as setAccTitle,g as getAccDescription,s as setAccDescription,q as getDiagramTitle,e as configureSvgSize}from"./mermaid.core-YnqOkuoS.js";import"./vendor-mdxeditor-CrZ9SWce.js";import"./vendor-antd-Dq3DHFa-.js";import"./vendor-codemirror-DjMkT0sn.js";import"./vendor-markdown-BFrYfpb0.js";var parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[1,4],$V1=[1,14],$V2=[1,12],$V3=[1,13],$V4=[6,7,8],$V5=[1,20],$V6=[1,18],$V7=[1,19],$V8=[6,7,11],$V9=[1,6,13,14],$Va=[1,23],$Vb=[1,24],$Vc=[1,6,7,11,13,14],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 6:case 7:return yy;case 15:yy.addNode($$[$0-1].length,$$[$0].trim());break;case 16:yy.addNode(0,$$[$0].trim())}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:$V0},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:$V0},{6:$V1,7:[1,10],9:9,12:11,13:$V2,14:$V3},o($V4,[2,3]),{1:[2,2]},o($V4,[2,4]),o($V4,[2,5]),{1:[2,6],6:$V1,12:15,13:$V2,14:$V3},{6:$V1,9:16,12:11,13:$V2,14:$V3},{6:$V5,7:$V6,10:17,11:$V7},o($V8,[2,18],{14:[1,21]}),o($V8,[2,16]),o($V8,[2,17]),{6:$V5,7:$V6,10:22,11:$V7},{1:[2,7],6:$V1,12:15,13:$V2,14:$V3},o($V9,[2,14],{7:$Va,11:$Vb}),o($Vc,[2,8]),o($Vc,[2,9]),o($Vc,[2,10]),o($V8,[2,15]),o($V9,[2,13],{7:$Va,11:$Vb}),o($Vc,[2,11]),o($Vc,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:case 3:return 6;case 1:case 2:return 8;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var ishikawa_default=parser,IshikawaDB=(__name(_a=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,clear()}getRoot(){return this.root}addNode(rawLevel,text){const label=common_default.sanitizeText(text,getConfig2());if(!this.root)return this.root={text:label,children:[]},this.stack=[{level:0,node:this.root}],void setDiagramTitle(label);this.baseLevel??(this.baseLevel=rawLevel);let level=rawLevel-this.baseLevel+1;for(level<=0&&(level=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=level;)this.stack.pop();const node={text:label,children:[]};this.stack[this.stack.length-1].node.children.push(node),this.stack.push({level:level,node:node})}getAccTitle(){return getAccTitle()}setAccTitle(title){setAccTitle(title)}getAccDescription(){return getAccDescription()}setAccDescription(description){setAccDescription(description)}getDiagramTitle(){return getDiagramTitle()}setDiagramTitle(title){setDiagramTitle(title)}},"IshikawaDB"),_a),ANGLE=82*Math.PI/180,COS_A=Math.cos(ANGLE),SIN_A=Math.sin(ANGLE),applyPaddedViewBox=__name((svgEl,pad,maxW)=>{const bbox=svgEl.node().getBBox(),w=bbox.width+2*pad,h=bbox.height+2*pad;configureSvgSize(svgEl,h,w,maxW),svgEl.attr("viewBox",`${bbox.x-pad} ${bbox.y-pad} ${w} ${h}`)},"applyPaddedViewBox"),draw=__name((_text,id,_version,diagram2)=>{var _a2,_b;const root=diagram2.db.getRoot();if(!root)return;const drawConfig=getConfig2(),{look:look,handDrawnSeed:handDrawnSeed,themeVariables:themeVariables}=drawConfig,fontSize=parseFontSize(drawConfig.fontSize)[0]??14,isHandDrawn="handDrawn"===look,causes=root.children??[],padding=(null==(_a2=drawConfig.ishikawa)?void 0:_a2.diagramPadding)??20,useMaxWidth=(null==(_b=drawConfig.ishikawa)?void 0:_b.useMaxWidth)??!1,svg=selectSvgElement(id),g=svg.append("g").attr("class","ishikawa"),roughSvg=isHandDrawn?at.svg(svg.node()):void 0,roughContext=roughSvg?{roughSvg:roughSvg,seed:handDrawnSeed??0,lineColor:(null==themeVariables?void 0:themeVariables.lineColor)??"#333",fillColor:(null==themeVariables?void 0:themeVariables.mainBkg)??"#fff"}:void 0,markerId=`ishikawa-arrow-${id}`;isHandDrawn||g.append("defs").append("marker").attr("id",markerId).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let spineX=0,spineY=250;const spineLine=isHandDrawn?void 0:drawLine(g,spineX,spineY,spineX,spineY,"ishikawa-spine");if(drawHead(g,spineX,spineY,root.text,fontSize,roughContext),!causes.length)return isHandDrawn&&drawLine(g,spineX,spineY,spineX,spineY,"ishikawa-spine",roughContext),void applyPaddedViewBox(svg,padding,useMaxWidth);spineX-=20;const upperCauses=causes.filter((_,i)=>i%2==0),lowerCauses=causes.filter((_,i)=>i%2==1),upperStats=sideStats(upperCauses),lowerStats=sideStats(lowerCauses),descendantTotal=upperStats.total+lowerStats.total;let upperLen=250,lowerLen=250;if(descendantTotal>0){const pool=500,minLen=75;upperLen=Math.max(minLen,pool*(upperStats.total/descendantTotal)),lowerLen=Math.max(minLen,pool*(lowerStats.total/descendantTotal))}const minSpacing=2*fontSize;upperLen=Math.max(upperLen,upperStats.max*minSpacing),lowerLen=Math.max(lowerLen,lowerStats.max*minSpacing),spineY=Math.max(upperLen,250),spineLine&&spineLine.attr("y1",spineY).attr("y2",spineY),g.select(".ishikawa-head-group").attr("transform",`translate(0,${spineY})`);const pairCount=Math.ceil(causes.length/2);for(let p=0;p<pairCount;p++){const pg=g.append("g").attr("class","ishikawa-pair");for(const[cause,dir,len]of[[causes[2*p],-1,upperLen],[causes[2*p+1],1,lowerLen]])cause&&drawBranch(pg,cause,spineX,spineY,dir,len,fontSize,roughContext);spineX=pg.selectAll("text").nodes().reduce((left,n)=>Math.min(left,n.getBBox().x),1/0)}if(isHandDrawn)drawLine(g,spineX,spineY,0,spineY,"ishikawa-spine",roughContext);else{spineLine.attr("x1",spineX);const markerUrl=`url(#${markerId})`;g.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",markerUrl)}applyPaddedViewBox(svg,padding,useMaxWidth)},"draw"),sideStats=__name(nodes=>{const countDescendants=__name(node=>node.children.reduce((sum,child)=>sum+1+countDescendants(child),0),"countDescendants");return nodes.reduce((stats,node)=>{const descendants=countDescendants(node);return stats.total+=descendants,stats.max=Math.max(stats.max,descendants),stats},{total:0,max:0})},"sideStats"),drawHead=__name((svg,x,y,label,fontSize,roughContext)=>{const maxChars=Math.max(6,Math.floor(110/(.6*fontSize))),headGroup=svg.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${x},${y})`),textEl=drawMultilineText(headGroup,wrapText(label,maxChars),0,0,"ishikawa-head-label","start",fontSize),tb=textEl.node().getBBox(),w=Math.max(60,tb.width+6),h=Math.max(40,2*tb.height+40),headPath=`M 0 ${-h/2} L 0 ${h/2} Q ${2.4*w} 0 0 ${-h/2} Z`;if(roughContext){const roughNode=roughContext.roughSvg.path(headPath,{roughness:1.5,seed:roughContext.seed,fill:roughContext.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:roughContext.lineColor,strokeWidth:2});headGroup.insert(()=>roughNode,":first-child").attr("class","ishikawa-head")}else headGroup.insert("path",":first-child").attr("class","ishikawa-head").attr("d",headPath);textEl.attr("transform",`translate(${(w-tb.width)/2-tb.x+3},${-tb.y-tb.height/2})`)},"drawHead"),flattenTree=__name((children,direction)=>{const entries=[],yOrder=[],walk=__name((nodes,pid,depth)=>{const ordered=-1===direction?[...nodes].reverse():nodes;for(const child of ordered){const idx=entries.length,gc=child.children??[];entries.push({depth:depth,text:wrapText(child.text,15),parentIndex:pid,childCount:gc.length}),depth%2==0?(yOrder.push(idx),gc.length&&walk(gc,idx,depth+1)):(gc.length&&walk(gc,idx,depth+1),yOrder.push(idx))}},"walk");return walk(children,-1,2),{entries:entries,yOrder:yOrder}},"flattenTree"),drawCauseLabel=__name((svg,text,x,y,direction,fontSize,roughContext)=>{const lg=svg.append("g").attr("class","ishikawa-label-group"),tb=drawMultilineText(lg,text,x,y+11*direction,"ishikawa-label cause","middle",fontSize).node().getBBox();if(roughContext){const roughNode=roughContext.roughSvg.rectangle(tb.x-20,tb.y-2,tb.width+40,tb.height+4,{roughness:1.5,seed:roughContext.seed,fill:roughContext.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:roughContext.lineColor,strokeWidth:2});lg.insert(()=>roughNode,":first-child").attr("class","ishikawa-label-box")}else lg.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",tb.x-20).attr("y",tb.y-2).attr("width",tb.width+40).attr("height",tb.height+4)},"drawCauseLabel"),drawArrowMarker=__name((g,x,y,dx,dy,roughContext)=>{const len=Math.sqrt(dx*dx+dy*dy);if(0===len)return;const ux=dx/len,uy=dy/len,px=6*-uy,py=6*ux,d=`M ${x} ${y} L ${x-6*ux*2+px} ${y-6*uy*2+py} L ${x-6*ux*2-px} ${y-6*uy*2-py} Z`,roughNode=roughContext.roughSvg.path(d,{roughness:1,seed:roughContext.seed,fill:roughContext.lineColor,fillStyle:"solid",stroke:roughContext.lineColor,strokeWidth:1});g.append(()=>roughNode)},"drawArrowMarker"),drawBranch=__name((svg,node,startX,startY,direction,length,fontSize,roughContext)=>{const children=node.children??[],lineLen=length*(children.length?1:.2),dy=SIN_A*lineLen*direction,endX=startX+-COS_A*lineLen,endY=startY+dy;if(drawLine(svg,startX,startY,endX,endY,"ishikawa-branch",roughContext),roughContext&&drawArrowMarker(svg,startX,startY,startX-endX,startY-endY,roughContext),drawCauseLabel(svg,node.text,endX,endY,direction,fontSize,roughContext),!children.length)return;const{entries:entries,yOrder:yOrder}=flattenTree(children,direction),entryCount=entries.length,ys=new Array(entryCount);for(const[slot,entryIdx]of yOrder.entries())ys[entryIdx]=startY+dy*((slot+1)/(entryCount+1));const bones=new Map;bones.set(-1,{x0:startX,y0:startY,x1:endX,y1:endY,childCount:children.length,childrenDrawn:0});const diagonalX=-COS_A,diagonalY=SIN_A*direction,oddLabel=direction<0?"ishikawa-label up":"ishikawa-label down";for(const[i,e]of entries.entries()){const y=ys[i],par=bones.get(e.parentIndex),grp=svg.append("g").attr("class","ishikawa-sub-group");let bx0=0,by0=0,bx1=0;if(e.depth%2==0){const dyP=par.y1-par.y0;bx0=lerp(par.x0,par.x1,dyP?(y-par.y0)/dyP:.5),by0=y,bx1=bx0-(e.childCount>0?60+5*e.childCount:30),drawLine(grp,bx0,y,bx1,y,"ishikawa-sub-branch",roughContext),roughContext&&drawArrowMarker(grp,bx0,y,1,0,roughContext),drawMultilineText(grp,e.text,bx1,y,"ishikawa-label align","end",fontSize)}else{const k=par.childrenDrawn++;bx0=lerp(par.x0,par.x1,(par.childCount-k)/(par.childCount+1)),by0=par.y0,bx1=bx0+diagonalX*((y-by0)/diagonalY),drawLine(grp,bx0,by0,bx1,y,"ishikawa-sub-branch",roughContext),roughContext&&drawArrowMarker(grp,bx0,by0,bx0-bx1,by0-y,roughContext),drawMultilineText(grp,e.text,bx1,y,oddLabel,"end",fontSize)}e.childCount>0&&bones.set(i,{x0:bx0,y0:by0,x1:bx1,y1:y,childCount:e.childCount,childrenDrawn:0})}},"drawBranch"),splitLines=__name(text=>text.split(/<br\s*\/?>|\n/),"splitLines"),wrapText=__name((text,maxChars)=>{if(text.length<=maxChars)return text;const lines=[];for(const word of text.split(/\s+/)){const last=lines.length-1;last>=0&&lines[last].length+1+word.length<=maxChars?lines[last]+=" "+word:lines.push(word)}return lines.join("\n")},"wrapText"),drawMultilineText=__name((g,text,x,y,cls,anchor,fontSize)=>{const lines=splitLines(text),lh=1.05*fontSize,el=g.append("text").attr("class",cls).attr("text-anchor",anchor).attr("x",x).attr("y",y-(lines.length-1)*lh/2);for(const[i,line]of lines.entries())el.append("tspan").attr("x",x).attr("dy",0===i?0:lh).text(line);return el},"drawMultilineText"),lerp=__name((a,b,t)=>a+(b-a)*t,"lerp"),drawLine=__name((g,x1,y1,x2,y2,cls,roughContext)=>{if(roughContext){const roughNode=roughContext.roughSvg.line(x1,y1,x2,y2,{roughness:1.5,seed:roughContext.seed,stroke:roughContext.lineColor,strokeWidth:2});return void g.append(()=>roughNode).attr("class",cls)}return g.append("line").attr("class",cls).attr("x1",x1).attr("y1",y1).attr("x2",x2).attr("y2",y2)},"drawLine"),renderer={draw:draw},ishikawaStyles_default=__name(options=>`\n.ishikawa .ishikawa-spine,\n.ishikawa .ishikawa-branch,\n.ishikawa .ishikawa-sub-branch {\n stroke: ${options.lineColor};\n stroke-width: 2;\n fill: none;\n}\n\n.ishikawa .ishikawa-sub-branch {\n stroke-width: 1;\n}\n\n.ishikawa .ishikawa-arrow {\n fill: ${options.lineColor};\n}\n\n.ishikawa .ishikawa-head {\n fill: ${options.mainBkg};\n stroke: ${options.lineColor};\n stroke-width: 2;\n}\n\n.ishikawa .ishikawa-label-box {\n fill: ${options.mainBkg};\n stroke: ${options.lineColor};\n stroke-width: 2;\n}\n\n.ishikawa text {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor};\n}\n\n.ishikawa .ishikawa-head-label {\n font-weight: 600;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: 14px;\n}\n\n.ishikawa .ishikawa-label {\n text-anchor: end;\n}\n\n.ishikawa .ishikawa-label.cause {\n text-anchor: middle;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.align {\n text-anchor: end;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.up {\n dominant-baseline: baseline;\n}\n\n.ishikawa .ishikawa-label.down {\n dominant-baseline: hanging;\n}\n`,"getStyles"),diagram={parser:ishikawa_default,get db(){return new IshikawaDB},renderer:renderer,styles:ishikawaStyles_default};export{diagram};
@@ -1 +1 @@
1
- import{g as getIconStyles}from"./chunk-FMBD7UC4-Dykxux6b.js";import{a as drawBackgroundRect,g as getNoteRect,h as drawText,d as drawRect}from"./chunk-YZCP3GAM-CbReBNg5.js";import{g as getAccDescription,s as setAccDescription,a as getAccTitle,b as setAccTitle,q as getDiagramTitle,p as setDiagramTitle,_ as __name,c as getConfig2,d as select,e as configureSvgSize,y as clear}from"./mermaid.core-f1mZHh7u.js";import{d as d3arc}from"./arc-nTLBi2ib.js";import"./vendor-mdxeditor-BFiCaYAL.js";import"./vendor-antd-jGWxgt_-.js";import"./vendor-codemirror-9gysGjWj.js";import"./vendor-markdown-BFrYfpb0.js";var parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[6,8,10,11,12,14,16,17,18],$V1=[1,9],$V2=[1,10],$V3=[1,11],$V4=[1,12],$V5=[1,13],$V6=[1,14],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:return $$[$0-1];case 2:case 6:case 7:this.$=[];break;case 3:$$[$0-1].push($$[$0]),this.$=$$[$0-1];break;case 4:case 5:this.$=$$[$0];break;case 8:yy.setDiagramTitle($$[$0].substr(6)),this.$=$$[$0].substr(6);break;case 9:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 10:case 11:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 12:yy.addSection($$[$0].substr(8)),this.$=$$[$0].substr(8);break;case 13:yy.addTask($$[$0-1],$$[$0]),this.$="task"}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:$V1,12:$V2,14:$V3,16:$V4,17:$V5,18:$V6},o($V0,[2,7],{1:[2,1]}),o($V0,[2,3]),{9:15,11:$V1,12:$V2,14:$V3,16:$V4,17:$V5,18:$V6},o($V0,[2,5]),o($V0,[2,6]),o($V0,[2,8]),{13:[1,16]},{15:[1,17]},o($V0,[2,11]),o($V0,[2,12]),{19:[1,18]},o($V0,[2,4]),o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,13])],defaultActions:{},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var journey_default=parser,currentSection="",sections=[],tasks=[],rawTasks=[],clear2=__name(function(){sections.length=0,tasks.length=0,currentSection="",rawTasks.length=0,clear()},"clear"),addSection=__name(function(txt){currentSection=txt,sections.push(txt)},"addSection"),getSections=__name(function(){return sections},"getSections"),getTasks=__name(function(){let allItemsProcessed=compileTasks();let iterationCount=0;for(;!allItemsProcessed&&iterationCount<100;)allItemsProcessed=compileTasks(),iterationCount++;return tasks.push(...rawTasks),tasks},"getTasks"),updateActors=__name(function(){const tempActors=[];tasks.forEach(task=>{task.people&&tempActors.push(...task.people)});return[...new Set(tempActors)].sort()},"updateActors"),addTask=__name(function(descr,taskData){const pieces=taskData.substr(1).split(":");let score=0,peeps=[];1===pieces.length?(score=Number(pieces[0]),peeps=[]):(score=Number(pieces[0]),peeps=pieces[1].split(","));const peopleList=peeps.map(s=>s.trim()),rawTask={section:currentSection,type:currentSection,people:peopleList,task:descr,score:score};rawTasks.push(rawTask)},"addTask"),addTaskOrg=__name(function(descr){const newTask={section:currentSection,type:currentSection,description:descr,task:descr,classes:[]};tasks.push(newTask)},"addTaskOrg"),compileTasks=__name(function(){const compileTask=__name(function(pos){return rawTasks[pos].processed},"compileTask");let allProcessed=!0;for(const[i,rawTask]of rawTasks.entries())compileTask(i),allProcessed=allProcessed&&rawTask.processed;return allProcessed},"compileTasks"),getActors=__name(function(){return updateActors()},"getActors"),journeyDb_default={getConfig:__name(()=>getConfig2().journey,"getConfig"),clear:clear2,setDiagramTitle:setDiagramTitle,getDiagramTitle:getDiagramTitle,setAccTitle:setAccTitle,getAccTitle:getAccTitle,setAccDescription:setAccDescription,getAccDescription:getAccDescription,addSection:addSection,getSections:getSections,getTasks:getTasks,addTask:addTask,addTaskOrg:addTaskOrg,getActors:getActors},styles_default=__name(options=>`.label {\n font-family: ${options.fontFamily};\n color: ${options.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${options.textColor}\n }\n\n .legend {\n fill: ${options.textColor};\n font-family: ${options.fontFamily};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${options.textColor}\n }\n\n .face {\n ${options.faceColor?`fill: ${options.faceColor}`:"fill: #FFF8DC"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${options.fillType0?`fill: ${options.fillType0}`:""};\n }\n .task-type-1, .section-type-1 {\n ${options.fillType0?`fill: ${options.fillType1}`:""};\n }\n .task-type-2, .section-type-2 {\n ${options.fillType0?`fill: ${options.fillType2}`:""};\n }\n .task-type-3, .section-type-3 {\n ${options.fillType0?`fill: ${options.fillType3}`:""};\n }\n .task-type-4, .section-type-4 {\n ${options.fillType0?`fill: ${options.fillType4}`:""};\n }\n .task-type-5, .section-type-5 {\n ${options.fillType0?`fill: ${options.fillType5}`:""};\n }\n .task-type-6, .section-type-6 {\n ${options.fillType0?`fill: ${options.fillType6}`:""};\n }\n .task-type-7, .section-type-7 {\n ${options.fillType0?`fill: ${options.fillType7}`:""};\n }\n\n .actor-0 {\n ${options.actor0?`fill: ${options.actor0}`:""};\n }\n .actor-1 {\n ${options.actor1?`fill: ${options.actor1}`:""};\n }\n .actor-2 {\n ${options.actor2?`fill: ${options.actor2}`:""};\n }\n .actor-3 {\n ${options.actor3?`fill: ${options.actor3}`:""};\n }\n .actor-4 {\n ${options.actor4?`fill: ${options.actor4}`:""};\n }\n .actor-5 {\n ${options.actor5?`fill: ${options.actor5}`:""};\n }\n ${getIconStyles()}\n`,"getStyles"),drawRect2=__name(function(elem,rectData){return drawRect(elem,rectData)},"drawRect"),drawFace=__name(function(element,faceData){const circleElement=element.append("circle").attr("cx",faceData.cx).attr("cy",faceData.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),face=element.append("g");function smile(face2){const arc=d3arc().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);face2.append("path").attr("class","mouth").attr("d",arc).attr("transform","translate("+faceData.cx+","+(faceData.cy+2)+")")}function sad(face2){const arc=d3arc().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);face2.append("path").attr("class","mouth").attr("d",arc).attr("transform","translate("+faceData.cx+","+(faceData.cy+7)+")")}function ambivalent(face2){face2.append("line").attr("class","mouth").attr("stroke",2).attr("x1",faceData.cx-5).attr("y1",faceData.cy+7).attr("x2",faceData.cx+5).attr("y2",faceData.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return face.append("circle").attr("cx",faceData.cx-5).attr("cy",faceData.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),face.append("circle").attr("cx",faceData.cx+5).attr("cy",faceData.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),__name(smile,"smile"),__name(sad,"sad"),__name(ambivalent,"ambivalent"),faceData.score>3?smile(face):faceData.score<3?sad(face):ambivalent(face),circleElement},"drawFace"),drawCircle=__name(function(element,circleData){const circleElement=element.append("circle");return circleElement.attr("cx",circleData.cx),circleElement.attr("cy",circleData.cy),circleElement.attr("class","actor-"+circleData.pos),circleElement.attr("fill",circleData.fill),circleElement.attr("stroke",circleData.stroke),circleElement.attr("r",circleData.r),void 0!==circleElement.class&&circleElement.attr("class",circleElement.class),void 0!==circleData.title&&circleElement.append("title").text(circleData.title),circleElement},"drawCircle"),drawText2=__name(function(elem,textData){return drawText(elem,textData)},"drawText"),drawLabel=__name(function(elem,txtObject){function genPoints(x,y,width,height,cut){return x+","+y+" "+(x+width)+","+y+" "+(x+width)+","+(y+height-cut)+" "+(x+width-1.2*cut)+","+(y+height)+" "+x+","+(y+height)}__name(genPoints,"genPoints");const polygon=elem.append("polygon");polygon.attr("points",genPoints(txtObject.x,txtObject.y,50,20,7)),polygon.attr("class","labelBox"),txtObject.y=txtObject.y+txtObject.labelMargin,txtObject.x=txtObject.x+.5*txtObject.labelMargin,drawText2(elem,txtObject)},"drawLabel"),drawSection=__name(function(elem,section,conf2){const g=elem.append("g"),rect=getNoteRect();rect.x=section.x,rect.y=section.y,rect.fill=section.fill,rect.width=conf2.width*section.taskCount+conf2.diagramMarginX*(section.taskCount-1),rect.height=conf2.height,rect.class="journey-section section-type-"+section.num,rect.rx=3,rect.ry=3,drawRect2(g,rect),_drawTextCandidateFunc(conf2)(section.text,g,rect.x,rect.y,rect.width,rect.height,{class:"journey-section section-type-"+section.num},conf2,section.colour)},"drawSection"),taskCount=-1,drawTask=__name(function(elem,task,conf2,diagramId){const center=task.x+conf2.width/2,g=elem.append("g");taskCount++;g.append("line").attr("id",diagramId+"-task"+taskCount).attr("x1",center).attr("y1",task.y).attr("x2",center).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),drawFace(g,{cx:center,cy:300+30*(5-task.score),score:task.score});const rect=getNoteRect();rect.x=task.x,rect.y=task.y,rect.fill=task.fill,rect.width=conf2.width,rect.height=conf2.height,rect.class="task task-type-"+task.num,rect.rx=3,rect.ry=3,drawRect2(g,rect);let xPos=task.x+14;task.people.forEach(person=>{const colour=task.actors[person].color,circle={cx:xPos,cy:task.y,r:7,fill:colour,stroke:"#000",title:person,pos:task.actors[person].position};drawCircle(g,circle),xPos+=10}),_drawTextCandidateFunc(conf2)(task.task,g,rect.x,rect.y,rect.width,rect.height,{class:"task"},conf2,task.colour)},"drawTask"),drawBackgroundRect2=__name(function(elem,bounds2){drawBackgroundRect(elem,bounds2)},"drawBackgroundRect"),_drawTextCandidateFunc=function(){function byText(content,g,x,y,width,height,textAttrs,colour){_setTextAttrs(g.append("text").attr("x",x+width/2).attr("y",y+height/2+5).style("font-color",colour).style("text-anchor","middle").text(content),textAttrs)}function byTspan(content,g,x,y,width,height,textAttrs,conf2,colour){const{taskFontSize:taskFontSize,taskFontFamily:taskFontFamily}=conf2,lines=content.split(/<br\s*\/?>/gi);for(let i=0;i<lines.length;i++){const dy=i*taskFontSize-taskFontSize*(lines.length-1)/2,text=g.append("text").attr("x",x+width/2).attr("y",y).attr("fill",colour).style("text-anchor","middle").style("font-size",taskFontSize).style("font-family",taskFontFamily);text.append("tspan").attr("x",x+width/2).attr("dy",dy).text(lines[i]),text.attr("y",y+height/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),_setTextAttrs(text,textAttrs)}}function byFo(content,g,x,y,width,height,textAttrs,conf2){const body=g.append("switch"),text=body.append("foreignObject").attr("x",x).attr("y",y).attr("width",width).attr("height",height).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");text.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(content),byTspan(content,body,x,y,width,height,textAttrs,conf2),_setTextAttrs(text,textAttrs)}function _setTextAttrs(toText,fromTextAttrsDict){for(const key in fromTextAttrsDict)key in fromTextAttrsDict&&toText.attr(key,fromTextAttrsDict[key])}return __name(byText,"byText"),__name(byTspan,"byTspan"),__name(byFo,"byFo"),__name(_setTextAttrs,"_setTextAttrs"),function(conf2){return"fo"===conf2.textPlacement?byFo:"old"===conf2.textPlacement?byText:byTspan}}(),svgDraw_default={drawRect:drawRect2,drawCircle:drawCircle,drawSection:drawSection,drawText:drawText2,drawLabel:drawLabel,drawTask:drawTask,drawBackgroundRect:drawBackgroundRect2,initGraphics:__name(function(graphics,id){taskCount=-1,graphics.append("defs").append("marker").attr("id",id+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics")},setConf=__name(function(cnf){Object.keys(cnf).forEach(function(key){conf[key]=cnf[key]})},"setConf"),actors={},maxWidth=0;function drawActorLegend(diagram2){const conf2=getConfig2().journey,maxLabelWidth=conf2.maxLabelWidth;maxWidth=0;let yPos=60;Object.keys(actors).forEach(person=>{const colour=actors[person].color,circleData={cx:20,cy:yPos,r:7,fill:colour,stroke:"#000",pos:actors[person].position};svgDraw_default.drawCircle(diagram2,circleData);let measureText=diagram2.append("text").attr("visibility","hidden").text(person);const fullTextWidth=measureText.node().getBoundingClientRect().width;measureText.remove();let lines=[];if(fullTextWidth<=maxLabelWidth)lines=[person];else{const words=person.split(" ");let currentLine="";measureText=diagram2.append("text").attr("visibility","hidden"),words.forEach(word=>{const testLine=currentLine?`${currentLine} ${word}`:word;measureText.text(testLine);if(measureText.node().getBoundingClientRect().width>maxLabelWidth){if(currentLine&&lines.push(currentLine),currentLine=word,measureText.text(word),measureText.node().getBoundingClientRect().width>maxLabelWidth){let brokenWord="";for(const char of word)brokenWord+=char,measureText.text(brokenWord+"-"),measureText.node().getBoundingClientRect().width>maxLabelWidth&&(lines.push(brokenWord.slice(0,-1)+"-"),brokenWord=char);currentLine=brokenWord}}else currentLine=testLine}),currentLine&&lines.push(currentLine),measureText.remove()}lines.forEach((line,index)=>{const labelData={x:40,y:yPos+7+20*index,fill:"#666",text:line,textMargin:conf2.boxTextMargin??5},lineWidth=svgDraw_default.drawText(diagram2,labelData).node().getBoundingClientRect().width;lineWidth>maxWidth&&lineWidth>conf2.leftMargin-lineWidth&&(maxWidth=lineWidth)}),yPos+=Math.max(20,20*lines.length)})}__name(drawActorLegend,"drawActorLegend");var conf=getConfig2().journey,leftMargin=0,draw=__name(function(text,id,version,diagObj){const configObject=getConfig2(),titleColor=configObject.journey.titleColor,titleFontSize=configObject.journey.titleFontSize,titleFontFamily=configObject.journey.titleFontFamily,securityLevel=configObject.securityLevel;let sandboxElement;"sandbox"===securityLevel&&(sandboxElement=select("#i"+id));const root=select("sandbox"===securityLevel?sandboxElement.nodes()[0].contentDocument.body:"body");bounds.init();const diagram2=root.select("#"+id);svgDraw_default.initGraphics(diagram2,id);const tasks2=diagObj.db.getTasks(),title=diagObj.db.getDiagramTitle(),actorNames=diagObj.db.getActors();for(const member in actors)delete actors[member];let actorPos=0;actorNames.forEach(actorName=>{actors[actorName]={color:conf.actorColours[actorPos%conf.actorColours.length],position:actorPos},actorPos++}),drawActorLegend(diagram2),leftMargin=conf.leftMargin+maxWidth,bounds.insert(0,0,leftMargin,50*Object.keys(actors).length),drawTasks(diagram2,tasks2,0,id);const box=bounds.getBounds();title&&diagram2.append("text").text(title).attr("x",leftMargin).attr("font-size",titleFontSize).attr("font-weight","bold").attr("y",25).attr("fill",titleColor).attr("font-family",titleFontFamily);const height=box.stopy-box.starty+2*conf.diagramMarginY,width=leftMargin+box.stopx+2*conf.diagramMarginX;configureSvgSize(diagram2,height,width,conf.useMaxWidth),diagram2.append("line").attr("x1",leftMargin).attr("y1",4*conf.height).attr("x2",width-leftMargin-4).attr("y2",4*conf.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+id+"-arrowhead)");const extraVertForTitle=title?70:0;diagram2.attr("viewBox",`${box.startx} -25 ${width} ${height+extraVertForTitle}`),diagram2.attr("preserveAspectRatio","xMinYMin meet"),diagram2.attr("height",height+extraVertForTitle+25)},"draw"),bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:__name(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:__name(function(obj,key,val,fun){void 0===obj[key]?obj[key]=val:obj[key]=fun(val,obj[key])},"updateVal"),updateBounds:__name(function(startx,starty,stopx,stopy){const conf2=getConfig2().journey,_self=this;let cnt=0;function updateFn(type){return __name(function(item){cnt++;const n=_self.sequenceItems.length-cnt+1;_self.updateVal(item,"starty",starty-n*conf2.boxMargin,Math.min),_self.updateVal(item,"stopy",stopy+n*conf2.boxMargin,Math.max),_self.updateVal(bounds.data,"startx",startx-n*conf2.boxMargin,Math.min),_self.updateVal(bounds.data,"stopx",stopx+n*conf2.boxMargin,Math.max),"activation"!==type&&(_self.updateVal(item,"startx",startx-n*conf2.boxMargin,Math.min),_self.updateVal(item,"stopx",stopx+n*conf2.boxMargin,Math.max),_self.updateVal(bounds.data,"starty",starty-n*conf2.boxMargin,Math.min),_self.updateVal(bounds.data,"stopy",stopy+n*conf2.boxMargin,Math.max))},"updateItemBounds")}__name(updateFn,"updateFn"),this.sequenceItems.forEach(updateFn())},"updateBounds"),insert:__name(function(startx,starty,stopx,stopy){const _startx=Math.min(startx,stopx),_stopx=Math.max(startx,stopx),_starty=Math.min(starty,stopy),_stopy=Math.max(starty,stopy);this.updateVal(bounds.data,"startx",_startx,Math.min),this.updateVal(bounds.data,"starty",_starty,Math.min),this.updateVal(bounds.data,"stopx",_stopx,Math.max),this.updateVal(bounds.data,"stopy",_stopy,Math.max),this.updateBounds(_startx,_starty,_stopx,_stopy)},"insert"),bumpVerticalPos:__name(function(bump){this.verticalPos=this.verticalPos+bump,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:__name(function(){return this.verticalPos},"getVerticalPos"),getBounds:__name(function(){return this.data},"getBounds")},fills=conf.sectionFills,textColours=conf.sectionColours,drawTasks=__name(function(diagram2,tasks2,verticalPos,diagramId){const conf2=getConfig2().journey;let lastSection="";const taskPos=verticalPos+(2*conf2.height+conf2.diagramMarginY);let sectionNumber=0,fill="#CCC",colour="black",num=0;for(const[i,task]of tasks2.entries()){if(lastSection!==task.section){fill=fills[sectionNumber%fills.length],num=sectionNumber%fills.length,colour=textColours[sectionNumber%textColours.length];let taskInSectionCount=0;const currentSection2=task.section;for(let taskIndex=i;taskIndex<tasks2.length&&tasks2[taskIndex].section==currentSection2;taskIndex++)taskInSectionCount+=1;const section={x:i*conf2.taskMargin+i*conf2.width+leftMargin,y:50,text:task.section,fill:fill,num:num,colour:colour,taskCount:taskInSectionCount};svgDraw_default.drawSection(diagram2,section,conf2),lastSection=task.section,sectionNumber++}const taskActors=task.people.reduce((acc,actorName)=>(actors[actorName]&&(acc[actorName]=actors[actorName]),acc),{});task.x=i*conf2.taskMargin+i*conf2.width+leftMargin,task.y=taskPos,task.width=conf2.diagramMarginX,task.height=conf2.diagramMarginY,task.colour=colour,task.fill=fill,task.num=num,task.actors=taskActors,svgDraw_default.drawTask(diagram2,task,conf2,diagramId),bounds.insert(task.x,task.y,task.x+task.width+conf2.taskMargin,450)}},"drawTasks"),journeyRenderer_default={setConf:setConf,draw:draw},diagram={parser:journey_default,db:journeyDb_default,renderer:journeyRenderer_default,styles:styles_default,init:__name(cnf=>{journeyRenderer_default.setConf(cnf.journey),journeyDb_default.clear()},"init")};export{diagram};
1
+ import{g as getIconStyles}from"./chunk-FMBD7UC4-Cx2lqZi9.js";import{a as drawBackgroundRect,g as getNoteRect,h as drawText,d as drawRect}from"./chunk-YZCP3GAM-Bk3OysLK.js";import{g as getAccDescription,s as setAccDescription,a as getAccTitle,b as setAccTitle,q as getDiagramTitle,p as setDiagramTitle,_ as __name,c as getConfig2,d as select,e as configureSvgSize,y as clear}from"./mermaid.core-YnqOkuoS.js";import{d as d3arc}from"./arc-CAB2oIHx.js";import"./vendor-mdxeditor-CrZ9SWce.js";import"./vendor-antd-Dq3DHFa-.js";import"./vendor-codemirror-DjMkT0sn.js";import"./vendor-markdown-BFrYfpb0.js";var parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[6,8,10,11,12,14,16,17,18],$V1=[1,9],$V2=[1,10],$V3=[1,11],$V4=[1,12],$V5=[1,13],$V6=[1,14],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:return $$[$0-1];case 2:case 6:case 7:this.$=[];break;case 3:$$[$0-1].push($$[$0]),this.$=$$[$0-1];break;case 4:case 5:this.$=$$[$0];break;case 8:yy.setDiagramTitle($$[$0].substr(6)),this.$=$$[$0].substr(6);break;case 9:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 10:case 11:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 12:yy.addSection($$[$0].substr(8)),this.$=$$[$0].substr(8);break;case 13:yy.addTask($$[$0-1],$$[$0]),this.$="task"}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:$V1,12:$V2,14:$V3,16:$V4,17:$V5,18:$V6},o($V0,[2,7],{1:[2,1]}),o($V0,[2,3]),{9:15,11:$V1,12:$V2,14:$V3,16:$V4,17:$V5,18:$V6},o($V0,[2,5]),o($V0,[2,6]),o($V0,[2,8]),{13:[1,16]},{15:[1,17]},o($V0,[2,11]),o($V0,[2,12]),{19:[1,18]},o($V0,[2,4]),o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,13])],defaultActions:{},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var journey_default=parser,currentSection="",sections=[],tasks=[],rawTasks=[],clear2=__name(function(){sections.length=0,tasks.length=0,currentSection="",rawTasks.length=0,clear()},"clear"),addSection=__name(function(txt){currentSection=txt,sections.push(txt)},"addSection"),getSections=__name(function(){return sections},"getSections"),getTasks=__name(function(){let allItemsProcessed=compileTasks();let iterationCount=0;for(;!allItemsProcessed&&iterationCount<100;)allItemsProcessed=compileTasks(),iterationCount++;return tasks.push(...rawTasks),tasks},"getTasks"),updateActors=__name(function(){const tempActors=[];tasks.forEach(task=>{task.people&&tempActors.push(...task.people)});return[...new Set(tempActors)].sort()},"updateActors"),addTask=__name(function(descr,taskData){const pieces=taskData.substr(1).split(":");let score=0,peeps=[];1===pieces.length?(score=Number(pieces[0]),peeps=[]):(score=Number(pieces[0]),peeps=pieces[1].split(","));const peopleList=peeps.map(s=>s.trim()),rawTask={section:currentSection,type:currentSection,people:peopleList,task:descr,score:score};rawTasks.push(rawTask)},"addTask"),addTaskOrg=__name(function(descr){const newTask={section:currentSection,type:currentSection,description:descr,task:descr,classes:[]};tasks.push(newTask)},"addTaskOrg"),compileTasks=__name(function(){const compileTask=__name(function(pos){return rawTasks[pos].processed},"compileTask");let allProcessed=!0;for(const[i,rawTask]of rawTasks.entries())compileTask(i),allProcessed=allProcessed&&rawTask.processed;return allProcessed},"compileTasks"),getActors=__name(function(){return updateActors()},"getActors"),journeyDb_default={getConfig:__name(()=>getConfig2().journey,"getConfig"),clear:clear2,setDiagramTitle:setDiagramTitle,getDiagramTitle:getDiagramTitle,setAccTitle:setAccTitle,getAccTitle:getAccTitle,setAccDescription:setAccDescription,getAccDescription:getAccDescription,addSection:addSection,getSections:getSections,getTasks:getTasks,addTask:addTask,addTaskOrg:addTaskOrg,getActors:getActors},styles_default=__name(options=>`.label {\n font-family: ${options.fontFamily};\n color: ${options.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${options.textColor}\n }\n\n .legend {\n fill: ${options.textColor};\n font-family: ${options.fontFamily};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${options.textColor}\n }\n\n .face {\n ${options.faceColor?`fill: ${options.faceColor}`:"fill: #FFF8DC"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${options.fillType0?`fill: ${options.fillType0}`:""};\n }\n .task-type-1, .section-type-1 {\n ${options.fillType0?`fill: ${options.fillType1}`:""};\n }\n .task-type-2, .section-type-2 {\n ${options.fillType0?`fill: ${options.fillType2}`:""};\n }\n .task-type-3, .section-type-3 {\n ${options.fillType0?`fill: ${options.fillType3}`:""};\n }\n .task-type-4, .section-type-4 {\n ${options.fillType0?`fill: ${options.fillType4}`:""};\n }\n .task-type-5, .section-type-5 {\n ${options.fillType0?`fill: ${options.fillType5}`:""};\n }\n .task-type-6, .section-type-6 {\n ${options.fillType0?`fill: ${options.fillType6}`:""};\n }\n .task-type-7, .section-type-7 {\n ${options.fillType0?`fill: ${options.fillType7}`:""};\n }\n\n .actor-0 {\n ${options.actor0?`fill: ${options.actor0}`:""};\n }\n .actor-1 {\n ${options.actor1?`fill: ${options.actor1}`:""};\n }\n .actor-2 {\n ${options.actor2?`fill: ${options.actor2}`:""};\n }\n .actor-3 {\n ${options.actor3?`fill: ${options.actor3}`:""};\n }\n .actor-4 {\n ${options.actor4?`fill: ${options.actor4}`:""};\n }\n .actor-5 {\n ${options.actor5?`fill: ${options.actor5}`:""};\n }\n ${getIconStyles()}\n`,"getStyles"),drawRect2=__name(function(elem,rectData){return drawRect(elem,rectData)},"drawRect"),drawFace=__name(function(element,faceData){const circleElement=element.append("circle").attr("cx",faceData.cx).attr("cy",faceData.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),face=element.append("g");function smile(face2){const arc=d3arc().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);face2.append("path").attr("class","mouth").attr("d",arc).attr("transform","translate("+faceData.cx+","+(faceData.cy+2)+")")}function sad(face2){const arc=d3arc().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);face2.append("path").attr("class","mouth").attr("d",arc).attr("transform","translate("+faceData.cx+","+(faceData.cy+7)+")")}function ambivalent(face2){face2.append("line").attr("class","mouth").attr("stroke",2).attr("x1",faceData.cx-5).attr("y1",faceData.cy+7).attr("x2",faceData.cx+5).attr("y2",faceData.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return face.append("circle").attr("cx",faceData.cx-5).attr("cy",faceData.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),face.append("circle").attr("cx",faceData.cx+5).attr("cy",faceData.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),__name(smile,"smile"),__name(sad,"sad"),__name(ambivalent,"ambivalent"),faceData.score>3?smile(face):faceData.score<3?sad(face):ambivalent(face),circleElement},"drawFace"),drawCircle=__name(function(element,circleData){const circleElement=element.append("circle");return circleElement.attr("cx",circleData.cx),circleElement.attr("cy",circleData.cy),circleElement.attr("class","actor-"+circleData.pos),circleElement.attr("fill",circleData.fill),circleElement.attr("stroke",circleData.stroke),circleElement.attr("r",circleData.r),void 0!==circleElement.class&&circleElement.attr("class",circleElement.class),void 0!==circleData.title&&circleElement.append("title").text(circleData.title),circleElement},"drawCircle"),drawText2=__name(function(elem,textData){return drawText(elem,textData)},"drawText"),drawLabel=__name(function(elem,txtObject){function genPoints(x,y,width,height,cut){return x+","+y+" "+(x+width)+","+y+" "+(x+width)+","+(y+height-cut)+" "+(x+width-1.2*cut)+","+(y+height)+" "+x+","+(y+height)}__name(genPoints,"genPoints");const polygon=elem.append("polygon");polygon.attr("points",genPoints(txtObject.x,txtObject.y,50,20,7)),polygon.attr("class","labelBox"),txtObject.y=txtObject.y+txtObject.labelMargin,txtObject.x=txtObject.x+.5*txtObject.labelMargin,drawText2(elem,txtObject)},"drawLabel"),drawSection=__name(function(elem,section,conf2){const g=elem.append("g"),rect=getNoteRect();rect.x=section.x,rect.y=section.y,rect.fill=section.fill,rect.width=conf2.width*section.taskCount+conf2.diagramMarginX*(section.taskCount-1),rect.height=conf2.height,rect.class="journey-section section-type-"+section.num,rect.rx=3,rect.ry=3,drawRect2(g,rect),_drawTextCandidateFunc(conf2)(section.text,g,rect.x,rect.y,rect.width,rect.height,{class:"journey-section section-type-"+section.num},conf2,section.colour)},"drawSection"),taskCount=-1,drawTask=__name(function(elem,task,conf2,diagramId){const center=task.x+conf2.width/2,g=elem.append("g");taskCount++;g.append("line").attr("id",diagramId+"-task"+taskCount).attr("x1",center).attr("y1",task.y).attr("x2",center).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),drawFace(g,{cx:center,cy:300+30*(5-task.score),score:task.score});const rect=getNoteRect();rect.x=task.x,rect.y=task.y,rect.fill=task.fill,rect.width=conf2.width,rect.height=conf2.height,rect.class="task task-type-"+task.num,rect.rx=3,rect.ry=3,drawRect2(g,rect);let xPos=task.x+14;task.people.forEach(person=>{const colour=task.actors[person].color,circle={cx:xPos,cy:task.y,r:7,fill:colour,stroke:"#000",title:person,pos:task.actors[person].position};drawCircle(g,circle),xPos+=10}),_drawTextCandidateFunc(conf2)(task.task,g,rect.x,rect.y,rect.width,rect.height,{class:"task"},conf2,task.colour)},"drawTask"),drawBackgroundRect2=__name(function(elem,bounds2){drawBackgroundRect(elem,bounds2)},"drawBackgroundRect"),_drawTextCandidateFunc=function(){function byText(content,g,x,y,width,height,textAttrs,colour){_setTextAttrs(g.append("text").attr("x",x+width/2).attr("y",y+height/2+5).style("font-color",colour).style("text-anchor","middle").text(content),textAttrs)}function byTspan(content,g,x,y,width,height,textAttrs,conf2,colour){const{taskFontSize:taskFontSize,taskFontFamily:taskFontFamily}=conf2,lines=content.split(/<br\s*\/?>/gi);for(let i=0;i<lines.length;i++){const dy=i*taskFontSize-taskFontSize*(lines.length-1)/2,text=g.append("text").attr("x",x+width/2).attr("y",y).attr("fill",colour).style("text-anchor","middle").style("font-size",taskFontSize).style("font-family",taskFontFamily);text.append("tspan").attr("x",x+width/2).attr("dy",dy).text(lines[i]),text.attr("y",y+height/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),_setTextAttrs(text,textAttrs)}}function byFo(content,g,x,y,width,height,textAttrs,conf2){const body=g.append("switch"),text=body.append("foreignObject").attr("x",x).attr("y",y).attr("width",width).attr("height",height).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");text.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(content),byTspan(content,body,x,y,width,height,textAttrs,conf2),_setTextAttrs(text,textAttrs)}function _setTextAttrs(toText,fromTextAttrsDict){for(const key in fromTextAttrsDict)key in fromTextAttrsDict&&toText.attr(key,fromTextAttrsDict[key])}return __name(byText,"byText"),__name(byTspan,"byTspan"),__name(byFo,"byFo"),__name(_setTextAttrs,"_setTextAttrs"),function(conf2){return"fo"===conf2.textPlacement?byFo:"old"===conf2.textPlacement?byText:byTspan}}(),svgDraw_default={drawRect:drawRect2,drawCircle:drawCircle,drawSection:drawSection,drawText:drawText2,drawLabel:drawLabel,drawTask:drawTask,drawBackgroundRect:drawBackgroundRect2,initGraphics:__name(function(graphics,id){taskCount=-1,graphics.append("defs").append("marker").attr("id",id+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics")},setConf=__name(function(cnf){Object.keys(cnf).forEach(function(key){conf[key]=cnf[key]})},"setConf"),actors={},maxWidth=0;function drawActorLegend(diagram2){const conf2=getConfig2().journey,maxLabelWidth=conf2.maxLabelWidth;maxWidth=0;let yPos=60;Object.keys(actors).forEach(person=>{const colour=actors[person].color,circleData={cx:20,cy:yPos,r:7,fill:colour,stroke:"#000",pos:actors[person].position};svgDraw_default.drawCircle(diagram2,circleData);let measureText=diagram2.append("text").attr("visibility","hidden").text(person);const fullTextWidth=measureText.node().getBoundingClientRect().width;measureText.remove();let lines=[];if(fullTextWidth<=maxLabelWidth)lines=[person];else{const words=person.split(" ");let currentLine="";measureText=diagram2.append("text").attr("visibility","hidden"),words.forEach(word=>{const testLine=currentLine?`${currentLine} ${word}`:word;measureText.text(testLine);if(measureText.node().getBoundingClientRect().width>maxLabelWidth){if(currentLine&&lines.push(currentLine),currentLine=word,measureText.text(word),measureText.node().getBoundingClientRect().width>maxLabelWidth){let brokenWord="";for(const char of word)brokenWord+=char,measureText.text(brokenWord+"-"),measureText.node().getBoundingClientRect().width>maxLabelWidth&&(lines.push(brokenWord.slice(0,-1)+"-"),brokenWord=char);currentLine=brokenWord}}else currentLine=testLine}),currentLine&&lines.push(currentLine),measureText.remove()}lines.forEach((line,index)=>{const labelData={x:40,y:yPos+7+20*index,fill:"#666",text:line,textMargin:conf2.boxTextMargin??5},lineWidth=svgDraw_default.drawText(diagram2,labelData).node().getBoundingClientRect().width;lineWidth>maxWidth&&lineWidth>conf2.leftMargin-lineWidth&&(maxWidth=lineWidth)}),yPos+=Math.max(20,20*lines.length)})}__name(drawActorLegend,"drawActorLegend");var conf=getConfig2().journey,leftMargin=0,draw=__name(function(text,id,version,diagObj){const configObject=getConfig2(),titleColor=configObject.journey.titleColor,titleFontSize=configObject.journey.titleFontSize,titleFontFamily=configObject.journey.titleFontFamily,securityLevel=configObject.securityLevel;let sandboxElement;"sandbox"===securityLevel&&(sandboxElement=select("#i"+id));const root=select("sandbox"===securityLevel?sandboxElement.nodes()[0].contentDocument.body:"body");bounds.init();const diagram2=root.select("#"+id);svgDraw_default.initGraphics(diagram2,id);const tasks2=diagObj.db.getTasks(),title=diagObj.db.getDiagramTitle(),actorNames=diagObj.db.getActors();for(const member in actors)delete actors[member];let actorPos=0;actorNames.forEach(actorName=>{actors[actorName]={color:conf.actorColours[actorPos%conf.actorColours.length],position:actorPos},actorPos++}),drawActorLegend(diagram2),leftMargin=conf.leftMargin+maxWidth,bounds.insert(0,0,leftMargin,50*Object.keys(actors).length),drawTasks(diagram2,tasks2,0,id);const box=bounds.getBounds();title&&diagram2.append("text").text(title).attr("x",leftMargin).attr("font-size",titleFontSize).attr("font-weight","bold").attr("y",25).attr("fill",titleColor).attr("font-family",titleFontFamily);const height=box.stopy-box.starty+2*conf.diagramMarginY,width=leftMargin+box.stopx+2*conf.diagramMarginX;configureSvgSize(diagram2,height,width,conf.useMaxWidth),diagram2.append("line").attr("x1",leftMargin).attr("y1",4*conf.height).attr("x2",width-leftMargin-4).attr("y2",4*conf.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+id+"-arrowhead)");const extraVertForTitle=title?70:0;diagram2.attr("viewBox",`${box.startx} -25 ${width} ${height+extraVertForTitle}`),diagram2.attr("preserveAspectRatio","xMinYMin meet"),diagram2.attr("height",height+extraVertForTitle+25)},"draw"),bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:__name(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:__name(function(obj,key,val,fun){void 0===obj[key]?obj[key]=val:obj[key]=fun(val,obj[key])},"updateVal"),updateBounds:__name(function(startx,starty,stopx,stopy){const conf2=getConfig2().journey,_self=this;let cnt=0;function updateFn(type){return __name(function(item){cnt++;const n=_self.sequenceItems.length-cnt+1;_self.updateVal(item,"starty",starty-n*conf2.boxMargin,Math.min),_self.updateVal(item,"stopy",stopy+n*conf2.boxMargin,Math.max),_self.updateVal(bounds.data,"startx",startx-n*conf2.boxMargin,Math.min),_self.updateVal(bounds.data,"stopx",stopx+n*conf2.boxMargin,Math.max),"activation"!==type&&(_self.updateVal(item,"startx",startx-n*conf2.boxMargin,Math.min),_self.updateVal(item,"stopx",stopx+n*conf2.boxMargin,Math.max),_self.updateVal(bounds.data,"starty",starty-n*conf2.boxMargin,Math.min),_self.updateVal(bounds.data,"stopy",stopy+n*conf2.boxMargin,Math.max))},"updateItemBounds")}__name(updateFn,"updateFn"),this.sequenceItems.forEach(updateFn())},"updateBounds"),insert:__name(function(startx,starty,stopx,stopy){const _startx=Math.min(startx,stopx),_stopx=Math.max(startx,stopx),_starty=Math.min(starty,stopy),_stopy=Math.max(starty,stopy);this.updateVal(bounds.data,"startx",_startx,Math.min),this.updateVal(bounds.data,"starty",_starty,Math.min),this.updateVal(bounds.data,"stopx",_stopx,Math.max),this.updateVal(bounds.data,"stopy",_stopy,Math.max),this.updateBounds(_startx,_starty,_stopx,_stopy)},"insert"),bumpVerticalPos:__name(function(bump){this.verticalPos=this.verticalPos+bump,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:__name(function(){return this.verticalPos},"getVerticalPos"),getBounds:__name(function(){return this.data},"getBounds")},fills=conf.sectionFills,textColours=conf.sectionColours,drawTasks=__name(function(diagram2,tasks2,verticalPos,diagramId){const conf2=getConfig2().journey;let lastSection="";const taskPos=verticalPos+(2*conf2.height+conf2.diagramMarginY);let sectionNumber=0,fill="#CCC",colour="black",num=0;for(const[i,task]of tasks2.entries()){if(lastSection!==task.section){fill=fills[sectionNumber%fills.length],num=sectionNumber%fills.length,colour=textColours[sectionNumber%textColours.length];let taskInSectionCount=0;const currentSection2=task.section;for(let taskIndex=i;taskIndex<tasks2.length&&tasks2[taskIndex].section==currentSection2;taskIndex++)taskInSectionCount+=1;const section={x:i*conf2.taskMargin+i*conf2.width+leftMargin,y:50,text:task.section,fill:fill,num:num,colour:colour,taskCount:taskInSectionCount};svgDraw_default.drawSection(diagram2,section,conf2),lastSection=task.section,sectionNumber++}const taskActors=task.people.reduce((acc,actorName)=>(actors[actorName]&&(acc[actorName]=actors[actorName]),acc),{});task.x=i*conf2.taskMargin+i*conf2.width+leftMargin,task.y=taskPos,task.width=conf2.diagramMarginX,task.height=conf2.diagramMarginY,task.colour=colour,task.fill=fill,task.num=num,task.actors=taskActors,svgDraw_default.drawTask(diagram2,task,conf2,diagramId),bounds.insert(task.x,task.y,task.x+task.width+conf2.taskMargin,450)}},"drawTasks"),journeyRenderer_default={setConf:setConf,draw:draw},diagram={parser:journey_default,db:journeyDb_default,renderer:journeyRenderer_default,styles:styles_default,init:__name(cnf=>{journeyRenderer_default.setConf(cnf.journey),journeyDb_default.clear()},"init")};export{diagram};
@@ -1,4 +1,4 @@
1
- import{h as commonjsGlobal,g as getDefaultExportFromCjs}from"./vendor-antd-jGWxgt_-.js";function _mergeNamespaces(n,m){for(var i=0;i<m.length;i++){const e=m[i];if("string"!=typeof e&&!Array.isArray(e))for(const k in e)if("default"!==k&&!(k in n)){const d=Object.getOwnPropertyDescriptor(e,k);d&&Object.defineProperty(n,k,d.get?d:{enumerable:!0,get:()=>e[k]})}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}function commonjsRequire(path){throw new Error('Could not dynamically require "'+path+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var hasRequiredJszip_min,jszip_min$2={exports:{}};
1
+ import{h as commonjsGlobal,g as getDefaultExportFromCjs}from"./vendor-antd-Dq3DHFa-.js";function _mergeNamespaces(n,m){for(var i=0;i<m.length;i++){const e=m[i];if("string"!=typeof e&&!Array.isArray(e))for(const k in e)if("default"!==k&&!(k in n)){const d=Object.getOwnPropertyDescriptor(e,k);d&&Object.defineProperty(n,k,d.get?d:{enumerable:!0,get:()=>e[k]})}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}function commonjsRequire(path){throw new Error('Could not dynamically require "'+path+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var hasRequiredJszip_min,jszip_min$2={exports:{}};
2
2
  /*!
3
3
 
4
4
  JSZip v3.10.1 - A JavaScript class for generating and reading zip files
@@ -1 +1 @@
1
- import{_ as __name,l as log,c as getConfig2,H as selectSvgElement,ae as insertCluster,af as insertNode,ag as positionNode,X as setupGraphViewbox,F as defaultConfig_default,i as sanitizeText,t as load,J as JSON_SCHEMA,U as isDark,V as lighten,W as darken}from"./mermaid.core-f1mZHh7u.js";import{g as getIconStyles}from"./chunk-FMBD7UC4-Dykxux6b.js";import"./vendor-mdxeditor-BFiCaYAL.js";import"./vendor-antd-jGWxgt_-.js";import"./vendor-codemirror-9gysGjWj.js";import"./vendor-markdown-BFrYfpb0.js";var parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[1,4],$V1=[1,13],$V2=[1,12],$V3=[1,15],$V4=[1,16],$V5=[1,20],$V6=[1,19],$V7=[6,7,8],$V8=[1,26],$V9=[1,24],$Va=[1,25],$Vb=[6,7,11],$Vc=[1,31],$Vd=[6,7,11,24],$Ve=[1,6,13,16,17,20,23],$Vf=[1,35],$Vg=[1,36],$Vh=[1,6,7,11,13,16,17,20,23],$Vi=[1,38],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 6:case 7:return yy;case 8:yy.getLogger().trace("Stop NL ");break;case 9:yy.getLogger().trace("Stop EOF ");break;case 11:yy.getLogger().trace("Stop NL2 ");break;case 12:yy.getLogger().trace("Stop EOF2 ");break;case 15:yy.getLogger().info("Node: ",$$[$0-1].id),yy.addNode($$[$0-2].length,$$[$0-1].id,$$[$0-1].descr,$$[$0-1].type,$$[$0]);break;case 16:yy.getLogger().info("Node: ",$$[$0].id),yy.addNode($$[$0-1].length,$$[$0].id,$$[$0].descr,$$[$0].type);break;case 17:yy.getLogger().trace("Icon: ",$$[$0]),yy.decorateNode({icon:$$[$0]});break;case 18:case 23:yy.decorateNode({class:$$[$0]});break;case 19:yy.getLogger().trace("SPACELIST");break;case 20:yy.getLogger().trace("Node: ",$$[$0-1].id),yy.addNode(0,$$[$0-1].id,$$[$0-1].descr,$$[$0-1].type,$$[$0]);break;case 21:yy.getLogger().trace("Node: ",$$[$0].id),yy.addNode(0,$$[$0].id,$$[$0].descr,$$[$0].type);break;case 22:yy.decorateNode({icon:$$[$0]});break;case 27:yy.getLogger().trace("node found ..",$$[$0-2]),this.$={id:$$[$0-1],descr:$$[$0-1],type:yy.getType($$[$0-2],$$[$0])};break;case 28:this.$={id:$$[$0],descr:$$[$0],type:0};break;case 29:yy.getLogger().trace("node found ..",$$[$0-3]),this.$={id:$$[$0-3],descr:$$[$0-1],type:yy.getType($$[$0-2],$$[$0])};break;case 30:this.$=$$[$0-1]+$$[$0];break;case 31:this.$=$$[$0]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:$V0},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:$V0},{6:$V1,7:[1,10],9:9,12:11,13:$V2,14:14,16:$V3,17:$V4,18:17,19:18,20:$V5,23:$V6},o($V7,[2,3]),{1:[2,2]},o($V7,[2,4]),o($V7,[2,5]),{1:[2,6],6:$V1,12:21,13:$V2,14:14,16:$V3,17:$V4,18:17,19:18,20:$V5,23:$V6},{6:$V1,9:22,12:11,13:$V2,14:14,16:$V3,17:$V4,18:17,19:18,20:$V5,23:$V6},{6:$V8,7:$V9,10:23,11:$Va},o($Vb,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:$V5,23:$V6}),o($Vb,[2,19]),o($Vb,[2,21],{15:30,24:$Vc}),o($Vb,[2,22]),o($Vb,[2,23]),o($Vd,[2,25]),o($Vd,[2,26]),o($Vd,[2,28],{20:[1,32]}),{21:[1,33]},{6:$V8,7:$V9,10:34,11:$Va},{1:[2,7],6:$V1,12:21,13:$V2,14:14,16:$V3,17:$V4,18:17,19:18,20:$V5,23:$V6},o($Ve,[2,14],{7:$Vf,11:$Vg}),o($Vh,[2,8]),o($Vh,[2,9]),o($Vh,[2,10]),o($Vb,[2,16],{15:37,24:$Vc}),o($Vb,[2,17]),o($Vb,[2,18]),o($Vb,[2,20],{24:$Vi}),o($Vd,[2,31]),{21:[1,39]},{22:[1,40]},o($Ve,[2,13],{7:$Vf,11:$Vg}),o($Vh,[2,11]),o($Vh,[2,12]),o($Vb,[2,15],{24:$Vi}),o($Vd,[2,30]),{22:[1,41]},o($Vd,[2,27]),o($Vd,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return this.pushState("shapeData"),yy_.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const re=/\n\s*/g;return yy_.yytext=yy_.yytext.replace(re,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return yy.getLogger().trace("Found comment",yy_.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:yy.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return yy.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:yy.getLogger().trace("end icon"),this.popState();break;case 16:return yy.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return yy.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return yy.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return yy.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:yy.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return yy.getLogger().trace("description:",yy_.yytext),"NODE_DESCR";case 33:return this.popState(),yy.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),yy.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),yy.getLogger().trace("node end ...",yy_.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),yy.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),yy.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return yy.getLogger().trace("Long description:",yy_.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var kanban_default=parser,nodes=[],sections=[],cnt=0,elements={},clear=__name(()=>{nodes=[],sections=[],cnt=0,elements={}},"clear"),getSection=__name(level=>{if(0===nodes.length)return null;const sectionLevel=nodes[0].level;let lastSection=null;for(let i=nodes.length-1;i>=0;i--)if(nodes[i].level!==sectionLevel||lastSection||(lastSection=nodes[i]),nodes[i].level<sectionLevel)throw new Error('Items without section detected, found section ("'+nodes[i].label+'")');return level===(null==lastSection?void 0:lastSection.level)?null:lastSection},"getSection"),getSections=__name(function(){return sections},"getSections"),getData=__name(function(){const _nodes=[],sections2=getSections(),conf=getConfig2();for(const section of sections2){const node={id:section.id,label:sanitizeText(section.label??"",conf),labelType:"markdown",isGroup:!0,ticket:section.ticket,shape:"kanbanSection",level:section.level,look:conf.look};_nodes.push(node);const children=nodes.filter(n=>n.parentId===section.id);for(const item of children){const childNode={id:item.id,parentId:section.id,label:sanitizeText(item.label??"",conf),labelType:"markdown",isGroup:!1,ticket:null==item?void 0:item.ticket,priority:null==item?void 0:item.priority,assigned:null==item?void 0:item.assigned,icon:null==item?void 0:item.icon,shape:"kanbanItem",level:item.level,rx:5,ry:5,cssStyles:["text-align: left"]};_nodes.push(childNode)}}return{nodes:_nodes,edges:[],other:{},config:getConfig2()}},"getData"),addNode=__name((level,id,descr,type,shapeData)=>{var _a,_b;const conf=getConfig2();let padding=(null==(_a=conf.mindmap)?void 0:_a.padding)??defaultConfig_default.mindmap.padding;switch(type){case nodeType.ROUNDED_RECT:case nodeType.RECT:case nodeType.HEXAGON:padding*=2}const node={id:sanitizeText(id,conf)||"kbn"+cnt++,level:level,label:sanitizeText(descr,conf),width:(null==(_b=conf.mindmap)?void 0:_b.maxNodeWidth)??defaultConfig_default.mindmap.maxNodeWidth,padding:padding,isGroup:!1};if(void 0!==shapeData){let yamlData;yamlData=shapeData.includes("\n")?shapeData+"\n":"{\n"+shapeData+"\n}";const doc=load(yamlData,{schema:JSON_SCHEMA});if(doc.shape&&(doc.shape!==doc.shape.toLowerCase()||doc.shape.includes("_")))throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`);(null==doc?void 0:doc.shape)&&"kanbanItem"===doc.shape&&(node.shape=null==doc?void 0:doc.shape),(null==doc?void 0:doc.label)&&(node.label=null==doc?void 0:doc.label),(null==doc?void 0:doc.icon)&&(node.icon=null==doc?void 0:doc.icon.toString()),(null==doc?void 0:doc.assigned)&&(node.assigned=null==doc?void 0:doc.assigned.toString()),(null==doc?void 0:doc.ticket)&&(node.ticket=null==doc?void 0:doc.ticket.toString()),(null==doc?void 0:doc.priority)&&(node.priority=null==doc?void 0:doc.priority)}const section=getSection(level);section?node.parentId=section.id||"kbn"+cnt++:sections.push(node),nodes.push(node)},"addNode"),nodeType={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},kanbanDb_default={clear:clear,addNode:addNode,getSections:getSections,getData:getData,nodeType:nodeType,getType:__name((startStr,endStr)=>{switch(log.debug("In get type",startStr,endStr),startStr){case"[":return nodeType.RECT;case"(":return")"===endStr?nodeType.ROUNDED_RECT:nodeType.CLOUD;case"((":return nodeType.CIRCLE;case")":return nodeType.CLOUD;case"))":return nodeType.BANG;case"{{":return nodeType.HEXAGON;default:return nodeType.DEFAULT}},"getType"),setElementForId:__name((id,element)=>{elements[id]=element},"setElementForId"),decorateNode:__name(decoration=>{if(!decoration)return;const config=getConfig2(),node=nodes[nodes.length-1];decoration.icon&&(node.icon=sanitizeText(decoration.icon,config)),decoration.class&&(node.cssClasses=sanitizeText(decoration.class,config))},"decorateNode"),type2Str:__name(type=>{switch(type){case nodeType.DEFAULT:return"no-border";case nodeType.RECT:return"rect";case nodeType.ROUNDED_RECT:return"rounded-rect";case nodeType.CIRCLE:return"circle";case nodeType.CLOUD:return"cloud";case nodeType.BANG:return"bang";case nodeType.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),getLogger:__name(()=>log,"getLogger"),getElementById:__name(id=>elements[id],"getElementById")},kanbanRenderer_default={draw:__name(async(text,id,_version,diagObj)=>{var _a,_b,_c,_d,_e;log.debug("Rendering kanban diagram\n"+text);const data4Layout=diagObj.db.getData(),conf=getConfig2();conf.htmlLabels=!1;const svg=selectSvgElement(id);for(const node of data4Layout.nodes)node.domId=`${id}-${node.id}`;const sectionsElem=svg.append("g");sectionsElem.attr("class","sections");const nodesElem=svg.append("g");nodesElem.attr("class","items");const sections2=data4Layout.nodes.filter(node=>node.isGroup);let cnt2=0;const sectionObjects=[];let maxLabelHeight=25;for(const section of sections2){const WIDTH=(null==(_a=null==conf?void 0:conf.kanban)?void 0:_a.sectionWidth)||200;cnt2+=1,section.x=WIDTH*cnt2+10*(cnt2-1)/2,section.width=WIDTH,section.y=0,section.height=3*WIDTH,section.rx=5,section.ry=5,section.cssClasses=section.cssClasses+" section-"+cnt2;const sectionObj=await insertCluster(sectionsElem,section);maxLabelHeight=Math.max(maxLabelHeight,null==(_b=null==sectionObj?void 0:sectionObj.labelBBox)?void 0:_b.height),sectionObjects.push(sectionObj)}let i=0;for(const section of sections2){const sectionObj=sectionObjects[i];i+=1;const WIDTH=(null==(_c=null==conf?void 0:conf.kanban)?void 0:_c.sectionWidth)||200,top=3*-WIDTH/2+maxLabelHeight;let y=top;const sectionItems=data4Layout.nodes.filter(node=>node.parentId===section.id);for(const item of sectionItems){if(item.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");item.x=section.x,item.width=WIDTH-15;const bbox=(await insertNode(nodesElem,item,{config:conf})).node().getBBox();item.y=y+bbox.height/2,await positionNode(item),y=item.y+bbox.height/2+5}const rect=sectionObj.cluster.select("rect"),height=Math.max(y-top+30,50)+(maxLabelHeight-25);rect.attr("height",height)}setupGraphViewbox(void 0,svg,(null==(_d=conf.mindmap)?void 0:_d.padding)??defaultConfig_default.kanban.padding,(null==(_e=conf.mindmap)?void 0:_e.useMaxWidth)??defaultConfig_default.kanban.useMaxWidth)},"draw")},genSections=__name(options=>{let sections2="";for(let i=0;i<options.THEME_COLOR_LIMIT;i++)options["lineColor"+i]=options["lineColor"+i]||options["cScaleInv"+i],isDark(options["lineColor"+i])?options["lineColor"+i]=lighten(options["lineColor"+i],20):options["lineColor"+i]=darken(options["lineColor"+i],20);const adjuster=__name((color,level)=>options.darkMode?darken(color,level):lighten(color,level),"adjuster");for(let i=0;i<options.THEME_COLOR_LIMIT;i++){const sw=""+(17-3*i);sections2+=`\n .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path {\n fill: ${adjuster(options["cScale"+i],10)};\n stroke: ${adjuster(options["cScale"+i],10)};\n\n }\n .section-${i-1} text {\n fill: ${options["cScaleLabel"+i]};\n }\n .node-icon-${i-1} {\n font-size: 40px;\n color: ${options["cScaleLabel"+i]};\n }\n .section-edge-${i-1}{\n stroke: ${options["cScale"+i]};\n }\n .edge-depth-${i-1}{\n stroke-width: ${sw};\n }\n .section-${i-1} line {\n stroke: ${options["cScaleInv"+i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.background};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .kanban-ticket-link {\n fill: ${options.background};\n stroke: ${options.nodeBorder};\n text-decoration: underline;\n }\n `}return sections2},"genSections"),diagram={db:kanbanDb_default,renderer:kanbanRenderer_default,parser:kanban_default,styles:__name(options=>`\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ${options.textColor};\n fill: ${options.textColor};\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n ${getIconStyles()}\n`,"getStyles")};export{diagram};
1
+ import{_ as __name,l as log,c as getConfig2,H as selectSvgElement,ae as insertCluster,af as insertNode,ag as positionNode,X as setupGraphViewbox,F as defaultConfig_default,i as sanitizeText,t as load,J as JSON_SCHEMA,U as isDark,V as lighten,W as darken}from"./mermaid.core-YnqOkuoS.js";import{g as getIconStyles}from"./chunk-FMBD7UC4-Cx2lqZi9.js";import"./vendor-mdxeditor-CrZ9SWce.js";import"./vendor-antd-Dq3DHFa-.js";import"./vendor-codemirror-DjMkT0sn.js";import"./vendor-markdown-BFrYfpb0.js";var parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[1,4],$V1=[1,13],$V2=[1,12],$V3=[1,15],$V4=[1,16],$V5=[1,20],$V6=[1,19],$V7=[6,7,8],$V8=[1,26],$V9=[1,24],$Va=[1,25],$Vb=[6,7,11],$Vc=[1,31],$Vd=[6,7,11,24],$Ve=[1,6,13,16,17,20,23],$Vf=[1,35],$Vg=[1,36],$Vh=[1,6,7,11,13,16,17,20,23],$Vi=[1,38],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 6:case 7:return yy;case 8:yy.getLogger().trace("Stop NL ");break;case 9:yy.getLogger().trace("Stop EOF ");break;case 11:yy.getLogger().trace("Stop NL2 ");break;case 12:yy.getLogger().trace("Stop EOF2 ");break;case 15:yy.getLogger().info("Node: ",$$[$0-1].id),yy.addNode($$[$0-2].length,$$[$0-1].id,$$[$0-1].descr,$$[$0-1].type,$$[$0]);break;case 16:yy.getLogger().info("Node: ",$$[$0].id),yy.addNode($$[$0-1].length,$$[$0].id,$$[$0].descr,$$[$0].type);break;case 17:yy.getLogger().trace("Icon: ",$$[$0]),yy.decorateNode({icon:$$[$0]});break;case 18:case 23:yy.decorateNode({class:$$[$0]});break;case 19:yy.getLogger().trace("SPACELIST");break;case 20:yy.getLogger().trace("Node: ",$$[$0-1].id),yy.addNode(0,$$[$0-1].id,$$[$0-1].descr,$$[$0-1].type,$$[$0]);break;case 21:yy.getLogger().trace("Node: ",$$[$0].id),yy.addNode(0,$$[$0].id,$$[$0].descr,$$[$0].type);break;case 22:yy.decorateNode({icon:$$[$0]});break;case 27:yy.getLogger().trace("node found ..",$$[$0-2]),this.$={id:$$[$0-1],descr:$$[$0-1],type:yy.getType($$[$0-2],$$[$0])};break;case 28:this.$={id:$$[$0],descr:$$[$0],type:0};break;case 29:yy.getLogger().trace("node found ..",$$[$0-3]),this.$={id:$$[$0-3],descr:$$[$0-1],type:yy.getType($$[$0-2],$$[$0])};break;case 30:this.$=$$[$0-1]+$$[$0];break;case 31:this.$=$$[$0]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:$V0},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:$V0},{6:$V1,7:[1,10],9:9,12:11,13:$V2,14:14,16:$V3,17:$V4,18:17,19:18,20:$V5,23:$V6},o($V7,[2,3]),{1:[2,2]},o($V7,[2,4]),o($V7,[2,5]),{1:[2,6],6:$V1,12:21,13:$V2,14:14,16:$V3,17:$V4,18:17,19:18,20:$V5,23:$V6},{6:$V1,9:22,12:11,13:$V2,14:14,16:$V3,17:$V4,18:17,19:18,20:$V5,23:$V6},{6:$V8,7:$V9,10:23,11:$Va},o($Vb,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:$V5,23:$V6}),o($Vb,[2,19]),o($Vb,[2,21],{15:30,24:$Vc}),o($Vb,[2,22]),o($Vb,[2,23]),o($Vd,[2,25]),o($Vd,[2,26]),o($Vd,[2,28],{20:[1,32]}),{21:[1,33]},{6:$V8,7:$V9,10:34,11:$Va},{1:[2,7],6:$V1,12:21,13:$V2,14:14,16:$V3,17:$V4,18:17,19:18,20:$V5,23:$V6},o($Ve,[2,14],{7:$Vf,11:$Vg}),o($Vh,[2,8]),o($Vh,[2,9]),o($Vh,[2,10]),o($Vb,[2,16],{15:37,24:$Vc}),o($Vb,[2,17]),o($Vb,[2,18]),o($Vb,[2,20],{24:$Vi}),o($Vd,[2,31]),{21:[1,39]},{22:[1,40]},o($Ve,[2,13],{7:$Vf,11:$Vg}),o($Vh,[2,11]),o($Vh,[2,12]),o($Vb,[2,15],{24:$Vi}),o($Vd,[2,30]),{22:[1,41]},o($Vd,[2,27]),o($Vd,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return this.pushState("shapeData"),yy_.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const re=/\n\s*/g;return yy_.yytext=yy_.yytext.replace(re,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return yy.getLogger().trace("Found comment",yy_.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:yy.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return yy.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:yy.getLogger().trace("end icon"),this.popState();break;case 16:return yy.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return yy.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return yy.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return yy.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:yy.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return yy.getLogger().trace("description:",yy_.yytext),"NODE_DESCR";case 33:return this.popState(),yy.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),yy.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),yy.getLogger().trace("node end ...",yy_.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),yy.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),yy.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return yy.getLogger().trace("Long description:",yy_.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var kanban_default=parser,nodes=[],sections=[],cnt=0,elements={},clear=__name(()=>{nodes=[],sections=[],cnt=0,elements={}},"clear"),getSection=__name(level=>{if(0===nodes.length)return null;const sectionLevel=nodes[0].level;let lastSection=null;for(let i=nodes.length-1;i>=0;i--)if(nodes[i].level!==sectionLevel||lastSection||(lastSection=nodes[i]),nodes[i].level<sectionLevel)throw new Error('Items without section detected, found section ("'+nodes[i].label+'")');return level===(null==lastSection?void 0:lastSection.level)?null:lastSection},"getSection"),getSections=__name(function(){return sections},"getSections"),getData=__name(function(){const _nodes=[],sections2=getSections(),conf=getConfig2();for(const section of sections2){const node={id:section.id,label:sanitizeText(section.label??"",conf),labelType:"markdown",isGroup:!0,ticket:section.ticket,shape:"kanbanSection",level:section.level,look:conf.look};_nodes.push(node);const children=nodes.filter(n=>n.parentId===section.id);for(const item of children){const childNode={id:item.id,parentId:section.id,label:sanitizeText(item.label??"",conf),labelType:"markdown",isGroup:!1,ticket:null==item?void 0:item.ticket,priority:null==item?void 0:item.priority,assigned:null==item?void 0:item.assigned,icon:null==item?void 0:item.icon,shape:"kanbanItem",level:item.level,rx:5,ry:5,cssStyles:["text-align: left"]};_nodes.push(childNode)}}return{nodes:_nodes,edges:[],other:{},config:getConfig2()}},"getData"),addNode=__name((level,id,descr,type,shapeData)=>{var _a,_b;const conf=getConfig2();let padding=(null==(_a=conf.mindmap)?void 0:_a.padding)??defaultConfig_default.mindmap.padding;switch(type){case nodeType.ROUNDED_RECT:case nodeType.RECT:case nodeType.HEXAGON:padding*=2}const node={id:sanitizeText(id,conf)||"kbn"+cnt++,level:level,label:sanitizeText(descr,conf),width:(null==(_b=conf.mindmap)?void 0:_b.maxNodeWidth)??defaultConfig_default.mindmap.maxNodeWidth,padding:padding,isGroup:!1};if(void 0!==shapeData){let yamlData;yamlData=shapeData.includes("\n")?shapeData+"\n":"{\n"+shapeData+"\n}";const doc=load(yamlData,{schema:JSON_SCHEMA});if(doc.shape&&(doc.shape!==doc.shape.toLowerCase()||doc.shape.includes("_")))throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`);(null==doc?void 0:doc.shape)&&"kanbanItem"===doc.shape&&(node.shape=null==doc?void 0:doc.shape),(null==doc?void 0:doc.label)&&(node.label=null==doc?void 0:doc.label),(null==doc?void 0:doc.icon)&&(node.icon=null==doc?void 0:doc.icon.toString()),(null==doc?void 0:doc.assigned)&&(node.assigned=null==doc?void 0:doc.assigned.toString()),(null==doc?void 0:doc.ticket)&&(node.ticket=null==doc?void 0:doc.ticket.toString()),(null==doc?void 0:doc.priority)&&(node.priority=null==doc?void 0:doc.priority)}const section=getSection(level);section?node.parentId=section.id||"kbn"+cnt++:sections.push(node),nodes.push(node)},"addNode"),nodeType={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},kanbanDb_default={clear:clear,addNode:addNode,getSections:getSections,getData:getData,nodeType:nodeType,getType:__name((startStr,endStr)=>{switch(log.debug("In get type",startStr,endStr),startStr){case"[":return nodeType.RECT;case"(":return")"===endStr?nodeType.ROUNDED_RECT:nodeType.CLOUD;case"((":return nodeType.CIRCLE;case")":return nodeType.CLOUD;case"))":return nodeType.BANG;case"{{":return nodeType.HEXAGON;default:return nodeType.DEFAULT}},"getType"),setElementForId:__name((id,element)=>{elements[id]=element},"setElementForId"),decorateNode:__name(decoration=>{if(!decoration)return;const config=getConfig2(),node=nodes[nodes.length-1];decoration.icon&&(node.icon=sanitizeText(decoration.icon,config)),decoration.class&&(node.cssClasses=sanitizeText(decoration.class,config))},"decorateNode"),type2Str:__name(type=>{switch(type){case nodeType.DEFAULT:return"no-border";case nodeType.RECT:return"rect";case nodeType.ROUNDED_RECT:return"rounded-rect";case nodeType.CIRCLE:return"circle";case nodeType.CLOUD:return"cloud";case nodeType.BANG:return"bang";case nodeType.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),getLogger:__name(()=>log,"getLogger"),getElementById:__name(id=>elements[id],"getElementById")},kanbanRenderer_default={draw:__name(async(text,id,_version,diagObj)=>{var _a,_b,_c,_d,_e;log.debug("Rendering kanban diagram\n"+text);const data4Layout=diagObj.db.getData(),conf=getConfig2();conf.htmlLabels=!1;const svg=selectSvgElement(id);for(const node of data4Layout.nodes)node.domId=`${id}-${node.id}`;const sectionsElem=svg.append("g");sectionsElem.attr("class","sections");const nodesElem=svg.append("g");nodesElem.attr("class","items");const sections2=data4Layout.nodes.filter(node=>node.isGroup);let cnt2=0;const sectionObjects=[];let maxLabelHeight=25;for(const section of sections2){const WIDTH=(null==(_a=null==conf?void 0:conf.kanban)?void 0:_a.sectionWidth)||200;cnt2+=1,section.x=WIDTH*cnt2+10*(cnt2-1)/2,section.width=WIDTH,section.y=0,section.height=3*WIDTH,section.rx=5,section.ry=5,section.cssClasses=section.cssClasses+" section-"+cnt2;const sectionObj=await insertCluster(sectionsElem,section);maxLabelHeight=Math.max(maxLabelHeight,null==(_b=null==sectionObj?void 0:sectionObj.labelBBox)?void 0:_b.height),sectionObjects.push(sectionObj)}let i=0;for(const section of sections2){const sectionObj=sectionObjects[i];i+=1;const WIDTH=(null==(_c=null==conf?void 0:conf.kanban)?void 0:_c.sectionWidth)||200,top=3*-WIDTH/2+maxLabelHeight;let y=top;const sectionItems=data4Layout.nodes.filter(node=>node.parentId===section.id);for(const item of sectionItems){if(item.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");item.x=section.x,item.width=WIDTH-15;const bbox=(await insertNode(nodesElem,item,{config:conf})).node().getBBox();item.y=y+bbox.height/2,await positionNode(item),y=item.y+bbox.height/2+5}const rect=sectionObj.cluster.select("rect"),height=Math.max(y-top+30,50)+(maxLabelHeight-25);rect.attr("height",height)}setupGraphViewbox(void 0,svg,(null==(_d=conf.mindmap)?void 0:_d.padding)??defaultConfig_default.kanban.padding,(null==(_e=conf.mindmap)?void 0:_e.useMaxWidth)??defaultConfig_default.kanban.useMaxWidth)},"draw")},genSections=__name(options=>{let sections2="";for(let i=0;i<options.THEME_COLOR_LIMIT;i++)options["lineColor"+i]=options["lineColor"+i]||options["cScaleInv"+i],isDark(options["lineColor"+i])?options["lineColor"+i]=lighten(options["lineColor"+i],20):options["lineColor"+i]=darken(options["lineColor"+i],20);const adjuster=__name((color,level)=>options.darkMode?darken(color,level):lighten(color,level),"adjuster");for(let i=0;i<options.THEME_COLOR_LIMIT;i++){const sw=""+(17-3*i);sections2+=`\n .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path {\n fill: ${adjuster(options["cScale"+i],10)};\n stroke: ${adjuster(options["cScale"+i],10)};\n\n }\n .section-${i-1} text {\n fill: ${options["cScaleLabel"+i]};\n }\n .node-icon-${i-1} {\n font-size: 40px;\n color: ${options["cScaleLabel"+i]};\n }\n .section-edge-${i-1}{\n stroke: ${options["cScale"+i]};\n }\n .edge-depth-${i-1}{\n stroke-width: ${sw};\n }\n .section-${i-1} line {\n stroke: ${options["cScaleInv"+i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.background};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .kanban-ticket-link {\n fill: ${options.background};\n stroke: ${options.nodeBorder};\n text-decoration: underline;\n }\n `}return sections2},"genSections"),diagram={db:kanbanDb_default,renderer:kanbanRenderer_default,parser:kanban_default,styles:__name(options=>`\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ${options.textColor};\n fill: ${options.textColor};\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n ${getIconStyles()}\n`,"getStyles")};export{diagram};