@n8n-zengchao/chat 0.62.0

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 (151) hide show
  1. package/README.md +289 -0
  2. package/dist/App.vue.d.ts +2 -0
  3. package/dist/__stories__/App.stories.d.ts +18 -0
  4. package/dist/__tests__/Input.spec.d.ts +1 -0
  5. package/dist/__tests__/api/generic.spec.d.ts +1 -0
  6. package/dist/__tests__/api/message.spec.d.ts +1 -0
  7. package/dist/__tests__/index.spec.d.ts +1 -0
  8. package/dist/__tests__/plugins/chat.spec.d.ts +1 -0
  9. package/dist/__tests__/plugins/chat.test.d.ts +1 -0
  10. package/dist/__tests__/setup.d.ts +0 -0
  11. package/dist/__tests__/utils/create.d.ts +5 -0
  12. package/dist/__tests__/utils/fetch.d.ts +13 -0
  13. package/dist/__tests__/utils/index.d.ts +3 -0
  14. package/dist/__tests__/utils/selectors.d.ts +12 -0
  15. package/dist/__tests__/utils/streaming.spec.d.ts +1 -0
  16. package/dist/__tests__/utils/streamingHandlers.spec.d.ts +1 -0
  17. package/dist/_basePickBy-aQilsjEs.mjs +106 -0
  18. package/dist/_baseUniq-Agc10qFQ.mjs +232 -0
  19. package/dist/api/generic.d.ts +7 -0
  20. package/dist/api/index.d.ts +2 -0
  21. package/dist/api/message.d.ts +11 -0
  22. package/dist/arc-EhYU_DB1.mjs +79 -0
  23. package/dist/architecture-U656AL7Q-B1STlXpR.mjs +10 -0
  24. package/dist/architectureDiagram-VXUJARFQ-DOVAbXSw.mjs +4054 -0
  25. package/dist/array-B5w981Vk.mjs +5 -0
  26. package/dist/blockDiagram-VD42YOAC-BsX3Fkg3.mjs +3013 -0
  27. package/dist/c4Diagram-YG6GDRKO-B5JaLuX6.mjs +2957 -0
  28. package/dist/channel-CqrIo07y.mjs +4 -0
  29. package/dist/chat.bundle.es.js +37656 -0
  30. package/dist/chat.bundle.umd.js +2784 -0
  31. package/dist/chat.es.js +35738 -0
  32. package/dist/chat.umd.js +2776 -0
  33. package/dist/chunk-4BX2VUAB-dn0RXIrC.mjs +7 -0
  34. package/dist/chunk-55IACEB6-DrIttNoL.mjs +7 -0
  35. package/dist/chunk-76Q3JFCE-D7DMbWeQ.mjs +20 -0
  36. package/dist/chunk-ABZYJK2D-_NXv778f.mjs +2516 -0
  37. package/dist/chunk-ATLVNIR6-CBnG7Ev9.mjs +66 -0
  38. package/dist/chunk-B4BG7PRW-DElmmAse.mjs +3109 -0
  39. package/dist/chunk-CVBHYZKI-kPsSw5G9.mjs +11 -0
  40. package/dist/chunk-DI55MBZ5-Bw6uFFfD.mjs +1995 -0
  41. package/dist/chunk-DZXZ2BO8.mjs +19 -0
  42. package/dist/chunk-EXTU4WIE-DWzncOZf.mjs +8 -0
  43. package/dist/chunk-FMBD7UC4-CQf-nVrj.mjs +4 -0
  44. package/dist/chunk-FPAJGGOC-HRc6DGju.mjs +12254 -0
  45. package/dist/chunk-FWNWRKHM-CGiJVNMo.mjs +57 -0
  46. package/dist/chunk-HN2XXSSU-DMfVdeUE.mjs +75 -0
  47. package/dist/chunk-JA3XYJ7Z-b0Li4NN8.mjs +1834 -0
  48. package/dist/chunk-JZLCHNYA-C_4MLySW.mjs +4862 -0
  49. package/dist/chunk-KS23V3DP-BRKOfbU6.mjs +136 -0
  50. package/dist/chunk-LBM3YZW2-JIQK8wiH.mjs +20 -0
  51. package/dist/chunk-LHMN2FUI-PNCyIUgu.mjs +20 -0
  52. package/dist/chunk-MI3HLSF2-B9GTCmLp.mjs +1146 -0
  53. package/dist/chunk-N4CR4FBY-CjlmnCPD.mjs +40 -0
  54. package/dist/chunk-O7ZBX7Z2-DmJUfqJj.mjs +27 -0
  55. package/dist/chunk-QN33PNHL-nN1zLFSf.mjs +24 -0
  56. package/dist/chunk-QXUST7PY-CY78Btj9.mjs +487 -0
  57. package/dist/chunk-QZHKN3VN-BF5N1pfB.mjs +12 -0
  58. package/dist/chunk-S3R3BYOJ-BhFsv0Go.mjs +1076 -0
  59. package/dist/chunk-S6J4BHB3-BvrWTdbl.mjs +20 -0
  60. package/dist/chunk-T53DSG4Q-XzY06amw.mjs +25 -0
  61. package/dist/chunk-TZMSLE5B-DVmJQ8eg.mjs +57 -0
  62. package/dist/classDiagram-2ON5EDUG-CKxiEVX9.mjs +33 -0
  63. package/dist/classDiagram-v2-WZHVMYZB-sAa_2keq.mjs +33 -0
  64. package/dist/clone-nkGlb0Gn.mjs +8 -0
  65. package/dist/components/Button.vue.d.ts +17 -0
  66. package/dist/components/Chat.vue.d.ts +2 -0
  67. package/dist/components/ChatFile.vue.d.ts +11 -0
  68. package/dist/components/ChatWindow.vue.d.ts +2 -0
  69. package/dist/components/GetStarted.vue.d.ts +2 -0
  70. package/dist/components/GetStartedFooter.vue.d.ts +2 -0
  71. package/dist/components/Input.vue.d.ts +39 -0
  72. package/dist/components/Layout.vue.d.ts +23 -0
  73. package/dist/components/Message.vue.d.ts +39 -0
  74. package/dist/components/MessageTyping.vue.d.ts +76 -0
  75. package/dist/components/MessagesList.vue.d.ts +164 -0
  76. package/dist/components/PoweredBy.vue.d.ts +2 -0
  77. package/dist/components/index.d.ts +10 -0
  78. package/dist/composables/index.d.ts +3 -0
  79. package/dist/composables/useChat.d.ts +2 -0
  80. package/dist/composables/useI18n.d.ts +4 -0
  81. package/dist/composables/useOptions.d.ts +4 -0
  82. package/dist/constants/defaults.d.ts +3 -0
  83. package/dist/constants/index.d.ts +3 -0
  84. package/dist/constants/localStorage.d.ts +2 -0
  85. package/dist/constants/symbols.d.ts +4 -0
  86. package/dist/cose-bilkent-S5V4N54A-1lKG2PUg.mjs +2251 -0
  87. package/dist/cytoscape.esm-Dls1_mGy.mjs +18108 -0
  88. package/dist/dagre-6UL2VRFP-CbWFu9xQ.mjs +300 -0
  89. package/dist/dagre-DEdOheHq.mjs +1385 -0
  90. package/dist/defaultLocale-CyoQm63E.mjs +178 -0
  91. package/dist/diagram-PSM6KHXK-CJcHbrJH.mjs +499 -0
  92. package/dist/diagram-QEK2KX5R-XQ9XOVL4.mjs +228 -0
  93. package/dist/diagram-S2PKOQOG-CmRfaeSf.mjs +146 -0
  94. package/dist/dist-BT0fjU7K.mjs +50 -0
  95. package/dist/erDiagram-Q2GNP2WA-iuoUWHwm.mjs +1603 -0
  96. package/dist/event-buses/chatEventBus.d.ts +1 -0
  97. package/dist/event-buses/index.d.ts +1 -0
  98. package/dist/favicon.ico +0 -0
  99. package/dist/flowDiagram-NV44I4VS-D3GMS8-G.mjs +4132 -0
  100. package/dist/ganttDiagram-LVOFAZNH-DMTZVZDR.mjs +2832 -0
  101. package/dist/gitGraph-F6HP7TQM-CrdUzURw.mjs +10 -0
  102. package/dist/gitGraphDiagram-NY62KEGX-DipP5Fgt.mjs +636 -0
  103. package/dist/graphlib-D9eH5icd.mjs +224 -0
  104. package/dist/index.d.ts +2 -0
  105. package/dist/info-NVLQJR56-C-93Yf3U.mjs +10 -0
  106. package/dist/infoDiagram-F6ZHWCRC-jM50s26K.mjs +33 -0
  107. package/dist/init-CYeu4QfE.mjs +14 -0
  108. package/dist/isArrayLikeObject-BPcFdnyK.mjs +459 -0
  109. package/dist/isUndefined-BvarJ1wS.mjs +374 -0
  110. package/dist/journeyDiagram-XKPGCS4Q-BEEO_0Bh.mjs +885 -0
  111. package/dist/kanban-definition-3W4ZIXB7-B8u_HDmL.mjs +971 -0
  112. package/dist/katex-Dc1vXbUC.mjs +22094 -0
  113. package/dist/line-BJxACIPZ.mjs +31 -0
  114. package/dist/linear-DHHVI-cj.mjs +251 -0
  115. package/dist/math-Byg0NvhS.mjs +9 -0
  116. package/dist/mermaid-parser.core-YT4qvimq.mjs +49 -0
  117. package/dist/mindmap-definition-VGOIOE7T-ah41V88S.mjs +960 -0
  118. package/dist/now-DsJMgI1z.mjs +6 -0
  119. package/dist/ordinal-L0-EVPg8.mjs +62 -0
  120. package/dist/packet-BFZMPI3H-Cs4kRHct.mjs +10 -0
  121. package/dist/path-BcDHwjEr.mjs +80 -0
  122. package/dist/pie-7BOR55EZ-YZ5Xu4o6.mjs +10 -0
  123. package/dist/pieDiagram-ADFJNKIX-CqI33m1a.mjs +174 -0
  124. package/dist/plugins/chat.d.ts +3 -0
  125. package/dist/plugins/index.d.ts +1 -0
  126. package/dist/quadrantDiagram-AYHSOK5B-DDv2X9c1.mjs +1971 -0
  127. package/dist/radar-NHE76QYJ-TpirOFtv.mjs +10 -0
  128. package/dist/requirementDiagram-UZGBJVZJ-DXa77VzO.mjs +2194 -0
  129. package/dist/sankeyDiagram-TZEHDZUN--B9DInJC.mjs +885 -0
  130. package/dist/sequenceDiagram-WL72ISMW-Dqn9jJ3g.mjs +3562 -0
  131. package/dist/src-DdwtiGjk.mjs +1976 -0
  132. package/dist/stateDiagram-FKZM4ZOC-D3eEcVjS.mjs +226 -0
  133. package/dist/stateDiagram-v2-4FDKWEC3-dzwJ4caL.mjs +32 -0
  134. package/dist/style.css +3 -0
  135. package/dist/timeline-definition-IT6M3QCI-z93ry7RN.mjs +831 -0
  136. package/dist/toInteger-1S_4Byef.mjs +36 -0
  137. package/dist/treemap-KMMF4GRG-BlF0Ev1z.mjs +10 -0
  138. package/dist/types/chat.d.ts +13 -0
  139. package/dist/types/index.d.ts +5 -0
  140. package/dist/types/messages.d.ts +17 -0
  141. package/dist/types/options.d.ts +33 -0
  142. package/dist/types/streaming.d.ts +18 -0
  143. package/dist/types/webhook.d.ts +19 -0
  144. package/dist/utils/event-bus.d.ts +8 -0
  145. package/dist/utils/index.d.ts +3 -0
  146. package/dist/utils/mount.d.ts +1 -0
  147. package/dist/utils/streaming.d.ts +26 -0
  148. package/dist/utils/streamingHandlers.d.ts +6 -0
  149. package/dist/utils/utils.d.ts +1 -0
  150. package/dist/xychartDiagram-PRI3JC2R-C3aDcgBz.mjs +2022 -0
  151. package/package.json +78 -0
