@render-harness/ui 0.1.1 → 0.1.2

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 (106) hide show
  1. package/dist/index.d.ts +6 -6
  2. package/dist/index.js +25 -14
  3. package/dist/index.js.map +1 -1
  4. package/dist/static/assets/{architectureDiagram-3BPJPVTR-D4589TUy.js → architectureDiagram-3BPJPVTR-DLNRxqTW.js} +2 -2
  5. package/dist/static/assets/{architectureDiagram-3BPJPVTR-D4589TUy.js.map → architectureDiagram-3BPJPVTR-DLNRxqTW.js.map} +1 -1
  6. package/dist/static/assets/{blockDiagram-GPEHLZMM-Cfjv0TRV.js → blockDiagram-GPEHLZMM-CCWTkWe6.js} +2 -2
  7. package/dist/static/assets/{blockDiagram-GPEHLZMM-Cfjv0TRV.js.map → blockDiagram-GPEHLZMM-CCWTkWe6.js.map} +1 -1
  8. package/dist/static/assets/{c4Diagram-AAUBKEIU-BoXkzmRI.js → c4Diagram-AAUBKEIU-qO0tZRXO.js} +2 -2
  9. package/dist/static/assets/{c4Diagram-AAUBKEIU-BoXkzmRI.js.map → c4Diagram-AAUBKEIU-qO0tZRXO.js.map} +1 -1
  10. package/dist/static/assets/channel-CAoVqDgM.js +2 -0
  11. package/dist/static/assets/{channel-DusP3IMn.js.map → channel-CAoVqDgM.js.map} +1 -1
  12. package/dist/static/assets/{chunk-2J33WTMH-Lf1eCW8w.js → chunk-2J33WTMH-DaEvWRZX.js} +2 -2
  13. package/dist/static/assets/{chunk-2J33WTMH-Lf1eCW8w.js.map → chunk-2J33WTMH-DaEvWRZX.js.map} +1 -1
  14. package/dist/static/assets/{chunk-3OPIFGDE-BYpEG0v0.js → chunk-3OPIFGDE-xcRWDOrg.js} +2 -2
  15. package/dist/static/assets/{chunk-3OPIFGDE-BYpEG0v0.js.map → chunk-3OPIFGDE-xcRWDOrg.js.map} +1 -1
  16. package/dist/static/assets/{chunk-5ZQYHXKU-CxDIhrF-.js → chunk-5ZQYHXKU-B_3UEJ_q.js} +2 -2
  17. package/dist/static/assets/{chunk-5ZQYHXKU-CxDIhrF-.js.map → chunk-5ZQYHXKU-B_3UEJ_q.js.map} +1 -1
  18. package/dist/static/assets/{chunk-727SXJPM-BEbDzxvV.js → chunk-727SXJPM-c1bbIj6N.js} +2 -2
  19. package/dist/static/assets/{chunk-727SXJPM-BEbDzxvV.js.map → chunk-727SXJPM-c1bbIj6N.js.map} +1 -1
  20. package/dist/static/assets/{chunk-AQP2D5EJ-DGTbQ17q.js → chunk-AQP2D5EJ-Wv0w6wvH.js} +2 -2
  21. package/dist/static/assets/{chunk-AQP2D5EJ-DGTbQ17q.js.map → chunk-AQP2D5EJ-Wv0w6wvH.js.map} +1 -1
  22. package/dist/static/assets/{chunk-CSCIHK7Q-Bo3glXo1.js → chunk-CSCIHK7Q-BBzr5U3o.js} +3 -3
  23. package/dist/static/assets/{chunk-CSCIHK7Q-Bo3glXo1.js.map → chunk-CSCIHK7Q-BBzr5U3o.js.map} +1 -1
  24. package/dist/static/assets/{chunk-KSCS5N6A-DVQpViur.js → chunk-KSCS5N6A-BZrceHGX.js} +2 -2
  25. package/dist/static/assets/{chunk-KSCS5N6A-DVQpViur.js.map → chunk-KSCS5N6A-BZrceHGX.js.map} +1 -1
  26. package/dist/static/assets/{chunk-L5ZTLDWV-BwOlshrN.js → chunk-L5ZTLDWV-BAcjEn3C.js} +2 -2
  27. package/dist/static/assets/{chunk-L5ZTLDWV-BwOlshrN.js.map → chunk-L5ZTLDWV-BAcjEn3C.js.map} +1 -1
  28. package/dist/static/assets/{chunk-ND2GUHAM-a2zgmbwP.js → chunk-ND2GUHAM-DHtjIa8_.js} +2 -2
  29. package/dist/static/assets/{chunk-ND2GUHAM-a2zgmbwP.js.map → chunk-ND2GUHAM-DHtjIa8_.js.map} +1 -1
  30. package/dist/static/assets/{chunk-NZK2D7GU-BbPAL6yn.js → chunk-NZK2D7GU-DuwDtSGJ.js} +2 -2
  31. package/dist/static/assets/{chunk-NZK2D7GU-BbPAL6yn.js.map → chunk-NZK2D7GU-DuwDtSGJ.js.map} +1 -1
  32. package/dist/static/assets/{chunk-O5CBEL6O-CM0slmy1.js → chunk-O5CBEL6O-KRO56hHQ.js} +2 -2
  33. package/dist/static/assets/{chunk-O5CBEL6O-CM0slmy1.js.map → chunk-O5CBEL6O-KRO56hHQ.js.map} +1 -1
  34. package/dist/static/assets/classDiagram-4FO5ZUOK-oexPF7ww.js +2 -0
  35. package/dist/static/assets/{classDiagram-4FO5ZUOK-SuK_oLpa.js.map → classDiagram-4FO5ZUOK-oexPF7ww.js.map} +1 -1
  36. package/dist/static/assets/classDiagram-v2-Q7XG4LA2-Dc4jeSLj.js +2 -0
  37. package/dist/static/assets/{classDiagram-v2-Q7XG4LA2-DMlc0uaN.js.map → classDiagram-v2-Q7XG4LA2-Dc4jeSLj.js.map} +1 -1
  38. package/dist/static/assets/{dagre-BM42HDAG-4I-9kC-8.js → dagre-BM42HDAG-au4dCVgC.js} +2 -2
  39. package/dist/static/assets/{dagre-BM42HDAG-4I-9kC-8.js.map → dagre-BM42HDAG-au4dCVgC.js.map} +1 -1
  40. package/dist/static/assets/{diagram-2AECGRRQ-pAKf5nK6.js → diagram-2AECGRRQ-rJMnDhBW.js} +2 -2
  41. package/dist/static/assets/{diagram-2AECGRRQ-pAKf5nK6.js.map → diagram-2AECGRRQ-rJMnDhBW.js.map} +1 -1
  42. package/dist/static/assets/{diagram-5GNKFQAL-CzKwZhm6.js → diagram-5GNKFQAL-diIxjA-v.js} +2 -2
  43. package/dist/static/assets/{diagram-5GNKFQAL-CzKwZhm6.js.map → diagram-5GNKFQAL-diIxjA-v.js.map} +1 -1
  44. package/dist/static/assets/{diagram-KO2AKTUF-BZNjYRzg.js → diagram-KO2AKTUF-D9IYocVR.js} +2 -2
  45. package/dist/static/assets/{diagram-KO2AKTUF-BZNjYRzg.js.map → diagram-KO2AKTUF-D9IYocVR.js.map} +1 -1
  46. package/dist/static/assets/{diagram-LMA3HP47-vnkpPjMC.js → diagram-LMA3HP47-BtdvpqaH.js} +2 -2
  47. package/dist/static/assets/{diagram-LMA3HP47-vnkpPjMC.js.map → diagram-LMA3HP47-BtdvpqaH.js.map} +1 -1
  48. package/dist/static/assets/{diagram-OG6HWLK6-CkBTEmTA.js → diagram-OG6HWLK6-CaRkxDoj.js} +2 -2
  49. package/dist/static/assets/{diagram-OG6HWLK6-CkBTEmTA.js.map → diagram-OG6HWLK6-CaRkxDoj.js.map} +1 -1
  50. package/dist/static/assets/{erDiagram-TEJ5UH35-DGrhtXAQ.js → erDiagram-TEJ5UH35-CgifrqeZ.js} +2 -2
  51. package/dist/static/assets/{erDiagram-TEJ5UH35-DGrhtXAQ.js.map → erDiagram-TEJ5UH35-CgifrqeZ.js.map} +1 -1
  52. package/dist/static/assets/{flowDiagram-I6XJVG4X-Cp2YiaJS.js → flowDiagram-I6XJVG4X-DaguIeM_.js} +2 -2
  53. package/dist/static/assets/{flowDiagram-I6XJVG4X-Cp2YiaJS.js.map → flowDiagram-I6XJVG4X-DaguIeM_.js.map} +1 -1
  54. package/dist/static/assets/{ganttDiagram-6RSMTGT7-C-jGZVXC.js → ganttDiagram-6RSMTGT7-DIFubQTa.js} +2 -2
  55. package/dist/static/assets/{ganttDiagram-6RSMTGT7-C-jGZVXC.js.map → ganttDiagram-6RSMTGT7-DIFubQTa.js.map} +1 -1
  56. package/dist/static/assets/{gitGraphDiagram-PVQCEYII-DDwOyc6i.js → gitGraphDiagram-PVQCEYII-Ht-SDjxh.js} +2 -2
  57. package/dist/static/assets/{gitGraphDiagram-PVQCEYII-DDwOyc6i.js.map → gitGraphDiagram-PVQCEYII-Ht-SDjxh.js.map} +1 -1
  58. package/dist/static/assets/index-D5tmHkO_.js +228 -0
  59. package/dist/static/assets/index-D5tmHkO_.js.map +1 -0
  60. package/dist/static/assets/index-luXiT-gK.css +1 -0
  61. package/dist/static/assets/{infoDiagram-5YYISTIA-B_rDp_NJ.js → infoDiagram-5YYISTIA-CwLGA7Zu.js} +2 -2
  62. package/dist/static/assets/{infoDiagram-5YYISTIA-B_rDp_NJ.js.map → infoDiagram-5YYISTIA-CwLGA7Zu.js.map} +1 -1
  63. package/dist/static/assets/{ishikawaDiagram-YF4QCWOH-ggQN-_CZ.js → ishikawaDiagram-YF4QCWOH-CaZCrUUR.js} +2 -2
  64. package/dist/static/assets/{ishikawaDiagram-YF4QCWOH-ggQN-_CZ.js.map → ishikawaDiagram-YF4QCWOH-CaZCrUUR.js.map} +1 -1
  65. package/dist/static/assets/{journeyDiagram-JHISSGLW-BjEC1jFt.js → journeyDiagram-JHISSGLW-C-j_GoJi.js} +2 -2
  66. package/dist/static/assets/{journeyDiagram-JHISSGLW-BjEC1jFt.js.map → journeyDiagram-JHISSGLW-C-j_GoJi.js.map} +1 -1
  67. package/dist/static/assets/{kanban-definition-UN3LZRKU-BVkPEFcm.js → kanban-definition-UN3LZRKU-DlYha85J.js} +2 -2
  68. package/dist/static/assets/{kanban-definition-UN3LZRKU-BVkPEFcm.js.map → kanban-definition-UN3LZRKU-DlYha85J.js.map} +1 -1
  69. package/dist/static/assets/{line-L2DeHwdZ.js → line-GCwXS1Fi.js} +2 -2
  70. package/dist/static/assets/{line-L2DeHwdZ.js.map → line-GCwXS1Fi.js.map} +1 -1
  71. package/dist/static/assets/mermaid-parser.core-BO_-QleW.js +5 -0
  72. package/dist/static/assets/{mermaid-parser.core-CZyyUBUW.js.map → mermaid-parser.core-BO_-QleW.js.map} +1 -1
  73. package/dist/static/assets/{mindmap-definition-RKZ34NQL-uf3ACEiM.js → mindmap-definition-RKZ34NQL-CPJIWJdQ.js} +2 -2
  74. package/dist/static/assets/{mindmap-definition-RKZ34NQL-uf3ACEiM.js.map → mindmap-definition-RKZ34NQL-CPJIWJdQ.js.map} +1 -1
  75. package/dist/static/assets/{pieDiagram-4H26LBE5-Dm2S6Ggt.js → pieDiagram-4H26LBE5-DTVmF_CH.js} +2 -2
  76. package/dist/static/assets/{pieDiagram-4H26LBE5-Dm2S6Ggt.js.map → pieDiagram-4H26LBE5-DTVmF_CH.js.map} +1 -1
  77. package/dist/static/assets/{quadrantDiagram-W4KKPZXB-CgiO6Q9Y.js → quadrantDiagram-W4KKPZXB-Bho6zy_y.js} +2 -2
  78. package/dist/static/assets/{quadrantDiagram-W4KKPZXB-CgiO6Q9Y.js.map → quadrantDiagram-W4KKPZXB-Bho6zy_y.js.map} +1 -1
  79. package/dist/static/assets/{requirementDiagram-4Y6WPE33-BFL5yKh2.js → requirementDiagram-4Y6WPE33-CLyoVwlh.js} +2 -2
  80. package/dist/static/assets/{requirementDiagram-4Y6WPE33-BFL5yKh2.js.map → requirementDiagram-4Y6WPE33-CLyoVwlh.js.map} +1 -1
  81. package/dist/static/assets/{sankeyDiagram-5OEKKPKP-DNSdTx8o.js → sankeyDiagram-5OEKKPKP-V2yvk-0Z.js} +2 -2
  82. package/dist/static/assets/{sankeyDiagram-5OEKKPKP-DNSdTx8o.js.map → sankeyDiagram-5OEKKPKP-V2yvk-0Z.js.map} +1 -1
  83. package/dist/static/assets/{sequenceDiagram-3UESZ5HK-BMNloRY9.js → sequenceDiagram-3UESZ5HK-Dp03aXVk.js} +2 -2
  84. package/dist/static/assets/{sequenceDiagram-3UESZ5HK-BMNloRY9.js.map → sequenceDiagram-3UESZ5HK-Dp03aXVk.js.map} +1 -1
  85. package/dist/static/assets/{stateDiagram-AJRCARHV-B1fkBSkt.js → stateDiagram-AJRCARHV-BEJW-_HK.js} +2 -2
  86. package/dist/static/assets/{stateDiagram-AJRCARHV-B1fkBSkt.js.map → stateDiagram-AJRCARHV-BEJW-_HK.js.map} +1 -1
  87. package/dist/static/assets/stateDiagram-v2-BHNVJYJU-Bo19-vKE.js +2 -0
  88. package/dist/static/assets/{stateDiagram-v2-BHNVJYJU-Fm1RY0qD.js.map → stateDiagram-v2-BHNVJYJU-Bo19-vKE.js.map} +1 -1
  89. package/dist/static/assets/{timeline-definition-PNZ67QCA-CdNdPzQU.js → timeline-definition-PNZ67QCA-C4KTq0mQ.js} +2 -2
  90. package/dist/static/assets/{timeline-definition-PNZ67QCA-CdNdPzQU.js.map → timeline-definition-PNZ67QCA-C4KTq0mQ.js.map} +1 -1
  91. package/dist/static/assets/{vennDiagram-CIIHVFJN-Cfr9Kji9.js → vennDiagram-CIIHVFJN-1jmBZPSZ.js} +2 -2
  92. package/dist/static/assets/{vennDiagram-CIIHVFJN-Cfr9Kji9.js.map → vennDiagram-CIIHVFJN-1jmBZPSZ.js.map} +1 -1
  93. package/dist/static/assets/{wardleyDiagram-YWT4CUSO-BU30t5hg.js → wardleyDiagram-YWT4CUSO-A8XYzYTW.js} +2 -2
  94. package/dist/static/assets/{wardleyDiagram-YWT4CUSO-BU30t5hg.js.map → wardleyDiagram-YWT4CUSO-A8XYzYTW.js.map} +1 -1
  95. package/dist/static/assets/{xychartDiagram-2RQKCTM6-CbAQZMXv.js → xychartDiagram-2RQKCTM6-CuyUQvFt.js} +2 -2
  96. package/dist/static/assets/{xychartDiagram-2RQKCTM6-CbAQZMXv.js.map → xychartDiagram-2RQKCTM6-CuyUQvFt.js.map} +1 -1
  97. package/dist/static/index.html +16 -16
  98. package/package.json +14 -14
  99. package/dist/static/assets/channel-DusP3IMn.js +0 -2
  100. package/dist/static/assets/classDiagram-4FO5ZUOK-SuK_oLpa.js +0 -2
  101. package/dist/static/assets/classDiagram-v2-Q7XG4LA2-DMlc0uaN.js +0 -2
  102. package/dist/static/assets/index-BfPuPCFp.js +0 -228
  103. package/dist/static/assets/index-BfPuPCFp.js.map +0 -1
  104. package/dist/static/assets/index-CyEgx13R.css +0 -1
  105. package/dist/static/assets/mermaid-parser.core-CZyyUBUW.js +0 -5
  106. package/dist/static/assets/stateDiagram-v2-BHNVJYJU-Fm1RY0qD.js +0 -2
