@orangelogic/design-system 2.69.0 → 2.70.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 (220) hide show
  1. package/library/chunks/AxisLabelRadial.BTpA5dYy.js +11 -0
  2. package/library/chunks/BaseColumnSeries.hIO71GLG.js +304 -0
  3. package/library/chunks/CandlestickSeries.w9C0GR9v.js +362 -0
  4. package/library/chunks/Circle.tOnnO-F-.js +17 -0
  5. package/library/chunks/ColumnSeries.Ckz75x1M.js +54 -0
  6. package/library/chunks/EditableAxisLabel.CCMTJT7K.js +445 -0
  7. package/library/chunks/EditableLabel.DPmicdjK.js +119 -0
  8. package/library/chunks/Gradient.BrDBLm8v.js +40 -0
  9. package/library/chunks/LinearGradient.CxfXxvMw.js +37 -0
  10. package/library/chunks/MonotoneXTension.CJMEHHj3.js +139 -0
  11. package/library/chunks/Picture.BNASYM-P.js +49 -0
  12. package/library/chunks/Polygon.Dr-GV2hn.js +70 -0
  13. package/library/chunks/ProgressPie.4mPA6xqm.js +234 -0
  14. package/library/chunks/RadialLabel.HfsGiN4x.js +88 -0
  15. package/library/chunks/Scrollbar.Bgg-RhjP.js +118 -0
  16. package/library/chunks/Slice.Dm56LTKj.js +120 -0
  17. package/library/chunks/Slider.FKJwoPq2.js +19 -0
  18. package/library/chunks/SpriteResizer.-qJDgug8.js +446 -0
  19. package/library/chunks/Triangle.BECgi7mc.js +21 -0
  20. package/library/chunks/ZoomTools.cgwuIB0e.js +199 -0
  21. package/library/chunks/___vite-browser-external_commonjs-proxy.C2tf3HsQ.js +8 -0
  22. package/library/chunks/{_baseUniq.Df-fLIBx.js → _baseUniq.BUihBa8c.js} +56 -53
  23. package/library/chunks/{_commonjsHelpers.ByX85dGu.js → _commonjsHelpers.DQNKXVTB.js} +2 -2
  24. package/library/chunks/accessors.BHk36ecy.js +11 -0
  25. package/library/chunks/am-chart.oZVBmpnn.js +18435 -0
  26. package/library/chunks/{animation.DfUHRQry.js → animation.DU8t6mrk.js} +1 -1
  27. package/library/chunks/{button.SoX-7UYy.js → button.CAAJPQFu.js} +3 -3
  28. package/library/chunks/{capitalize.WSkCXkNE.js → capitalize.CNStXZBq.js} +1 -1
  29. package/library/chunks/cardinal.BCA_LB0u.js +64 -0
  30. package/library/chunks/{color-swatch-group.Dx1fbSJx.js → color-swatch-group.CKHyWM8K.js} +6 -6
  31. package/library/chunks/{color-swatch.B7XXHxx1.js → color-swatch.BkpPCXd6.js} +2 -2
  32. package/library/chunks/colorPicker.C4w_vDjh.js +527 -0
  33. package/library/chunks/{confirm-popover.327ATuQH.js → confirm-popover.ZD74yDWw.js} +3 -3
  34. package/library/chunks/{content-builder.Bxi6k2LA.js → content-builder.B4Tqoc6M.js} +40 -34
  35. package/library/chunks/{cropper.BraEEykE.js → cropper.CQB3_qqG.js} +6937 -6935
  36. package/library/chunks/{dialog.eN3RUbwx.js → dialog.qSV5AjOE.js} +2 -2
  37. package/library/chunks/{dom.CZrJ64Dm.js → dom.BQVKDNd8.js} +1 -1
  38. package/library/chunks/{dot-pagination.Bek4w4zz.js → dot-pagination.BN_0ljfc.js} +2 -2
  39. package/library/chunks/exporting.BdjsEGF8.js +1407 -0
  40. package/library/chunks/{file-on-demand.BiC4cymk.js → file-on-demand.CXE4zf0J.js} +448 -386
  41. package/library/chunks/flow.D0FqdfOy.js +1594 -0
  42. package/library/chunks/{folder-select.DVEFgexx.js → folder-select.CPALQK22.js} +4 -4
  43. package/library/chunks/{form.CO12-VK0.js → form.DgwYWi0O.js} +1 -1
  44. package/library/chunks/gantt.DfUM7Gvb.js +2459 -0
  45. package/library/chunks/{header.Da5yvwdy.js → header.DXZ_5gLY.js} +2 -2
  46. package/library/chunks/hierarchy.5kfBCoGt.js +3561 -0
  47. package/library/chunks/{hub-connection.CfARlehM.js → hub-connection.Ot2odiCz.js} +1 -1
  48. package/library/chunks/{i18n.BMRLOAZR.js → i18n.C0iakJkV.js} +19 -11
  49. package/library/chunks/{iframe.BJizUE1A.js → iframe.BlzVfeBc.js} +2 -2
  50. package/library/chunks/{image.bndP5q2c.js → image.B3WjaCXP.js} +2 -2
  51. package/library/chunks/index.BkoLctE9.js +533 -0
  52. package/library/chunks/index.CZJTjkLp.js +142 -0
  53. package/library/chunks/{index.Bhnf0N8Q.js → index.CmVKj_wl.js} +7 -7
  54. package/library/chunks/index.DU0XUO4k.js +176 -0
  55. package/library/chunks/index.DcjJFMlq.js +1520 -0
  56. package/library/chunks/isObjectLike.z36Fu426.js +34 -0
  57. package/library/chunks/{isSymbol.huJ_Cvxt.js → isSymbol.L0C2ND_U.js} +1 -1
  58. package/library/chunks/json.BjaT7cyo.js +119 -0
  59. package/library/chunks/{list-editor.Du1h2Ms0.js → list-editor.CIAAFPco.js} +251 -222
  60. package/library/chunks/map.DbgNAGxD.js +3037 -0
  61. package/library/chunks/markerjs2.esm.B_9kjmye.js +1912 -0
  62. package/library/chunks/{option.Ce_wlnZj.js → option.ByVbmxUQ.js} +2 -2
  63. package/library/chunks/{pagination.DXu-mFAk.js → pagination.DPQn2fKX.js} +4 -4
  64. package/library/chunks/pdfmake.Bs7cMDH0.js +41224 -0
  65. package/library/chunks/percent.DO4FjAdu.js +902 -0
  66. package/library/chunks/{purify.es.BGaRrCfO.js → purify.es.BIuh5IAZ.js} +115 -115
  67. package/library/chunks/radar.Dd5fJVMg.js +789 -0
  68. package/library/chunks/{responsive.DgQTIrna.js → responsive.DL-wBD4P.js} +1 -1
  69. package/library/chunks/sliceGrouper.DA3aeuJ-.js +93 -0
  70. package/library/chunks/stock.BfI5MUyK.js +12684 -0
  71. package/library/chunks/{string.Cp_XNbnV.js → string.B_rEG27K.js} +1 -1
  72. package/library/chunks/{tab-group.B2pW__9H.js → tab-group.1h51o_Ly.js} +4 -4
  73. package/library/chunks/{table.5eWm9FfN.js → table.wVHv1Xze.js} +348 -327
  74. package/library/chunks/timeline.BxMLjB5J.js +837 -0
  75. package/library/chunks/timer.B39XOBYL.js +123 -0
  76. package/library/chunks/{toString.CRT5zqEU.js → toString.CL_lYXbK.js} +3 -3
  77. package/library/chunks/transform.BuqENXeT.js +50 -0
  78. package/library/chunks/{tree.Zls5YZ8z.js → tree.Bx0IGsWm.js} +2 -2
  79. package/library/chunks/venn.CxFupTb9.js +966 -0
  80. package/library/chunks/vfs_fonts.VJpdcrR6.js +9 -0
  81. package/library/chunks/watch.BCJD77bD.js +547 -0
  82. package/library/chunks/wc.ThQubbN2.js +255 -0
  83. package/library/chunks/xlsx.v-qkA-dg.js +25118 -0
  84. package/library/chunks/xy.q6e68du3.js +333 -0
  85. package/library/components/alert.js +2 -2
  86. package/library/components/am-chart.d.ts +3 -0
  87. package/library/components/am-chart.js +11 -0
  88. package/library/components/animated-image.js +1 -1
  89. package/library/components/animation.js +2 -2
  90. package/library/components/array-line-clamp.js +1 -1
  91. package/library/components/asset-link-format.js +7 -7
  92. package/library/components/atoms.js +166 -162
  93. package/library/components/avatar.js +1 -1
  94. package/library/components/border-input-group.js +1 -1
  95. package/library/components/breadcrumb-item.js +1 -1
  96. package/library/components/breadcrumb.js +1 -1
  97. package/library/components/button.js +4 -4
  98. package/library/components/checkbox.js +2 -2
  99. package/library/components/color-picker.js +4 -4
  100. package/library/components/color-swatch-group.js +7 -7
  101. package/library/components/color-swatch.js +3 -3
  102. package/library/components/confirm-popover.js +4 -4
  103. package/library/components/copy-button.js +2 -2
  104. package/library/components/corner-position-input-group.js +2 -2
  105. package/library/components/cropper.js +1 -1
  106. package/library/components/details.js +3 -2
  107. package/library/components/dialog.js +3 -3
  108. package/library/components/divider.js +1 -1
  109. package/library/components/dot-pagination.js +3 -3
  110. package/library/components/drawer.js +3 -3
  111. package/library/components/dropdown.js +2 -2
  112. package/library/components/dynamic-select.js +32 -30
  113. package/library/components/e-chart.d.ts +3 -0
  114. package/library/components/e-chart.js +47908 -0
  115. package/library/components/element-clamp.js +3 -3
  116. package/library/components/file-on-demand.js +10 -10
  117. package/library/components/folder-select.js +4 -4
  118. package/library/components/format-bytes.js +1 -1
  119. package/library/components/format-date.js +1 -1
  120. package/library/components/format-number.js +1 -1
  121. package/library/components/format-time.js +2 -2
  122. package/library/components/grid-item.js +1 -1
  123. package/library/components/header.js +3 -3
  124. package/library/components/hub-connection.js +2 -2
  125. package/library/components/icon-button.js +1 -1
  126. package/library/components/icon.js +1 -1
  127. package/library/components/iframe.js +3 -3
  128. package/library/components/image-comparer.js +2 -2
  129. package/library/components/image.js +3 -3
  130. package/library/components/include.js +1 -1
  131. package/library/components/input.js +3 -3
  132. package/library/components/line-clamp.js +1 -1
  133. package/library/components/list-editor.js +11 -8
  134. package/library/components/markdown.js +2 -2
  135. package/library/components/masonry.js +2 -2
  136. package/library/components/menu-item.js +2 -2
  137. package/library/components/menu.js +1 -1
  138. package/library/components/molecules.js +5 -5
  139. package/library/components/mutation-observer.js +1 -1
  140. package/library/components/option.js +3 -3
  141. package/library/components/organisms.js +2 -2
  142. package/library/components/pagination.js +5 -5
  143. package/library/components/popup.js +1 -1
  144. package/library/components/position-picker.js +1 -1
  145. package/library/components/progress-bar.js +1 -1
  146. package/library/components/progress-ring.js +1 -1
  147. package/library/components/qr-code.js +1 -1
  148. package/library/components/radio-button.js +1 -1
  149. package/library/components/radio-card.js +1 -1
  150. package/library/components/radio-group.js +2 -2
  151. package/library/components/radio.js +1 -1
  152. package/library/components/range.js +3 -3
  153. package/library/components/rating.js +2 -2
  154. package/library/components/relative-time.js +1 -1
  155. package/library/components/resize-observer.js +1 -1
  156. package/library/components/select.js +4 -4
  157. package/library/components/share-option-list.js +3 -3
  158. package/library/components/sidebar.js +1 -1
  159. package/library/components/size-input-group.js +2 -2
  160. package/library/components/spinner.js +1 -1
  161. package/library/components/split-panel.js +2 -2
  162. package/library/components/stepper.js +1 -1
  163. package/library/components/switch.js +2 -2
  164. package/library/components/tab-group.js +5 -5
  165. package/library/components/tab-panel.js +1 -1
  166. package/library/components/tab.js +2 -2
  167. package/library/components/table.js +5 -5
  168. package/library/components/tag.js +1 -1
  169. package/library/components/textarea.js +2 -2
  170. package/library/components/timecode.js +2 -2
  171. package/library/components/tooltip.js +2 -2
  172. package/library/components/tree-item.js +3 -3
  173. package/library/components/tree.js +3 -3
  174. package/library/components/typeface.js +2 -2
  175. package/library/components/types.js +27684 -27970
  176. package/library/components/video.js +1107 -1110
  177. package/library/package.json +1 -1
  178. package/library/packages/atoms/src/components/am-chart/am-chart.d.ts +45 -0
  179. package/library/packages/atoms/src/components/am-chart/am-chart.styles.d.ts +2 -0
  180. package/library/packages/atoms/src/components/am-chart/am-chart.utils.d.ts +23 -0
  181. package/library/packages/atoms/src/components/e-chart/e-chart-controller.d.ts +30 -0
  182. package/library/packages/atoms/src/components/e-chart/e-chart.d.ts +38 -0
  183. package/library/packages/atoms/src/components/e-chart/e-chart.styles.d.ts +2 -0
  184. package/library/packages/atoms/src/components/table/table.d.ts +21 -0
  185. package/library/packages/atoms/src/components/table/tabulator-tables/core/Tabulator.d.ts +1 -0
  186. package/library/packages/atoms/src/components/table/tabulator-tables/core/tools/DataLoader.d.ts +3 -1
  187. package/library/packages/atoms/src/index.d.ts +2 -0
  188. package/library/packages/events/src/cx-chart-plan-change.d.ts +10 -0
  189. package/library/packages/events/src/cx-dashboard-filter-change.d.ts +6 -0
  190. package/library/packages/events/src/cx-dashboard-table-load-more.d.ts +9 -0
  191. package/library/packages/events/src/cx-e-chart-drill-down.d.ts +16 -0
  192. package/library/packages/events/src/events.d.ts +4 -0
  193. package/library/packages/molecules/src/index.d.ts +1 -0
  194. package/library/packages/molecules/src/list-editor/list-editor.d.ts +7 -0
  195. package/library/packages/molecules/src/stat-card/stat-card.d.ts +81 -0
  196. package/library/packages/molecules/src/stat-card/stat-card.styles.d.ts +2 -0
  197. package/library/packages/molecules/src/storybook/storybook.d.ts +1 -0
  198. package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +1 -1
  199. package/library/packages/organisms/src/content-builder/components/chart-plan-builder/chart-plan-builder.d.ts +88 -0
  200. package/library/packages/organisms/src/content-builder/components/chart-plan-builder/chart-plan-builder.styles.d.ts +2 -0
  201. package/library/packages/organisms/src/content-builder/components/chart-plan-builder/chart-plan-schema.d.ts +100 -0
  202. package/library/packages/organisms/src/content-builder/styleController.d.ts +2 -2
  203. package/library/packages/organisms/src/dashboard-filter/dashboard-filter.d.ts +83 -0
  204. package/library/packages/organisms/src/dashboard-filter/dashboard-filter.styles.d.ts +2 -0
  205. package/library/packages/organisms/src/dashboard-table/dashboard-table.d.ts +45 -0
  206. package/library/packages/organisms/src/dashboard-table/dashboard-table.styles.d.ts +2 -0
  207. package/library/packages/organisms/src/index.d.ts +3 -0
  208. package/library/packages/services/src/api/endpoints.d.ts +3 -0
  209. package/library/packages/types/src/am-chart.d.ts +22 -0
  210. package/library/packages/types/src/content-builder.d.ts +1 -0
  211. package/library/packages/types/src/stat-card.d.ts +19 -0
  212. package/library/packages/types/src/table.d.ts +4 -0
  213. package/library/packages/utils/src/custom-element/i18n.d.ts +8 -0
  214. package/library/react-web-component.d.ts +280 -4
  215. package/library/utils.js +8 -8
  216. package/package.json +1 -1
  217. package/library/chunks/_baseRest.ClTMQtN1.js +0 -67
  218. package/library/chunks/identity.ByMq8VxU.js +0 -6
  219. package/library/chunks/isObjectLike.D3cpZO39.js +0 -81
  220. package/library/chunks/watch.q1sEjPWL.js +0 -501