@@ -0,0 +1,178 @@
1
+ /*! Package version @n8n/chat@0.62.0 */
2
+ function formatDecimal_default(e) {
3
+ return Math.abs(e = Math.round(e)) >= 1e21 ? e.toLocaleString("en").replace(/,/g, "") : e.toString(10);
4
+ }
5
+ function formatDecimalParts(e, r) {
6
+ if ((i = (e = r ? e.toExponential(r - 1) : e.toExponential()).indexOf("e")) < 0) return null;
7
+ var i, a = e.slice(0, i);
8
+ return [a.length > 1 ? a[0] + a.slice(2) : a, +e.slice(i + 1)];
9
+ }
10
+ function exponent_default(e) {
11
+ return e = formatDecimalParts(Math.abs(e)), e ? e[1] : NaN;
12
+ }
13
+ function formatGroup_default(e, r) {
14
+ return function(i, a) {
15
+ for (var o = i.length, s = [], c = 0, l = e[0], u = 0; o > 0 && l > 0 && (u + l + 1 > a && (l = Math.max(1, a - u)), s.push(i.substring(o -= l, o + l)), !((u += l + 1) > a));) l = e[c = (c + 1) % e.length];
16
+ return s.reverse().join(r);
17
+ };
18
+ }
19
+ function formatNumerals_default(e) {
20
+ return function(r) {
21
+ return r.replace(/[0-9]/g, function(r) {
22
+ return e[+r];
23
+ });
24
+ };
25
+ }
26
+ var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
27
+ function formatSpecifier(e) {
28
+ if (!(r = re.exec(e))) throw Error("invalid format: " + e);
29
+ var r;
30
+ return new FormatSpecifier({
31
+ fill: r[1],
32
+ align: r[2],
33
+ sign: r[3],
34
+ symbol: r[4],
35
+ zero: r[5],
36
+ width: r[6],
37
+ comma: r[7],
38
+ precision: r[8] && r[8].slice(1),
39
+ trim: r[9],
40
+ type: r[10]
41
+ });
42
+ }
43
+ formatSpecifier.prototype = FormatSpecifier.prototype;
44
+ function FormatSpecifier(e) {
45
+ this.fill = e.fill === void 0 ? " " : e.fill + "", this.align = e.align === void 0 ? ">" : e.align + "", this.sign = e.sign === void 0 ? "-" : e.sign + "", this.symbol = e.symbol === void 0 ? "" : e.symbol + "", this.zero = !!e.zero, this.width = e.width === void 0 ? void 0 : +e.width, this.comma = !!e.comma, this.precision = e.precision === void 0 ? void 0 : +e.precision, this.trim = !!e.trim, this.type = e.type === void 0 ? "" : e.type + "";
46
+ }
47
+ FormatSpecifier.prototype.toString = function() {
48
+ return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
49
+ };
50
+ function formatTrim_default(e) {
51
+ out: for (var r = e.length, i = 1, a = -1, o; i < r; ++i) switch (e[i]) {
52
+ case ".":
53
+ a = o = i;
54
+ break;
55
+ case "0":
56
+ a === 0 && (a = i), o = i;
57
+ break;
58
+ default:
59
+ if (!+e[i]) break out;
60
+ a > 0 && (a = 0);
61
+ break;
62
+ }
63
+ return a > 0 ? e.slice(0, a) + e.slice(o + 1) : e;
64
+ }
65
+ var prefixExponent;
66
+ function formatPrefixAuto_default(e, i) {
67
+ var a = formatDecimalParts(e, i);
68
+ if (!a) return e + "";
69
+ var o = a[0], s = a[1], c = s - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(s / 3))) * 3) + 1, l = o.length;
70
+ return c === l ? o : c > l ? o + Array(c - l + 1).join("0") : c > 0 ? o.slice(0, c) + "." + o.slice(c) : "0." + Array(1 - c).join("0") + formatDecimalParts(e, Math.max(0, i + c - 1))[0];
71
+ }
72
+ function formatRounded_default(e, i) {
73
+ var a = formatDecimalParts(e, i);
74
+ if (!a) return e + "";
75
+ var o = a[0], s = a[1];
76
+ return s < 0 ? "0." + Array(-s).join("0") + o : o.length > s + 1 ? o.slice(0, s + 1) + "." + o.slice(s + 1) : o + Array(s - o.length + 2).join("0");
77
+ }
78
+ var formatTypes_default = {
79
+ "%": (e, r) => (e * 100).toFixed(r),
80
+ b: (e) => Math.round(e).toString(2),
81
+ c: (e) => e + "",
82
+ d: formatDecimal_default,
83
+ e: (e, r) => e.toExponential(r),
84
+ f: (e, r) => e.toFixed(r),
85
+ g: (e, r) => e.toPrecision(r),
86
+ o: (e) => Math.round(e).toString(8),
87
+ p: (e, r) => formatRounded_default(e * 100, r),
88
+ r: formatRounded_default,
89
+ s: formatPrefixAuto_default,
90
+ X: (e) => Math.round(e).toString(16).toUpperCase(),
91
+ x: (e) => Math.round(e).toString(16)
92
+ };
93
+ function identity_default(e) {
94
+ return e;
95
+ }
96
+ var map = Array.prototype.map, prefixes = [
97
+ "y",
98
+ "z",
99
+ "a",
100
+ "f",
101
+ "p",
102
+ "n",
103
+ "µ",
104
+ "m",
105
+ "",
106
+ "k",
107
+ "M",
108
+ "G",
109
+ "T",
110
+ "P",
111
+ "E",
112
+ "Z",
113
+ "Y"
114
+ ];
115
+ function locale_default(e) {
116
+ var r = e.grouping === void 0 || e.thousands === void 0 ? identity_default : formatGroup_default(map.call(e.grouping, Number), e.thousands + ""), s = e.currency === void 0 ? "" : e.currency[0] + "", l = e.currency === void 0 ? "" : e.currency[1] + "", d = e.decimal === void 0 ? "." : e.decimal + "", f = e.numerals === void 0 ? identity_default : formatNumerals_default(map.call(e.numerals, String)), g = e.percent === void 0 ? "%" : e.percent + "", _ = e.minus === void 0 ? "−" : e.minus + "", v = e.nan === void 0 ? "NaN" : e.nan + "";
117
+ function y(e) {
118
+ e = formatSpecifier(e);
119
+ var i = e.fill, a = e.align, o = e.sign, m = e.symbol, h = e.zero, y = e.width, b = e.comma, x = e.precision, S = e.trim, C = e.type;
120
+ C === "n" ? (b = !0, C = "g") : formatTypes_default[C] || (x === void 0 && (x = 12), S = !0, C = "g"), (h || i === "0" && a === "=") && (h = !0, i = "0", a = "=");
121
+ var w = m === "$" ? s : m === "#" && /[boxX]/.test(C) ? "0" + C.toLowerCase() : "", T = m === "$" ? l : /[%p]/.test(C) ? g : "", E = formatTypes_default[C], D = /[defgprs%]/.test(C);
122
+ x = x === void 0 ? 6 : /[gprs]/.test(C) ? Math.max(1, Math.min(21, x)) : Math.max(0, Math.min(20, x));
123
+ function O(e) {
124
+ var s = w, c = T, l, p, m;
125
+ if (C === "c") c = E(e) + c, e = "";
126
+ else {
127
+ e = +e;
128
+ var g = e < 0 || 1 / e < 0;
129
+ if (e = isNaN(e) ? v : E(Math.abs(e), x), S && (e = formatTrim_default(e)), g && +e == 0 && o !== "+" && (g = !1), s = (g ? o === "(" ? o : _ : o === "-" || o === "(" ? "" : o) + s, c = (C === "s" ? prefixes[8 + prefixExponent / 3] : "") + c + (g && o === "(" ? ")" : ""), D) {
130
+ for (l = -1, p = e.length; ++l < p;) if (m = e.charCodeAt(l), 48 > m || m > 57) {
131
+ c = (m === 46 ? d + e.slice(l + 1) : e.slice(l)) + c, e = e.slice(0, l);
132
+ break;
133
+ }
134
+ }
135
+ }
136
+ b && !h && (e = r(e, Infinity));
137
+ var O = s.length + e.length + c.length, k = O < y ? Array(y - O + 1).join(i) : "";
138
+ switch (b && h && (e = r(k + e, k.length ? y - c.length : Infinity), k = ""), a) {
139
+ case "<":
140
+ e = s + e + c + k;
141
+ break;
142
+ case "=":
143
+ e = s + k + e + c;
144
+ break;
145
+ case "^":
146
+ e = k.slice(0, O = k.length >> 1) + s + e + c + k.slice(O);
147
+ break;
148
+ default:
149
+ e = k + s + e + c;
150
+ break;
151
+ }
152
+ return f(e);
153
+ }
154
+ return O.toString = function() {
155
+ return e + "";
156
+ }, O;
157
+ }
158
+ function b(e, r) {
159
+ var a = y((e = formatSpecifier(e), e.type = "f", e)), o = Math.max(-8, Math.min(8, Math.floor(exponent_default(r) / 3))) * 3, s = 10 ** -o, l = prefixes[8 + o / 3];
160
+ return function(e) {
161
+ return a(s * e) + l;
162
+ };
163
+ }
164
+ return {
165
+ format: y,
166
+ formatPrefix: b
167
+ };
168
+ }
169
+ var locale, format, formatPrefix;
170
+ defaultLocale({
171
+ thousands: ",",
172
+ grouping: [3],
173
+ currency: ["$", ""]
174
+ });
175
+ function defaultLocale(e) {
176
+ return locale = locale_default(e), format = locale.format, formatPrefix = locale.formatPrefix, locale;
177
+ }
178
+ export { exponent_default as i, formatPrefix as n, formatSpecifier as r, format as t };
@@ -0,0 +1,499 @@
1
+ /*! Package version @n8n/chat@0.62.0 */
2
+ import "./isArrayLikeObject-BPcFdnyK.mjs";
3
+ import "./isUndefined-BvarJ1wS.mjs";
4
+ import "./toInteger-1S_4Byef.mjs";
5
+ import "./_baseUniq-Agc10qFQ.mjs";
6
+ import "./chunk-FPAJGGOC-HRc6DGju.mjs";
7
+ import "./_basePickBy-aQilsjEs.mjs";
8
+ import { i as cleanAndMerge } from "./chunk-S3R3BYOJ-BhFsv0Go.mjs";
9
+ import "./clone-nkGlb0Gn.mjs";
10
+ import { g as log, h as __name, p as select_default } from "./src-DdwtiGjk.mjs";
11
+ import { B as setAccTitle, C as getDiagramTitle, U as setDiagramTitle, _ as getAccDescription, a as clear, c as configureSvgSize, d as defaultConfig_default, v as getAccTitle, y as getConfig, z as setAccDescription } from "./chunk-ABZYJK2D-_NXv778f.mjs";
12
+ import { t as ordinal } from "./ordinal-L0-EVPg8.mjs";
13
+ import { t as format } from "./defaultLocale-CyoQm63E.mjs";
14
+ import "./init-CYeu4QfE.mjs";
15
+ import "./math-Byg0NvhS.mjs";
16
+ import { t as selectSvgElement } from "./chunk-EXTU4WIE-DWzncOZf.mjs";
17
+ import { i as styles2String, n as isLabelStyle } from "./chunk-ATLVNIR6-CBnG7Ev9.mjs";
18
+ import "./dist-BT0fjU7K.mjs";
19
+ import "./chunk-O7ZBX7Z2-DmJUfqJj.mjs";
20
+ import "./chunk-S6J4BHB3-BvrWTdbl.mjs";
21
+ import "./chunk-LBM3YZW2-JIQK8wiH.mjs";
22
+ import "./chunk-76Q3JFCE-D7DMbWeQ.mjs";
23
+ import "./chunk-T53DSG4Q-XzY06amw.mjs";
24
+ import "./chunk-LHMN2FUI-PNCyIUgu.mjs";
25
+ import "./chunk-FWNWRKHM-CGiJVNMo.mjs";
26
+ import { t as populateCommonDb } from "./chunk-4BX2VUAB-dn0RXIrC.mjs";
27
+ import { t as parse } from "./mermaid-parser.core-YT4qvimq.mjs";
28
+ import { t as setupViewPortForSVG } from "./chunk-QN33PNHL-nN1zLFSf.mjs";
29
+ function count(e) {
30
+ var v = 0, y = e.children, b = y && y.length;
31
+ if (!b) v = 1;
32
+ else for (; --b >= 0;) v += y[b].value;
33
+ e.value = v;
34
+ }
35
+ function count_default() {
36
+ return this.eachAfter(count);
37
+ }
38
+ function each_default(e, v) {
39
+ let y = -1;
40
+ for (let b of this) e.call(v, b, ++y, this);
41
+ return this;
42
+ }
43
+ function eachBefore_default(e, v) {
44
+ for (var y = this, b = [y], x, S, C = -1; y = b.pop();) if (e.call(v, y, ++C, this), x = y.children) for (S = x.length - 1; S >= 0; --S) b.push(x[S]);
45
+ return this;
46
+ }
47
+ function eachAfter_default(e, v) {
48
+ for (var y = this, b = [y], x = [], S, C, w, T = -1; y = b.pop();) if (x.push(y), S = y.children) for (C = 0, w = S.length; C < w; ++C) b.push(S[C]);
49
+ for (; y = x.pop();) e.call(v, y, ++T, this);
50
+ return this;
51
+ }
52
+ function find_default(e, v) {
53
+ let y = -1;
54
+ for (let b of this) if (e.call(v, b, ++y, this)) return b;
55
+ }
56
+ function sum_default(e) {
57
+ return this.eachAfter(function(v) {
58
+ for (var y = +e(v.data) || 0, b = v.children, x = b && b.length; --x >= 0;) y += b[x].value;
59
+ v.value = y;
60
+ });
61
+ }
62
+ function sort_default(e) {
63
+ return this.eachBefore(function(v) {
64
+ v.children && v.children.sort(e);
65
+ });
66
+ }
67
+ function path_default(e) {
68
+ for (var v = this, y = leastCommonAncestor(v, e), b = [v]; v !== y;) v = v.parent, b.push(v);
69
+ for (var x = b.length; e !== y;) b.splice(x, 0, e), e = e.parent;
70
+ return b;
71
+ }
72
+ function leastCommonAncestor(e, v) {
73
+ if (e === v) return e;
74
+ var y = e.ancestors(), b = v.ancestors(), x = null;
75
+ for (e = y.pop(), v = b.pop(); e === v;) x = e, e = y.pop(), v = b.pop();
76
+ return x;
77
+ }
78
+ function ancestors_default() {
79
+ for (var e = this, v = [e]; e = e.parent;) v.push(e);
80
+ return v;
81
+ }
82
+ function descendants_default() {
83
+ return Array.from(this);
84
+ }
85
+ function leaves_default() {
86
+ var e = [];
87
+ return this.eachBefore(function(v) {
88
+ v.children || e.push(v);
89
+ }), e;
90
+ }
91
+ function links_default() {
92
+ var e = this, v = [];
93
+ return e.each(function(y) {
94
+ y !== e && v.push({
95
+ source: y.parent,
96
+ target: y
97
+ });
98
+ }), v;
99
+ }
100
+ function* iterator_default() {
101
+ var e = this, v, y = [e], b, x, S;
102
+ do
103
+ for (v = y.reverse(), y = []; e = v.pop();) if (yield e, b = e.children) for (x = 0, S = b.length; x < S; ++x) y.push(b[x]);
104
+ while (y.length);
105
+ }
106
+ function hierarchy(e, v) {
107
+ e instanceof Map ? (e = [void 0, e], v === void 0 && (v = mapChildren)) : v === void 0 && (v = objectChildren);
108
+ for (var y = new Node(e), b, x = [y], S, C, w, T; b = x.pop();) if ((C = v(b.data)) && (T = (C = Array.from(C)).length)) for (b.children = C, w = T - 1; w >= 0; --w) x.push(S = C[w] = new Node(C[w])), S.parent = b, S.depth = b.depth + 1;
109
+ return y.eachBefore(computeHeight);
110
+ }
111
+ function node_copy() {
112
+ return hierarchy(this).eachBefore(copyData);
113
+ }
114
+ function objectChildren(e) {
115
+ return e.children;
116
+ }
117
+ function mapChildren(e) {
118
+ return Array.isArray(e) ? e[1] : null;
119
+ }
120
+ function copyData(e) {
121
+ e.data.value !== void 0 && (e.value = e.data.value), e.data = e.data.data;
122
+ }
123
+ function computeHeight(e) {
124
+ var v = 0;
125
+ do
126
+ e.height = v;
127
+ while ((e = e.parent) && e.height < ++v);
128
+ }
129
+ function Node(e) {
130
+ this.data = e, this.depth = this.height = 0, this.parent = null;
131
+ }
132
+ Node.prototype = hierarchy.prototype = {
133
+ constructor: Node,
134
+ count: count_default,
135
+ each: each_default,
136
+ eachAfter: eachAfter_default,
137
+ eachBefore: eachBefore_default,
138
+ find: find_default,
139
+ sum: sum_default,
140
+ sort: sort_default,
141
+ path: path_default,
142
+ ancestors: ancestors_default,
143
+ descendants: descendants_default,
144
+ leaves: leaves_default,
145
+ links: links_default,
146
+ copy: node_copy,
147
+ [Symbol.iterator]: iterator_default
148
+ };
149
+ function required(e) {
150
+ if (typeof e != "function") throw Error();
151
+ return e;
152
+ }
153
+ function constantZero() {
154
+ return 0;
155
+ }
156
+ function constant_default(e) {
157
+ return function() {
158
+ return e;
159
+ };
160
+ }
161
+ function round_default(e) {
162
+ e.x0 = Math.round(e.x0), e.y0 = Math.round(e.y0), e.x1 = Math.round(e.x1), e.y1 = Math.round(e.y1);
163
+ }
164
+ function dice_default(e, v, y, b, x) {
165
+ for (var S = e.children, C, w = -1, T = S.length, E = e.value && (b - v) / e.value; ++w < T;) C = S[w], C.y0 = y, C.y1 = x, C.x0 = v, C.x1 = v += C.value * E;
166
+ }
167
+ function slice_default(e, v, y, b, x) {
168
+ for (var S = e.children, C, w = -1, T = S.length, E = e.value && (x - y) / e.value; ++w < T;) C = S[w], C.x0 = v, C.x1 = b, C.y0 = y, C.y1 = y += C.value * E;
169
+ }
170
+ var phi = (1 + Math.sqrt(5)) / 2;
171
+ function squarifyRatio(e, v, y, b, x, S) {
172
+ for (var C = [], w = v.children, T, E, D = 0, O = 0, k = w.length, A, j, M = v.value, N, P, F, I, L, R, z; D < k;) {
173
+ A = x - y, j = S - b;
174
+ do
175
+ N = w[O++].value;
176
+ while (!N && O < k);
177
+ for (P = F = N, R = Math.max(j / A, A / j) / (M * e), z = N * N * R, L = Math.max(F / z, z / P); O < k; ++O) {
178
+ if (N += E = w[O].value, E < P && (P = E), E > F && (F = E), z = N * N * R, I = Math.max(F / z, z / P), I > L) {
179
+ N -= E;
180
+ break;
181
+ }
182
+ L = I;
183
+ }
184
+ C.push(T = {
185
+ value: N,
186
+ dice: A < j,
187
+ children: w.slice(D, O)
188
+ }), T.dice ? dice_default(T, y, b, x, M ? b += j * N / M : S) : slice_default(T, y, b, M ? y += A * N / M : x, S), M -= N, D = O;
189
+ }
190
+ return C;
191
+ }
192
+ var squarify_default = (function e(v) {
193
+ function y(e, y, b, x, S) {
194
+ squarifyRatio(v, e, y, b, x, S);
195
+ }
196
+ return y.ratio = function(v) {
197
+ return e((v = +v) > 1 ? v : 1);
198
+ }, y;
199
+ })(phi);
200
+ function treemap_default() {
201
+ var e = squarify_default, v = !1, y = 1, b = 1, x = [0], S = constantZero, C = constantZero, w = constantZero, T = constantZero, E = constantZero;
202
+ function D(e) {
203
+ return e.x0 = e.y0 = 0, e.x1 = y, e.y1 = b, e.eachBefore(O), x = [0], v && e.eachBefore(round_default), e;
204
+ }
205
+ function O(v) {
206
+ var y = x[v.depth], b = v.x0 + y, D = v.y0 + y, O = v.x1 - y, k = v.y1 - y;
207
+ O < b && (b = O = (b + O) / 2), k < D && (D = k = (D + k) / 2), v.x0 = b, v.y0 = D, v.x1 = O, v.y1 = k, v.children && (y = x[v.depth + 1] = S(v) / 2, b += E(v) - y, D += C(v) - y, O -= w(v) - y, k -= T(v) - y, O < b && (b = O = (b + O) / 2), k < D && (D = k = (D + k) / 2), e(v, b, D, O, k));
208
+ }
209
+ return D.round = function(e) {
210
+ return arguments.length ? (v = !!e, D) : v;
211
+ }, D.size = function(e) {
212
+ return arguments.length ? (y = +e[0], b = +e[1], D) : [y, b];
213
+ }, D.tile = function(v) {
214
+ return arguments.length ? (e = required(v), D) : e;
215
+ }, D.padding = function(e) {
216
+ return arguments.length ? D.paddingInner(e).paddingOuter(e) : D.paddingInner();
217
+ }, D.paddingInner = function(e) {
218
+ return arguments.length ? (S = typeof e == "function" ? e : constant_default(+e), D) : S;
219
+ }, D.paddingOuter = function(e) {
220
+ return arguments.length ? D.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e) : D.paddingTop();
221
+ }, D.paddingTop = function(e) {
222
+ return arguments.length ? (C = typeof e == "function" ? e : constant_default(+e), D) : C;
223
+ }, D.paddingRight = function(e) {
224
+ return arguments.length ? (w = typeof e == "function" ? e : constant_default(+e), D) : w;
225
+ }, D.paddingBottom = function(e) {
226
+ return arguments.length ? (T = typeof e == "function" ? e : constant_default(+e), D) : T;
227
+ }, D.paddingLeft = function(e) {
228
+ return arguments.length ? (E = typeof e == "function" ? e : constant_default(+e), D) : E;
229
+ }, D;
230
+ }
231
+ var TreeMapDB = class {
232
+ constructor() {
233
+ this.nodes = [], this.levels = /* @__PURE__ */ new Map(), this.outerNodes = [], this.classes = /* @__PURE__ */ new Map(), this.setAccTitle = setAccTitle, this.getAccTitle = getAccTitle, this.setDiagramTitle = setDiagramTitle, this.getDiagramTitle = getDiagramTitle, this.getAccDescription = getAccDescription, this.setAccDescription = setAccDescription;
234
+ }
235
+ static #_ = __name(this, "TreeMapDB");
236
+ getNodes() {
237
+ return this.nodes;
238
+ }
239
+ getConfig() {
240
+ let v = defaultConfig_default, y = getConfig();
241
+ return cleanAndMerge({
242
+ ...v.treemap,
243
+ ...y.treemap ?? {}
244
+ });
245
+ }
246
+ addNode(e, v) {
247
+ this.nodes.push(e), this.levels.set(e, v), v === 0 && (this.outerNodes.push(e), this.root ??= e);
248
+ }
249
+ getRoot() {
250
+ return {
251
+ name: "",
252
+ children: this.outerNodes
253
+ };
254
+ }
255
+ addClass(e, v) {
256
+ let y = this.classes.get(e) ?? {
257
+ id: e,
258
+ styles: [],
259
+ textStyles: []
260
+ }, b = v.replace(/\\,/g, "§§§").replace(/,/g, ";").replace(/§§§/g, ",").split(";");
261
+ b && b.forEach((e) => {
262
+ isLabelStyle(e) && (y?.textStyles ? y.textStyles.push(e) : y.textStyles = [e]), y?.styles ? y.styles.push(e) : y.styles = [e];
263
+ }), this.classes.set(e, y);
264
+ }
265
+ getClasses() {
266
+ return this.classes;
267
+ }
268
+ getStylesForClass(e) {
269
+ return this.classes.get(e)?.styles ?? [];
270
+ }
271
+ clear() {
272
+ clear(), this.nodes = [], this.levels = /* @__PURE__ */ new Map(), this.outerNodes = [], this.classes = /* @__PURE__ */ new Map(), this.root = void 0;
273
+ }
274
+ };
275
+ function buildHierarchy(e) {
276
+ if (!e.length) return [];
277
+ let v = [], y = [];
278
+ return e.forEach((e) => {
279
+ let b = {
280
+ name: e.name,
281
+ children: e.type === "Leaf" ? void 0 : []
282
+ };
283
+ for (b.classSelector = e?.classSelector, e?.cssCompiledStyles && (b.cssCompiledStyles = [e.cssCompiledStyles]), e.type === "Leaf" && e.value !== void 0 && (b.value = e.value); y.length > 0 && y[y.length - 1].level >= e.level;) y.pop();
284
+ if (y.length === 0) v.push(b);
285
+ else {
286
+ let e = y[y.length - 1].node;
287
+ e.children ? e.children.push(b) : e.children = [b];
288
+ }
289
+ e.type !== "Leaf" && y.push({
290
+ node: b,
291
+ level: e.level
292
+ });
293
+ }), v;
294
+ }
295
+ __name(buildHierarchy, "buildHierarchy");
296
+ var populate = /* @__PURE__ */ __name((e, v) => {
297
+ populateCommonDb(e, v);
298
+ let b = [];
299
+ for (let y of e.TreemapRows ?? []) y.$type === "ClassDefStatement" && v.addClass(y.className ?? "", y.styleText ?? "");
300
+ for (let y of e.TreemapRows ?? []) {
301
+ let e = y.item;
302
+ if (!e) continue;
303
+ let x = y.indent ? parseInt(y.indent) : 0, S = getItemName(e), C = e.classSelector ? v.getStylesForClass(e.classSelector) : [], w = C.length > 0 ? C.join(";") : void 0, T = {
304
+ level: x,
305
+ name: S,
306
+ type: e.$type,
307
+ value: e.value,
308
+ classSelector: e.classSelector,
309
+ cssCompiledStyles: w
310
+ };
311
+ b.push(T);
312
+ }
313
+ let x = buildHierarchy(b), S = /* @__PURE__ */ __name((e, y) => {
314
+ for (let b of e) v.addNode(b, y), b.children && b.children.length > 0 && S(b.children, y + 1);
315
+ }, "addNodesRecursively");
316
+ S(x, 0);
317
+ }, "populate"), getItemName = /* @__PURE__ */ __name((e) => e.name ? String(e.name) : "", "getItemName"), parser = {
318
+ parser: { yy: void 0 },
319
+ parse: /* @__PURE__ */ __name(async (e) => {
320
+ try {
321
+ let y = await parse("treemap", e);
322
+ log.debug("Treemap AST:", y);
323
+ let b = parser.parser?.yy;
324
+ if (!(b instanceof TreeMapDB)) throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");
325
+ populate(y, b);
326
+ } catch (e) {
327
+ throw log.error("Error parsing treemap:", e), e;
328
+ }
329
+ }, "parse")
330
+ }, DEFAULT_INNER_PADDING = 10, SECTION_INNER_PADDING = 10, SECTION_HEADER_HEIGHT = 25, renderer = {
331
+ draw: /* @__PURE__ */ __name((e, x, S, C) => {
332
+ let w = C.db, T = w.getConfig(), D = T.padding ?? DEFAULT_INNER_PADDING, O = w.getDiagramTitle(), A = w.getRoot(), { themeVariables: F } = getConfig();
333
+ if (!A) return;
334
+ let I = O ? 30 : 0, L = selectSvgElement(x), z = T.nodeWidth ? T.nodeWidth * SECTION_INNER_PADDING : 960, B = T.nodeHeight ? T.nodeHeight * SECTION_INNER_PADDING : 500, V = z, H = B + I;
335
+ L.attr("viewBox", `0 0 ${V} ${H}`), configureSvgSize(L, H, V, T.useMaxWidth);
336
+ let U;
337
+ try {
338
+ let e = T.valueFormat || ",";
339
+ if (e === "$0,0") U = /* @__PURE__ */ __name((e) => "$" + format(",")(e), "valueFormat");
340
+ else if (e.startsWith("$") && e.includes(",")) {
341
+ let v = /\.\d+/.exec(e), b = v ? v[0] : "";
342
+ U = /* @__PURE__ */ __name((e) => "$" + format("," + b)(e), "valueFormat");
343
+ } else if (e.startsWith("$")) {
344
+ let v = e.substring(1);
345
+ U = /* @__PURE__ */ __name((e) => "$" + format(v || "")(e), "valueFormat");
346
+ } else U = format(e);
347
+ } catch (e) {
348
+ log.error("Error creating format function:", e), U = format(",");
349
+ }
350
+ let W = ordinal().range([
351
+ "transparent",
352
+ F.cScale0,
353
+ F.cScale1,
354
+ F.cScale2,
355
+ F.cScale3,
356
+ F.cScale4,
357
+ F.cScale5,
358
+ F.cScale6,
359
+ F.cScale7,
360
+ F.cScale8,
361
+ F.cScale9,
362
+ F.cScale10,
363
+ F.cScale11
364
+ ]), G = ordinal().range([
365
+ "transparent",
366
+ F.cScalePeer0,
367
+ F.cScalePeer1,
368
+ F.cScalePeer2,
369
+ F.cScalePeer3,
370
+ F.cScalePeer4,
371
+ F.cScalePeer5,
372
+ F.cScalePeer6,
373
+ F.cScalePeer7,
374
+ F.cScalePeer8,
375
+ F.cScalePeer9,
376
+ F.cScalePeer10,
377
+ F.cScalePeer11
378
+ ]), K = ordinal().range([
379
+ F.cScaleLabel0,
380
+ F.cScaleLabel1,
381
+ F.cScaleLabel2,
382
+ F.cScaleLabel3,
383
+ F.cScaleLabel4,
384
+ F.cScaleLabel5,
385
+ F.cScaleLabel6,
386
+ F.cScaleLabel7,
387
+ F.cScaleLabel8,
388
+ F.cScaleLabel9,
389
+ F.cScaleLabel10,
390
+ F.cScaleLabel11
391
+ ]);
392
+ O && L.append("text").attr("x", V / 2).attr("y", I / 2).attr("class", "treemapTitle").attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(O);
393
+ let q = L.append("g").attr("transform", `translate(0, ${I})`).attr("class", "treemapContainer"), J = hierarchy(A).sum((e) => e.value ?? 0).sort((e, v) => (v.value ?? 0) - (e.value ?? 0)), Y = treemap_default().size([z, B]).paddingTop((e) => e.children && e.children.length > 0 ? SECTION_HEADER_HEIGHT + SECTION_INNER_PADDING : 0).paddingInner(D).paddingLeft((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingRight((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingBottom((e) => e.children && e.children.length > 0 ? SECTION_INNER_PADDING : 0).round(!0)(J), X = Y.descendants().filter((e) => e.children && e.children.length > 0), Z = q.selectAll(".treemapSection").data(X).enter().append("g").attr("class", "treemapSection").attr("transform", (e) => `translate(${e.x0},${e.y0})`);
394
+ Z.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", SECTION_HEADER_HEIGHT).attr("class", "treemapSectionHeader").attr("fill", "none").attr("fill-opacity", .6).attr("stroke-width", .6).attr("style", (e) => e.depth === 0 ? "display: none;" : ""), Z.append("clipPath").attr("id", (e, v) => `clip-section-${x}-${v}`).append("rect").attr("width", (e) => Math.max(0, e.x1 - e.x0 - 12)).attr("height", SECTION_HEADER_HEIGHT), Z.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", (e) => e.y1 - e.y0).attr("class", (e, v) => `treemapSection section${v}`).attr("fill", (e) => W(e.data.name)).attr("fill-opacity", .6).attr("stroke", (e) => G(e.data.name)).attr("stroke-width", 2).attr("stroke-opacity", .4).attr("style", (e) => {
395
+ if (e.depth === 0) return "display: none;";
396
+ let v = styles2String({ cssCompiledStyles: e.data.cssCompiledStyles });
397
+ return v.nodeStyles + ";" + v.borderStyles.join(";");
398
+ }), Z.append("text").attr("class", "treemapSectionLabel").attr("x", 6).attr("y", SECTION_HEADER_HEIGHT / 2).attr("dominant-baseline", "middle").text((e) => e.depth === 0 ? "" : e.data.name).attr("font-weight", "bold").attr("style", (e) => e.depth === 0 ? "display: none;" : "dominant-baseline: middle; font-size: 12px; fill:" + K(e.data.name) + "; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).each(function(e) {
399
+ if (e.depth === 0) return;
400
+ let v = select_default(this), y = e.data.name;
401
+ v.text(y);
402
+ let x = e.x1 - e.x0, S;
403
+ S = T.showValues !== !1 && e.value ? x - 10 - 30 - 10 - 6 : x - 6 - 6;
404
+ let C = Math.max(15, S), w = v.node();
405
+ if (w.getComputedTextLength() > C) {
406
+ let e = y;
407
+ for (; e.length > 0;) {
408
+ if (e = y.substring(0, e.length - 1), e.length === 0) {
409
+ v.text("..."), w.getComputedTextLength() > C && v.text("");
410
+ break;
411
+ }
412
+ if (v.text(e + "..."), w.getComputedTextLength() <= C) break;
413
+ }
414
+ }
415
+ }), T.showValues !== !1 && Z.append("text").attr("class", "treemapSectionValue").attr("x", (e) => e.x1 - e.x0 - 10).attr("y", SECTION_HEADER_HEIGHT / 2).attr("text-anchor", "end").attr("dominant-baseline", "middle").text((e) => e.value ? U(e.value) : "").attr("font-style", "italic").attr("style", (e) => e.depth === 0 ? "display: none;" : "text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:" + K(e.data.name) + "; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:"));
416
+ let Q = Y.leaves(), $ = q.selectAll(".treemapLeafGroup").data(Q).enter().append("g").attr("class", (e, v) => `treemapNode treemapLeafGroup leaf${v}${e.data.classSelector ? ` ${e.data.classSelector}` : ""}x`).attr("transform", (e) => `translate(${e.x0},${e.y0})`);
417
+ $.append("rect").attr("width", (e) => e.x1 - e.x0).attr("height", (e) => e.y1 - e.y0).attr("class", "treemapLeaf").attr("fill", (e) => e.parent ? W(e.parent.data.name) : W(e.data.name)).attr("style", (e) => styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).nodeStyles).attr("fill-opacity", .3).attr("stroke", (e) => e.parent ? W(e.parent.data.name) : W(e.data.name)).attr("stroke-width", 3), $.append("clipPath").attr("id", (e, v) => `clip-${x}-${v}`).append("rect").attr("width", (e) => Math.max(0, e.x1 - e.x0 - 4)).attr("height", (e) => Math.max(0, e.y1 - e.y0 - 4)), $.append("text").attr("class", "treemapLabel").attr("x", (e) => (e.x1 - e.x0) / 2).attr("y", (e) => (e.y1 - e.y0) / 2).attr("style", (e) => "text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:" + K(e.data.name) + ";" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).attr("clip-path", (e, v) => `url(#clip-${x}-${v})`).text((e) => e.data.name).each(function(e) {
418
+ let v = select_default(this), y = e.x1 - e.x0, x = e.y1 - e.y0, S = v.node(), C = y - 8, w = x - 8;
419
+ if (C < 10 || w < 10) {
420
+ v.style("display", "none");
421
+ return;
422
+ }
423
+ let T = parseInt(v.style("font-size"), 10), E = .6;
424
+ for (; S.getComputedTextLength() > C && T > 8;) T--, v.style("font-size", `${T}px`);
425
+ let D = Math.max(6, Math.min(28, Math.round(T * E))), O = T + 2 + D;
426
+ for (; O > w && T > 8 && (T--, D = Math.max(6, Math.min(28, Math.round(T * E))), !(D < 6 && T === 8));) v.style("font-size", `${T}px`), O = T + 2 + D;
427
+ v.style("font-size", `${T}px`), (S.getComputedTextLength() > C || T < 8 || w < T) && v.style("display", "none");
428
+ }), T.showValues !== !1 && $.append("text").attr("class", "treemapValue").attr("x", (e) => (e.x1 - e.x0) / 2).attr("y", function(e) {
429
+ return (e.y1 - e.y0) / 2;
430
+ }).attr("style", (e) => "text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:" + K(e.data.name) + ";" + styles2String({ cssCompiledStyles: e.data.cssCompiledStyles }).labelStyles.replace("color:", "fill:")).attr("clip-path", (e, v) => `url(#clip-${x}-${v})`).text((e) => e.value ? U(e.value) : "").each(function(e) {
431
+ let v = select_default(this), y = this.parentNode;
432
+ if (!y) {
433
+ v.style("display", "none");
434
+ return;
435
+ }
436
+ let x = select_default(y).select(".treemapLabel");
437
+ if (x.empty() || x.style("display") === "none") {
438
+ v.style("display", "none");
439
+ return;
440
+ }
441
+ let S = parseFloat(x.style("font-size")), C = Math.max(6, Math.min(28, Math.round(S * .6)));
442
+ v.style("font-size", `${C}px`);
443
+ let w = (e.y1 - e.y0) / 2 + S / 2 + 2;
444
+ v.attr("y", w);
445
+ let T = e.x1 - e.x0, E = e.y1 - e.y0 - 4, D = T - 8;
446
+ v.node().getComputedTextLength() > D || w + C > E || C < 6 ? v.style("display", "none") : v.style("display", null);
447
+ }), setupViewPortForSVG(L, T.diagramPadding ?? 8, "flowchart", T?.useMaxWidth || !1);
448
+ }, "draw"),
449
+ getClasses: /* @__PURE__ */ __name(function(e, v) {
450
+ return v.db.getClasses();
451
+ }, "getClasses")
452
+ }, defaultTreemapStyleOptions = {
453
+ sectionStrokeColor: "black",
454
+ sectionStrokeWidth: "1",
455
+ sectionFillColor: "#efefef",
456
+ leafStrokeColor: "black",
457
+ leafStrokeWidth: "1",
458
+ leafFillColor: "#efefef",
459
+ labelColor: "black",
460
+ labelFontSize: "12px",
461
+ valueFontSize: "10px",
462
+ valueColor: "black",
463
+ titleColor: "black",
464
+ titleFontSize: "14px"
465
+ }, diagram = {
466
+ parser,
467
+ get db() {
468
+ return new TreeMapDB();
469
+ },
470
+ renderer,
471
+ styles: /* @__PURE__ */ __name(({ treemap: v } = {}) => {
472
+ let y = cleanAndMerge(defaultTreemapStyleOptions, v);
473
+ return `
474
+ .treemapNode.section {
475
+ stroke: ${y.sectionStrokeColor};
476
+ stroke-width: ${y.sectionStrokeWidth};
477
+ fill: ${y.sectionFillColor};
478
+ }
479
+ .treemapNode.leaf {
480
+ stroke: ${y.leafStrokeColor};
481
+ stroke-width: ${y.leafStrokeWidth};
482
+ fill: ${y.leafFillColor};
483
+ }
484
+ .treemapLabel {
485
+ fill: ${y.labelColor};
486
+ font-size: ${y.labelFontSize};
487
+ }
488
+ .treemapValue {
489
+ fill: ${y.valueColor};
490
+ font-size: ${y.valueFontSize};
491
+ }
492
+ .treemapTitle {
493
+ fill: ${y.titleColor};
494
+ font-size: ${y.titleFontSize};
495
+ }
496
+ `;
497
+ }, "getStyles")
498
+ };
499
+ export { diagram };