@@ -0,0 +1 @@
1
+ @font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-sans:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--color-black:#000;--spacing:.25rem;--container-lg:32rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:#fff;--color-ink:#000;--color-muted:#555;--color-line:#000;--color-surface:#f8f8f8;--color-surface-hover:#eee;--color-accent:#a855f7;--color-err:#b40000;--color-code-bg:#e4e4e7}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-canvas:#000;--color-ink:#fff;--color-muted:#8a8a8a;--color-line:#2a2a2a;--color-surface:#050505;--color-surface-hover:#101010;--color-accent:#c084fc;--color-err:#f55;--color-code-bg:#27272a}}html,body,#root{height:100%}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);font-feature-settings:"calt", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:13px;line-height:1.5}*,:before,:after{border-radius:0!important}::selection{background:var(--color-accent);color:var(--color-canvas)}button,input,textarea,select{font:inherit;color:inherit;background:0 0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,textarea,select{border:1px solid var(--color-line);background:var(--color-surface);caret-color:var(--color-accent);padding:.35rem .55rem}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:1px solid var(--color-accent);outline-offset:0;border-color:var(--color-accent)}input:focus-visible,textarea:focus-visible{animation:1.06s steps(2,jump-none) infinite rh-caret-blink}button:focus-visible{outline:1px solid var(--color-accent);outline-offset:1px}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:">";color:var(--color-accent);margin-right:.45rem;transition:transform 80ms linear;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}@keyframes rh-caret-blink{0%,50%{caret-color:var(--color-accent)}51%,to{caret-color:#0000}}@keyframes rh-block-blink{0%,50%{opacity:1}51%,to{opacity:0}}}@layer components{.panel{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);background-color:var(--color-surface)}.label{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--color-muted);text-transform:uppercase;font-size:.72rem}.hr-section{align-items:center;gap:calc(var(--spacing) * 2);color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;display:flex}.hr-section:after{content:"";border-top:1px solid var(--color-line);flex:1}.btn{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);background-color:var(--color-surface);color:var(--color-ink);text-transform:uppercase;letter-spacing:.06em;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.78rem;transition:background 80ms linear,color 80ms linear,border-color 80ms linear;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--color-accent);background-color:var(--color-surface-hover);color:var(--color-accent)}.btn-active{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-canvas)}.btn-active:hover:not(:disabled){border-color:var(--color-accent);background-color:var(--color-surface);color:var(--color-accent)}.btn-primary{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-canvas)}.btn-primary:hover:not(:disabled){background-color:var(--color-surface);color:var(--color-accent)}.btn-danger{border-color:var(--color-err);color:var(--color-err)}.btn-danger:hover:not(:disabled){background-color:var(--color-err);color:var(--color-canvas)}.btn-danger-solid{border-color:var(--color-err);background-color:var(--color-err);color:var(--color-canvas)}.btn-danger-solid:hover:not(:disabled){background-color:var(--color-surface);color:var(--color-err)}.badge{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);text-transform:uppercase;letter-spacing:.08em;align-items:center;padding:.05rem .4rem;font-size:.7rem;display:inline-flex}.badge-fill{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-canvas)}.badge-warn{border-color:var(--color-accent);color:var(--color-accent)}.badge-err{border-color:var(--color-err);color:var(--color-err)}.blink{animation:1.06s steps(2,jump-none) infinite rh-block-blink}.cli-dots:after{content:"";min-width:3ch;color:var(--color-accent);animation:1.2s steps(4,end) infinite rh-cli-dots;display:inline-block}.mermaid-host svg{max-width:100%;height:auto}.mermaid-host .node rect,.mermaid-host .node polygon,.mermaid-host .node circle,.mermaid-host .node ellipse{stroke:var(--color-line)!important}.mermaid-host .edgePath path,.mermaid-host .flowchart-link{stroke:var(--color-accent)!important}.mermaid-host text{fill:var(--color-ink)!important;font-family:var(--font-mono)!important}@keyframes rh-cli-dots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}.shiki-host pre.shiki{font:inherit;margin:0;padding:.75rem;line-height:1.5;background:0 0!important}.shiki-host pre.shiki *,.shiki-host pre.shiki{color:var(--shiki-light);background:0 0!important}@media (prefers-color-scheme:dark){.shiki-host pre.shiki *,.shiki-host pre.shiki{color:var(--shiki-dark)}}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.table{display:table}.h-\[calc\(100vh-3rem\)\]{height:calc(100vh - 3rem)}.h-full{height:100%}.h-screen{height:100vh}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-full{min-height:100%}.w-6{width:calc(var(--spacing) * 6)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[10rem\]{min-width:10rem}.flex-1{flex:1}.border-collapse{border-collapse:collapse}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-accent{border-color:var(--color-accent)}.border-current{border-color:currentColor}.border-err{border-color:var(--color-err)}.border-line{border-color:var(--color-line)}.border-muted{border-color:var(--color-muted)}.bg-accent{background-color:var(--color-accent)}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-canvas{background-color:var(--color-canvas)}.bg-code-bg{background-color:var(--color-code-bg)}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing) * 0)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-0{padding-left:calc(var(--spacing) * 0)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.85em\]{font-size:.85em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-current{color:currentColor!important}.\!text-err{color:var(--color-err)!important}.text-accent{color:var(--color-accent)}.text-accent\!{color:var(--color-accent)!important}.text-canvas{color:var(--color-canvas)}.text-current{color:currentColor}.text-err{color:var(--color-err)}.text-err\!{color:var(--color-err)!important}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.accent-\[var\(--color-accent\)\]{accent-color:var(--color-accent)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.marker\:text-muted ::marker{color:var(--color-muted)}.marker\:text-muted::marker{color:var(--color-muted)}.marker\:text-muted ::-webkit-details-marker{color:var(--color-muted)}.marker\:text-muted::-webkit-details-marker{color:var(--color-muted)}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}@media (hover:hover){.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-code-bg:hover{background-color:var(--color-code-bg)}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:sticky{position:sticky}.lg\:top-0{top:calc(var(--spacing) * 0)}.lg\:top-4{top:calc(var(--spacing) * 4)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:h-screen{height:100vh}.lg\:max-h-screen{max-height:100vh}.lg\:w-64{width:calc(var(--spacing) * 64)}.lg\:flex-1{flex:1}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.lg\:grid-cols-\[260px_1fr_280px\]{grid-template-columns:260px 1fr 280px}.lg\:flex-col{flex-direction:column}.lg\:self-start{align-self:flex-start}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-y-auto{overflow-y:auto}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
@@ -1,3 +1,3 @@
1
- import{g as e,h as t}from"./src-DoMhBUqV.js";import{c as n}from"./chunk-CSCIHK7Q-Bo3glXo1.js";import{a as r}from"./index-BfPuPCFp.js";import{t as i}from"./mermaid-parser.core-CZyyUBUW.js";var a={parse:t(async t=>{let n=await i(`info`,t);e.debug(n)},`parse`)},o={version:`11.15.0`},s={parser:a,db:{getVersion:t(()=>o.version,`getVersion`)},renderer:{draw:t((t,i,a)=>{e.debug(`rendering info diagram
1
+ import{g as e,h as t}from"./src-DoMhBUqV.js";import{c as n}from"./chunk-CSCIHK7Q-BBzr5U3o.js";import{a as r}from"./index-D5tmHkO_.js";import{t as i}from"./mermaid-parser.core-BO_-QleW.js";var a={parse:t(async t=>{let n=await i(`info`,t);e.debug(n)},`parse`)},o={version:`11.15.0`},s={parser:a,db:{getVersion:t(()=>o.version,`getVersion`)},renderer:{draw:t((t,i,a)=>{e.debug(`rendering info diagram
2
2
  `+t);let o=r(i);n(o,100,400,!0),o.append(`g`).append(`text`).attr(`x`,100).attr(`y`,40).attr(`class`,`version`).attr(`font-size`,32).style(`text-anchor`,`middle`).text(`v${a}`)},`draw`)}};export{s as diagram};
3
- //# sourceMappingURL=infoDiagram-5YYISTIA-B_rDp_NJ.js.map
3
+ //# sourceMappingURL=infoDiagram-5YYISTIA-CwLGA7Zu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"infoDiagram-5YYISTIA-B_rDp_NJ.js","names":[],"sources":["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-5YYISTIA.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n configureSvgSize\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/info/infoParser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"info\", input);\n log.debug(ast);\n }, \"parse\")\n};\n\n// src/diagrams/info/infoDb.ts\nvar DEFAULT_INFO_DB = {\n version: \"11.15.0\" + (true ? \"\" : \"-tiny\")\n};\nvar getVersion = /* @__PURE__ */ __name(() => DEFAULT_INFO_DB.version, \"getVersion\");\nvar db = {\n getVersion\n};\n\n// src/diagrams/info/infoRenderer.ts\nvar draw = /* @__PURE__ */ __name((text, id, version) => {\n log.debug(\"rendering info diagram\\n\" + text);\n const svg = selectSvgElement(id);\n configureSvgSize(svg, 100, 400, true);\n const group = svg.append(\"g\");\n group.append(\"text\").attr(\"x\", 100).attr(\"y\", 40).attr(\"class\", \"version\").attr(\"font-size\", 32).style(\"text-anchor\", \"middle\").text(`v${version}`);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/info/infoDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"4LAaA,IAAI,EAAS,CACX,MAAuB,EAAO,KAAO,IAAU,CAC7C,IAAM,EAAM,MAAM,EAAM,OAAQ,EAAM,CACtC,EAAI,MAAM,EAAI,EACb,QAAQ,CACZ,CAGG,EAAkB,CACpB,QAAS,UACV,CAiBG,EAAU,CACZ,SACA,GAAA,CAhBA,WAF+B,MAAa,EAAgB,QAAS,aAE3D,CAgBR,CACF,SAAA,CANe,KAPU,GAAQ,EAAM,EAAI,IAAY,CACvD,EAAI,MAAM;EAA6B,EAAK,CAC5C,IAAM,EAAM,EAAiB,EAAG,CAChC,EAAiB,EAAK,IAAK,IAAK,GAAK,CAErC,EADkB,OAAO,IACpB,CAAC,OAAO,OAAO,CAAC,KAAK,IAAK,IAAI,CAAC,KAAK,IAAK,GAAG,CAAC,KAAK,QAAS,UAAU,CAAC,KAAK,YAAa,GAAG,CAAC,MAAM,cAAe,SAAS,CAAC,KAAK,IAAI,IAAU,EAClJ,OACkB,CAMX,CACT"}
1
+ {"version":3,"file":"infoDiagram-5YYISTIA-CwLGA7Zu.js","names":[],"sources":["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-5YYISTIA.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n configureSvgSize\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/info/infoParser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"info\", input);\n log.debug(ast);\n }, \"parse\")\n};\n\n// src/diagrams/info/infoDb.ts\nvar DEFAULT_INFO_DB = {\n version: \"11.15.0\" + (true ? \"\" : \"-tiny\")\n};\nvar getVersion = /* @__PURE__ */ __name(() => DEFAULT_INFO_DB.version, \"getVersion\");\nvar db = {\n getVersion\n};\n\n// src/diagrams/info/infoRenderer.ts\nvar draw = /* @__PURE__ */ __name((text, id, version) => {\n log.debug(\"rendering info diagram\\n\" + text);\n const svg = selectSvgElement(id);\n configureSvgSize(svg, 100, 400, true);\n const group = svg.append(\"g\");\n group.append(\"text\").attr(\"x\", 100).attr(\"y\", 40).attr(\"class\", \"version\").attr(\"font-size\", 32).style(\"text-anchor\", \"middle\").text(`v${version}`);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/info/infoDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"4LAaA,IAAI,EAAS,CACX,MAAuB,EAAO,KAAO,IAAU,CAC7C,IAAM,EAAM,MAAM,EAAM,OAAQ,EAAM,CACtC,EAAI,MAAM,EAAI,EACb,QAAQ,CACZ,CAGG,EAAkB,CACpB,QAAS,UACV,CAiBG,EAAU,CACZ,SACA,GAAA,CAhBA,WAF+B,MAAa,EAAgB,QAAS,aAE3D,CAgBR,CACF,SAAA,CANe,KAPU,GAAQ,EAAM,EAAI,IAAY,CACvD,EAAI,MAAM;EAA6B,EAAK,CAC5C,IAAM,EAAM,EAAiB,EAAG,CAChC,EAAiB,EAAK,IAAK,IAAK,GAAK,CAErC,EADkB,OAAO,IACpB,CAAC,OAAO,OAAO,CAAC,KAAK,IAAK,IAAI,CAAC,KAAK,IAAK,GAAG,CAAC,KAAK,QAAS,UAAU,CAAC,KAAK,YAAa,GAAG,CAAC,MAAM,cAAe,SAAS,CAAC,KAAK,IAAI,IAAU,EAClJ,OACkB,CAMX,CACT"}
@@ -1,4 +1,4 @@
1
- import{h as e}from"./src-DoMhBUqV.js";import{H as t,K as n,U as r,a as i,c as a,s as o,v as s,w as c,x as l,y as u}from"./chunk-CSCIHK7Q-Bo3glXo1.js";import{p as d}from"./chunk-5ZQYHXKU-CxDIhrF-.js";import{t as f}from"./rough.esm-C6nrIGLg.js";import{a as p}from"./index-BfPuPCFp.js";var m=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,4],r=[1,14],i=[1,12],a=[1,13],o=[6,7,8],s=[1,20],c=[1,18],l=[1,19],u=[6,7,11],d=[1,6,13,14],f=[1,23],p=[1,24],m=[1,6,7,11,13,14],h={trace:e(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:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return r;case 15:r.addNode(a[s-1].length,a[s].trim());break;case 16:r.addNode(0,a[s].trim());break}},`anonymous`),table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:r,7:[1,10],9:9,12:11,13:i,14:a},t(o,[2,3]),{1:[2,2]},t(o,[2,4]),t(o,[2,5]),{1:[2,6],6:r,12:15,13:i,14:a},{6:r,9:16,12:11,13:i,14:a},{6:s,7:c,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:c,10:22,11:l},{1:[2,7],6:r,12:15,13:i,14:a},t(d,[2,14],{7:f,11:p}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(u,[2,15]),t(d,[2,13],{7:f,11:p}),t(m,[2,11]),t(m,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
1
+ import{h as e}from"./src-DoMhBUqV.js";import{H as t,K as n,U as r,a as i,c as a,s as o,v as s,w as c,x as l,y as u}from"./chunk-CSCIHK7Q-BBzr5U3o.js";import{p as d}from"./chunk-5ZQYHXKU-B_3UEJ_q.js";import{t as f}from"./rough.esm-C6nrIGLg.js";import{a as p}from"./index-D5tmHkO_.js";var m=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,4],r=[1,14],i=[1,12],a=[1,13],o=[6,7,8],s=[1,20],c=[1,18],l=[1,19],u=[6,7,11],d=[1,6,13,14],f=[1,23],p=[1,24],m=[1,6,7,11,13,14],h={trace:e(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:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return r;case 15:r.addNode(a[s-1].length,a[s].trim());break;case 16:r.addNode(0,a[s].trim());break}},`anonymous`),table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:r,7:[1,10],9:9,12:11,13:i,14:a},t(o,[2,3]),{1:[2,2]},t(o,[2,4]),t(o,[2,5]),{1:[2,6],6:r,12:15,13:i,14:a},{6:r,9:16,12:11,13:i,14:a},{6:s,7:c,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:c,10:22,11:l},{1:[2,7],6:r,12:15,13:i,14:a},t(d,[2,14],{7:f,11:p}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(u,[2,15]),t(d,[2,13],{7:f,11:p}),t(m,[2,11]),t(m,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
2
  `+h.showPosition()+`
3
3
  Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};h.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,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:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.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),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=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),n.length-1&&(this.yylineno-=n.length-1);var i=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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
4
4
  `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
@@ -68,4 +68,4 @@ Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on l
68
68
  dominant-baseline: hanging;
69
69
  }
70
70
  `,`getStyles`)};export{R as diagram};
71
- //# sourceMappingURL=ishikawaDiagram-YF4QCWOH-ggQN-_CZ.js.map
71
+ //# sourceMappingURL=ishikawaDiagram-YF4QCWOH-CaZCrUUR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ishikawaDiagram-YF4QCWOH-ggQN-_CZ.js","names":["getConfig","rough"],"sources":["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/ishikawaDiagram-YF4QCWOH.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n parseFontSize\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/ishikawa/parser/ishikawa.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"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];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n 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 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"ISHIKAWA\", 11: \"EOF\", 13: \"SPACELIST\", 14: \"TEXT\" },\n 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]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 15:\n yy.addNode($$[$0 - 1].length, $$[$0].trim());\n break;\n case 16:\n yy.addNode(0, $$[$0].trim());\n break;\n }\n }, \"anonymous\"),\n 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])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n 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\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return 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(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 6;\n break;\n case 1:\n return 8;\n break;\n case 2:\n return 8;\n break;\n case 3:\n return 6;\n break;\n case 4:\n return 7;\n break;\n case 5:\n return 13;\n break;\n case 6:\n return 14;\n break;\n case 7:\n return 11;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:\\s*%%.*)/i, /^(?:ishikawa-beta\\b)/i, /^(?:ishikawa\\b)/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[\\s]+)/i, /^(?:[^\\n]+)/i, /^(?:$)/i],\n conditions: { \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar ishikawa_default = parser;\n\n// src/diagrams/ishikawa/ishikawaDb.ts\nvar IshikawaDB = class {\n constructor() {\n this.stack = [];\n this.clear = this.clear.bind(this);\n this.addNode = this.addNode.bind(this);\n this.getRoot = this.getRoot.bind(this);\n }\n static {\n __name(this, \"IshikawaDB\");\n }\n clear() {\n this.root = void 0;\n this.stack = [];\n this.baseLevel = void 0;\n clear();\n }\n getRoot() {\n return this.root;\n }\n addNode(rawLevel, text) {\n const label = common_default.sanitizeText(text, getConfig());\n if (!this.root) {\n this.root = { text: label, children: [] };\n this.stack = [{ level: 0, node: this.root }];\n setDiagramTitle(label);\n return;\n }\n this.baseLevel ??= rawLevel;\n let level = rawLevel - this.baseLevel + 1;\n if (level <= 0) {\n level = 1;\n }\n while (this.stack.length > 1 && this.stack[this.stack.length - 1].level >= level) {\n this.stack.pop();\n }\n const parent = this.stack[this.stack.length - 1].node;\n const node = { text: label, children: [] };\n parent.children.push(node);\n this.stack.push({ level, node });\n }\n getAccTitle() {\n return getAccTitle();\n }\n setAccTitle(title) {\n setAccTitle(title);\n }\n getAccDescription() {\n return getAccDescription();\n }\n setAccDescription(description) {\n setAccDescription(description);\n }\n getDiagramTitle() {\n return getDiagramTitle();\n }\n setDiagramTitle(title) {\n setDiagramTitle(title);\n }\n};\n\n// src/diagrams/ishikawa/ishikawaRenderer.ts\nimport rough from \"roughjs\";\nvar FONT_SIZE_DEFAULT = 14;\nvar SPINE_BASE_LENGTH = 250;\nvar BONE_STUB = 30;\nvar BONE_BASE = 60;\nvar BONE_PER_CHILD = 5;\nvar ANGLE = 82 * Math.PI / 180;\nvar COS_A = Math.cos(ANGLE);\nvar SIN_A = Math.sin(ANGLE);\nvar applyPaddedViewBox = /* @__PURE__ */ __name((svgEl, pad, maxW) => {\n const bbox = svgEl.node().getBBox();\n const w = bbox.width + pad * 2;\n const h = bbox.height + pad * 2;\n configureSvgSize(svgEl, h, w, maxW);\n svgEl.attr(\"viewBox\", `${bbox.x - pad} ${bbox.y - pad} ${w} ${h}`);\n}, \"applyPaddedViewBox\");\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const root = db.getRoot();\n if (!root) {\n return;\n }\n const drawConfig = getConfig();\n const { look, handDrawnSeed, themeVariables } = drawConfig;\n const fontSize = parseFontSize(drawConfig.fontSize)[0] ?? FONT_SIZE_DEFAULT;\n const isHandDrawn = look === \"handDrawn\";\n const causes = root.children ?? [];\n const padding = drawConfig.ishikawa?.diagramPadding ?? 20;\n const useMaxWidth = drawConfig.ishikawa?.useMaxWidth ?? false;\n const svg = selectSvgElement(id);\n const g = svg.append(\"g\").attr(\"class\", \"ishikawa\");\n const roughSvg = isHandDrawn ? rough.svg(svg.node()) : void 0;\n const roughContext = roughSvg ? {\n roughSvg,\n seed: handDrawnSeed ?? 0,\n lineColor: themeVariables?.lineColor ?? \"#333\",\n fillColor: themeVariables?.mainBkg ?? \"#fff\"\n } : void 0;\n const markerId = `ishikawa-arrow-${id}`;\n if (!isHandDrawn) {\n 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\");\n }\n let spineX = 0;\n let spineY = SPINE_BASE_LENGTH;\n const spineLine = isHandDrawn ? void 0 : drawLine(g, spineX, spineY, spineX, spineY, \"ishikawa-spine\");\n drawHead(g, spineX, spineY, root.text, fontSize, roughContext);\n if (!causes.length) {\n if (isHandDrawn) {\n drawLine(g, spineX, spineY, spineX, spineY, \"ishikawa-spine\", roughContext);\n }\n applyPaddedViewBox(svg, padding, useMaxWidth);\n return;\n }\n spineX -= 20;\n const upperCauses = causes.filter((_, i) => i % 2 === 0);\n const lowerCauses = causes.filter((_, i) => i % 2 === 1);\n const upperStats = sideStats(upperCauses);\n const lowerStats = sideStats(lowerCauses);\n const descendantTotal = upperStats.total + lowerStats.total;\n let upperLen = SPINE_BASE_LENGTH;\n let lowerLen = SPINE_BASE_LENGTH;\n if (descendantTotal > 0) {\n const pool = SPINE_BASE_LENGTH * 2;\n const minLen = SPINE_BASE_LENGTH * 0.3;\n upperLen = Math.max(minLen, pool * (upperStats.total / descendantTotal));\n lowerLen = Math.max(minLen, pool * (lowerStats.total / descendantTotal));\n }\n const minSpacing = fontSize * 2;\n upperLen = Math.max(upperLen, upperStats.max * minSpacing);\n lowerLen = Math.max(lowerLen, lowerStats.max * minSpacing);\n spineY = Math.max(upperLen, SPINE_BASE_LENGTH);\n if (spineLine) {\n spineLine.attr(\"y1\", spineY).attr(\"y2\", spineY);\n }\n g.select(\".ishikawa-head-group\").attr(\"transform\", `translate(0,${spineY})`);\n const pairCount = Math.ceil(causes.length / 2);\n for (let p = 0; p < pairCount; p++) {\n const pg = g.append(\"g\").attr(\"class\", \"ishikawa-pair\");\n for (const [cause, dir, len] of [\n [causes[p * 2], -1, upperLen],\n [causes[p * 2 + 1], 1, lowerLen]\n ]) {\n if (cause) {\n drawBranch(pg, cause, spineX, spineY, dir, len, fontSize, roughContext);\n }\n }\n spineX = pg.selectAll(\"text\").nodes().reduce((left, n) => Math.min(left, n.getBBox().x), Infinity);\n }\n if (isHandDrawn) {\n drawLine(g, spineX, spineY, 0, spineY, \"ishikawa-spine\", roughContext);\n } else {\n spineLine.attr(\"x1\", spineX);\n const markerUrl = `url(#${markerId})`;\n g.selectAll(\"line.ishikawa-branch, line.ishikawa-sub-branch\").attr(\"marker-start\", markerUrl);\n }\n applyPaddedViewBox(svg, padding, useMaxWidth);\n}, \"draw\");\nvar sideStats = /* @__PURE__ */ __name((nodes) => {\n const countDescendants = /* @__PURE__ */ __name((node) => node.children.reduce((sum, child) => sum + 1 + countDescendants(child), 0), \"countDescendants\");\n return nodes.reduce(\n (stats, node) => {\n const descendants = countDescendants(node);\n stats.total += descendants;\n stats.max = Math.max(stats.max, descendants);\n return stats;\n },\n { total: 0, max: 0 }\n );\n}, \"sideStats\");\nvar drawHead = /* @__PURE__ */ __name((svg, x, y, label, fontSize, roughContext) => {\n const maxChars = Math.max(6, Math.floor(110 / (fontSize * 0.6)));\n const headGroup = svg.append(\"g\").attr(\"class\", \"ishikawa-head-group\").attr(\"transform\", `translate(${x},${y})`);\n const textEl = drawMultilineText(\n headGroup,\n wrapText(label, maxChars),\n 0,\n 0,\n \"ishikawa-head-label\",\n \"start\",\n fontSize\n );\n const tb = textEl.node().getBBox();\n const w = Math.max(60, tb.width + 6);\n const h = Math.max(40, tb.height * 2 + 40);\n const headPath = `M 0 ${-h / 2} L 0 ${h / 2} Q ${w * 2.4} 0 0 ${-h / 2} Z`;\n if (roughContext) {\n const roughNode = roughContext.roughSvg.path(headPath, {\n roughness: 1.5,\n seed: roughContext.seed,\n fill: roughContext.fillColor,\n fillStyle: \"hachure\",\n fillWeight: 2.5,\n hachureGap: 5,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n });\n headGroup.insert(() => roughNode, \":first-child\").attr(\"class\", \"ishikawa-head\");\n } else {\n headGroup.insert(\"path\", \":first-child\").attr(\"class\", \"ishikawa-head\").attr(\"d\", headPath);\n }\n textEl.attr(\"transform\", `translate(${(w - tb.width) / 2 - tb.x + 3},${-tb.y - tb.height / 2})`);\n}, \"drawHead\");\nvar flattenTree = /* @__PURE__ */ __name((children, direction) => {\n const entries = [];\n const yOrder = [];\n const walk = /* @__PURE__ */ __name((nodes, pid, depth) => {\n const ordered = direction === -1 ? [...nodes].reverse() : nodes;\n for (const child of ordered) {\n const idx = entries.length;\n const gc = child.children ?? [];\n entries.push({\n depth,\n text: wrapText(child.text, 15),\n parentIndex: pid,\n childCount: gc.length\n });\n if (depth % 2 === 0) {\n yOrder.push(idx);\n if (gc.length) {\n walk(gc, idx, depth + 1);\n }\n } else {\n if (gc.length) {\n walk(gc, idx, depth + 1);\n }\n yOrder.push(idx);\n }\n }\n }, \"walk\");\n walk(children, -1, 2);\n return { entries, yOrder };\n}, \"flattenTree\");\nvar drawCauseLabel = /* @__PURE__ */ __name((svg, text, x, y, direction, fontSize, roughContext) => {\n const lg = svg.append(\"g\").attr(\"class\", \"ishikawa-label-group\");\n const lt = drawMultilineText(\n lg,\n text,\n x,\n y + 11 * direction,\n \"ishikawa-label cause\",\n \"middle\",\n fontSize\n );\n const tb = lt.node().getBBox();\n if (roughContext) {\n const roughNode = roughContext.roughSvg.rectangle(\n tb.x - 20,\n tb.y - 2,\n tb.width + 40,\n tb.height + 4,\n {\n roughness: 1.5,\n seed: roughContext.seed,\n fill: roughContext.fillColor,\n fillStyle: \"hachure\",\n fillWeight: 2.5,\n hachureGap: 5,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n }\n );\n lg.insert(() => roughNode, \":first-child\").attr(\"class\", \"ishikawa-label-box\");\n } else {\n 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);\n }\n}, \"drawCauseLabel\");\nvar drawArrowMarker = /* @__PURE__ */ __name((g, x, y, dx, dy, roughContext) => {\n const len = Math.sqrt(dx * dx + dy * dy);\n if (len === 0) {\n return;\n }\n const ux = dx / len;\n const uy = dy / len;\n const s = 6;\n const px = -uy * s;\n const py = ux * s;\n const tipX = x;\n const tipY = y;\n const d = `M ${tipX} ${tipY} L ${tipX - ux * s * 2 + px} ${tipY - uy * s * 2 + py} L ${tipX - ux * s * 2 - px} ${tipY - uy * s * 2 - py} Z`;\n const roughNode = roughContext.roughSvg.path(d, {\n roughness: 1,\n seed: roughContext.seed,\n fill: roughContext.lineColor,\n fillStyle: \"solid\",\n stroke: roughContext.lineColor,\n strokeWidth: 1\n });\n g.append(() => roughNode);\n}, \"drawArrowMarker\");\nvar drawBranch = /* @__PURE__ */ __name((svg, node, startX, startY, direction, length, fontSize, roughContext) => {\n const children = node.children ?? [];\n const lineLen = length * (children.length ? 1 : 0.2);\n const dx = -COS_A * lineLen;\n const dy = SIN_A * lineLen * direction;\n const endX = startX + dx;\n const endY = startY + dy;\n drawLine(svg, startX, startY, endX, endY, \"ishikawa-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(svg, startX, startY, startX - endX, startY - endY, roughContext);\n }\n drawCauseLabel(svg, node.text, endX, endY, direction, fontSize, roughContext);\n if (!children.length) {\n return;\n }\n const { entries, yOrder } = flattenTree(children, direction);\n const entryCount = entries.length;\n const ys = new Array(entryCount);\n for (const [slot, entryIdx] of yOrder.entries()) {\n ys[entryIdx] = startY + dy * ((slot + 1) / (entryCount + 1));\n }\n const bones = /* @__PURE__ */ new Map();\n bones.set(-1, {\n x0: startX,\n y0: startY,\n x1: endX,\n y1: endY,\n childCount: children.length,\n childrenDrawn: 0\n });\n const diagonalX = -COS_A;\n const diagonalY = SIN_A * direction;\n const oddLabel = direction < 0 ? \"ishikawa-label up\" : \"ishikawa-label down\";\n for (const [i, e] of entries.entries()) {\n const y = ys[i];\n const par = bones.get(e.parentIndex);\n const grp = svg.append(\"g\").attr(\"class\", \"ishikawa-sub-group\");\n let bx0 = 0;\n let by0 = 0;\n let bx1 = 0;\n if (e.depth % 2 === 0) {\n const dyP = par.y1 - par.y0;\n bx0 = lerp(par.x0, par.x1, dyP ? (y - par.y0) / dyP : 0.5);\n by0 = y;\n bx1 = bx0 - (e.childCount > 0 ? BONE_BASE + e.childCount * BONE_PER_CHILD : BONE_STUB);\n drawLine(grp, bx0, y, bx1, y, \"ishikawa-sub-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(grp, bx0, y, 1, 0, roughContext);\n }\n drawMultilineText(grp, e.text, bx1, y, \"ishikawa-label align\", \"end\", fontSize);\n } else {\n const k = par.childrenDrawn++;\n bx0 = lerp(par.x0, par.x1, (par.childCount - k) / (par.childCount + 1));\n by0 = par.y0;\n bx1 = bx0 + diagonalX * ((y - by0) / diagonalY);\n drawLine(grp, bx0, by0, bx1, y, \"ishikawa-sub-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(grp, bx0, by0, bx0 - bx1, by0 - y, roughContext);\n }\n drawMultilineText(grp, e.text, bx1, y, oddLabel, \"end\", fontSize);\n }\n if (e.childCount > 0) {\n bones.set(i, {\n x0: bx0,\n y0: by0,\n x1: bx1,\n y1: y,\n childCount: e.childCount,\n childrenDrawn: 0\n });\n }\n }\n}, \"drawBranch\");\nvar splitLines = /* @__PURE__ */ __name((text) => text.split(/<br\\s*\\/?>|\\n/), \"splitLines\");\nvar wrapText = /* @__PURE__ */ __name((text, maxChars) => {\n if (text.length <= maxChars) {\n return text;\n }\n const lines = [];\n for (const word of text.split(/\\s+/)) {\n const last = lines.length - 1;\n if (last >= 0 && lines[last].length + 1 + word.length <= maxChars) {\n lines[last] += \" \" + word;\n } else {\n lines.push(word);\n }\n }\n return lines.join(\"\\n\");\n}, \"wrapText\");\nvar drawMultilineText = /* @__PURE__ */ __name((g, text, x, y, cls, anchor, fontSize) => {\n const lines = splitLines(text);\n const lh = fontSize * 1.05;\n const el = g.append(\"text\").attr(\"class\", cls).attr(\"text-anchor\", anchor).attr(\"x\", x).attr(\"y\", y - (lines.length - 1) * lh / 2);\n for (const [i, line] of lines.entries()) {\n el.append(\"tspan\").attr(\"x\", x).attr(\"dy\", i === 0 ? 0 : lh).text(line);\n }\n return el;\n}, \"drawMultilineText\");\nvar lerp = /* @__PURE__ */ __name((a, b, t) => a + (b - a) * t, \"lerp\");\nvar drawLine = /* @__PURE__ */ __name((g, x1, y1, x2, y2, cls, roughContext) => {\n if (roughContext) {\n const roughNode = roughContext.roughSvg.line(x1, y1, x2, y2, {\n roughness: 1.5,\n seed: roughContext.seed,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n });\n g.append(() => roughNode).attr(\"class\", cls);\n return void 0;\n }\n return g.append(\"line\").attr(\"class\", cls).attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2);\n}, \"drawLine\");\nvar renderer = { draw };\n\n// src/diagrams/ishikawa/ishikawaStyles.ts\nvar getStyles = /* @__PURE__ */ __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\");\nvar ishikawaStyles_default = getStyles;\n\n// src/diagrams/ishikawa/ishikawaDiagram.ts\nvar diagram = {\n parser: ishikawa_default,\n get db() {\n return new IshikawaDB();\n },\n renderer,\n styles: ishikawaStyles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"ishikawaDiagram-YF4QCWOH-CaZCrUUR.js","names":["getConfig","rough"],"sources":["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/ishikawaDiagram-YF4QCWOH.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n parseFontSize\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/ishikawa/parser/ishikawa.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"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];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n 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 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"ISHIKAWA\", 11: \"EOF\", 13: \"SPACELIST\", 14: \"TEXT\" },\n 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]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 15:\n yy.addNode($$[$0 - 1].length, $$[$0].trim());\n break;\n case 16:\n yy.addNode(0, $$[$0].trim());\n break;\n }\n }, \"anonymous\"),\n 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])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n 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\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return 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(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 6;\n break;\n case 1:\n return 8;\n break;\n case 2:\n return 8;\n break;\n case 3:\n return 6;\n break;\n case 4:\n return 7;\n break;\n case 5:\n return 13;\n break;\n case 6:\n return 14;\n break;\n case 7:\n return 11;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:\\s*%%.*)/i, /^(?:ishikawa-beta\\b)/i, /^(?:ishikawa\\b)/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[\\s]+)/i, /^(?:[^\\n]+)/i, /^(?:$)/i],\n conditions: { \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar ishikawa_default = parser;\n\n// src/diagrams/ishikawa/ishikawaDb.ts\nvar IshikawaDB = class {\n constructor() {\n this.stack = [];\n this.clear = this.clear.bind(this);\n this.addNode = this.addNode.bind(this);\n this.getRoot = this.getRoot.bind(this);\n }\n static {\n __name(this, \"IshikawaDB\");\n }\n clear() {\n this.root = void 0;\n this.stack = [];\n this.baseLevel = void 0;\n clear();\n }\n getRoot() {\n return this.root;\n }\n addNode(rawLevel, text) {\n const label = common_default.sanitizeText(text, getConfig());\n if (!this.root) {\n this.root = { text: label, children: [] };\n this.stack = [{ level: 0, node: this.root }];\n setDiagramTitle(label);\n return;\n }\n this.baseLevel ??= rawLevel;\n let level = rawLevel - this.baseLevel + 1;\n if (level <= 0) {\n level = 1;\n }\n while (this.stack.length > 1 && this.stack[this.stack.length - 1].level >= level) {\n this.stack.pop();\n }\n const parent = this.stack[this.stack.length - 1].node;\n const node = { text: label, children: [] };\n parent.children.push(node);\n this.stack.push({ level, node });\n }\n getAccTitle() {\n return getAccTitle();\n }\n setAccTitle(title) {\n setAccTitle(title);\n }\n getAccDescription() {\n return getAccDescription();\n }\n setAccDescription(description) {\n setAccDescription(description);\n }\n getDiagramTitle() {\n return getDiagramTitle();\n }\n setDiagramTitle(title) {\n setDiagramTitle(title);\n }\n};\n\n// src/diagrams/ishikawa/ishikawaRenderer.ts\nimport rough from \"roughjs\";\nvar FONT_SIZE_DEFAULT = 14;\nvar SPINE_BASE_LENGTH = 250;\nvar BONE_STUB = 30;\nvar BONE_BASE = 60;\nvar BONE_PER_CHILD = 5;\nvar ANGLE = 82 * Math.PI / 180;\nvar COS_A = Math.cos(ANGLE);\nvar SIN_A = Math.sin(ANGLE);\nvar applyPaddedViewBox = /* @__PURE__ */ __name((svgEl, pad, maxW) => {\n const bbox = svgEl.node().getBBox();\n const w = bbox.width + pad * 2;\n const h = bbox.height + pad * 2;\n configureSvgSize(svgEl, h, w, maxW);\n svgEl.attr(\"viewBox\", `${bbox.x - pad} ${bbox.y - pad} ${w} ${h}`);\n}, \"applyPaddedViewBox\");\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const root = db.getRoot();\n if (!root) {\n return;\n }\n const drawConfig = getConfig();\n const { look, handDrawnSeed, themeVariables } = drawConfig;\n const fontSize = parseFontSize(drawConfig.fontSize)[0] ?? FONT_SIZE_DEFAULT;\n const isHandDrawn = look === \"handDrawn\";\n const causes = root.children ?? [];\n const padding = drawConfig.ishikawa?.diagramPadding ?? 20;\n const useMaxWidth = drawConfig.ishikawa?.useMaxWidth ?? false;\n const svg = selectSvgElement(id);\n const g = svg.append(\"g\").attr(\"class\", \"ishikawa\");\n const roughSvg = isHandDrawn ? rough.svg(svg.node()) : void 0;\n const roughContext = roughSvg ? {\n roughSvg,\n seed: handDrawnSeed ?? 0,\n lineColor: themeVariables?.lineColor ?? \"#333\",\n fillColor: themeVariables?.mainBkg ?? \"#fff\"\n } : void 0;\n const markerId = `ishikawa-arrow-${id}`;\n if (!isHandDrawn) {\n 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\");\n }\n let spineX = 0;\n let spineY = SPINE_BASE_LENGTH;\n const spineLine = isHandDrawn ? void 0 : drawLine(g, spineX, spineY, spineX, spineY, \"ishikawa-spine\");\n drawHead(g, spineX, spineY, root.text, fontSize, roughContext);\n if (!causes.length) {\n if (isHandDrawn) {\n drawLine(g, spineX, spineY, spineX, spineY, \"ishikawa-spine\", roughContext);\n }\n applyPaddedViewBox(svg, padding, useMaxWidth);\n return;\n }\n spineX -= 20;\n const upperCauses = causes.filter((_, i) => i % 2 === 0);\n const lowerCauses = causes.filter((_, i) => i % 2 === 1);\n const upperStats = sideStats(upperCauses);\n const lowerStats = sideStats(lowerCauses);\n const descendantTotal = upperStats.total + lowerStats.total;\n let upperLen = SPINE_BASE_LENGTH;\n let lowerLen = SPINE_BASE_LENGTH;\n if (descendantTotal > 0) {\n const pool = SPINE_BASE_LENGTH * 2;\n const minLen = SPINE_BASE_LENGTH * 0.3;\n upperLen = Math.max(minLen, pool * (upperStats.total / descendantTotal));\n lowerLen = Math.max(minLen, pool * (lowerStats.total / descendantTotal));\n }\n const minSpacing = fontSize * 2;\n upperLen = Math.max(upperLen, upperStats.max * minSpacing);\n lowerLen = Math.max(lowerLen, lowerStats.max * minSpacing);\n spineY = Math.max(upperLen, SPINE_BASE_LENGTH);\n if (spineLine) {\n spineLine.attr(\"y1\", spineY).attr(\"y2\", spineY);\n }\n g.select(\".ishikawa-head-group\").attr(\"transform\", `translate(0,${spineY})`);\n const pairCount = Math.ceil(causes.length / 2);\n for (let p = 0; p < pairCount; p++) {\n const pg = g.append(\"g\").attr(\"class\", \"ishikawa-pair\");\n for (const [cause, dir, len] of [\n [causes[p * 2], -1, upperLen],\n [causes[p * 2 + 1], 1, lowerLen]\n ]) {\n if (cause) {\n drawBranch(pg, cause, spineX, spineY, dir, len, fontSize, roughContext);\n }\n }\n spineX = pg.selectAll(\"text\").nodes().reduce((left, n) => Math.min(left, n.getBBox().x), Infinity);\n }\n if (isHandDrawn) {\n drawLine(g, spineX, spineY, 0, spineY, \"ishikawa-spine\", roughContext);\n } else {\n spineLine.attr(\"x1\", spineX);\n const markerUrl = `url(#${markerId})`;\n g.selectAll(\"line.ishikawa-branch, line.ishikawa-sub-branch\").attr(\"marker-start\", markerUrl);\n }\n applyPaddedViewBox(svg, padding, useMaxWidth);\n}, \"draw\");\nvar sideStats = /* @__PURE__ */ __name((nodes) => {\n const countDescendants = /* @__PURE__ */ __name((node) => node.children.reduce((sum, child) => sum + 1 + countDescendants(child), 0), \"countDescendants\");\n return nodes.reduce(\n (stats, node) => {\n const descendants = countDescendants(node);\n stats.total += descendants;\n stats.max = Math.max(stats.max, descendants);\n return stats;\n },\n { total: 0, max: 0 }\n );\n}, \"sideStats\");\nvar drawHead = /* @__PURE__ */ __name((svg, x, y, label, fontSize, roughContext) => {\n const maxChars = Math.max(6, Math.floor(110 / (fontSize * 0.6)));\n const headGroup = svg.append(\"g\").attr(\"class\", \"ishikawa-head-group\").attr(\"transform\", `translate(${x},${y})`);\n const textEl = drawMultilineText(\n headGroup,\n wrapText(label, maxChars),\n 0,\n 0,\n \"ishikawa-head-label\",\n \"start\",\n fontSize\n );\n const tb = textEl.node().getBBox();\n const w = Math.max(60, tb.width + 6);\n const h = Math.max(40, tb.height * 2 + 40);\n const headPath = `M 0 ${-h / 2} L 0 ${h / 2} Q ${w * 2.4} 0 0 ${-h / 2} Z`;\n if (roughContext) {\n const roughNode = roughContext.roughSvg.path(headPath, {\n roughness: 1.5,\n seed: roughContext.seed,\n fill: roughContext.fillColor,\n fillStyle: \"hachure\",\n fillWeight: 2.5,\n hachureGap: 5,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n });\n headGroup.insert(() => roughNode, \":first-child\").attr(\"class\", \"ishikawa-head\");\n } else {\n headGroup.insert(\"path\", \":first-child\").attr(\"class\", \"ishikawa-head\").attr(\"d\", headPath);\n }\n textEl.attr(\"transform\", `translate(${(w - tb.width) / 2 - tb.x + 3},${-tb.y - tb.height / 2})`);\n}, \"drawHead\");\nvar flattenTree = /* @__PURE__ */ __name((children, direction) => {\n const entries = [];\n const yOrder = [];\n const walk = /* @__PURE__ */ __name((nodes, pid, depth) => {\n const ordered = direction === -1 ? [...nodes].reverse() : nodes;\n for (const child of ordered) {\n const idx = entries.length;\n const gc = child.children ?? [];\n entries.push({\n depth,\n text: wrapText(child.text, 15),\n parentIndex: pid,\n childCount: gc.length\n });\n if (depth % 2 === 0) {\n yOrder.push(idx);\n if (gc.length) {\n walk(gc, idx, depth + 1);\n }\n } else {\n if (gc.length) {\n walk(gc, idx, depth + 1);\n }\n yOrder.push(idx);\n }\n }\n }, \"walk\");\n walk(children, -1, 2);\n return { entries, yOrder };\n}, \"flattenTree\");\nvar drawCauseLabel = /* @__PURE__ */ __name((svg, text, x, y, direction, fontSize, roughContext) => {\n const lg = svg.append(\"g\").attr(\"class\", \"ishikawa-label-group\");\n const lt = drawMultilineText(\n lg,\n text,\n x,\n y + 11 * direction,\n \"ishikawa-label cause\",\n \"middle\",\n fontSize\n );\n const tb = lt.node().getBBox();\n if (roughContext) {\n const roughNode = roughContext.roughSvg.rectangle(\n tb.x - 20,\n tb.y - 2,\n tb.width + 40,\n tb.height + 4,\n {\n roughness: 1.5,\n seed: roughContext.seed,\n fill: roughContext.fillColor,\n fillStyle: \"hachure\",\n fillWeight: 2.5,\n hachureGap: 5,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n }\n );\n lg.insert(() => roughNode, \":first-child\").attr(\"class\", \"ishikawa-label-box\");\n } else {\n 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);\n }\n}, \"drawCauseLabel\");\nvar drawArrowMarker = /* @__PURE__ */ __name((g, x, y, dx, dy, roughContext) => {\n const len = Math.sqrt(dx * dx + dy * dy);\n if (len === 0) {\n return;\n }\n const ux = dx / len;\n const uy = dy / len;\n const s = 6;\n const px = -uy * s;\n const py = ux * s;\n const tipX = x;\n const tipY = y;\n const d = `M ${tipX} ${tipY} L ${tipX - ux * s * 2 + px} ${tipY - uy * s * 2 + py} L ${tipX - ux * s * 2 - px} ${tipY - uy * s * 2 - py} Z`;\n const roughNode = roughContext.roughSvg.path(d, {\n roughness: 1,\n seed: roughContext.seed,\n fill: roughContext.lineColor,\n fillStyle: \"solid\",\n stroke: roughContext.lineColor,\n strokeWidth: 1\n });\n g.append(() => roughNode);\n}, \"drawArrowMarker\");\nvar drawBranch = /* @__PURE__ */ __name((svg, node, startX, startY, direction, length, fontSize, roughContext) => {\n const children = node.children ?? [];\n const lineLen = length * (children.length ? 1 : 0.2);\n const dx = -COS_A * lineLen;\n const dy = SIN_A * lineLen * direction;\n const endX = startX + dx;\n const endY = startY + dy;\n drawLine(svg, startX, startY, endX, endY, \"ishikawa-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(svg, startX, startY, startX - endX, startY - endY, roughContext);\n }\n drawCauseLabel(svg, node.text, endX, endY, direction, fontSize, roughContext);\n if (!children.length) {\n return;\n }\n const { entries, yOrder } = flattenTree(children, direction);\n const entryCount = entries.length;\n const ys = new Array(entryCount);\n for (const [slot, entryIdx] of yOrder.entries()) {\n ys[entryIdx] = startY + dy * ((slot + 1) / (entryCount + 1));\n }\n const bones = /* @__PURE__ */ new Map();\n bones.set(-1, {\n x0: startX,\n y0: startY,\n x1: endX,\n y1: endY,\n childCount: children.length,\n childrenDrawn: 0\n });\n const diagonalX = -COS_A;\n const diagonalY = SIN_A * direction;\n const oddLabel = direction < 0 ? \"ishikawa-label up\" : \"ishikawa-label down\";\n for (const [i, e] of entries.entries()) {\n const y = ys[i];\n const par = bones.get(e.parentIndex);\n const grp = svg.append(\"g\").attr(\"class\", \"ishikawa-sub-group\");\n let bx0 = 0;\n let by0 = 0;\n let bx1 = 0;\n if (e.depth % 2 === 0) {\n const dyP = par.y1 - par.y0;\n bx0 = lerp(par.x0, par.x1, dyP ? (y - par.y0) / dyP : 0.5);\n by0 = y;\n bx1 = bx0 - (e.childCount > 0 ? BONE_BASE + e.childCount * BONE_PER_CHILD : BONE_STUB);\n drawLine(grp, bx0, y, bx1, y, \"ishikawa-sub-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(grp, bx0, y, 1, 0, roughContext);\n }\n drawMultilineText(grp, e.text, bx1, y, \"ishikawa-label align\", \"end\", fontSize);\n } else {\n const k = par.childrenDrawn++;\n bx0 = lerp(par.x0, par.x1, (par.childCount - k) / (par.childCount + 1));\n by0 = par.y0;\n bx1 = bx0 + diagonalX * ((y - by0) / diagonalY);\n drawLine(grp, bx0, by0, bx1, y, \"ishikawa-sub-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(grp, bx0, by0, bx0 - bx1, by0 - y, roughContext);\n }\n drawMultilineText(grp, e.text, bx1, y, oddLabel, \"end\", fontSize);\n }\n if (e.childCount > 0) {\n bones.set(i, {\n x0: bx0,\n y0: by0,\n x1: bx1,\n y1: y,\n childCount: e.childCount,\n childrenDrawn: 0\n });\n }\n }\n}, \"drawBranch\");\nvar splitLines = /* @__PURE__ */ __name((text) => text.split(/<br\\s*\\/?>|\\n/), \"splitLines\");\nvar wrapText = /* @__PURE__ */ __name((text, maxChars) => {\n if (text.length <= maxChars) {\n return text;\n }\n const lines = [];\n for (const word of text.split(/\\s+/)) {\n const last = lines.length - 1;\n if (last >= 0 && lines[last].length + 1 + word.length <= maxChars) {\n lines[last] += \" \" + word;\n } else {\n lines.push(word);\n }\n }\n return lines.join(\"\\n\");\n}, \"wrapText\");\nvar drawMultilineText = /* @__PURE__ */ __name((g, text, x, y, cls, anchor, fontSize) => {\n const lines = splitLines(text);\n const lh = fontSize * 1.05;\n const el = g.append(\"text\").attr(\"class\", cls).attr(\"text-anchor\", anchor).attr(\"x\", x).attr(\"y\", y - (lines.length - 1) * lh / 2);\n for (const [i, line] of lines.entries()) {\n el.append(\"tspan\").attr(\"x\", x).attr(\"dy\", i === 0 ? 0 : lh).text(line);\n }\n return el;\n}, \"drawMultilineText\");\nvar lerp = /* @__PURE__ */ __name((a, b, t) => a + (b - a) * t, \"lerp\");\nvar drawLine = /* @__PURE__ */ __name((g, x1, y1, x2, y2, cls, roughContext) => {\n if (roughContext) {\n const roughNode = roughContext.roughSvg.line(x1, y1, x2, y2, {\n roughness: 1.5,\n seed: roughContext.seed,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n });\n g.append(() => roughNode).attr(\"class\", cls);\n return void 0;\n }\n return g.append(\"line\").attr(\"class\", cls).attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2);\n}, \"drawLine\");\nvar renderer = { draw };\n\n// src/diagrams/ishikawa/ishikawaStyles.ts\nvar getStyles = /* @__PURE__ */ __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\");\nvar ishikawaStyles_default = getStyles;\n\n// src/diagrams/ishikawa/ishikawaDiagram.ts\nvar diagram = {\n parser: ishikawa_default,\n get db() {\n return new IshikawaDB();\n },\n renderer,\n styles: ishikawaStyles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{h as e,p as t}from"./src-DoMhBUqV.js";import{H as n,K as r,U as i,a,c as o,v as s,w as c,x as l,y as u}from"./chunk-CSCIHK7Q-Bo3glXo1.js";import{t as d}from"./arc-Ck_Wc4j5.js";import{t as f}from"./chunk-FMBD7UC4-CiWgEw8O.js";import{a as p,n as m,o as h,s as g}from"./chunk-ND2GUHAM-a2zgmbwP.js";var _=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[6,8,10,11,12,14,16,17,18],r=[1,9],i=[1,10],a=[1,11],o=[1,12],s=[1,13],c=[1,14],l={trace:e(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:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:r.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 10:case 11:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 12:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 13:r.addTask(a[s-1],a[s]),this.$=`task`;break}},`anonymous`),table:[{3:1,4:[1,2]},{1:[3]},t(n,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,14:a,16:o,17:s,18:c},t(n,[2,7],{1:[2,1]}),t(n,[2,3]),{9:15,11:r,12:i,14:a,16:o,17:s,18:c},t(n,[2,5]),t(n,[2,6]),t(n,[2,8]),{13:[1,16]},{15:[1,17]},t(n,[2,11]),t(n,[2,12]),{19:[1,18]},t(n,[2,4]),t(n,[2,9]),t(n,[2,10]),t(n,[2,13])],defaultActions:{},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
1
+ import{h as e,p as t}from"./src-DoMhBUqV.js";import{H as n,K as r,U as i,a,c as o,v as s,w as c,x as l,y as u}from"./chunk-CSCIHK7Q-BBzr5U3o.js";import{t as d}from"./arc-Ck_Wc4j5.js";import{t as f}from"./chunk-FMBD7UC4-CiWgEw8O.js";import{a as p,n as m,o as h,s as g}from"./chunk-ND2GUHAM-DHtjIa8_.js";var _=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[6,8,10,11,12,14,16,17,18],r=[1,9],i=[1,10],a=[1,11],o=[1,12],s=[1,13],c=[1,14],l={trace:e(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:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:r.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 10:case 11:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 12:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 13:r.addTask(a[s-1],a[s]),this.$=`task`;break}},`anonymous`),table:[{3:1,4:[1,2]},{1:[3]},t(n,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,14:a,16:o,17:s,18:c},t(n,[2,7],{1:[2,1]}),t(n,[2,3]),{9:15,11:r,12:i,14:a,16:o,17:s,18:c},t(n,[2,5]),t(n,[2,6]),t(n,[2,8]),{13:[1,16]},{15:[1,17]},t(n,[2,11]),t(n,[2,12]),{19:[1,18]},t(n,[2,4]),t(n,[2,9]),t(n,[2,10]),t(n,[2,13])],defaultActions:{},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
2
  `+h.showPosition()+`
3
3
  Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};l.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,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:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.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),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=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),n.length-1&&(this.yylineno-=n.length-1);var i=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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
4
4
  `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
@@ -137,4 +137,4 @@ Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on l
137
137
  }
138
138
  ${f()}
139
139
  `,`getStyles`),N=e(function(e,t){return p(e,t)},`drawRect`),P=e(function(t,n){let r=t.append(`circle`).attr(`cx`,n.cx).attr(`cy`,n.cy).attr(`class`,`face`).attr(`r`,15).attr(`stroke-width`,2).attr(`overflow`,`visible`),i=t.append(`g`);i.append(`circle`).attr(`cx`,n.cx-15/3).attr(`cy`,n.cy-15/3).attr(`r`,1.5).attr(`stroke-width`,2).attr(`fill`,`#666`).attr(`stroke`,`#666`),i.append(`circle`).attr(`cx`,n.cx+15/3).attr(`cy`,n.cy-15/3).attr(`r`,1.5).attr(`stroke-width`,2).attr(`fill`,`#666`).attr(`stroke`,`#666`);function a(e){let t=d().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(15/2).outerRadius(15/2.2);e.append(`path`).attr(`class`,`mouth`).attr(`d`,t).attr(`transform`,`translate(`+n.cx+`,`+(n.cy+2)+`)`)}e(a,`smile`);function o(e){let t=d().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(15/2).outerRadius(15/2.2);e.append(`path`).attr(`class`,`mouth`).attr(`d`,t).attr(`transform`,`translate(`+n.cx+`,`+(n.cy+7)+`)`)}e(o,`sad`);function s(e){e.append(`line`).attr(`class`,`mouth`).attr(`stroke`,2).attr(`x1`,n.cx-5).attr(`y1`,n.cy+7).attr(`x2`,n.cx+5).attr(`y2`,n.cy+7).attr(`class`,`mouth`).attr(`stroke-width`,`1px`).attr(`stroke`,`#666`)}return e(s,`ambivalent`),n.score>3?a(i):n.score<3?o(i):s(i),r},`drawFace`),F=e(function(e,t){let n=e.append(`circle`);return n.attr(`cx`,t.cx),n.attr(`cy`,t.cy),n.attr(`class`,`actor-`+t.pos),n.attr(`fill`,t.fill),n.attr(`stroke`,t.stroke),n.attr(`r`,t.r),n.class!==void 0&&n.attr(`class`,n.class),t.title!==void 0&&n.append(`title`).text(t.title),n},`drawCircle`),I=e(function(e,t){return h(e,t)},`drawText`),L=e(function(t,n){function r(e,t,n,r,i){return e+`,`+t+` `+(e+n)+`,`+t+` `+(e+n)+`,`+(t+r-i)+` `+(e+n-i*1.2)+`,`+(t+r)+` `+e+`,`+(t+r)}e(r,`genPoints`);let i=t.append(`polygon`);i.attr(`points`,r(n.x,n.y,50,20,7)),i.attr(`class`,`labelBox`),n.y+=n.labelMargin,n.x+=.5*n.labelMargin,I(t,n)},`drawLabel`),R=e(function(e,t,n){let r=e.append(`g`),i=g();i.x=t.x,i.y=t.y,i.fill=t.fill,i.width=n.width*t.taskCount+n.diagramMarginX*(t.taskCount-1),i.height=n.height,i.class=`journey-section section-type-`+t.num,i.rx=3,i.ry=3,N(r,i),H(n)(t.text,r,i.x,i.y,i.width,i.height,{class:`journey-section section-type-`+t.num},n,t.colour)},`drawSection`),z=-1,B=e(function(e,t,n,r){let i=t.x+n.width/2,a=e.append(`g`);z++,a.append(`line`).attr(`id`,r+`-task`+z).attr(`x1`,i).attr(`y1`,t.y).attr(`x2`,i).attr(`y2`,450).attr(`class`,`task-line`).attr(`stroke-width`,`1px`).attr(`stroke-dasharray`,`4 2`).attr(`stroke`,`#666`),P(a,{cx:i,cy:300+(5-t.score)*30,score:t.score});let o=g();o.x=t.x,o.y=t.y,o.fill=t.fill,o.width=n.width,o.height=n.height,o.class=`task task-type-`+t.num,o.rx=3,o.ry=3,N(a,o);let s=t.x+14;t.people.forEach(e=>{let n=t.actors[e].color;F(a,{cx:s,cy:t.y,r:7,fill:n,stroke:`#000`,title:e,pos:t.actors[e].position}),s+=10}),H(n)(t.task,a,o.x,o.y,o.width,o.height,{class:`task`},n,t.colour)},`drawTask`),V=e(function(e,t){m(e,t)},`drawBackgroundRect`),H=(function(){function t(e,t,n,r,a,o,s,c){i(t.append(`text`).attr(`x`,n+a/2).attr(`y`,r+o/2+5).style(`font-color`,c).style(`text-anchor`,`middle`).text(e),s)}e(t,`byText`);function n(e,t,n,r,a,o,s,c,l){let{taskFontSize:u,taskFontFamily:d}=c,f=e.split(/<br\s*\/?>/gi);for(let e=0;e<f.length;e++){let c=e*u-u*(f.length-1)/2,p=t.append(`text`).attr(`x`,n+a/2).attr(`y`,r).attr(`fill`,l).style(`text-anchor`,`middle`).style(`font-size`,u).style(`font-family`,d);p.append(`tspan`).attr(`x`,n+a/2).attr(`dy`,c).text(f[e]),p.attr(`y`,r+o/2).attr(`dominant-baseline`,`central`).attr(`alignment-baseline`,`central`),i(p,s)}}e(n,`byTspan`);function r(e,t,r,a,o,s,c,l){let u=t.append(`switch`),d=u.append(`foreignObject`).attr(`x`,r).attr(`y`,a).attr(`width`,o).attr(`height`,s).attr(`position`,`fixed`).append(`xhtml:div`).style(`display`,`table`).style(`height`,`100%`).style(`width`,`100%`);d.append(`div`).attr(`class`,`label`).style(`display`,`table-cell`).style(`text-align`,`center`).style(`vertical-align`,`middle`).text(e),n(e,u,r,a,o,s,c,l),i(d,c)}e(r,`byFo`);function i(e,t){for(let n in t)n in t&&e.attr(n,t[n])}return e(i,`_setTextAttrs`),function(e){return e.textPlacement===`fo`?r:e.textPlacement===`old`?t:n}})(),U={drawRect:N,drawCircle:F,drawSection:R,drawText:I,drawLabel:L,drawTask:B,drawBackgroundRect:V,initGraphics:e(function(e,t){z=-1,e.append(`defs`).append(`marker`).attr(`id`,t+`-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`)},W=e(function(e){Object.keys(e).forEach(function(t){J[t]=e[t]})},`setConf`),G={},K=0;function q(e){let t=l().journey,n=t.maxLabelWidth;K=0;let r=60;Object.keys(G).forEach(i=>{let a=G[i].color,o={cx:20,cy:r,r:7,fill:a,stroke:`#000`,pos:G[i].position};U.drawCircle(e,o);let s=e.append(`text`).attr(`visibility`,`hidden`).text(i),c=s.node().getBoundingClientRect().width;s.remove();let l=[];if(c<=n)l=[i];else{let t=i.split(` `),r=``;s=e.append(`text`).attr(`visibility`,`hidden`),t.forEach(e=>{let t=r?`${r} ${e}`:e;if(s.text(t),s.node().getBoundingClientRect().width>n){if(r&&l.push(r),r=e,s.text(e),s.node().getBoundingClientRect().width>n){let t=``;for(let r of e)t+=r,s.text(t+`-`),s.node().getBoundingClientRect().width>n&&(l.push(t.slice(0,-1)+`-`),t=r);r=t}}else r=t}),r&&l.push(r),s.remove()}l.forEach((n,i)=>{let a={x:40,y:r+7+i*20,fill:`#666`,text:n,textMargin:t.boxTextMargin??5},o=U.drawText(e,a).node().getBoundingClientRect().width;o>K&&o>t.leftMargin-o&&(K=o)}),r+=Math.max(20,l.length*20)})}e(q,`drawActorLegend`);var J=l().journey,Y=0,ee=e(function(e,n,r,i){let a=l(),s=a.journey.titleColor,c=a.journey.titleFontSize,u=a.journey.titleFontFamily,d=a.securityLevel,f;d===`sandbox`&&(f=t(`#i`+n));let p=t(d===`sandbox`?f.nodes()[0].contentDocument.body:`body`);X.init();let m=p.select(`#`+n);U.initGraphics(m,n);let h=i.db.getTasks(),g=i.db.getDiagramTitle(),_=i.db.getActors();for(let e in G)delete G[e];let v=0;_.forEach(e=>{G[e]={color:J.actorColours[v%J.actorColours.length],position:v},v++}),q(m),Y=J.leftMargin+K,X.insert(0,0,Y,Object.keys(G).length*50),te(m,h,0,n);let y=X.getBounds();g&&m.append(`text`).text(g).attr(`x`,Y).attr(`font-size`,c).attr(`font-weight`,`bold`).attr(`y`,25).attr(`fill`,s).attr(`font-family`,u);let b=y.stopy-y.starty+2*J.diagramMarginY,x=Y+y.stopx+2*J.diagramMarginX;o(m,b,x,J.useMaxWidth),m.append(`line`).attr(`x1`,Y).attr(`y1`,J.height*4).attr(`x2`,x-Y-4).attr(`y2`,J.height*4).attr(`stroke-width`,4).attr(`stroke`,`black`).attr(`marker-end`,`url(#`+n+`-arrowhead)`);let S=g?70:0;m.attr(`viewBox`,`${y.startx} -25 ${x} ${b+S}`),m.attr(`preserveAspectRatio`,`xMinYMin meet`),m.attr(`height`,b+S+25)},`draw`),X={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:e(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},`init`),updateVal:e(function(e,t,n,r){e[t]===void 0?e[t]=n:e[t]=r(n,e[t])},`updateVal`),updateBounds:e(function(t,n,r,i){let a=l().journey,o=this,s=0;function c(c){return e(function(e){s++;let l=o.sequenceItems.length-s+1;o.updateVal(e,`starty`,n-l*a.boxMargin,Math.min),o.updateVal(e,`stopy`,i+l*a.boxMargin,Math.max),o.updateVal(X.data,`startx`,t-l*a.boxMargin,Math.min),o.updateVal(X.data,`stopx`,r+l*a.boxMargin,Math.max),c!==`activation`&&(o.updateVal(e,`startx`,t-l*a.boxMargin,Math.min),o.updateVal(e,`stopx`,r+l*a.boxMargin,Math.max),o.updateVal(X.data,`starty`,n-l*a.boxMargin,Math.min),o.updateVal(X.data,`stopy`,i+l*a.boxMargin,Math.max))},`updateItemBounds`)}e(c,`updateFn`),this.sequenceItems.forEach(c())},`updateBounds`),insert:e(function(e,t,n,r){let i=Math.min(e,n),a=Math.max(e,n),o=Math.min(t,r),s=Math.max(t,r);this.updateVal(X.data,`startx`,i,Math.min),this.updateVal(X.data,`starty`,o,Math.min),this.updateVal(X.data,`stopx`,a,Math.max),this.updateVal(X.data,`stopy`,s,Math.max),this.updateBounds(i,o,a,s)},`insert`),bumpVerticalPos:e(function(e){this.verticalPos+=e,this.data.stopy=this.verticalPos},`bumpVerticalPos`),getVerticalPos:e(function(){return this.verticalPos},`getVerticalPos`),getBounds:e(function(){return this.data},`getBounds`)},Z=J.sectionFills,Q=J.sectionColours,te=e(function(e,t,n,r){let i=l().journey,a=``,o=n+(i.height*2+i.diagramMarginY),s=0,c=`#CCC`,u=`black`,d=0;for(let[n,l]of t.entries()){if(a!==l.section){c=Z[s%Z.length],d=s%Z.length,u=Q[s%Q.length];let r=0,o=l.section;for(let e=n;e<t.length&&t[e].section==o;e++)r+=1;let f={x:n*i.taskMargin+n*i.width+Y,y:50,text:l.section,fill:c,num:d,colour:u,taskCount:r};U.drawSection(e,f,i),a=l.section,s++}let f=l.people.reduce((e,t)=>(G[t]&&(e[t]=G[t]),e),{});l.x=n*i.taskMargin+n*i.width+Y,l.y=o,l.width=i.diagramMarginX,l.height=i.diagramMarginY,l.colour=u,l.fill=c,l.num=d,l.actors=f,U.drawTask(e,l,i,r),X.insert(l.x,l.y,l.x+l.width+i.taskMargin,450)}},`drawTasks`),$={setConf:W,draw:ee},ne={parser:v,db:j,renderer:$,styles:M,init:e(e=>{$.setConf(e.journey),j.clear()},`init`)};export{ne as diagram};
140
- //# sourceMappingURL=journeyDiagram-JHISSGLW-BjEC1jFt.js.map
140
+ //# sourceMappingURL=journeyDiagram-JHISSGLW-C-j_GoJi.js.map