@@ -0,0 +1,1594 @@
1
+ import { D as at, x as z, al as lt, e as N, am as he, q as I, H as ct, F as ht, I as gt, J as ve, C as Ge, a as $, _ as oe, b7 as ut, L as O, T as B, b as Qe, aj as re, j as G, h as M, G as Ze, P as dt, b8 as ft, b9 as De, m as le, o as ge, r as Ae, b5 as Fe, R as pt, aZ as K, b3 as Oe, ba as kt, bb as mt } from "./am-chart.oZVBmpnn.js";
2
+ import { L as Be } from "./LinearGradient.CxfXxvMw.js";
3
+ import "./index.DcjJFMlq.js";
4
+ import "./transform.BuqENXeT.js";
5
+ import { S as yt } from "./Slice.Dm56LTKj.js";
6
+ import { R as _t } from "./RadialLabel.HfsGiN4x.js";
7
+ import { c as We, a as ze } from "./MonotoneXTension.CJMEHHj3.js";
8
+ import { C as wt } from "./Circle.tOnnO-F-.js";
9
+ class xt extends at {
10
+ setupDefaultRules() {
11
+ super.setupDefaultRules();
12
+ const t = this._root.interfaceColors, e = this.rule.bind(this);
13
+ e("Flow").setAll({
14
+ width: z,
15
+ height: z,
16
+ paddingLeft: 10,
17
+ paddingRight: 10,
18
+ paddingTop: 10,
19
+ paddingBottom: 10,
20
+ hiddenSize: 0.05,
21
+ minSize: 0,
22
+ minHiddenValue: 0
23
+ }), e("FlowNodes").setAll({
24
+ colors: lt.new(this._root, {}),
25
+ legendLabelText: "{name}",
26
+ legendValueText: "{sumOutgoing.formatNumber('#.#')}"
27
+ }), e("FlowNode").setAll({
28
+ setStateOnChildren: !0,
29
+ cursorOverStyle: "pointer",
30
+ toggleKey: "disabled"
31
+ }), e("FlowNode").states.create("disabled", {}), e("FlowNode", ["unknown"]).setAll({
32
+ draggable: !1,
33
+ opacity: 0
34
+ }), e("Label", ["flow"]).states.create("disabled", {
35
+ fill: t.get("disabled")
36
+ }), e("RadialLabel", ["flow", "node"]).setAll({
37
+ text: "{name}",
38
+ populateText: !0
39
+ }), e("FlowLink").setAll({
40
+ fillStyle: "gradient",
41
+ strokeStyle: "gradient"
42
+ }), e("FlowLink", ["source", "unknown"]).setAll({}), e("FlowLink", ["target", "unknown"]).setAll({}), e("FlowNode").events.on("pointerover", (s) => {
43
+ const n = s.target.dataItem;
44
+ if (n) {
45
+ const a = n.get("outgoingLinks");
46
+ a && N(a, (o) => {
47
+ const l = o.get("link");
48
+ l.hover(), l.hideTooltip();
49
+ });
50
+ const r = n.get("incomingLinks");
51
+ r && N(r, (o) => {
52
+ const l = o.get("link");
53
+ l.hover(), l.hideTooltip();
54
+ });
55
+ }
56
+ let i = n.get("slice") || n.get("rectangle");
57
+ i && i.get("tooltipText") && i.showTooltip();
58
+ }), e("FlowNode").events.on("pointerout", (s) => {
59
+ const n = s.target.dataItem;
60
+ if (n) {
61
+ const i = n.get("outgoingLinks");
62
+ i && N(i, (r) => {
63
+ r.get("link").unhover();
64
+ });
65
+ const a = n.get("incomingLinks");
66
+ a && N(a, (r) => {
67
+ r.get("link").unhover();
68
+ });
69
+ }
70
+ }), e("Sankey").setAll({
71
+ orientation: "horizontal",
72
+ nodeAlign: "justify",
73
+ linkTension: 0.5,
74
+ nodePadding: 10,
75
+ nodeWidth: 10
76
+ }), e("RoundedRectangle", ["sankey", "node", "shape"]).setAll({
77
+ cornerRadiusTL: 0,
78
+ cornerRadiusBL: 0,
79
+ cornerRadiusTR: 0,
80
+ cornerRadiusBR: 0
81
+ }), e("RoundedRectangle", ["shape"]).states.create("disabled", {
82
+ fill: t.get("disabled")
83
+ }), e("SankeyLink").setAll({
84
+ controlPointDistance: 0.2
85
+ }), e("FlowNode", ["sankey"]).setAll({
86
+ draggable: !0
87
+ });
88
+ {
89
+ const s = e("Graphics", ["sankey", "link"]);
90
+ s.setAll({
91
+ fillOpacity: 0.2,
92
+ strokeOpacity: 0,
93
+ interactive: !0,
94
+ tooltipText: "{sourceId} - {targetId}: {value}"
95
+ }), he(s, "fill", t, "grid");
96
+ }
97
+ e("Graphics", ["sankey", "link"]).states.create("hover", { fillOpacity: 0.5 }), e("Label", ["sankey", "node"]).setAll({
98
+ text: "{name}",
99
+ populateText: !0
100
+ }), e("Label", ["sankey", "horizontal"]).setAll({
101
+ y: I,
102
+ centerY: I,
103
+ paddingLeft: 15
104
+ }), e("Label", ["sankey", "vertical"]).setAll({
105
+ x: I,
106
+ centerX: I,
107
+ paddingTop: 15
108
+ }), e("Chord").setAll({
109
+ radius: ct(90),
110
+ nodeWidth: 10,
111
+ padAngle: 1,
112
+ startAngle: 0,
113
+ sort: "none"
114
+ }), e("ChordDirected").setAll({
115
+ linkHeadRadius: 10
116
+ }), e("ChordNodes").setAll({
117
+ x: I,
118
+ y: I
119
+ }), e("FlowNode", ["chord"]).setAll({
120
+ draggable: !0
121
+ }), e("ChordLink").setAll({
122
+ sourceRadius: z,
123
+ targetRadius: z,
124
+ fillStyle: "solid",
125
+ strokeStyle: "solid",
126
+ tooltipText: "{sourceId} - {targetId}: {value}"
127
+ }), e("Slice", ["chord", "node", "shape"]).setAll({
128
+ cornerRadius: 0
129
+ }), e("Slice", ["shape"]).states.create("disabled", {
130
+ fill: t.get("disabled")
131
+ }), e("RadialLabel", ["chord", "node"]).setAll({
132
+ radius: 5,
133
+ textType: "circular"
134
+ }), e("ChordLinkDirected").setAll({
135
+ headRadius: 10
136
+ });
137
+ {
138
+ const s = e("Graphics", ["chord", "link", "shape"]);
139
+ s.setAll({
140
+ fillOpacity: 0.2,
141
+ strokeOpacity: 0,
142
+ interactive: !0
143
+ }), he(s, "fill", t, "grid"), he(s, "stroke", t, "grid");
144
+ }
145
+ e("Graphics", ["chord", "link", "shape"]).states.create("hover", { fillOpacity: 0.5 }), e("ChordNonRibbon").setAll({
146
+ linkType: "curve"
147
+ // "line" | "curve"
148
+ }), e("ChordLink", ["basic"]).setAll({
149
+ fillStyle: "none",
150
+ strokeStyle: "source"
151
+ }), e("Graphics", ["chord", "link", "shape", "basic"]).setAll({
152
+ strokeOpacity: 0.4
153
+ }), e("Graphics", ["chord", "link", "shape", "basic"]).states.create("hover", { strokeWidth: 2, strokeOpacity: 1 }), e("ArcDiagram").setAll({
154
+ orientation: "horizontal",
155
+ nodePadding: 5,
156
+ minRadius: 5,
157
+ radiusKey: "sum",
158
+ animationEasing: ht(gt)
159
+ }), e("ArcDiagramNodes", ["horizontal"]).setAll({
160
+ y: z,
161
+ centerY: z
162
+ }), e("ArcDiagramNodes", ["vertical"]).setAll({
163
+ centerX: 0
164
+ }), e("Circle", ["arcdiagram", "node", "shape"]).setAll({
165
+ tooltipText: "{name}: {sum}"
166
+ }), e("Circle", ["arcdiagram", "node", "shape"]).states.create("disabled", {
167
+ fill: t.get("disabled")
168
+ });
169
+ {
170
+ const s = e("ArcDiagramLink", ["link", "shape"]);
171
+ s.setAll({
172
+ strokeOpacity: 0.15,
173
+ strokeStyle: "solid",
174
+ fillStyle: "none",
175
+ isMeasured: !1
176
+ }), he(s, "stroke", t, "grid");
177
+ }
178
+ e("ArcDiagramLink", ["link", "shape"]).states.create("hover", {
179
+ strokeOpacity: 1
180
+ }), e("Label", ["arcdiagram", "node"]).setAll({
181
+ text: "{name}",
182
+ populateText: !0
183
+ }), e("Label", ["arcdiagram", "horizontal"]).setAll({
184
+ y: 0,
185
+ centerY: I,
186
+ centerX: z,
187
+ rotation: -90
188
+ }), e("Label", ["arcdiagram", "vertical"]).setAll({
189
+ centerY: I,
190
+ centerX: z,
191
+ paddingRight: 15
192
+ });
193
+ }
194
+ }
195
+ class H extends ve {
196
+ constructor() {
197
+ super(...arguments), this.linksContainer = this.children.push(Ge.new(this._root, {})), this._nodesData = [], this._linksData = [], this._index = 0, this._nodesDataSet = !1, this._linksByIndex = {};
198
+ }
199
+ _afterNew() {
200
+ this._defaultThemes.push(xt.new(this._root)), this.fields.push("disabled", "sourceId", "targetId"), this.nodes && (this.nodes.flow = this), super._afterNew(), this.children.push(this.bulletsContainer);
201
+ }
202
+ processDataItem(t) {
203
+ super.processDataItem(t);
204
+ const e = this.nodes;
205
+ if (e) {
206
+ let s = !1, n = t.get("sourceId"), i = e.getDataItemById(n);
207
+ i || (n == null && (n = "undefined" + this._index, this._index++, s = !0), e.data.push({ id: n, unknown: s }), i = e.getDataItemById(n), s || i.set("name", n)), s = !1;
208
+ let a = t.get("targetId"), r = e.getDataItemById(a);
209
+ r || (a == null && (a = "undefined" + this._index, this._index++, s = !0), e.data.push({ id: a, unknown: s }), r = e.getDataItemById(a), s || r.set("name", a)), i && (t.set("source", i), e.addOutgoingLink(i, t)), r && (t.set("target", r), e.addincomingLink(r, t)), t.set("link", this.makeLink(t));
210
+ const o = this.nodes.dataItems.indexOf(i), l = this.nodes.dataItems.indexOf(r);
211
+ this._linksByIndex[o + "_" + l] = t, i.get("unknown") && (r && i.set("fill", r.get("fill")), t.get("link").set("fillStyle", "gradient")), r.get("unknown") && (i && r.set("fill", i.get("fill")), t.get("link").set("fillStyle", "gradient")), this._updateLinkColor(t);
212
+ }
213
+ }
214
+ _onDataClear() {
215
+ this.nodes._userDataSet || (this.nodes.data.setAll([]), this.nodes._userDataSet = !1);
216
+ }
217
+ _prepareChildren() {
218
+ super._prepareChildren();
219
+ let t = 1 / 0, e = -1 / 0, s = 0;
220
+ if (this._valuesDirty) {
221
+ this._nodesData = [];
222
+ const n = this.nodes;
223
+ n && N(n.dataItems, (i) => {
224
+ const a = i.get("d3SankeyNode");
225
+ this._nodesData.push(a);
226
+ const r = i.get("incomingLinks");
227
+ let o = 0, l = 0;
228
+ r && N(r, (_) => {
229
+ const p = _.get("value"), x = _.get("valueWorking");
230
+ o += p, l += x;
231
+ }), i.set("sumIncoming", o), i.set("sumIncomingWorking", l);
232
+ const g = i.get("outgoingLinks");
233
+ let f = 0, D = 0;
234
+ g && N(g, (_) => {
235
+ const p = _.get("value"), x = _.get("valueWorking");
236
+ f += p, D += x;
237
+ }), i.set("sumOutgoing", f), i.set("sumOutgoingWorking", D), i.set("sum", o + f), i.set("sumWorking", l + D), n.updateLegendValue(i);
238
+ }), this._linksData = [], N(this.dataItems, (i) => {
239
+ let a = i.get("value");
240
+ $(a) && (a < t && (t = a), a > e && (e = a), s += a);
241
+ }), N(this.dataItems, (i) => {
242
+ let a = i.get("value");
243
+ if ($(a)) {
244
+ let r = i.get("valueWorking"), o = this.get("minSize", 0);
245
+ o > 0 && r < o * s && (r = o * s);
246
+ let l = { source: i.get("source").get("d3SankeyNode"), target: i.get("target").get("d3SankeyNode"), value: r };
247
+ i.setRaw("d3SankeyLink", l), this._linksData.push(l), this.updateLegendValue(i);
248
+ }
249
+ }), this.setPrivateRaw("valueHigh", e), this.setPrivateRaw("valueLow", t), this.setPrivateRaw("valueSum", s);
250
+ }
251
+ }
252
+ _updateLinkColor(t) {
253
+ const e = t.get("link"), s = e.get("fillStyle"), n = e.get("strokeStyle"), i = t.get("source"), a = t.get("target"), r = i.get("fill"), o = a.get("fill");
254
+ switch (e.remove("fillGradient"), e.remove("strokeGradient"), s) {
255
+ case "solid":
256
+ e._applyTemplates();
257
+ break;
258
+ case "source":
259
+ e.set("fill", r);
260
+ break;
261
+ case "target":
262
+ e.set("fill", o);
263
+ break;
264
+ case "gradient":
265
+ let l = e._fillGradient;
266
+ l || (l = Be.new(this._root, {}));
267
+ const g = { color: r };
268
+ i.get("unknown") && (g.opacity = 0);
269
+ const f = { color: o };
270
+ a.get("unknown") && (f.opacity = 0), l.set("stops", [g, f]), e._fillGradient = l, e.set("fillGradient", l);
271
+ break;
272
+ case "none":
273
+ e.set("fill", void 0);
274
+ break;
275
+ }
276
+ switch (n) {
277
+ case "solid":
278
+ e._applyTemplates();
279
+ break;
280
+ case "source":
281
+ e.set("stroke", r);
282
+ break;
283
+ case "target":
284
+ e.set("stroke", o);
285
+ break;
286
+ case "gradient":
287
+ let l = e._strokeGradient;
288
+ if (!l) {
289
+ l = Be.new(this._root, {});
290
+ const g = { color: r };
291
+ i.get("unknown") && (g.opacity = 0);
292
+ const f = { color: o };
293
+ a.get("unknown") && (f.opacity = 0), l.set("stops", [g, f]), e._strokeGradient = l;
294
+ }
295
+ e.set("strokeGradient", l);
296
+ break;
297
+ case "none":
298
+ e.remove("stroke");
299
+ break;
300
+ }
301
+ }
302
+ /**
303
+ * @ignore
304
+ */
305
+ disposeDataItem(t) {
306
+ super.disposeDataItem(t);
307
+ let e = t.get("link");
308
+ e && (this.links.removeValue(e), e.dispose());
309
+ }
310
+ /**
311
+ * Shows diagram's data item.
312
+ *
313
+ * @param dataItem Data item
314
+ * @param duration Animation duration in milliseconds
315
+ * @return Promise
316
+ */
317
+ hideDataItem(t, e) {
318
+ const s = Object.create(null, {
319
+ hideDataItem: { get: () => super.hideDataItem }
320
+ });
321
+ return oe(this, void 0, void 0, function* () {
322
+ const n = [s.hideDataItem.call(this, t, e)], i = this.states.create("hidden", {}), a = "stateAnimationDuration", r = "stateAnimationEasing";
323
+ $(e) || (e = i.get(a, this.get(a, 0)));
324
+ const o = i.get(r, this.get(r));
325
+ n.push(t.animate({
326
+ key: "valueWorking",
327
+ to: Math.max(this.get("minHiddenValue", 0), this.get("hiddenSize", 0) * t.get("value")),
328
+ duration: e,
329
+ easing: o
330
+ }).waitForStop()), t.get("link").hide(), yield Promise.all(n);
331
+ });
332
+ }
333
+ /**
334
+ * Shows diagram's data item.
335
+ *
336
+ * @param dataItem Data item
337
+ * @param duration Animation duration in milliseconds
338
+ * @return Promise
339
+ */
340
+ showDataItem(t, e) {
341
+ const s = Object.create(null, {
342
+ showDataItem: { get: () => super.showDataItem }
343
+ });
344
+ return oe(this, void 0, void 0, function* () {
345
+ const n = [s.showDataItem.call(this, t, e)];
346
+ $(e) || (e = this.get("stateAnimationDuration", 0));
347
+ const i = this.get("stateAnimationEasing");
348
+ n.push(t.animate({ key: "valueWorking", to: t.get("value"), duration: e, easing: i }).waitForStop()), t.get("link").show(), yield Promise.all(n);
349
+ });
350
+ }
351
+ _positionBullet(t) {
352
+ const e = t.get("sprite");
353
+ if (e) {
354
+ const s = e.dataItem;
355
+ if (s) {
356
+ const n = s.get("link"), i = t.get("sprite");
357
+ if (i) {
358
+ const a = n.getPoint(this._getBulletLocation(t));
359
+ i.setAll({ x: a.x, y: a.y }), t.get("autoRotate") && i.set("rotation", a.angle + t.get("autoRotateAngle", 0));
360
+ }
361
+ }
362
+ }
363
+ }
364
+ _getBulletLocation(t) {
365
+ return t.get("locationY", 0);
366
+ }
367
+ }
368
+ H.className = "Flow";
369
+ H.classNames = ve.classNames.concat([H.className]);
370
+ var Ve = Math.abs, ne = Math.cos, ie = Math.sin, Ue = Math.PI, ue = Ue / 2, je = Ue * 2, Ee = Math.max, be = 1e-12;
371
+ function Ne(c, t) {
372
+ return Array.from({ length: t - c }, (e, s) => c + s);
373
+ }
374
+ function vt(c) {
375
+ return function(t, e) {
376
+ return c(
377
+ t.source.value + t.target.value,
378
+ e.source.value + e.target.value
379
+ );
380
+ };
381
+ }
382
+ function Dt() {
383
+ return et(!1);
384
+ }
385
+ function At() {
386
+ return et(!0);
387
+ }
388
+ function et(c, t) {
389
+ var e = 0, s = null, n = null, i = null;
390
+ function a(r) {
391
+ var o = r.length, l = new Array(o), g = Ne(0, o), f = new Array(o * o), D = new Array(o), _ = 0, p;
392
+ r = Float64Array.from({ length: o * o }, (x, u) => r[u / o | 0][u % o]);
393
+ for (let x = 0; x < o; ++x) {
394
+ let u = 0;
395
+ for (let b = 0; b < o; ++b) u += r[x * o + b] + c * r[b * o + x];
396
+ _ += l[x] = u;
397
+ }
398
+ _ = Ee(0, je - e * o) / _, p = _ ? e : je / o;
399
+ {
400
+ let x = 0;
401
+ s && g.sort((u, b) => s(l[u], l[b]));
402
+ for (const u of g) {
403
+ const b = x;
404
+ if (c) {
405
+ const S = Ne(~o + 1, o).filter((y) => y < 0 ? r[~y * o + u] : r[u * o + y]);
406
+ n && S.sort((y, v) => n(y < 0 ? -r[~y * o + u] : r[u * o + y], v < 0 ? -r[~v * o + u] : r[u * o + v]));
407
+ for (const y of S)
408
+ if (y < 0) {
409
+ const v = f[~y * o + u] || (f[~y * o + u] = { source: null, target: null });
410
+ v.target = { index: u, startAngle: x, endAngle: x += r[~y * o + u] * _, value: r[~y * o + u] };
411
+ } else {
412
+ const v = f[u * o + y] || (f[u * o + y] = { source: null, target: null });
413
+ v.source = { index: u, startAngle: x, endAngle: x += r[u * o + y] * _, value: r[u * o + y] };
414
+ }
415
+ D[u] = { index: u, startAngle: b, endAngle: x, value: l[u] };
416
+ } else {
417
+ const S = Ne(0, o).filter((y) => r[u * o + y] || r[y * o + u]);
418
+ n && S.sort((y, v) => n(r[u * o + y], r[u * o + v]));
419
+ for (const y of S) {
420
+ let v;
421
+ if (u < y ? (v = f[u * o + y] || (f[u * o + y] = { source: null, target: null }), v.source = { index: u, startAngle: x, endAngle: x += r[u * o + y] * _, value: r[u * o + y] }) : (v = f[y * o + u] || (f[y * o + u] = { source: null, target: null }), v.target = { index: u, startAngle: x, endAngle: x += r[u * o + y] * _, value: r[u * o + y] }, u === y && (v.source = v.target)), v.source && v.target && v.source.value < v.target.value) {
422
+ const C = v.source;
423
+ v.source = v.target, v.target = C;
424
+ }
425
+ }
426
+ D[u] = { index: u, startAngle: b, endAngle: x, value: l[u] };
427
+ }
428
+ x += p;
429
+ }
430
+ }
431
+ return f = Object.values(f), f.groups = D, i ? f.sort(i) : f;
432
+ }
433
+ return a.padAngle = function(r) {
434
+ return arguments.length ? (e = Ee(0, r), a) : e;
435
+ }, a.sortGroups = function(r) {
436
+ return arguments.length ? (s = r, a) : s;
437
+ }, a.sortSubgroups = function(r) {
438
+ return arguments.length ? (n = r, a) : n;
439
+ }, a.sortChords = function(r) {
440
+ return arguments.length ? (r == null ? i = null : (i = vt(r))._ = r, a) : i && i._;
441
+ }, a;
442
+ }
443
+ var bt = Array.prototype.slice;
444
+ function te(c) {
445
+ return function() {
446
+ return c;
447
+ };
448
+ }
449
+ function Nt(c) {
450
+ return c.source;
451
+ }
452
+ function Lt(c) {
453
+ return c.target;
454
+ }
455
+ function He(c) {
456
+ return c.radius;
457
+ }
458
+ function St(c) {
459
+ return c.startAngle;
460
+ }
461
+ function Tt(c) {
462
+ return c.endAngle;
463
+ }
464
+ function Ct() {
465
+ return 0;
466
+ }
467
+ function Pt() {
468
+ return 10;
469
+ }
470
+ function tt(c) {
471
+ var t = Nt, e = Lt, s = He, n = He, i = St, a = Tt, r = Ct, o = null;
472
+ function l() {
473
+ var g, f = t.apply(this, arguments), D = e.apply(this, arguments), _ = r.apply(this, arguments) / 2, p = bt.call(arguments), x = +s.apply(this, (p[0] = f, p)), u = i.apply(this, p) - ue, b = a.apply(this, p) - ue, S = +n.apply(this, (p[0] = D, p)), y = i.apply(this, p) - ue, v = a.apply(this, p) - ue;
474
+ if (o || (o = g = ut()), _ > be && (Ve(b - u) > _ * 2 + be ? b > u ? (u += _, b -= _) : (u -= _, b += _) : u = b = (u + b) / 2, Ve(v - y) > _ * 2 + be ? v > y ? (y += _, v -= _) : (y -= _, v += _) : y = v = (y + v) / 2), o.moveTo(x * ne(u), x * ie(u)), o.arc(0, 0, x, u, b), u !== y || b !== v)
475
+ if (c) {
476
+ var C = +c.apply(this, arguments), R = S - C, q = (y + v) / 2;
477
+ o.quadraticCurveTo(0, 0, R * ne(y), R * ie(y)), o.lineTo(S * ne(q), S * ie(q)), o.lineTo(R * ne(v), R * ie(v));
478
+ } else
479
+ o.quadraticCurveTo(0, 0, S * ne(y), S * ie(y)), o.arc(0, 0, S, y, v);
480
+ if (o.quadraticCurveTo(0, 0, x * ne(u), x * ie(u)), o.closePath(), g) return o = null, g + "" || null;
481
+ }
482
+ return c && (l.headRadius = function(g) {
483
+ return arguments.length ? (c = typeof g == "function" ? g : te(+g), l) : c;
484
+ }), l.radius = function(g) {
485
+ return arguments.length ? (s = n = typeof g == "function" ? g : te(+g), l) : s;
486
+ }, l.sourceRadius = function(g) {
487
+ return arguments.length ? (s = typeof g == "function" ? g : te(+g), l) : s;
488
+ }, l.targetRadius = function(g) {
489
+ return arguments.length ? (n = typeof g == "function" ? g : te(+g), l) : n;
490
+ }, l.startAngle = function(g) {
491
+ return arguments.length ? (i = typeof g == "function" ? g : te(+g), l) : i;
492
+ }, l.endAngle = function(g) {
493
+ return arguments.length ? (a = typeof g == "function" ? g : te(+g), l) : a;
494
+ }, l.padAngle = function(g) {
495
+ return arguments.length ? (r = typeof g == "function" ? g : te(+g), l) : r;
496
+ }, l.source = function(g) {
497
+ return arguments.length ? (t = g, l) : t;
498
+ }, l.target = function(g) {
499
+ return arguments.length ? (e = g, l) : e;
500
+ }, l.context = function(g) {
501
+ return arguments.length ? (o = g ?? null, l) : o;
502
+ }, l;
503
+ }
504
+ function st() {
505
+ return tt();
506
+ }
507
+ function Ye() {
508
+ return tt(Pt);
509
+ }
510
+ function Rt(c, t) {
511
+ return c == null || t == null ? NaN : c < t ? -1 : c > t ? 1 : c >= t ? 0 : NaN;
512
+ }
513
+ function Gt(c, t) {
514
+ return c == null || t == null ? NaN : t < c ? -1 : t > c ? 1 : t >= c ? 0 : NaN;
515
+ }
516
+ class fe extends Ge {
517
+ }
518
+ fe.className = "FlowNode";
519
+ fe.classNames = Ge.classNames.concat([fe.className]);
520
+ class Y extends ve {
521
+ constructor() {
522
+ super(...arguments), this.labels = this.addDisposer(new O(B.new({}), () => Qe._new(this._root, { themeTags: ["flow"] }, [this.labels.template]))), this.nodes = this.addDisposer(new O(B.new({}), () => fe._new(this._root, { themeTags: ["node"] }, [this.nodes.template]))), this._userDataSet = !1;
523
+ }
524
+ _applyThemes(t = !1) {
525
+ const e = this.get("colors");
526
+ return e && e.reset(), super._applyThemes(t);
527
+ }
528
+ _afterNew() {
529
+ this.fields.push("unknown", "name", "fill"), this.set("idField", "id"), this.set("nameField", "id"), this.set("fillField", "fill"), this.set("unknownField", "unknown"), this.children.push(this.bulletsContainer), super._afterNew();
530
+ }
531
+ _onDataClear() {
532
+ const t = this.get("colors");
533
+ t && t.reset();
534
+ const e = this.get("patterns");
535
+ e && e.reset(), this._userDataSet = !0;
536
+ }
537
+ processDataItem(t) {
538
+ if (super.processDataItem(t), t.setRaw("d3SankeyNode", { name: t.get("id"), dataItem: t }), t.get("fill") == null) {
539
+ let n = this.get("colors");
540
+ n && t.setRaw("fill", n.next());
541
+ }
542
+ if (t.get("fillPattern") == null) {
543
+ let n = this.get("patterns");
544
+ n && t.setRaw("fillPattern", n.next());
545
+ }
546
+ const e = this.makeNode(t);
547
+ t.setRaw("node", e);
548
+ const s = this.get("disabledField");
549
+ if (s) {
550
+ const n = t.dataContext;
551
+ n && n[s] && this.root.events.once("frameended", () => {
552
+ this.disableDataItem(t, 0);
553
+ });
554
+ }
555
+ }
556
+ /**
557
+ * @ignore
558
+ */
559
+ makeNode(t, e) {
560
+ const s = this.nodes.make();
561
+ return this.nodes.push(s), e && s.addTag(e), t.get("unknown") && s.addTag("unknown"), this.children.push(s), s._setDataItem(t), s.series = this, s.events.on("click", (n) => {
562
+ const i = n.target;
563
+ if (i.get("toggleKey") == "disabled") {
564
+ const a = i.dataItem;
565
+ a && (a.isHidden() ? this.enableDataItem(a) : this.disableDataItem(a));
566
+ }
567
+ }), t.on("fill", () => {
568
+ this._updateNodeColor(t);
569
+ }), t.on("fillPattern", () => {
570
+ this._updateNodeColor(t);
571
+ }), t.set("node", s), s;
572
+ }
573
+ _updateNodeColor(t) {
574
+ }
575
+ /**
576
+ * @ignore
577
+ */
578
+ disposeDataItem(t) {
579
+ super.disposeDataItem(t);
580
+ let e = t.get("node");
581
+ e && (this.nodes.removeValue(e), e.dispose());
582
+ let s = t.get("label");
583
+ s && (this.labels.removeValue(s), s.dispose());
584
+ }
585
+ /**
586
+ * @ignore
587
+ */
588
+ addincomingLink(t, e) {
589
+ let s = t.get("incomingLinks");
590
+ s || (s = [], t.set("incomingLinks", s)), s.push(e);
591
+ }
592
+ /**
593
+ * @ignore
594
+ */
595
+ addOutgoingLink(t, e) {
596
+ let s = t.get("outgoingLinks");
597
+ s || (s = [], t.set("outgoingLinks", s)), s.push(e);
598
+ }
599
+ /**
600
+ * Shows node's data item.
601
+ *
602
+ * @param dataItem Data item
603
+ * @param duration Animation duration in milliseconds
604
+ * @return Promise
605
+ */
606
+ showDataItem(t, e) {
607
+ const s = Object.create(null, {
608
+ showDataItem: { get: () => super.showDataItem }
609
+ });
610
+ return oe(this, void 0, void 0, function* () {
611
+ const n = [s.showDataItem.call(this, t, e)], i = this.flow;
612
+ if (i) {
613
+ const a = t.get("node");
614
+ a && a.show();
615
+ let r = t.get("label");
616
+ r && r.show(e);
617
+ let o = t.get("outgoingLinks");
618
+ o && N(o, (l) => {
619
+ i.showDataItem(l, e);
620
+ }), o = t.get("incomingLinks"), o && N(o, (l) => {
621
+ i.showDataItem(l, e);
622
+ });
623
+ }
624
+ yield n;
625
+ });
626
+ }
627
+ /**
628
+ * Hides series's data item.
629
+ *
630
+ * @param dataItem Data item
631
+ * @param duration Animation duration in milliseconds
632
+ * @return Promise
633
+ */
634
+ hideDataItem(t, e) {
635
+ const s = Object.create(null, {
636
+ hideDataItem: { get: () => super.hideDataItem }
637
+ });
638
+ return oe(this, void 0, void 0, function* () {
639
+ const n = [s.hideDataItem.call(this, t, e)], i = this.flow;
640
+ if (i) {
641
+ const a = t.get("node");
642
+ a && a.hide();
643
+ let r = t.get("label");
644
+ r && r.hide(e);
645
+ let o = t.get("outgoingLinks");
646
+ o && N(o, (l) => {
647
+ i.hideDataItem(l, e);
648
+ }), o = t.get("incomingLinks"), o && N(o, (l) => {
649
+ i.hideDataItem(l, e);
650
+ });
651
+ }
652
+ yield n;
653
+ });
654
+ }
655
+ /**
656
+ * Shows node's data item.
657
+ *
658
+ * @param dataItem Data item
659
+ * @param duration Animation duration in milliseconds
660
+ * @return Promise
661
+ */
662
+ enableDataItem(t, e) {
663
+ const s = Object.create(null, {
664
+ showDataItem: { get: () => super.showDataItem }
665
+ });
666
+ return oe(this, void 0, void 0, function* () {
667
+ const n = [s.showDataItem.call(this, t, e)], i = this.flow;
668
+ if (i) {
669
+ const a = t.get("node");
670
+ a && this.root.events.once("frameended", () => {
671
+ a.set("disabled", !1);
672
+ });
673
+ let r = t.get("label");
674
+ r && r.set("disabled", !1);
675
+ let o = t.get("outgoingLinks");
676
+ o && N(o, (l) => {
677
+ i.showDataItem(l, e);
678
+ }), o = t.get("incomingLinks"), o && N(o, (l) => {
679
+ i.showDataItem(l, e);
680
+ });
681
+ }
682
+ yield n;
683
+ });
684
+ }
685
+ /**
686
+ * Hides series's data item.
687
+ *
688
+ * @param dataItem Data item
689
+ * @param duration Animation duration in milliseconds
690
+ * @return Promise
691
+ */
692
+ disableDataItem(t, e) {
693
+ const s = Object.create(null, {
694
+ hideDataItem: { get: () => super.hideDataItem }
695
+ });
696
+ return oe(this, void 0, void 0, function* () {
697
+ const n = [s.hideDataItem.call(this, t, e)], i = this.flow;
698
+ if (i) {
699
+ const a = t.get("node");
700
+ a && this.root.events.once("frameended", () => {
701
+ a.set("disabled", !0);
702
+ });
703
+ let r = t.get("label");
704
+ r && r.set("disabled", !0);
705
+ let o = t.get("outgoingLinks");
706
+ o && N(o, (l) => {
707
+ i.hideDataItem(l, e);
708
+ }), o = t.get("incomingLinks"), o && N(o, (l) => {
709
+ i.hideDataItem(l, e);
710
+ });
711
+ }
712
+ yield n;
713
+ });
714
+ }
715
+ }
716
+ Y.className = "FlowNodes";
717
+ Y.classNames = ve.classNames.concat([Y.className]);
718
+ class pe extends Y {
719
+ constructor() {
720
+ super(...arguments), this.labels = this.addDisposer(new O(B.new({}), () => _t._new(this._root, {}, [this.labels.template]))), this._dAngle = 0, this.slices = this.addDisposer(new O(B.new({}), () => yt._new(this._root, { themeTags: ["shape"] }, [this.slices.template]))), this.rectangles = this.slices;
721
+ }
722
+ /**
723
+ * @ignore
724
+ */
725
+ makeNode(t) {
726
+ const e = super.makeNode(t, "chord"), s = e.children.insertIndex(0, this.slices.make());
727
+ t.set("slice", s), s._setSoft("fill", t.get("fill")), s._setSoft("fillPattern", t.get("fillPattern"));
728
+ const n = this.labels.make();
729
+ return this.labels.push(n), n.addTag("flow"), n.addTag("chord"), n.addTag("node"), e.children.push(n), t.set("label", n), e.events.on("dragstart", (i) => {
730
+ let a = this.toLocal(i.point);
731
+ const r = re({ x: 0, y: 0 }, a);
732
+ this.flow && (this._dAngle = this.flow.get("startAngle", 0) - r);
733
+ }), e.events.on("dragged", (i) => {
734
+ let a = this.toLocal(i.point);
735
+ const r = re({ x: 0, y: 0 }, a);
736
+ e.setAll({ x: 0, y: 0 }), this.flow && this.flow.set("startAngle", r + this._dAngle);
737
+ }), n._setDataItem(t), s._setDataItem(t), e;
738
+ }
739
+ _positionBullet(t) {
740
+ const e = t.get("sprite");
741
+ if (e) {
742
+ const s = e.dataItem;
743
+ if (s) {
744
+ const n = t.get("sprite");
745
+ if (n) {
746
+ const i = s.get("slice"), a = t.get("locationX", 0.5), r = t.get("locationY", 0.5);
747
+ if (i) {
748
+ const o = i.get("radius", 0), l = i.get("innerRadius", 0), g = l + (o - l) * r, f = i.get("startAngle", 0) + i.get("arc", 0) * a;
749
+ n.setAll({ x: g * M(f), y: g * G(f) });
750
+ }
751
+ }
752
+ }
753
+ }
754
+ }
755
+ _updateNodeColor(t) {
756
+ const e = t.get("slice");
757
+ e && (e.set("fill", t.get("fill")), e.set("fillPattern", t.get("fillPattern")));
758
+ }
759
+ /**
760
+ * @ignore
761
+ */
762
+ disposeDataItem(t) {
763
+ super.disposeDataItem(t);
764
+ let e = t.get("slice");
765
+ e && (this.slices.removeValue(e), e.dispose());
766
+ }
767
+ }
768
+ pe.className = "ChordNodes";
769
+ pe.classNames = Y.classNames.concat([pe.className]);
770
+ class X extends Ze {
771
+ _changed() {
772
+ if (super._changed(), this.isDirty("fillStyle")) {
773
+ const t = this.series, e = this.dataItem;
774
+ t && e && t._updateLinkColor(e);
775
+ }
776
+ }
777
+ _getTooltipPoint() {
778
+ let t = this.get("tooltipY"), e = 0.5;
779
+ return t instanceof dt && (e = t.value), this.getPoint(e);
780
+ }
781
+ }
782
+ X.className = "FlowLink";
783
+ X.classNames = Ze.classNames.concat([X.className]);
784
+ class ae extends X {
785
+ getPoint(t) {
786
+ if (this._p0 && this._p1)
787
+ if (this._type === "line") {
788
+ let e = ft(this._p0, this._p1, t);
789
+ return { x: e.x, y: e.y, angle: re(this._p0, this._p1) };
790
+ } else {
791
+ let e = De(this._p0, this._p1, { x: 0, y: 0 }, Math.max(0, t - 0.01)), s = De(this._p0, this._p1, { x: 0, y: 0 }, Math.min(1, t + 0.01)), n = De(this._p0, this._p1, { x: 0, y: 0 }, t);
792
+ return { x: n.x, y: n.y, angle: re(e, s) };
793
+ }
794
+ return { x: 0, y: 0, angle: 0 };
795
+ }
796
+ }
797
+ ae.className = "ChordLink";
798
+ ae.classNames = X.classNames.concat([ae.className]);
799
+ class se extends H {
800
+ constructor() {
801
+ super(...arguments), this.links = this.addDisposer(new O(B.new({}), () => ae._new(this._root, { themeTags: ["link", "shape"] }, [this.links.template]))), this.nodes = this.children.push(pe.new(this._root, {})), this._d3chord = Dt(), this._chordLayout = [], this._ribbon = st();
802
+ }
803
+ _afterNew() {
804
+ this._settings.themeTags = le(this._settings.themeTags, ["chord"]), this.linksContainer.setAll({ x: I, y: I }), this.bulletsContainer.setAll({ x: I, y: I }), super._afterNew();
805
+ }
806
+ _fixRibbon(t) {
807
+ t.startAngle((e) => e.startAngle + this.get("startAngle", 0) * ge + Math.PI / 2), t.endAngle((e) => e.endAngle + this.get("startAngle", 0) * ge + Math.PI / 2);
808
+ }
809
+ /**
810
+ * @ignore
811
+ */
812
+ makeLink(t) {
813
+ const e = this.linksContainer.children.push(this.links.make());
814
+ return this.links.push(e), e._setDataItem(t), e.set("source", t.get("source")), e.set("target", t.get("target")), e.series = this, e;
815
+ }
816
+ _makeMatrix() {
817
+ const t = [];
818
+ return N(this.nodes.dataItems, (e) => {
819
+ const s = [];
820
+ t.push(s);
821
+ let n = e.get("outgoingLinks");
822
+ N(this.nodes.dataItems, (i) => {
823
+ let a = 0;
824
+ n && N(n, (r) => {
825
+ r.get("target") === i && (a = r.get("valueWorking"));
826
+ let o = this.getPrivate("valueSum", 0), l = this.get("minSize", 0);
827
+ a > 0 && l > 0 && a < o * l && (a = o * l);
828
+ }), s.push(a);
829
+ });
830
+ }), t;
831
+ }
832
+ _prepareChildren() {
833
+ super._prepareChildren(), this._fixRibbon(this._ribbon);
834
+ let t = !1;
835
+ if (this._valuesDirty || this._sizeDirty || this.isDirty("padAngle") || this.isDirty("startAngle")) {
836
+ const e = this._makeMatrix();
837
+ this._d3chord.padAngle(this.get("padAngle", 0) * ge);
838
+ const s = this.get("sort");
839
+ s === "ascending" ? this._d3chord.sortGroups(Rt) : s === "descending" && this._d3chord.sortGroups(Gt), this._chordLayout = this._d3chord(e), t = !0;
840
+ }
841
+ if (t || this.isDirty("radius") || this.isDirty("nodeWidth")) {
842
+ let e = Ae(this.get("radius", 0), Math.min(this.innerWidth(), this.innerHeight())) / 2, s = 0;
843
+ const n = this.get("startAngle", 0), i = this.get("nodeWidth", 0);
844
+ N(this.nodes.dataItems, (r) => {
845
+ const o = r.get("slice"), l = this._chordLayout.groups[s], g = l.startAngle * Fe + n, f = l.endAngle * Fe + n;
846
+ o.setAll({ radius: e, innerRadius: e - i, startAngle: g, arc: f - g });
847
+ const D = r.get("label");
848
+ D.setAll({ labelAngle: g + (f - g) / 2 }), D.setPrivate("radius", e), D.setPrivate("innerRadius", 0.1), s++;
849
+ });
850
+ const a = e - this.get("nodeWidth", 0);
851
+ N(this._chordLayout, (r) => {
852
+ let o = this._linksByIndex[r.source.index + "_" + r.target.index];
853
+ if (o || (o = this._linksByIndex[r.target.index + "_" + r.source.index]), o) {
854
+ const l = o.get("link");
855
+ this._getLinkPoints(l, a, r), this._updateLink(this._ribbon, l, a, r);
856
+ }
857
+ });
858
+ }
859
+ }
860
+ _getLinkPoints(t, e, s) {
861
+ const n = s.source, i = s.target, a = this.get("startAngle", 0) * ge;
862
+ if (n && i) {
863
+ const r = n.startAngle, o = n.endAngle, l = r + (o - r) / 2 + a, g = i.startAngle, f = i.endAngle, D = g + (f - g) / 2 + a;
864
+ t._p0 = { x: e * Math.cos(l), y: e * Math.sin(l) }, t._p1 = { x: e * Math.cos(D), y: e * Math.sin(D) };
865
+ }
866
+ }
867
+ _updateLink(t, e, s, n) {
868
+ n && (t.sourceRadius(Ae(e.get("sourceRadius", z), s)), t.targetRadius(Ae(e.get("targetRadius", z), s)), e.set("draw", (i) => {
869
+ t.context(i), t(n);
870
+ }));
871
+ }
872
+ }
873
+ se.className = "Chord";
874
+ se.classNames = H.classNames.concat([se.className]);
875
+ class ke extends ae {
876
+ _afterNew() {
877
+ this._settings.themeTags = le(this._settings.themeTags, ["chord", "link", "directed"]), super._afterNew();
878
+ }
879
+ }
880
+ ke.className = "ChordLinkDirected";
881
+ ke.classNames = ae.classNames.concat([ke.className]);
882
+ class Te extends se {
883
+ constructor() {
884
+ super(...arguments), this._d3chord = At(), this._ribbonArrow = Ye(), this.links = this.addDisposer(new O(B.new({}), () => ke._new(this._root, { themeTags: ["link", "shape"] }, [this.links.template])));
885
+ }
886
+ /**
887
+ * @ignore
888
+ */
889
+ makeLink(t) {
890
+ const e = this.linksContainer.children.push(this.links.make());
891
+ return e._setDataItem(t), e.set("source", t.get("source")), e.set("target", t.get("target")), e.series = this, e;
892
+ }
893
+ _afterNew() {
894
+ this._settings.themeTags = le(this._settings.themeTags, ["directed"]), super._afterNew(), this._markDirtyKey("linkHeadRadius");
895
+ }
896
+ _prepareChildren() {
897
+ const t = "linkHeadRadius";
898
+ if (this.isDirty(t)) {
899
+ const e = this.get(t);
900
+ if (e == null)
901
+ this._ribbon = st();
902
+ else {
903
+ let s = Ye();
904
+ s.headRadius(e), this._ribbon = s;
905
+ }
906
+ }
907
+ super._prepareChildren();
908
+ }
909
+ }
910
+ Te.className = "ChordDirected";
911
+ Te.classNames = se.classNames.concat([Te.className]);
912
+ class Ce extends se {
913
+ _afterNew() {
914
+ this._settings.themeTags = le(this._settings.themeTags, ["chord", "basic"]), super._afterNew();
915
+ }
916
+ _makeMatrix() {
917
+ const t = [];
918
+ return N(this.nodes.dataItems, (e) => {
919
+ const s = [];
920
+ t.push(s), N(this.nodes.dataItems, (n) => {
921
+ let i = 1;
922
+ e === n && (i = 0), s.push(i);
923
+ });
924
+ }), t;
925
+ }
926
+ _updateLink(t, e, s, n) {
927
+ if (e._type = this.get("linkType"), n) {
928
+ const i = this.get("linkType");
929
+ e.set("draw", (a) => {
930
+ let r = e._p0, o = e._p1;
931
+ r && o && (a.moveTo(r.x, r.y), i == "line" ? a.lineTo(o.x, o.y) : a.quadraticCurveTo(0, 0, o.x, o.y));
932
+ });
933
+ }
934
+ }
935
+ _getLinkPoints(t, e, s) {
936
+ const n = t.get("source"), i = t.get("target");
937
+ if (n && i) {
938
+ const a = n.get("slice"), r = i.get("slice"), o = a.get("startAngle", 0), l = a.get("arc", 0), g = o + l / 2, f = r.get("startAngle", 0), D = r.get("arc", 0), _ = f + D / 2;
939
+ t._p0 = { x: e * M(g), y: e * G(g) }, t._p1 = { x: e * M(_), y: e * G(_) };
940
+ }
941
+ }
942
+ }
943
+ Ce.className = "ChordNonRibbon";
944
+ Ce.classNames = se.classNames.concat([Ce.className]);
945
+ class me extends Y {
946
+ constructor() {
947
+ super(...arguments), this.rectangles = this.addDisposer(new O(B.new({}), () => pt._new(this._root, { themeTags: ["shape"] }, [this.rectangles.template])));
948
+ }
949
+ /**
950
+ * @ignore
951
+ */
952
+ makeNode(t) {
953
+ const e = this.flow, s = super.makeNode(t, "sankey"), n = s.children.insertIndex(0, this.rectangles.make());
954
+ this.rectangles.push(n), n._setSoft("fill", t.get("fill")), n._setSoft("fillPattern", t.get("fillPattern")), t.set("rectangle", n), s.events.on("dragged", () => {
955
+ const a = s.dataItem.get("d3SankeyNode");
956
+ a && e && (e.get("orientation") == "horizontal" ? (a.x0 = s.x(), a.y0 = s.y()) : (a.x0 = s.y(), a.y0 = s.x()), e.updateSankey());
957
+ });
958
+ const i = this.labels.make();
959
+ return this.labels.push(i), e && i.addTag(e.get("orientation", "")), s.children.push(i), t.set("label", i), i._setDataItem(t), n._setDataItem(t), s;
960
+ }
961
+ _positionBullet(t) {
962
+ const e = t.get("sprite");
963
+ if (e) {
964
+ const s = e.dataItem;
965
+ if (s) {
966
+ const n = t.get("sprite");
967
+ if (n) {
968
+ const i = s.get("rectangle"), a = s.get("node"), r = t.get("locationX", 0.5), o = t.get("locationY", 0.5);
969
+ i && n.setAll({ x: a.x() + i.width() * r, y: a.y() + i.height() * o });
970
+ }
971
+ }
972
+ }
973
+ }
974
+ /**
975
+ * @ignore
976
+ */
977
+ disposeDataItem(t) {
978
+ super.disposeDataItem(t);
979
+ let e = t.get("rectangle");
980
+ e && (this.rectangles.removeValue(e), e.dispose());
981
+ }
982
+ _updateNodeColor(t) {
983
+ const e = t.get("rectangle");
984
+ e && (e.set("fill", t.get("fill")), e.set("fillPattern", t.get("fillPattern")));
985
+ }
986
+ }
987
+ me.className = "SankeyNodes";
988
+ me.classNames = Y.classNames.concat([me.className]);
989
+ class ye extends X {
990
+ constructor() {
991
+ super(...arguments), this._svgPath = document.createElementNS("http://www.w3.org/2000/svg", "path"), this._totalLength = 0;
992
+ }
993
+ _beforeChanged() {
994
+ if (super._beforeChanged(), this.isDirty("source")) {
995
+ const i = this.get("source");
996
+ if (i) {
997
+ const a = i.get("node");
998
+ this._disposers.push(a.events.on("positionchanged", () => {
999
+ this.markDirty();
1000
+ }));
1001
+ }
1002
+ }
1003
+ if (this.isDirty("target")) {
1004
+ const i = this.get("target");
1005
+ if (i) {
1006
+ const a = i.get("node");
1007
+ this._disposers.push(a.events.on("positionchanged", () => {
1008
+ this.markDirty();
1009
+ }));
1010
+ }
1011
+ }
1012
+ if (this.isPrivateDirty("orientation")) {
1013
+ const i = this.series, a = this.dataItem;
1014
+ a && i && i._updateLinkColor(a);
1015
+ }
1016
+ const t = this.get("target"), e = this.get("source");
1017
+ let s, n;
1018
+ if (e && t) {
1019
+ this._clear = !0, s = e.get("node"), n = t.get("node");
1020
+ let i = 0, a = 0, r = 0, o = 0, l = 0, g = 0, f = 0, D = 0, _ = 0, p = 0, x = 0, u = 0, b = 0, S = 0, y = 0, v = 0, C = 0, R = 0;
1021
+ const q = this.dataItem;
1022
+ if (q) {
1023
+ const V = q.get("d3SankeyLink");
1024
+ if (V) {
1025
+ let P = V.width || 0, ce = this.getPrivate("orientation");
1026
+ ce == "vertical" ? (s && (r = s.y() + s.get("dy", 0)), n && (o = n.y() + n.get("dy", 0)), C = 90, R = 90, i = V.y0 || 0, a = V.y1 || 0, i += s.get("dx", 0), a += n.get("dx", 0), o < r && ([i, a] = [a, i], [r, o] = [o, r]), e.get("unknown") && (i = a, r = r + (o - r) / 2), t.get("unknown") && (a = i, o = r + (o - r) / 2), l = i - P / 2, g = r, f = a - P / 2, D = o, _ = i + P / 2, p = a + P / 2, x = r, u = o, b = i, S = a, y = r, v = o) : (s && (i = s.x() + s.get("dx", 0)), n && (a = n.x() + n.get("dx", 0)), r = V.y0 || 0, o = V.y1 || 0, r += s.get("dy", 0), o += n.get("dy", 0), a < i && ([i, a] = [a, i], [r, o] = [o, r]), e.get("unknown") && (r = o, i = i + (a - i) / 2), t.get("unknown") && (o = r, a = i + (a - i) / 2), l = i, g = r - P / 2, f = a, D = o - P / 2, _ = i, p = a, x = r + P / 2, u = o + P / 2, b = i, S = a, y = r, v = o), K(l, 3) == K(f, 3) && (f += 0.01), K(g, 3) == K(D, 3) && (D += 0.01), K(_, 3) == K(p, 3) && (p += 0.01), K(x, 3) == K(u, 3) && (u += 0.01);
1027
+ let T = this.get("controlPointDistance", 0.2);
1028
+ T = Math.min(0.4999, T);
1029
+ let J = l + (f - l) * T * M(C), Q = g + (D - g) * T * G(C), Z = f - (f - l) * T * M(R), h = D - (D - g) * T * G(R), w = b + (S - b) * T * M(C), k = y + (v - y) * T * G(C), m = S - (S - b) * T * M(R), d = v - (v - y) * T * G(R), A = re({ x: J, y: Q }, { x: Z, y: h }), L = (P / M(A) - P) / Oe(A) * M(C), W = (P / G(A) - P) * Oe(A) * G(C), F = -L / 2 + _ + (p - _) * T * M(C), j = -W / 2 + x + (u - x) * T * G(C), E = -L / 2 + p - (p - _) * T * M(R), U = -W / 2 + u - (u - x) * T * G(R);
1030
+ J += L / 2, Q += W / 2, Z += L / 2, h += W / 2, ce == "vertical" ? (Q = Math.min(D, Math.max(g + 1, Q)), j = Math.min(u, Math.max(x + 1, j)), h = Math.max(g, Math.min(D - 1, h)), U = Math.max(x, Math.min(u - 1, U))) : (J = Math.min(f, Math.max(l + 1, J)), F = Math.min(p, Math.max(_ + 1, F)), Z = Math.max(l, Math.min(f - 1, Z)), E = Math.max(_, Math.min(p - 1, E)));
1031
+ let ee = [[l, g, _, x], [J, Q, F, j], [Z, h, E, U], [f, D, p, u]];
1032
+ this.set("draw", (rt) => {
1033
+ const Ie = this.series;
1034
+ Ie._fillGenerator.context(rt), Ie._fillGenerator(ee);
1035
+ });
1036
+ let ot = [[b, y], [w, k], [m, d], [S, v]];
1037
+ const Me = this.series._strokeGenerator(ot);
1038
+ Me && (this._svgPath.setAttribute("d", Me), this._totalLength = this._svgPath.getTotalLength());
1039
+ }
1040
+ }
1041
+ }
1042
+ this.series && this.dataItem && this.series._positionBullets(this.dataItem);
1043
+ }
1044
+ getPoint(t) {
1045
+ if (this._svgPath && this._svgPath.getAttribute("d")) {
1046
+ let e = this._svgPath.getPointAtLength(t * this._totalLength - 0.1), s = this._svgPath.getPointAtLength(t * this._totalLength + 0.1), n = this.toGlobal(this._svgPath.getPointAtLength(t * this._totalLength));
1047
+ return { x: n.x, y: n.y, angle: re(e, s) };
1048
+ }
1049
+ return { x: 0, y: 0, angle: 0 };
1050
+ }
1051
+ _getTooltipPoint() {
1052
+ return this.toLocal(super._getTooltipPoint());
1053
+ }
1054
+ }
1055
+ ye.className = "SankeyLink";
1056
+ ye.classNames = X.classNames.concat([ye.className]);
1057
+ function Xe(c, t) {
1058
+ let e;
1059
+ if (t === void 0)
1060
+ for (const s of c)
1061
+ s != null && (e < s || e === void 0 && s >= s) && (e = s);
1062
+ else {
1063
+ let s = -1;
1064
+ for (let n of c)
1065
+ (n = t(n, ++s, c)) != null && (e < n || e === void 0 && n >= n) && (e = n);
1066
+ }
1067
+ return e;
1068
+ }
1069
+ function nt(c, t) {
1070
+ let e;
1071
+ if (t === void 0)
1072
+ for (const s of c)
1073
+ s != null && (e > s || e === void 0 && s >= s) && (e = s);
1074
+ else {
1075
+ let s = -1;
1076
+ for (let n of c)
1077
+ (n = t(n, ++s, c)) != null && (e > n || e === void 0 && n >= n) && (e = n);
1078
+ }
1079
+ return e;
1080
+ }
1081
+ function Le(c, t) {
1082
+ let e = 0;
1083
+ if (t === void 0)
1084
+ for (let s of c)
1085
+ (s = +s) && (e += s);
1086
+ else {
1087
+ let s = -1;
1088
+ for (let n of c)
1089
+ (n = +t(n, ++s, c)) && (e += n);
1090
+ }
1091
+ return e;
1092
+ }
1093
+ function Mt(c) {
1094
+ return c.target.depth;
1095
+ }
1096
+ function It(c) {
1097
+ return c.depth;
1098
+ }
1099
+ function Ft(c, t) {
1100
+ return t - 1 - c.height;
1101
+ }
1102
+ function it(c, t) {
1103
+ return c.sourceLinks.length ? c.depth : t - 1;
1104
+ }
1105
+ function Ot(c) {
1106
+ return c.targetLinks.length ? c.depth : c.sourceLinks.length ? nt(c.sourceLinks, Mt) - 1 : 0;
1107
+ }
1108
+ function de(c) {
1109
+ return function() {
1110
+ return c;
1111
+ };
1112
+ }
1113
+ function Ke(c, t) {
1114
+ return _e(c.source, t.source) || c.index - t.index;
1115
+ }
1116
+ function $e(c, t) {
1117
+ return _e(c.target, t.target) || c.index - t.index;
1118
+ }
1119
+ function _e(c, t) {
1120
+ return c.y0 - t.y0;
1121
+ }
1122
+ function Se(c) {
1123
+ return c.value;
1124
+ }
1125
+ function Bt(c) {
1126
+ return c.index;
1127
+ }
1128
+ function Wt(c) {
1129
+ return c.nodes;
1130
+ }
1131
+ function zt(c) {
1132
+ return c.links;
1133
+ }
1134
+ function qe(c, t) {
1135
+ const e = c.get(t);
1136
+ if (!e) throw new Error("missing: " + t);
1137
+ return e;
1138
+ }
1139
+ function Je({ nodes: c }) {
1140
+ for (const t of c) {
1141
+ let e = t.y0, s = e;
1142
+ for (const n of t.sourceLinks)
1143
+ n.y0 = e + n.width / 2, e += n.width;
1144
+ for (const n of t.targetLinks)
1145
+ n.y1 = s + n.width / 2, s += n.width;
1146
+ }
1147
+ }
1148
+ function Vt() {
1149
+ let c = 0, t = 0, e = 1, s = 1, n = 24, i = 8, a, r = Bt, o = it, l, g, f = Wt, D = zt, _ = 6;
1150
+ function p() {
1151
+ const h = { nodes: f.apply(null, arguments), links: D.apply(null, arguments) };
1152
+ return x(h), u(h), b(h), S(h), C(h), Je(h), h;
1153
+ }
1154
+ p.update = function(h) {
1155
+ return Je(h), h;
1156
+ }, p.nodeId = function(h) {
1157
+ return arguments.length ? (r = typeof h == "function" ? h : de(h), p) : r;
1158
+ }, p.nodeAlign = function(h) {
1159
+ return arguments.length ? (o = typeof h == "function" ? h : de(h), p) : o;
1160
+ }, p.nodeSort = function(h) {
1161
+ return arguments.length ? (l = h, p) : l;
1162
+ }, p.nodeWidth = function(h) {
1163
+ return arguments.length ? (n = +h, p) : n;
1164
+ }, p.nodePadding = function(h) {
1165
+ return arguments.length ? (i = a = +h, p) : i;
1166
+ }, p.nodes = function(h) {
1167
+ return arguments.length ? (f = typeof h == "function" ? h : de(h), p) : f;
1168
+ }, p.links = function(h) {
1169
+ return arguments.length ? (D = typeof h == "function" ? h : de(h), p) : D;
1170
+ }, p.linkSort = function(h) {
1171
+ return arguments.length ? (g = h, p) : g;
1172
+ }, p.size = function(h) {
1173
+ return arguments.length ? (c = t = 0, e = +h[0], s = +h[1], p) : [e - c, s - t];
1174
+ }, p.extent = function(h) {
1175
+ return arguments.length ? (c = +h[0][0], e = +h[1][0], t = +h[0][1], s = +h[1][1], p) : [[c, t], [e, s]];
1176
+ }, p.iterations = function(h) {
1177
+ return arguments.length ? (_ = +h, p) : _;
1178
+ };
1179
+ function x({ nodes: h, links: w }) {
1180
+ for (const [m, d] of h.entries())
1181
+ d.index = m, d.sourceLinks = [], d.targetLinks = [];
1182
+ const k = new Map(h.map((m, d) => [r(m, d, h), m]));
1183
+ for (const [m, d] of w.entries()) {
1184
+ d.index = m;
1185
+ let { source: A, target: L } = d;
1186
+ typeof A != "object" && (A = d.source = qe(k, A)), typeof L != "object" && (L = d.target = qe(k, L)), A.sourceLinks.push(d), L.targetLinks.push(d);
1187
+ }
1188
+ if (g != null)
1189
+ for (const { sourceLinks: m, targetLinks: d } of h)
1190
+ m.sort(g), d.sort(g);
1191
+ }
1192
+ function u({ nodes: h }) {
1193
+ for (const w of h)
1194
+ w.value = w.fixedValue === void 0 ? Math.max(Le(w.sourceLinks, Se), Le(w.targetLinks, Se)) : w.fixedValue;
1195
+ }
1196
+ function b({ nodes: h }) {
1197
+ const w = h.length;
1198
+ let k = new Set(h), m = /* @__PURE__ */ new Set(), d = 0;
1199
+ for (; k.size; ) {
1200
+ for (const A of k) {
1201
+ A.depth = d;
1202
+ for (const { target: L } of A.sourceLinks)
1203
+ m.add(L);
1204
+ }
1205
+ if (++d > w) throw new Error("circular link");
1206
+ k = m, m = /* @__PURE__ */ new Set();
1207
+ }
1208
+ }
1209
+ function S({ nodes: h }) {
1210
+ const w = h.length;
1211
+ let k = new Set(h), m = /* @__PURE__ */ new Set(), d = 0;
1212
+ for (; k.size; ) {
1213
+ for (const A of k) {
1214
+ A.height = d;
1215
+ for (const { source: L } of A.targetLinks)
1216
+ m.add(L);
1217
+ }
1218
+ if (++d > w) throw new Error("circular link");
1219
+ k = m, m = /* @__PURE__ */ new Set();
1220
+ }
1221
+ }
1222
+ function y({ nodes: h }) {
1223
+ const w = Xe(h, (d) => d.depth) + 1, k = (e - c - n) / (w - 1), m = new Array(w);
1224
+ for (const d of h) {
1225
+ const A = Math.max(0, Math.min(w - 1, Math.floor(o.call(null, d, w))));
1226
+ d.layer = A, d.x0 = c + A * k, d.x1 = d.x0 + n, m[A] ? m[A].push(d) : m[A] = [d];
1227
+ }
1228
+ if (l) for (const d of m)
1229
+ d.sort(l);
1230
+ return m;
1231
+ }
1232
+ function v(h) {
1233
+ const w = nt(h, (k) => (s - t - (k.length - 1) * a) / Le(k, Se));
1234
+ for (const k of h) {
1235
+ let m = t;
1236
+ for (const d of k) {
1237
+ d.y0 = m, d.y1 = m + d.value * w, m = d.y1 + a;
1238
+ for (const A of d.sourceLinks)
1239
+ A.width = A.value * w;
1240
+ }
1241
+ m = (s - m + a) / (k.length + 1);
1242
+ for (let d = 0; d < k.length; ++d) {
1243
+ const A = k[d];
1244
+ A.y0 += m * (d + 1), A.y1 += m * (d + 1);
1245
+ }
1246
+ J(k);
1247
+ }
1248
+ }
1249
+ function C(h) {
1250
+ const w = y(h);
1251
+ a = Math.min(i, (s - t) / (Xe(w, (k) => k.length) - 1)), v(w);
1252
+ for (let k = 0; k < _; ++k) {
1253
+ const m = Math.pow(0.99, k), d = Math.max(1 - m, (k + 1) / _);
1254
+ q(w, m, d), R(w, m, d);
1255
+ }
1256
+ }
1257
+ function R(h, w, k) {
1258
+ for (let m = 1, d = h.length; m < d; ++m) {
1259
+ const A = h[m];
1260
+ for (const L of A) {
1261
+ let W = 0, F = 0;
1262
+ for (const { source: E, value: U } of L.targetLinks) {
1263
+ let ee = U * (L.layer - E.layer);
1264
+ W += Q(E, L) * ee, F += ee;
1265
+ }
1266
+ if (!(F > 0)) continue;
1267
+ let j = (W / F - L.y0) * w;
1268
+ L.y0 += j, L.y1 += j, T(L);
1269
+ }
1270
+ l === void 0 && A.sort(_e), V(A, k);
1271
+ }
1272
+ }
1273
+ function q(h, w, k) {
1274
+ for (let m = h.length, d = m - 2; d >= 0; --d) {
1275
+ const A = h[d];
1276
+ for (const L of A) {
1277
+ let W = 0, F = 0;
1278
+ for (const { target: E, value: U } of L.sourceLinks) {
1279
+ let ee = U * (E.layer - L.layer);
1280
+ W += Z(L, E) * ee, F += ee;
1281
+ }
1282
+ if (!(F > 0)) continue;
1283
+ let j = (W / F - L.y0) * w;
1284
+ L.y0 += j, L.y1 += j, T(L);
1285
+ }
1286
+ l === void 0 && A.sort(_e), V(A, k);
1287
+ }
1288
+ }
1289
+ function V(h, w) {
1290
+ const k = h.length >> 1, m = h[k];
1291
+ ce(h, m.y0 - a, k - 1, w), P(h, m.y1 + a, k + 1, w), ce(h, s, h.length - 1, w), P(h, t, 0, w);
1292
+ }
1293
+ function P(h, w, k, m) {
1294
+ for (; k < h.length; ++k) {
1295
+ const d = h[k], A = (w - d.y0) * m;
1296
+ A > 1e-6 && (d.y0 += A, d.y1 += A), w = d.y1 + a;
1297
+ }
1298
+ }
1299
+ function ce(h, w, k, m) {
1300
+ for (; k >= 0; --k) {
1301
+ const d = h[k], A = (d.y1 - w) * m;
1302
+ A > 1e-6 && (d.y0 -= A, d.y1 -= A), w = d.y0 - a;
1303
+ }
1304
+ }
1305
+ function T({ sourceLinks: h, targetLinks: w }) {
1306
+ if (g === void 0) {
1307
+ for (const { source: { sourceLinks: k } } of w)
1308
+ k.sort($e);
1309
+ for (const { target: { targetLinks: k } } of h)
1310
+ k.sort(Ke);
1311
+ }
1312
+ }
1313
+ function J(h) {
1314
+ if (g === void 0)
1315
+ for (const { sourceLinks: w, targetLinks: k } of h)
1316
+ w.sort($e), k.sort(Ke);
1317
+ }
1318
+ function Q(h, w) {
1319
+ let k = h.y0 - (h.sourceLinks.length - 1) * a / 2;
1320
+ for (const { target: m, width: d } of h.sourceLinks) {
1321
+ if (m === w) break;
1322
+ k += d + a;
1323
+ }
1324
+ for (const { source: m, width: d } of w.targetLinks) {
1325
+ if (m === h) break;
1326
+ k -= d;
1327
+ }
1328
+ return k;
1329
+ }
1330
+ function Z(h, w) {
1331
+ let k = w.y0 - (w.targetLinks.length - 1) * a / 2;
1332
+ for (const { source: m, width: d } of w.targetLinks) {
1333
+ if (m === h) break;
1334
+ k += d + a;
1335
+ }
1336
+ for (const { target: m, width: d } of h.sourceLinks) {
1337
+ if (m === w) break;
1338
+ k -= d;
1339
+ }
1340
+ return k;
1341
+ }
1342
+ return p;
1343
+ }
1344
+ class Pe extends H {
1345
+ constructor() {
1346
+ super(...arguments), this.links = this.addDisposer(new O(B.new({}), () => ye._new(this._root, { themeTags: ["link", "shape"] }, [this.links.template]))), this.nodes = this.children.push(me.new(this._root, {})), this._d3Sankey = Vt(), this._fillGenerator = kt(), this._strokeGenerator = mt();
1347
+ }
1348
+ _afterNew() {
1349
+ this._settings.themeTags = le(this._settings.themeTags, ["sankey", this._settings.orientation || "horizontal"]), this._fillGenerator.y0(function(t) {
1350
+ return t[3];
1351
+ }), this._fillGenerator.x0(function(t) {
1352
+ return t[2];
1353
+ }), this._fillGenerator.y1(function(t) {
1354
+ return t[1];
1355
+ }), this._fillGenerator.x1(function(t) {
1356
+ return t[0];
1357
+ }), super._afterNew();
1358
+ }
1359
+ /**
1360
+ * @ignore
1361
+ */
1362
+ makeLink(t) {
1363
+ const e = t.get("source"), s = t.get("target"), n = this.links.make();
1364
+ return e.get("unknown") && (n.addTag("source"), n.addTag("unknown")), s.get("unknown") && (n.addTag("target"), n.addTag("unknown")), this.linksContainer.children.push(n), n._setDataItem(t), n.set("source", e), n.set("target", s), n.series = this, this.links.push(n), n;
1365
+ }
1366
+ /**
1367
+ * @ignore
1368
+ */
1369
+ updateSankey() {
1370
+ const t = this._d3Graph;
1371
+ t && (this._d3Sankey.update(t), N(this.dataItems, (e) => {
1372
+ const s = e.get("link");
1373
+ s.setPrivate("orientation", this.get("orientation")), s.markDirty();
1374
+ }));
1375
+ }
1376
+ _updateLinkColor(t) {
1377
+ super._updateLinkColor(t);
1378
+ const e = this.get("orientation"), s = t.get("link")._fillGradient, n = t.get("link")._strokeGradient;
1379
+ e == "vertical" ? (s && s.set("rotation", 90), n && n.set("rotation", 90)) : (s && s.set("rotation", 0), n && n.set("rotation", 0));
1380
+ }
1381
+ _getBulletLocation(t) {
1382
+ return this.get("orientation") == "vertical" ? t.get("locationY", 0) : t.get("locationX", 0);
1383
+ }
1384
+ _prepareChildren() {
1385
+ super._prepareChildren();
1386
+ let t = !1;
1387
+ if (this.get("orientation") == "vertical" && (t = !0), this.isDirty("orientation") || this.isDirty("linkTension")) {
1388
+ const e = this.get("linkTension", 0.5);
1389
+ t ? (this._fillGenerator.curve(We(e)), this._strokeGenerator.curve(We(e))) : (this._fillGenerator.curve(ze(e)), this._strokeGenerator.curve(ze(e)));
1390
+ }
1391
+ if ((this._valuesDirty || this._sizeDirty || this.isDirty("nodePadding") || this.isDirty("nodeWidth") || this.isDirty("nodeAlign") || this.isDirty("nodeSort") || this.isDirty("orientation") || this.isDirty("linkTension") || this.isDirty("linkSort")) && this._nodesData.length > 0) {
1392
+ const e = this._d3Sankey;
1393
+ let s = this.innerWidth(), n = this.innerHeight();
1394
+ switch (t && ([s, n] = [n, s]), e.size([s, n]), e.nodePadding(this.get("nodePadding", 10)), e.nodeWidth(this.get("nodeWidth", 10)), e.nodeSort(this.get("nodeSort", null)), e.linkSort(this.get("linkSort")), this.get("nodeAlign")) {
1395
+ case "right":
1396
+ e.nodeAlign(Ft);
1397
+ break;
1398
+ case "justify":
1399
+ e.nodeAlign(it);
1400
+ break;
1401
+ case "center":
1402
+ e.nodeAlign(Ot);
1403
+ break;
1404
+ default:
1405
+ e.nodeAlign(It);
1406
+ break;
1407
+ }
1408
+ this._d3Graph = e({ nodes: this._nodesData, links: this._linksData }), N(this.dataItems, (a) => {
1409
+ const r = a.get("link");
1410
+ r.setPrivate("orientation", this.get("orientation")), r.markDirty();
1411
+ });
1412
+ const i = this._d3Graph;
1413
+ if (i) {
1414
+ const a = i.nodes;
1415
+ N(a, (r) => {
1416
+ const o = r.dataItem, l = o.get("node");
1417
+ let g, f, D, _;
1418
+ t ? (g = r.y0, f = r.y1, D = r.x0, _ = r.x1) : (g = r.x0, f = r.x1, D = r.y0, _ = r.y1), $(g) && $(f) && $(D) && $(_) && (l.setAll({ x: g, y: D, width: f - g, height: _ - D }), o.get("rectangle").setAll({ width: f - g, height: _ - D }));
1419
+ });
1420
+ }
1421
+ }
1422
+ }
1423
+ }
1424
+ Pe.className = "Sankey";
1425
+ Pe.classNames = H.classNames.concat([Pe.className]);
1426
+ class we extends Y {
1427
+ constructor() {
1428
+ super(...arguments), this.labels = this.addDisposer(new O(B.new({}), () => Qe._new(this._root, {}, [this.labels.template]))), this._dAngle = 0, this.circles = this.addDisposer(new O(B.new({}), () => wt._new(this._root, { themeTags: ["shape"] }, [this.circles.template])));
1429
+ }
1430
+ /**
1431
+ * @ignore
1432
+ */
1433
+ makeNode(t) {
1434
+ const e = super.makeNode(t, "ArcDiagram"), s = e.children.insertIndex(0, this.circles.make());
1435
+ t.set("circle", s), s._setSoft("fill", t.get("fill")), s._setSoft("fillPattern", t.get("fillPattern"));
1436
+ const n = this.labels.make();
1437
+ return this.labels.push(n), n.addTag("flow"), n.addTag("arcdiagram"), n.addTag("node"), e.children.push(n), t.set("label", n), n._setDataItem(t), s._setDataItem(t), e;
1438
+ }
1439
+ /**
1440
+ * @ignore
1441
+ */
1442
+ disposeDataItem(t) {
1443
+ super.disposeDataItem(t);
1444
+ let e = t.get("circle");
1445
+ e && (this.circles.removeValue(e), e.dispose());
1446
+ }
1447
+ _updateNodeColor(t) {
1448
+ const e = t.get("circle");
1449
+ e && (e.set("fill", t.get("fill")), e.set("fillPattern", t.get("fillPattern")));
1450
+ }
1451
+ }
1452
+ we.className = "ArcDiagramNodes";
1453
+ we.classNames = Y.classNames.concat([we.className]);
1454
+ class xe extends X {
1455
+ constructor() {
1456
+ super(...arguments), this._radius = 0;
1457
+ }
1458
+ _beforeChanged() {
1459
+ if (super._beforeChanged(), this.isDirty("source")) {
1460
+ const t = this.get("source");
1461
+ if (t) {
1462
+ const e = t.get("node");
1463
+ this._disposers.push(e.events.on("positionchanged", () => {
1464
+ this._markDirtyKey("stroke");
1465
+ }));
1466
+ }
1467
+ }
1468
+ if (this.isDirty("target")) {
1469
+ const t = this.get("target");
1470
+ if (t) {
1471
+ const e = t.get("node");
1472
+ this._disposers.push(e.events.on("positionchanged", () => {
1473
+ this._markDirtyKey("stroke");
1474
+ }));
1475
+ }
1476
+ }
1477
+ if (this.isPrivateDirty("orientation")) {
1478
+ const t = this.series, e = this.dataItem;
1479
+ e && t && t._updateLinkColor(e);
1480
+ }
1481
+ this.series && this.dataItem && this.series._positionBullets(this.dataItem), this.get("strokeStyle") == "gradient" ? this.set("isMeasured", !0) : this.set("isMeasured", !1);
1482
+ }
1483
+ _changed() {
1484
+ super._changed(), this._clear && this._draw();
1485
+ }
1486
+ _draw() {
1487
+ const t = this.get("target"), e = this.get("source");
1488
+ if (e && t) {
1489
+ let s = e.get("node"), n = t.get("node");
1490
+ const i = s.x(), a = s.y(), r = n.x(), o = n.y();
1491
+ this._p0 = { x: i, y: a }, this._p1 = { x: r, y: o };
1492
+ let l = 0;
1493
+ if (this.getPrivate("orientation") == "vertical") {
1494
+ l = (o - a) / 2;
1495
+ let g = 1;
1496
+ a > o && (g = -1), this._display.arc(i, a + l, l * g, -Math.PI / 2, Math.PI / 2);
1497
+ } else {
1498
+ l = (r - i) / 2;
1499
+ let g = 1;
1500
+ i > r && (g = -1), this._display.arc(i + l, a, l * g, -Math.PI, 0);
1501
+ }
1502
+ this._radius = l;
1503
+ }
1504
+ }
1505
+ getPoint(t) {
1506
+ if (this._p0 && this._p1) {
1507
+ const e = this._radius;
1508
+ if (this.getPrivate("orientation") == "vertical") {
1509
+ let s = -90 + 180 * t;
1510
+ return { y: this._p0.y + e + e * G(s), x: e * M(s), angle: s + 90 };
1511
+ } else {
1512
+ let s = 180 + 180 * t;
1513
+ return { x: this._p0.x + e + e * M(s), y: e * G(s), angle: s + 90 };
1514
+ }
1515
+ }
1516
+ return { x: 0, y: 0, angle: 0 };
1517
+ }
1518
+ }
1519
+ xe.className = "ArcDiagramLink";
1520
+ xe.classNames = X.classNames.concat([xe.className]);
1521
+ class Re extends H {
1522
+ constructor() {
1523
+ super(...arguments), this.links = this.addDisposer(new O(B.new({}), () => xe._new(this._root, { themeTags: ["link", "shape"] }, [this.links.template]))), this.nodes = this.children.push(we.new(this._root, {}));
1524
+ }
1525
+ _afterNew() {
1526
+ this._settings.themeTags = le(this._settings.themeTags, ["arcdiagram", this._settings.orientation || "horizontal"]), super._afterNew(), this.nodes.children.push(this.bulletsContainer);
1527
+ }
1528
+ /**
1529
+ * @ignore
1530
+ */
1531
+ makeLink(t) {
1532
+ const e = this.nodes.children.moveValue(this.links.make(), 0);
1533
+ return this.links.push(e), e._setDataItem(t), e.set("source", t.get("source")), e.set("target", t.get("target")), e.series = this, e;
1534
+ }
1535
+ _prepareChildren() {
1536
+ if (super._prepareChildren(), this._valuesDirty || this._sizeDirty || this.isDirty("orientation")) {
1537
+ let t = 1;
1538
+ const e = this.get("orientation");
1539
+ N(this.dataItems, (p) => {
1540
+ p.get("link").setPrivate("orientation", this.get("orientation"));
1541
+ }), e == "vertical" ? t = this.innerHeight() : t = this.innerWidth();
1542
+ let s = 0, n = 1 / 0, i = this.get("radiusKey");
1543
+ i != "none" && N(this.nodes.dataItems, (p) => {
1544
+ let x = p.get(i + "Working");
1545
+ s += x, n = Math.min(n, x);
1546
+ });
1547
+ const a = this.nodes.dataItems.length, r = this.get("nodePadding", 10), o = this.get("minRadius", 5);
1548
+ t = t - a * (r + o * 2), t <= 0 && (t = 0);
1549
+ let l = s - a * n, g = t / l, f = 0;
1550
+ const D = this.get("animationDuration", 0), _ = this.get("animationEasing");
1551
+ N(this.nodes.dataItems, (p) => {
1552
+ let x = p.get(i + "Working");
1553
+ const u = p.get("node");
1554
+ let b = o + g * (x - n) / 2;
1555
+ if (i == "none" && (b = o + t / a / 2), e == "vertical") {
1556
+ u.set("x", 0);
1557
+ const S = f + r + b;
1558
+ u.y() == 0 ? u.set("y", S) : u.animate({ key: "y", to: S, duration: D, easing: _ });
1559
+ } else {
1560
+ u.set("y", 0);
1561
+ const S = f + r + b;
1562
+ u.x() == 0 ? u.set("x", S) : u.animate({ key: "x", to: S, duration: D, easing: _ });
1563
+ }
1564
+ f = f + r + b * 2, p.get("circle").set("radius", b);
1565
+ });
1566
+ }
1567
+ }
1568
+ _updateLinkColor(t) {
1569
+ super._updateLinkColor(t);
1570
+ const e = this.get("orientation"), s = t.get("link")._fillGradient, n = t.get("link")._strokeGradient;
1571
+ e == "vertical" ? (s && s.set("rotation", 90), n && n.set("rotation", 90)) : (s && s.set("rotation", 0), n && n.set("rotation", 0));
1572
+ }
1573
+ }
1574
+ Re.className = "ArcDiagram";
1575
+ Re.classNames = H.classNames.concat([Re.className]);
1576
+ export {
1577
+ Re as ArcDiagram,
1578
+ xe as ArcDiagramLink,
1579
+ we as ArcDiagramNodes,
1580
+ se as Chord,
1581
+ Te as ChordDirected,
1582
+ ae as ChordLink,
1583
+ ke as ChordLinkDirected,
1584
+ pe as ChordNodes,
1585
+ Ce as ChordNonRibbon,
1586
+ xt as DefaultTheme,
1587
+ H as Flow,
1588
+ X as FlowLink,
1589
+ fe as FlowNode,
1590
+ Y as FlowNodes,
1591
+ Pe as Sankey,
1592
+ ye as SankeyLink,
1593
+ me as SankeyNodes
1594
+ };