@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,966 @@
1
+ import { D as ge, x as Y, al as ve, q as $, J as ie, C as K, G as Q, L as U, T as j, m as ee, b as xe, e as k, b4 as ye, _ as te, a as ne, v as de } from "./am-chart.oZVBmpnn.js";
2
+ import "./index.DcjJFMlq.js";
3
+ class ce extends ge {
4
+ setupDefaultRules() {
5
+ super.setupDefaultRules();
6
+ const e = this.rule.bind(this);
7
+ e("Venn").setAll({
8
+ legendLabelText: "{category}",
9
+ legendValueText: "{value}",
10
+ colors: ve.new(this._root, {}),
11
+ width: Y,
12
+ height: Y
13
+ }), e("Label", ["venn"]).setAll({
14
+ text: "{category}",
15
+ populateText: !0,
16
+ centerX: $,
17
+ centerY: $
18
+ });
19
+ }
20
+ }
21
+ var re = 1e-10;
22
+ function W(n, e) {
23
+ var s = pe(n), t = s.filter(function(R) {
24
+ return me(R, n);
25
+ }), i = 0, r = 0, a = [], o;
26
+ if (t.length > 1) {
27
+ var f = fe(t);
28
+ for (o = 0; o < t.length; ++o) {
29
+ var h = t[o];
30
+ h.angle = Math.atan2(h.x - f.x, h.y - f.y);
31
+ }
32
+ t.sort(function(R, _) {
33
+ return _.angle - R.angle;
34
+ });
35
+ var u = t[t.length - 1];
36
+ for (o = 0; o < t.length; ++o) {
37
+ var l = t[o];
38
+ r += (u.x + l.x) * (l.y - u.y);
39
+ for (var x = {
40
+ x: (l.x + u.x) / 2,
41
+ y: (l.y + u.y) / 2
42
+ }, y = null, g = 0; g < l.parentIndex.length; ++g)
43
+ if (u.parentIndex.indexOf(l.parentIndex[g]) > -1) {
44
+ var v = n[l.parentIndex[g]], c = Math.atan2(l.x - v.x, l.y - v.y), p = Math.atan2(u.x - v.x, u.y - v.y), b = p - c;
45
+ b < 0 && (b += 2 * Math.PI);
46
+ var M = p - b / 2, m = z(x, {
47
+ x: v.x + v.radius * Math.sin(M),
48
+ y: v.y + v.radius * Math.cos(M)
49
+ });
50
+ m > v.radius * 2 && (m = v.radius * 2), (y === null || y.width > m) && (y = {
51
+ circle: v,
52
+ width: m,
53
+ p1: l,
54
+ p2: u
55
+ });
56
+ }
57
+ y !== null && (a.push(y), i += q(y.circle.radius, y.width), u = l);
58
+ }
59
+ } else {
60
+ var d = n[0];
61
+ for (o = 1; o < n.length; ++o)
62
+ n[o].radius < d.radius && (d = n[o]);
63
+ var D = !1;
64
+ for (o = 0; o < n.length; ++o)
65
+ if (z(n[o], d) > Math.abs(d.radius - n[o].radius)) {
66
+ D = !0;
67
+ break;
68
+ }
69
+ D ? i = r = 0 : (i = d.radius * d.radius * Math.PI, a.push({
70
+ circle: d,
71
+ p1: { x: d.x, y: d.y + d.radius },
72
+ p2: { x: d.x - re, y: d.y + d.radius },
73
+ width: d.radius * 2
74
+ }));
75
+ }
76
+ return r /= 2, e && (e.area = i + r, e.arcArea = i, e.polygonArea = r, e.arcs = a, e.innerPoints = t, e.intersectionPoints = s), i + r;
77
+ }
78
+ function me(n, e) {
79
+ for (var s = 0; s < e.length; ++s)
80
+ if (z(n, e[s]) > e[s].radius + re)
81
+ return !1;
82
+ return !0;
83
+ }
84
+ function pe(n) {
85
+ for (var e = [], s = 0; s < n.length; ++s)
86
+ for (var t = s + 1; t < n.length; ++t)
87
+ for (var i = oe(
88
+ n[s],
89
+ n[t]
90
+ ), r = 0; r < i.length; ++r) {
91
+ var a = i[r];
92
+ a.parentIndex = [s, t], e.push(a);
93
+ }
94
+ return e;
95
+ }
96
+ function q(n, e) {
97
+ return n * n * Math.acos(1 - e / n) - (n - e) * Math.sqrt(e * (2 * n - e));
98
+ }
99
+ function z(n, e) {
100
+ return Math.sqrt((n.x - e.x) * (n.x - e.x) + (n.y - e.y) * (n.y - e.y));
101
+ }
102
+ function ae(n, e, s) {
103
+ if (s >= n + e)
104
+ return 0;
105
+ if (s <= Math.abs(n - e))
106
+ return Math.PI * Math.min(n, e) * Math.min(n, e);
107
+ var t = n - (s * s - e * e + n * n) / (2 * s), i = e - (s * s - n * n + e * e) / (2 * s);
108
+ return q(n, t) + q(e, i);
109
+ }
110
+ function oe(n, e) {
111
+ var s = z(n, e), t = n.radius, i = e.radius;
112
+ if (s >= t + i || s <= Math.abs(t - i))
113
+ return [];
114
+ var r = (t * t - i * i + s * s) / (2 * s), a = Math.sqrt(t * t - r * r), o = n.x + r * (e.x - n.x) / s, f = n.y + r * (e.y - n.y) / s, h = -(e.y - n.y) * (a / s), u = -(e.x - n.x) * (a / s);
115
+ return [
116
+ { x: o + h, y: f - u },
117
+ { x: o - h, y: f + u }
118
+ ];
119
+ }
120
+ function fe(n) {
121
+ for (var e = { x: 0, y: 0 }, s = 0; s < n.length; ++s)
122
+ e.x += n[s].x, e.y += n[s].y;
123
+ return e.x /= n.length, e.y /= n.length, e;
124
+ }
125
+ function Me(n, e, s, t) {
126
+ t = t || {};
127
+ var i = t.maxIterations || 100, r = t.tolerance || 1e-10, a = n(e), o = n(s), f = s - e;
128
+ if (a * o > 0)
129
+ throw "Initial bisect points must have opposite signs";
130
+ if (a === 0) return e;
131
+ if (o === 0) return s;
132
+ for (var h = 0; h < i; ++h) {
133
+ f /= 2;
134
+ var u = e + f, l = n(u);
135
+ if (l * a >= 0 && (e = u), Math.abs(f) < r || l === 0)
136
+ return u;
137
+ }
138
+ return e + f;
139
+ }
140
+ function F(n) {
141
+ for (var e = new Array(n), s = 0; s < n; ++s)
142
+ e[s] = 0;
143
+ return e;
144
+ }
145
+ function se(n, e) {
146
+ return F(n).map(function() {
147
+ return F(e);
148
+ });
149
+ }
150
+ function T(n, e) {
151
+ for (var s = 0, t = 0; t < n.length; ++t)
152
+ s += n[t] * e[t];
153
+ return s;
154
+ }
155
+ function G(n) {
156
+ return Math.sqrt(T(n, n));
157
+ }
158
+ function H(n, e, s) {
159
+ for (var t = 0; t < e.length; ++t)
160
+ n[t] = e[t] * s;
161
+ }
162
+ function A(n, e, s, t, i) {
163
+ for (var r = 0; r < n.length; ++r)
164
+ n[r] = e * s[r] + t * i[r];
165
+ }
166
+ function he(n, e, s) {
167
+ s = s || {};
168
+ var t = s.maxIterations || e.length * 200, i = s.nonZeroDelta || 1.05, r = s.zeroDelta || 1e-3, a = s.minErrorDelta || 1e-6, o = s.minErrorDelta || 1e-5, f = s.rho !== void 0 ? s.rho : 1, h = s.chi !== void 0 ? s.chi : 2, u = s.psi !== void 0 ? s.psi : -0.5, l = s.sigma !== void 0 ? s.sigma : 0.5, x, y = e.length, g = new Array(y + 1);
169
+ g[0] = e, g[0].fx = n(e), g[0].id = 0;
170
+ for (var v = 0; v < y; ++v) {
171
+ var c = e.slice();
172
+ c[v] = c[v] ? c[v] * i : r, g[v + 1] = c, g[v + 1].fx = n(c), g[v + 1].id = v + 1;
173
+ }
174
+ function p(w) {
175
+ for (var P = 0; P < w.length; P++)
176
+ g[y][P] = w[P];
177
+ g[y].fx = w.fx;
178
+ }
179
+ for (var b = function(w, P) {
180
+ return w.fx - P.fx;
181
+ }, M = e.slice(), m = e.slice(), d = e.slice(), D = e.slice(), R = 0; R < t; ++R) {
182
+ if (g.sort(b), s.history) {
183
+ var _ = g.map(function(w) {
184
+ var P = w.slice();
185
+ return P.fx = w.fx, P.id = w.id, P;
186
+ });
187
+ _.sort(function(w, P) {
188
+ return w.id - P.id;
189
+ }), s.history.push({
190
+ x: g[0].slice(),
191
+ fx: g[0].fx,
192
+ simplex: _
193
+ });
194
+ }
195
+ for (x = 0, v = 0; v < y; ++v)
196
+ x = Math.max(x, Math.abs(g[0][v] - g[1][v]));
197
+ if (Math.abs(g[0].fx - g[y].fx) < a && x < o)
198
+ break;
199
+ for (v = 0; v < y; ++v) {
200
+ M[v] = 0;
201
+ for (var L = 0; L < y; ++L)
202
+ M[v] += g[L][v];
203
+ M[v] /= y;
204
+ }
205
+ var C = g[y];
206
+ if (A(m, 1 + f, M, -f, C), m.fx = n(m), m.fx < g[0].fx)
207
+ A(D, 1 + h, M, -h, C), D.fx = n(D), D.fx < m.fx ? p(D) : p(m);
208
+ else if (m.fx >= g[y - 1].fx) {
209
+ var I = !1;
210
+ if (m.fx > C.fx ? (A(d, 1 + u, M, -u, C), d.fx = n(d), d.fx < C.fx ? p(d) : I = !0) : (A(d, 1 - u * f, M, u * f, C), d.fx = n(d), d.fx < m.fx ? p(d) : I = !0), I) {
211
+ if (l >= 1) break;
212
+ for (v = 1; v < g.length; ++v)
213
+ A(g[v], 1 - l, g[0], l, g[v]), g[v].fx = n(g[v]);
214
+ }
215
+ } else
216
+ p(m);
217
+ }
218
+ return g.sort(b), {
219
+ fx: g[0].fx,
220
+ x: g[0]
221
+ };
222
+ }
223
+ function be(n, e, s, t, i, r, a) {
224
+ var o = s.fx, f = T(s.fxprime, e), h = o, u = o, l = f, x = 0;
225
+ i = i || 1, r = r || 1e-6, a = a || 0.1;
226
+ function y(v, c, p) {
227
+ for (var b = 0; b < 16; ++b)
228
+ if (i = (v + c) / 2, A(t.x, 1, s.x, i, e), h = t.fx = n(t.x, t.fxprime), l = T(t.fxprime, e), h > o + r * i * f || h >= p)
229
+ c = i;
230
+ else {
231
+ if (Math.abs(l) <= -a * f)
232
+ return i;
233
+ l * (c - v) >= 0 && (c = v), v = i, p = h;
234
+ }
235
+ return 0;
236
+ }
237
+ for (var g = 0; g < 10; ++g) {
238
+ if (A(t.x, 1, s.x, i, e), h = t.fx = n(t.x, t.fxprime), l = T(t.fxprime, e), h > o + r * i * f || g && h >= u)
239
+ return y(x, i, u);
240
+ if (Math.abs(l) <= -a * f)
241
+ return i;
242
+ if (l >= 0)
243
+ return y(i, x, h);
244
+ u = h, x = i, i *= 2;
245
+ }
246
+ return i;
247
+ }
248
+ function De(n, e, s) {
249
+ var t = { x: e.slice(), fx: 0, fxprime: e.slice() }, i = { x: e.slice(), fx: 0, fxprime: e.slice() }, r = e.slice(), a, o, f = 1, h;
250
+ s = s || {}, h = s.maxIterations || e.length * 20, t.fx = n(t.x, t.fxprime), a = t.fxprime.slice(), H(a, t.fxprime, -1);
251
+ for (var u = 0; u < h; ++u) {
252
+ if (f = be(n, a, t, i, f), s.history && s.history.push({
253
+ x: t.x.slice(),
254
+ fx: t.fx,
255
+ fxprime: t.fxprime.slice(),
256
+ alpha: f
257
+ }), !f)
258
+ H(a, t.fxprime, -1);
259
+ else {
260
+ A(r, 1, i.fxprime, -1, t.fxprime);
261
+ var l = T(t.fxprime, t.fxprime), x = Math.max(0, T(r, i.fxprime) / l);
262
+ A(a, x, a, -1, i.fxprime), o = t, t = i, i = o;
263
+ }
264
+ if (G(t.fxprime) <= 1e-5)
265
+ break;
266
+ }
267
+ return s.history && s.history.push({
268
+ x: t.x.slice(),
269
+ fx: t.fx,
270
+ fxprime: t.fxprime.slice(),
271
+ alpha: f
272
+ }), t;
273
+ }
274
+ function we(n, e) {
275
+ e = e || {}, e.maxIterations = e.maxIterations || 500;
276
+ var s = e.initialLayout || _e, t = e.lossFunction || Z;
277
+ n = Pe(n);
278
+ var i = s(n, e), r = [], a = [], o;
279
+ for (o in i)
280
+ i.hasOwnProperty(o) && (r.push(i[o].x), r.push(i[o].y), a.push(o));
281
+ for (var f = he(
282
+ function(l) {
283
+ for (var x = {}, y = 0; y < a.length; ++y) {
284
+ var g = a[y];
285
+ x[g] = {
286
+ x: l[2 * y],
287
+ y: l[2 * y + 1],
288
+ radius: i[g].radius
289
+ // size : circles[setid].size
290
+ };
291
+ }
292
+ return t(x, n);
293
+ },
294
+ r,
295
+ e
296
+ ), h = f.x, u = 0; u < a.length; ++u)
297
+ o = a[u], i[o].x = h[2 * u], i[o].y = h[2 * u + 1];
298
+ return i;
299
+ }
300
+ var ue = 1e-10;
301
+ function V(n, e, s) {
302
+ return Math.min(n, e) * Math.min(n, e) * Math.PI <= s + ue ? Math.abs(n - e) : Me(function(t) {
303
+ return ae(n, e, t) - s;
304
+ }, 0, n + e);
305
+ }
306
+ function Pe(n) {
307
+ n = n.slice();
308
+ var e = [], s = {}, t, i, r, a;
309
+ for (t = 0; t < n.length; ++t) {
310
+ var o = n[t];
311
+ o.sets.length == 1 ? e.push(o.sets[0]) : o.sets.length == 2 && (r = o.sets[0], a = o.sets[1], s[[r, a]] = !0, s[[a, r]] = !0);
312
+ }
313
+ for (e.sort(function(f, h) {
314
+ return f > h;
315
+ }), t = 0; t < e.length; ++t)
316
+ for (r = e[t], i = t + 1; i < e.length; ++i)
317
+ a = e[i], [r, a] in s || n.push({
318
+ sets: [r, a],
319
+ size: 0
320
+ });
321
+ return n;
322
+ }
323
+ function ze(n, e, s) {
324
+ var t = se(e.length, e.length), i = se(e.length, e.length);
325
+ return n.filter(function(r) {
326
+ return r.sets.length == 2;
327
+ }).map(function(r) {
328
+ var a = s[r.sets[0]], o = s[r.sets[1]], f = Math.sqrt(e[a].size / Math.PI), h = Math.sqrt(e[o].size / Math.PI), u = V(f, h, r.size);
329
+ t[a][o] = t[o][a] = u;
330
+ var l = 0;
331
+ r.size + 1e-10 >= Math.min(
332
+ e[a].size,
333
+ e[o].size
334
+ ) ? l = 1 : r.size <= 1e-10 && (l = -1), i[a][o] = i[o][a] = l;
335
+ }), { distances: t, constraints: i };
336
+ }
337
+ function Re(n, e, s, t) {
338
+ var i = 0, r;
339
+ for (r = 0; r < e.length; ++r)
340
+ e[r] = 0;
341
+ for (r = 0; r < s.length; ++r)
342
+ for (var a = n[2 * r], o = n[2 * r + 1], f = r + 1; f < s.length; ++f) {
343
+ var h = n[2 * f], u = n[2 * f + 1], l = s[r][f], x = t[r][f], y = (h - a) * (h - a) + (u - o) * (u - o), g = Math.sqrt(y), v = y - l * l;
344
+ x > 0 && g <= l || x < 0 && g >= l || (i += 2 * v * v, e[2 * r] += 4 * v * (a - h), e[2 * r + 1] += 4 * v * (o - u), e[2 * f] += 4 * v * (h - a), e[2 * f + 1] += 4 * v * (u - o));
345
+ }
346
+ return i;
347
+ }
348
+ function _e(n, e) {
349
+ var s = Ce(n, e), t = e.lossFunction || Z;
350
+ if (n.length >= 8) {
351
+ var i = Ae(n, e), r = t(i, n), a = t(s, n);
352
+ r + 1e-8 < a && (s = i);
353
+ }
354
+ return s;
355
+ }
356
+ function Ae(n, e) {
357
+ e = e || {};
358
+ var s = e.restarts || 10, t = [], i = {}, r;
359
+ for (r = 0; r < n.length; ++r) {
360
+ var a = n[r];
361
+ a.sets.length == 1 && (i[a.sets[0]] = t.length, t.push(a));
362
+ }
363
+ var o = ze(n, t, i), f = o.distances, h = o.constraints, u = G(f.map(G)) / f.length;
364
+ f = f.map(function(b) {
365
+ return b.map(function(M) {
366
+ return M / u;
367
+ });
368
+ });
369
+ var l = function(b, M) {
370
+ return Re(b, M, f, h);
371
+ }, x, y;
372
+ for (r = 0; r < s; ++r) {
373
+ var g = F(f.length * 2).map(Math.random);
374
+ y = De(l, g, e), (!x || y.fx < x.fx) && (x = y);
375
+ }
376
+ var v = x.x, c = {};
377
+ for (r = 0; r < t.length; ++r) {
378
+ var p = t[r];
379
+ c[p.sets[0]] = {
380
+ x: v[2 * r] * u,
381
+ y: v[2 * r + 1] * u,
382
+ radius: Math.sqrt(p.size / Math.PI)
383
+ };
384
+ }
385
+ if (e.history)
386
+ for (r = 0; r < e.history.length; ++r)
387
+ H(e.history[r].x, u);
388
+ return c;
389
+ }
390
+ function Ce(n, e) {
391
+ for (var s = e && e.lossFunction ? e.lossFunction : Z, t = {}, i = {}, r, a = 0; a < n.length; ++a) {
392
+ var o = n[a];
393
+ o.sets.length == 1 && (r = o.sets[0], t[r] = {
394
+ x: 1e10,
395
+ y: 1e10,
396
+ rowid: t.length,
397
+ size: o.size,
398
+ radius: Math.sqrt(o.size / Math.PI)
399
+ }, i[r] = []);
400
+ }
401
+ for (n = n.filter(function(O) {
402
+ return O.sets.length == 2;
403
+ }), a = 0; a < n.length; ++a) {
404
+ var f = n[a], h = f.hasOwnProperty("weight") ? f.weight : 1, u = f.sets[0], l = f.sets[1];
405
+ f.size + ue >= Math.min(
406
+ t[u].size,
407
+ t[l].size
408
+ ) && (h = 0), i[u].push({ set: l, size: f.size, weight: h }), i[l].push({ set: u, size: f.size, weight: h });
409
+ }
410
+ var x = [];
411
+ for (r in i)
412
+ if (i.hasOwnProperty(r)) {
413
+ var y = 0;
414
+ for (a = 0; a < i[r].length; ++a)
415
+ y += i[r][a].size * i[r][a].weight;
416
+ x.push({ set: r, size: y });
417
+ }
418
+ function g(O, S) {
419
+ return S.size - O.size;
420
+ }
421
+ x.sort(g);
422
+ var v = {};
423
+ function c(O) {
424
+ return O.set in v;
425
+ }
426
+ function p(O, S) {
427
+ t[S].x = O.x, t[S].y = O.y, v[S] = !0;
428
+ }
429
+ for (p({ x: 0, y: 0 }, x[0].set), a = 1; a < x.length; ++a) {
430
+ var b = x[a].set, M = i[b].filter(c);
431
+ if (r = t[b], M.sort(g), M.length === 0)
432
+ throw "ERROR: missing pairwise overlap information";
433
+ for (var m = [], d = 0; d < M.length; ++d) {
434
+ var D = t[M[d].set], R = V(
435
+ r.radius,
436
+ D.radius,
437
+ M[d].size
438
+ );
439
+ m.push({ x: D.x + R, y: D.y }), m.push({ x: D.x - R, y: D.y }), m.push({ y: D.y + R, x: D.x }), m.push({ y: D.y - R, x: D.x });
440
+ for (var _ = d + 1; _ < M.length; ++_)
441
+ for (var L = t[M[_].set], C = V(
442
+ r.radius,
443
+ L.radius,
444
+ M[_].size
445
+ ), I = oe(
446
+ { x: D.x, y: D.y, radius: R },
447
+ { x: L.x, y: L.y, radius: C }
448
+ ), w = 0; w < I.length; ++w)
449
+ m.push(I[w]);
450
+ }
451
+ var P = 1e50, J = m[0];
452
+ for (d = 0; d < m.length; ++d) {
453
+ t[b].x = m[d].x, t[b].y = m[d].y;
454
+ var X = s(t, n);
455
+ X < P && (P = X, J = m[d]);
456
+ }
457
+ p(J, b);
458
+ }
459
+ return t;
460
+ }
461
+ function Z(n, e) {
462
+ var s = 0;
463
+ function t(u) {
464
+ return u.map(function(l) {
465
+ return n[l];
466
+ });
467
+ }
468
+ for (var i = 0; i < e.length; ++i) {
469
+ var r = e[i], a;
470
+ if (r.sets.length != 1) {
471
+ if (r.sets.length == 2) {
472
+ var o = n[r.sets[0]], f = n[r.sets[1]];
473
+ a = ae(
474
+ o.radius,
475
+ f.radius,
476
+ z(o, f)
477
+ );
478
+ } else
479
+ a = W(t(r.sets));
480
+ var h = r.hasOwnProperty("weight") ? r.weight : 1;
481
+ s += h * (a - r.size) * (a - r.size);
482
+ }
483
+ }
484
+ return s;
485
+ }
486
+ function Oe(n, e, s) {
487
+ n.sort(function(v, c) {
488
+ return c.radius - v.radius;
489
+ });
490
+ var t;
491
+ if (n.length > 0) {
492
+ var i = n[0].x, r = n[0].y;
493
+ for (t = 0; t < n.length; ++t)
494
+ n[t].x -= i, n[t].y -= r;
495
+ }
496
+ if (n.length == 2) {
497
+ var a = z(n[0], n[1]);
498
+ a < Math.abs(n[1].radius - n[0].radius) && (n[1].x = n[0].x + n[0].radius - n[1].radius - 1e-10, n[1].y = n[0].y);
499
+ }
500
+ if (n.length > 1) {
501
+ var o = Math.atan2(n[1].x, n[1].y) - e, f = Math.cos(o), h = Math.sin(o), u, l;
502
+ for (t = 0; t < n.length; ++t)
503
+ u = n[t].x, l = n[t].y, n[t].x = f * u - h * l, n[t].y = h * u + f * l;
504
+ }
505
+ if (n.length > 2) {
506
+ for (var x = Math.atan2(n[2].x, n[2].y) - e; x < 0; )
507
+ x += 2 * Math.PI;
508
+ for (; x > 2 * Math.PI; )
509
+ x -= 2 * Math.PI;
510
+ if (x > Math.PI) {
511
+ var y = n[1].y / (1e-10 + n[1].x);
512
+ for (t = 0; t < n.length; ++t) {
513
+ var g = (n[t].x + y * n[t].y) / (1 + y * y);
514
+ n[t].x = 2 * g - n[t].x, n[t].y = 2 * g * y - n[t].y;
515
+ }
516
+ }
517
+ }
518
+ }
519
+ function Le(n) {
520
+ n.map(function(h) {
521
+ h.parent = h;
522
+ });
523
+ function e(h) {
524
+ return h.parent !== h && (h.parent = e(h.parent)), h.parent;
525
+ }
526
+ function s(h, u) {
527
+ var l = e(h), x = e(u);
528
+ l.parent = x;
529
+ }
530
+ for (var t = 0; t < n.length; ++t)
531
+ for (var i = t + 1; i < n.length; ++i) {
532
+ var r = n[t].radius + n[i].radius;
533
+ z(n[t], n[i]) + 1e-10 < r && s(n[i], n[t]);
534
+ }
535
+ var a = {}, o;
536
+ for (t = 0; t < n.length; ++t)
537
+ o = e(n[t]).parent.setid, o in a || (a[o] = []), a[o].push(n[t]);
538
+ n.map(function(h) {
539
+ delete h.parent;
540
+ });
541
+ var f = [];
542
+ for (o in a)
543
+ a.hasOwnProperty(o) && f.push(a[o]);
544
+ return f;
545
+ }
546
+ function B(n) {
547
+ var e = function(s) {
548
+ var t = Math.max.apply(null, n.map(
549
+ function(r) {
550
+ return r[s] + r.radius;
551
+ }
552
+ )), i = Math.min.apply(null, n.map(
553
+ function(r) {
554
+ return r[s] - r.radius;
555
+ }
556
+ ));
557
+ return { max: t, min: i };
558
+ };
559
+ return { xRange: e("x"), yRange: e("y") };
560
+ }
561
+ function ke(n, e, s) {
562
+ e === null && (e = Math.PI / 2);
563
+ var t = [], i, r;
564
+ for (r in n)
565
+ if (n.hasOwnProperty(r)) {
566
+ var a = n[r];
567
+ t.push({
568
+ x: a.x,
569
+ y: a.y,
570
+ radius: a.radius,
571
+ setid: r
572
+ });
573
+ }
574
+ var o = Le(t);
575
+ for (i = 0; i < o.length; ++i) {
576
+ Oe(o[i], e);
577
+ var f = B(o[i]);
578
+ o[i].size = (f.xRange.max - f.xRange.min) * (f.yRange.max - f.yRange.min), o[i].bounds = f;
579
+ }
580
+ o.sort(function(g, v) {
581
+ return v.size - g.size;
582
+ }), t = o[0];
583
+ var h = t.bounds, u = (h.xRange.max - h.xRange.min) / 50;
584
+ function l(g, v, c) {
585
+ if (g) {
586
+ var p = g.bounds, b, M, m;
587
+ v ? b = h.xRange.max - p.xRange.min + u : (b = h.xRange.max - p.xRange.max, m = (p.xRange.max - p.xRange.min) / 2 - (h.xRange.max - h.xRange.min) / 2, m < 0 && (b += m)), c ? M = h.yRange.max - p.yRange.min + u : (M = h.yRange.max - p.yRange.max, m = (p.yRange.max - p.yRange.min) / 2 - (h.yRange.max - h.yRange.min) / 2, m < 0 && (M += m));
588
+ for (var d = 0; d < g.length; ++d)
589
+ g[d].x += b, g[d].y += M, t.push(g[d]);
590
+ }
591
+ }
592
+ for (var x = 1; x < o.length; )
593
+ l(o[x], !0, !1), l(o[x + 1], !1, !0), l(o[x + 2], !0, !0), x += 3, h = B(t);
594
+ var y = {};
595
+ for (i = 0; i < t.length; ++i)
596
+ y[t[i].setid] = t[i];
597
+ return y;
598
+ }
599
+ function Ie(n, e, s, t) {
600
+ var i = [], r = [];
601
+ for (var a in n)
602
+ n.hasOwnProperty(a) && (r.push(a), i.push(n[a]));
603
+ e -= 2 * t, s -= 2 * t;
604
+ var o = B(i), f = o.xRange, h = o.yRange;
605
+ if (f.max == f.min || h.max == h.min)
606
+ return console.log("not scaling solution: zero size detected"), n;
607
+ for (var u = e / (f.max - f.min), l = s / (h.max - h.min), x = Math.min(l, u), y = (e - (f.max - f.min) * x) / 2, g = (s - (h.max - h.min) * x) / 2, v = {}, c = 0; c < i.length; ++c) {
608
+ var p = i[c];
609
+ v[r[c]] = {
610
+ radius: x * p.radius,
611
+ x: t + y + (p.x - f.min) * x,
612
+ y: t + g + (p.y - h.min) * x
613
+ };
614
+ }
615
+ return v;
616
+ }
617
+ function N(n, e, s) {
618
+ var t = e[0].radius - z(e[0], n), i, r;
619
+ for (i = 1; i < e.length; ++i)
620
+ r = e[i].radius - z(e[i], n), r <= t && (t = r);
621
+ for (i = 0; i < s.length; ++i)
622
+ r = z(s[i], n) - s[i].radius, r <= t && (t = r);
623
+ return t;
624
+ }
625
+ function le(n, e) {
626
+ var s = [], t;
627
+ for (t = 0; t < n.length; ++t) {
628
+ var i = n[t];
629
+ s.push({ x: i.x, y: i.y }), s.push({ x: i.x + i.radius / 2, y: i.y }), s.push({ x: i.x - i.radius / 2, y: i.y }), s.push({ x: i.x, y: i.y + i.radius / 2 }), s.push({ x: i.x, y: i.y - i.radius / 2 });
630
+ }
631
+ var r = s[0], a = N(s[0], n, e);
632
+ for (t = 1; t < s.length; ++t) {
633
+ var o = N(s[t], n, e);
634
+ o >= a && (r = s[t], a = o);
635
+ }
636
+ var f = he(
637
+ function(x) {
638
+ return -1 * N({ x: x[0], y: x[1] }, n, e);
639
+ },
640
+ [r.x, r.y],
641
+ { maxIterations: 500, minErrorDelta: 1e-10 }
642
+ ).x, h = { x: f[0], y: f[1] }, u = !0;
643
+ for (t = 0; t < n.length; ++t)
644
+ if (z(h, n[t]) > n[t].radius) {
645
+ u = !1;
646
+ break;
647
+ }
648
+ for (t = 0; t < e.length; ++t)
649
+ if (z(h, e[t]) < e[t].radius) {
650
+ u = !1;
651
+ break;
652
+ }
653
+ if (!u)
654
+ if (n.length == 1)
655
+ h = { x: n[0].x, y: n[0].y };
656
+ else {
657
+ var l = {};
658
+ W(n, l), l.arcs.length === 0 ? h = { x: 0, y: -1e3, disjoint: !0 } : l.arcs.length == 1 ? h = {
659
+ x: l.arcs[0].circle.x,
660
+ y: l.arcs[0].circle.y
661
+ } : e.length ? h = le(n, []) : h = fe(l.arcs.map(function(x) {
662
+ return x.p1;
663
+ }));
664
+ }
665
+ return h;
666
+ }
667
+ function Te(n) {
668
+ var e = {}, s = [];
669
+ for (var t in n)
670
+ s.push(t), e[t] = [];
671
+ for (var i = 0; i < s.length; i++)
672
+ for (var r = n[s[i]], a = i + 1; a < s.length; ++a) {
673
+ var o = n[s[a]], f = z(r, o);
674
+ f + o.radius <= r.radius + 1e-10 ? e[s[a]].push(s[i]) : f + r.radius <= o.radius + 1e-10 && e[s[i]].push(s[a]);
675
+ }
676
+ return e;
677
+ }
678
+ function Se(n, e) {
679
+ for (var s = {}, t = Te(n), i = 0; i < e.length; ++i) {
680
+ for (var r = e[i].sets, a = {}, o = {}, f = 0; f < r.length; ++f) {
681
+ a[r[f]] = !0;
682
+ for (var h = t[r[f]], u = 0; u < h.length; ++u)
683
+ o[h[u]] = !0;
684
+ }
685
+ var l = [], x = [];
686
+ for (var y in n)
687
+ y in a ? l.push(n[y]) : y in o || x.push(n[y]);
688
+ var g = le(l, x);
689
+ s[r] = g, g.disjoint && e[i].size > 0 && console.log("WARNING: area " + r + " not represented on screen");
690
+ }
691
+ return s;
692
+ }
693
+ function Ne(n, e, s) {
694
+ var t = [];
695
+ return t.push(`
696
+ M`, n, e), t.push(`
697
+ m`, -s, 0), t.push(`
698
+ a`, s, s, 0, 1, 0, s * 2, 0), t.push(`
699
+ a`, s, s, 0, 1, 0, -s * 2, 0), t.join(" ");
700
+ }
701
+ function qe(n) {
702
+ var e = {};
703
+ W(n, e);
704
+ var s = e.arcs;
705
+ if (s.length === 0)
706
+ return "M 0 0";
707
+ if (s.length == 1) {
708
+ var t = s[0].circle;
709
+ return Ne(t.x, t.y, t.radius);
710
+ } else {
711
+ for (var i = [`
712
+ M`, s[0].p2.x, s[0].p2.y], r = 0; r < s.length; ++r) {
713
+ var a = s[r], o = a.circle.radius, f = a.width > o;
714
+ i.push(
715
+ `
716
+ A`,
717
+ o,
718
+ o,
719
+ 0,
720
+ f ? 1 : 0,
721
+ 1,
722
+ a.p1.x,
723
+ a.p1.y
724
+ );
725
+ }
726
+ return i.join(" ");
727
+ }
728
+ }
729
+ class E extends ie {
730
+ constructor() {
731
+ super(...arguments), this._sets = "", this.slicesContainer = this.children.push(K.new(this._root, {})), this.labelsContainer = this.children.push(K.new(this._root, {})), this.hoverGraphics = this.slicesContainer.children.push(Q.new(this._root, { position: "absolute", isMeasured: !1 })), this.slices = this.addDisposer(this._makeSlices()), this.labels = this.addDisposer(this._makeLabels());
732
+ }
733
+ _applyThemes(e = !1) {
734
+ const s = this.get("colors");
735
+ return s && s.reset(), super._applyThemes(e);
736
+ }
737
+ _afterNew() {
738
+ this._defaultThemes.push(ce.new(this._root)), this.fields.push("intersections", "category", "fill"), super._afterNew();
739
+ }
740
+ /**
741
+ * @ignore
742
+ */
743
+ makeSlice(e) {
744
+ const s = this.slicesContainer.children.push(this.slices.make());
745
+ return s.events.on("pointerover", (t) => {
746
+ this._hovered = t.target, this._updateHover();
747
+ }), s.events.on("pointerout", () => {
748
+ this._hovered = void 0, this.hoverGraphics.hide();
749
+ }), s.on("fill", () => {
750
+ this.updateLegendMarker(e);
751
+ }), s.on("fillPattern", () => {
752
+ this.updateLegendMarker(e);
753
+ }), s.on("stroke", () => {
754
+ this.updateLegendMarker(e);
755
+ }), s._setDataItem(e), e.set("slice", s), this.slices.push(s), s;
756
+ }
757
+ _updateHover() {
758
+ if (this._hovered) {
759
+ const e = this.hoverGraphics;
760
+ e.set("svgPath", this._hovered.get("svgPath")), e.show(), e.toFront();
761
+ }
762
+ }
763
+ /**
764
+ * @ignore
765
+ */
766
+ makeLabel(e) {
767
+ const s = this.labelsContainer.children.push(this.labels.make());
768
+ return s._setDataItem(e), e.set("label", s), this.labels.push(s), s;
769
+ }
770
+ _makeSlices() {
771
+ return new U(j.new({}), () => Q._new(this._root, {
772
+ themeTags: ee(this.slices.template.get("themeTags", []), ["venn", "series"])
773
+ }, [this.slices.template]));
774
+ }
775
+ _makeLabels() {
776
+ return new U(j.new({}), () => xe._new(this._root, {
777
+ themeTags: ee(this.labels.template.get("themeTags", []), ["venn", "series"])
778
+ }, [this.labels.template]));
779
+ }
780
+ processDataItem(e) {
781
+ if (super.processDataItem(e), e.get("fill") == null) {
782
+ let s = this.get("colors");
783
+ s && e.setRaw("fill", s.next());
784
+ }
785
+ if (e.get("fillPattern") == null) {
786
+ let s = this.get("patterns");
787
+ s && e.setRaw("fillPattern", s.next());
788
+ }
789
+ this.makeSlice(e), this.makeLabel(e);
790
+ }
791
+ _prepareChildren() {
792
+ if (super._prepareChildren(), this._valuesDirty || this._sizeDirty) {
793
+ const e = [];
794
+ k(this.dataItems, (t) => {
795
+ const i = {}, r = t.get("intersections");
796
+ r ? i.sets = r : i.sets = [t.get("category")], i.size = t.get("valueWorking"), e.push(i);
797
+ const a = t.get("label"), o = t.get("slice");
798
+ let f = !0;
799
+ t.get("value") == 0 && (f = !1, o && o.setAll({
800
+ x: this.width() / 2,
801
+ y: this.height() / 2
802
+ })), a && a.setPrivate("visible", f);
803
+ });
804
+ const s = e.toString();
805
+ if (this._sets = s, e.length > 0) {
806
+ let t = we(e);
807
+ t = ke(t, null), t = Ie(t, this.innerWidth(), this.innerHeight(), 0);
808
+ const i = {};
809
+ for (let a in t) {
810
+ let o = t[a], f = o.radius;
811
+ const h = this.getDataItemByCategory(a);
812
+ if (h) {
813
+ const u = h.get("slice"), l = h.get("fill");
814
+ u._setDefault("fill", l);
815
+ const x = h.get("fillPattern");
816
+ u._setDefault("fillPattern", x), u._setDefault("stroke", l), this.updateLegendMarker(h), u.set("svgPath", "M" + o.x + "," + o.y + " m -" + f + ", 0 a " + f + "," + f + " 0 1,1 " + f * 2 + ",0 a " + f + "," + f + " 0 1,1 -" + f * 2 + ",0"), i[a] = o;
817
+ }
818
+ }
819
+ let r = Se(i, e);
820
+ k(this.dataItems, (a) => {
821
+ let o = a.get("category"), f = r[o];
822
+ const h = a.get("intersections");
823
+ if (h && (o = h.toString(), f = r[o], f)) {
824
+ let u = h, l = [];
825
+ for (let c = 0; c < u.length; c++)
826
+ l.push(i[u[c]]);
827
+ let x = qe(l), y = a.get("slice");
828
+ const g = a.get("fill");
829
+ y._setDefault("fill", g), y._setDefault("stroke", g);
830
+ const v = a.get("fillPattern");
831
+ y._setDefault("fillPattern", v), y.setAll({ svgPath: x });
832
+ }
833
+ f && a.get("label").setAll({ x: f.x, y: f.y }), this.updateLegendValue(a);
834
+ });
835
+ }
836
+ this._updateHover();
837
+ }
838
+ }
839
+ /**
840
+ * Looks up and returns a data item by its category.
841
+ *
842
+ * @param category Category
843
+ * @return Data item
844
+ */
845
+ getDataItemByCategory(e) {
846
+ return ye(this.dataItems, (s) => s.get("category") == e);
847
+ }
848
+ /**
849
+ * Shows series's data item.
850
+ *
851
+ * @param dataItem Data item
852
+ * @param duration Animation duration in milliseconds
853
+ * @return Promise
854
+ */
855
+ showDataItem(e, s) {
856
+ const t = Object.create(null, {
857
+ showDataItem: { get: () => super.showDataItem }
858
+ });
859
+ return te(this, void 0, void 0, function* () {
860
+ const i = [t.showDataItem.call(this, e, s)];
861
+ ne(s) || (s = this.get("stateAnimationDuration", 0));
862
+ const r = this.get("stateAnimationEasing");
863
+ let a = e.get("value");
864
+ const o = e.animate({ key: "valueWorking", to: a, duration: s, easing: r });
865
+ o && i.push(o.waitForStop());
866
+ const f = e.get("label");
867
+ f && i.push(f.show(s));
868
+ const h = e.get("slice");
869
+ h && i.push(h.show(s));
870
+ const u = e.get("intersections");
871
+ if (u && k(u, (l) => {
872
+ const x = this.getDataItemByCategory(l);
873
+ x && x.isHidden() && this.showDataItem(x, s);
874
+ }), !u) {
875
+ const l = e.get("category");
876
+ k(this.dataItems, (x) => {
877
+ const y = x.get("intersections");
878
+ if (x != e && y) {
879
+ let g = !0;
880
+ k(y, (v) => {
881
+ const c = this.getDataItemByCategory(v);
882
+ c && c.isHidden() && (g = !1);
883
+ }), g && y.indexOf(l) != -1 && x.isHidden() && this.showDataItem(x, s);
884
+ }
885
+ });
886
+ }
887
+ yield Promise.all(i);
888
+ });
889
+ }
890
+ /**
891
+ * Hides series's data item.
892
+ *
893
+ * @param dataItem Data item
894
+ * @param duration Animation duration in milliseconds
895
+ * @return Promise
896
+ */
897
+ hideDataItem(e, s) {
898
+ const t = Object.create(null, {
899
+ hideDataItem: { get: () => super.hideDataItem }
900
+ });
901
+ return te(this, void 0, void 0, function* () {
902
+ const i = [t.hideDataItem.call(this, e, s)], r = this.states.create("hidden", {});
903
+ ne(s) || (s = r.get("stateAnimationDuration", this.get("stateAnimationDuration", 0)));
904
+ const a = r.get("stateAnimationEasing", this.get("stateAnimationEasing")), o = e.animate({ key: "valueWorking", to: 0, duration: s, easing: a });
905
+ o && i.push(o.waitForStop());
906
+ const f = e.get("label");
907
+ f && i.push(f.hide(s));
908
+ const h = e.get("slice");
909
+ h && (i.push(h.hide(s)), h.hideTooltip()), e.get("intersections") || k(this.dataItems, (u) => {
910
+ const l = u.get("intersections");
911
+ u != e && l && l.indexOf(e.get("category")) != -1 && this.hideDataItem(u, s);
912
+ }), yield Promise.all(i);
913
+ });
914
+ }
915
+ /**
916
+ * @ignore
917
+ */
918
+ disposeDataItem(e) {
919
+ super.disposeDataItem(e);
920
+ let s = e.get("label");
921
+ s && (this.labels.removeValue(s), s.dispose());
922
+ let t = e.get("slice");
923
+ t && (this.slices.removeValue(t), t.dispose());
924
+ }
925
+ /**
926
+ * @ignore
927
+ */
928
+ updateLegendMarker(e) {
929
+ const s = e.get("slice");
930
+ if (s) {
931
+ const t = e.get("legendDataItem");
932
+ if (t) {
933
+ const i = t.get("markerRectangle");
934
+ e.isHidden() || k(de, (r) => {
935
+ i.set(r, s.get(r));
936
+ });
937
+ }
938
+ }
939
+ }
940
+ /**
941
+ * Triggers hover on a series data item.
942
+ *
943
+ * @since 5.0.7
944
+ * @param dataItem Target data item
945
+ */
946
+ hoverDataItem(e) {
947
+ const s = e.get("slice");
948
+ s && !s.isHidden() && s.hover();
949
+ }
950
+ /**
951
+ * Triggers un-hover on a series data item.
952
+ *
953
+ * @since 5.0.7
954
+ * @param dataItem Target data item
955
+ */
956
+ unhoverDataItem(e) {
957
+ const s = e.get("slice");
958
+ s && s.unhover();
959
+ }
960
+ }
961
+ E.className = "Venn";
962
+ E.classNames = ie.classNames.concat([E.className]);
963
+ export {
964
+ ce as DefaultTheme,
965
+ E as Venn
966
+ };