@svgrid/grid 2.2.16 → 2.2.17

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 (290) hide show
  1. package/README.md +1 -1
  2. package/dist/GridFooter.svelte +12 -11
  3. package/dist/SvAnchor.svelte +65 -0
  4. package/dist/SvAnchor.svelte.d.ts +24 -0
  5. package/dist/SvAspectRatio.svelte +38 -0
  6. package/dist/SvAspectRatio.svelte.d.ts +16 -0
  7. package/dist/SvAutoComplete.svelte +52 -7
  8. package/dist/SvAutoComplete.svelte.d.ts +4 -1
  9. package/dist/SvBlockquote.svelte +43 -0
  10. package/dist/SvBlockquote.svelte.d.ts +16 -0
  11. package/dist/SvCalendar.svelte +33 -2
  12. package/dist/SvCalendar.svelte.d.ts +8 -1
  13. package/dist/SvCheckBox.svelte +6 -2
  14. package/dist/SvCode.svelte +52 -0
  15. package/dist/SvCode.svelte.d.ts +19 -0
  16. package/dist/SvCollapsible.svelte +75 -0
  17. package/dist/SvCollapsible.svelte.d.ts +27 -0
  18. package/dist/SvColorInput.svelte +11 -17
  19. package/dist/SvColorInput.svelte.d.ts +2 -0
  20. package/dist/SvComboBox.svelte +85 -8
  21. package/dist/SvComboBox.svelte.d.ts +14 -0
  22. package/dist/SvCountryInput.svelte +2 -2
  23. package/dist/SvCountryInput.svelte.d.ts +1 -1
  24. package/dist/SvDropDownList.svelte +154 -51
  25. package/dist/SvDropDownList.svelte.d.ts +17 -3
  26. package/dist/SvDurationInput.svelte +59 -41
  27. package/dist/SvDurationInput.svelte.d.ts +18 -0
  28. package/dist/SvField.svelte +203 -12
  29. package/dist/SvField.svelte.d.ts +45 -8
  30. package/dist/SvForm.svelte +195 -21
  31. package/dist/SvForm.svelte.d.ts +23 -0
  32. package/dist/SvGrid.controller.svelte.d.ts +12 -1
  33. package/dist/SvGrid.controller.svelte.js +87 -7
  34. package/dist/SvGrid.svelte +383 -181
  35. package/dist/SvGrid.types.d.ts +123 -2
  36. package/dist/SvGridChartView.svelte +70 -0
  37. package/dist/SvGridChartView.svelte.d.ts +11 -0
  38. package/dist/SvGridDropdown.svelte +9 -2
  39. package/dist/SvGridSelect.svelte +5 -2
  40. package/dist/SvGridSelect.svelte.d.ts +1 -1
  41. package/dist/SvGroup.svelte +41 -0
  42. package/dist/SvGroup.svelte.d.ts +27 -0
  43. package/dist/SvHoverCard.svelte +70 -0
  44. package/dist/SvHoverCard.svelte.d.ts +41 -0
  45. package/dist/SvKbd.svelte +51 -0
  46. package/dist/SvKbd.svelte.d.ts +18 -0
  47. package/dist/SvList.svelte +55 -0
  48. package/dist/SvList.svelte.d.ts +23 -0
  49. package/dist/SvListBox.svelte +166 -77
  50. package/dist/SvListBox.svelte.d.ts +17 -4
  51. package/dist/SvLoadingOverlay.svelte +53 -0
  52. package/dist/SvLoadingOverlay.svelte.d.ts +28 -0
  53. package/dist/SvMark.svelte +36 -0
  54. package/dist/SvMark.svelte.d.ts +14 -0
  55. package/dist/SvMaskedInput.svelte +50 -35
  56. package/dist/SvMaskedInput.svelte.d.ts +17 -2
  57. package/dist/SvMenuList.svelte +32 -3
  58. package/dist/SvMenubar.svelte +200 -0
  59. package/dist/SvMenubar.svelte.d.ts +18 -0
  60. package/dist/SvMultiSelect.svelte +7 -4
  61. package/dist/SvMultiSelect.svelte.d.ts +1 -1
  62. package/dist/SvNumberInput.svelte +79 -42
  63. package/dist/SvNumberInput.svelte.d.ts +25 -0
  64. package/dist/SvOtpInput.svelte +2 -2
  65. package/dist/SvPasswordInput.svelte +51 -31
  66. package/dist/SvPasswordInput.svelte.d.ts +17 -0
  67. package/dist/SvPhoneInput.svelte +39 -28
  68. package/dist/SvPhoneInput.svelte.d.ts +4 -0
  69. package/dist/SvPopconfirm.svelte +79 -0
  70. package/dist/SvPopconfirm.svelte.d.ts +42 -0
  71. package/dist/SvPopover.svelte +87 -29
  72. package/dist/SvPopover.svelte.d.ts +18 -4
  73. package/dist/SvRadioGroup.svelte +5 -1
  74. package/dist/SvResult.svelte +73 -0
  75. package/dist/SvResult.svelte.d.ts +28 -0
  76. package/dist/SvSegmented.svelte +114 -0
  77. package/dist/SvSegmented.svelte.d.ts +29 -0
  78. package/dist/SvSimpleGrid.svelte +41 -0
  79. package/dist/SvSimpleGrid.svelte.d.ts +25 -0
  80. package/dist/SvSlider.svelte +23 -10
  81. package/dist/SvSpinner.svelte +43 -0
  82. package/dist/SvSpinner.svelte.d.ts +20 -0
  83. package/dist/SvStack.svelte +37 -0
  84. package/dist/SvStack.svelte.d.ts +24 -0
  85. package/dist/SvSwitchButton.svelte +6 -1
  86. package/dist/SvTagsInput.svelte +9 -5
  87. package/dist/SvText.svelte +76 -0
  88. package/dist/SvText.svelte.d.ts +31 -0
  89. package/dist/SvTextInput.svelte +75 -43
  90. package/dist/SvTextInput.svelte.d.ts +28 -1
  91. package/dist/SvTimePicker.svelte +32 -2
  92. package/dist/SvTimePicker.svelte.d.ts +8 -9
  93. package/dist/SvTitle.svelte +57 -0
  94. package/dist/SvTitle.svelte.d.ts +24 -0
  95. package/dist/SvToaster.svelte +41 -6
  96. package/dist/SvToggleButton.svelte +4 -1
  97. package/dist/SvTooltip.svelte +68 -34
  98. package/dist/SvTooltip.svelte.d.ts +14 -2
  99. package/dist/SvTree.svelte +81 -21
  100. package/dist/SvTree.svelte.d.ts +3 -2
  101. package/dist/SvTreeSelect.svelte +5 -2
  102. package/dist/SvTreeSelect.svelte.d.ts +1 -1
  103. package/dist/SvVisuallyHidden.svelte +49 -0
  104. package/dist/SvVisuallyHidden.svelte.d.ts +19 -0
  105. package/dist/ai.d.ts +289 -0
  106. package/dist/ai.js +1013 -0
  107. package/dist/board-view.svelte.d.ts +22 -0
  108. package/dist/board-view.svelte.js +13 -0
  109. package/dist/build-api.js +36 -6
  110. package/dist/cdn/GridMenus-0AK9O7qG.js +420 -0
  111. package/dist/cdn/GridMenus-BjUoCXoD.js +416 -0
  112. package/dist/cdn/SvDateTimePicker-CYC7gRER.js +2176 -0
  113. package/dist/cdn/SvDateTimePicker-DtQKd4Ns.js +2198 -0
  114. package/dist/cdn/SvGridChart-BcLCYvw9.js +1195 -0
  115. package/dist/cdn/SvGridChart-BhnFdLd0.js +1203 -0
  116. package/dist/cdn/SvGridChartPanel-Cmx9DHAS.js +561 -0
  117. package/dist/cdn/SvGridChartPanel-DvjwxLvK.js +577 -0
  118. package/dist/cdn/SvGridChartView-B40DTJSX.js +54 -0
  119. package/dist/cdn/SvGridChartView-PwqI4s02.js +53 -0
  120. package/dist/cdn/SvGridDropdown-DjALc_4f.js +255 -0
  121. package/dist/cdn/SvGridDropdown-hpnHvOGt.js +254 -0
  122. package/dist/cdn/chart-T1usDN0o.js +1212 -0
  123. package/dist/cdn/disclose-version-DoD9AFD_.js +2958 -0
  124. package/dist/cdn/export-format-JT5pWVT8.js +561 -0
  125. package/dist/cdn/popover-P-9P2YYn.js +69 -0
  126. package/dist/cdn/rolldown-runtime-Dy4uBu1J.js +11 -0
  127. package/dist/cdn/src-BLhdLmoN.js +25707 -0
  128. package/dist/cdn/src-BwnUVj3T.js +25623 -0
  129. package/dist/cdn/svgrid.js +9 -32897
  130. package/dist/cdn/svgrid.svelte-external.js +9 -30052
  131. package/dist/cell-formatting.d.ts +2 -2
  132. package/dist/cell-render.js +4 -4
  133. package/dist/chart-view.svelte.d.ts +25 -0
  134. package/dist/chart-view.svelte.js +14 -0
  135. package/dist/createCombobox.svelte.d.ts +5 -0
  136. package/dist/createCombobox.svelte.js +21 -5
  137. package/dist/createDropdownList.svelte.d.ts +3 -0
  138. package/dist/createDropdownList.svelte.js +8 -2
  139. package/dist/createForm.svelte.d.ts +18 -0
  140. package/dist/createForm.svelte.js +51 -6
  141. package/dist/createMenu.svelte.js +27 -0
  142. package/dist/createPopoverSelect.svelte.d.ts +3 -0
  143. package/dist/createPopoverSelect.svelte.js +9 -1
  144. package/dist/createSlider.svelte.d.ts +8 -21
  145. package/dist/createSlider.svelte.js +34 -0
  146. package/dist/createTooltip.svelte.d.ts +12 -0
  147. package/dist/createTooltip.svelte.js +72 -9
  148. package/dist/editor-contract.d.ts +15 -0
  149. package/dist/export-provider.d.ts +27 -0
  150. package/dist/export-provider.js +9 -0
  151. package/dist/filter-operators.d.ts +6 -0
  152. package/dist/filter-operators.js +33 -0
  153. package/dist/form-field.d.ts +45 -2
  154. package/dist/grid-messages.d.ts +61 -0
  155. package/dist/grid-messages.js +72 -0
  156. package/dist/group-display.d.ts +62 -0
  157. package/dist/group-display.js +78 -0
  158. package/dist/index.d.ts +36 -4
  159. package/dist/index.js +43 -2
  160. package/dist/js-scroller.svelte.d.ts +35 -0
  161. package/dist/js-scroller.svelte.js +154 -0
  162. package/dist/list-option.d.ts +46 -0
  163. package/dist/list-option.js +53 -0
  164. package/dist/menus.js +25 -11
  165. package/dist/pivot-view.svelte.d.ts +72 -0
  166. package/dist/pivot-view.svelte.js +13 -0
  167. package/dist/positioning.d.ts +111 -0
  168. package/dist/positioning.js +191 -0
  169. package/dist/scheduler-model.d.ts +3 -0
  170. package/dist/scheduler-model.js +22 -5
  171. package/dist/svgrid-wrapper.types.d.ts +18 -0
  172. package/dist/toast-store.svelte.d.ts +54 -0
  173. package/dist/toast-store.svelte.js +65 -15
  174. package/package.json +9 -1
  175. package/src/GridFooter.svelte +12 -11
  176. package/src/SvAnchor.svelte +65 -0
  177. package/src/SvAspectRatio.svelte +38 -0
  178. package/src/SvAutoComplete.svelte +52 -7
  179. package/src/SvBlockquote.svelte +43 -0
  180. package/src/SvCalendar.svelte +33 -2
  181. package/src/SvCalendar.test.ts +15 -0
  182. package/src/SvCheckBox.svelte +6 -2
  183. package/src/SvCode.svelte +52 -0
  184. package/src/SvCollapsible.svelte +75 -0
  185. package/src/SvColorInput.svelte +11 -17
  186. package/src/SvComboBox.svelte +85 -8
  187. package/src/SvCountryInput.svelte +2 -2
  188. package/src/SvDropDownList.svelte +154 -51
  189. package/src/SvDurationInput.svelte +59 -41
  190. package/src/SvField.svelte +203 -12
  191. package/src/SvForm.svelte +195 -21
  192. package/src/SvForm.test.ts +112 -0
  193. package/src/SvGrid.controller.svelte.ts +88 -7
  194. package/src/SvGrid.svelte +383 -181
  195. package/src/SvGrid.types.ts +125 -1
  196. package/src/SvGridChartView.svelte +70 -0
  197. package/src/SvGridDropdown.svelte +9 -2
  198. package/src/SvGridSelect.svelte +5 -2
  199. package/src/SvGroup.svelte +41 -0
  200. package/src/SvHoverCard.svelte +70 -0
  201. package/src/SvKbd.svelte +51 -0
  202. package/src/SvList.svelte +55 -0
  203. package/src/SvListBox.svelte +166 -77
  204. package/src/SvLoadingOverlay.svelte +53 -0
  205. package/src/SvMark.svelte +36 -0
  206. package/src/SvMaskedInput.svelte +50 -35
  207. package/src/SvMenuList.svelte +32 -3
  208. package/src/SvMenubar.svelte +200 -0
  209. package/src/SvMultiSelect.svelte +7 -4
  210. package/src/SvNumberInput.svelte +79 -42
  211. package/src/SvOtpInput.svelte +2 -2
  212. package/src/SvPasswordInput.svelte +51 -31
  213. package/src/SvPhoneInput.svelte +39 -28
  214. package/src/SvPopconfirm.svelte +79 -0
  215. package/src/SvPopover.svelte +87 -29
  216. package/src/SvRadioGroup.svelte +5 -1
  217. package/src/SvResult.svelte +73 -0
  218. package/src/SvSegmented.svelte +114 -0
  219. package/src/SvSimpleGrid.svelte +41 -0
  220. package/src/SvSlider.svelte +23 -10
  221. package/src/SvSpinner.svelte +43 -0
  222. package/src/SvStack.svelte +37 -0
  223. package/src/SvSwitchButton.svelte +6 -1
  224. package/src/SvTagsInput.svelte +9 -5
  225. package/src/SvText.svelte +76 -0
  226. package/src/SvTextInput.svelte +75 -43
  227. package/src/SvTimePicker.svelte +32 -2
  228. package/src/SvTitle.svelte +57 -0
  229. package/src/SvToaster.svelte +41 -6
  230. package/src/SvToaster.test.ts +32 -0
  231. package/src/SvToggleButton.svelte +4 -1
  232. package/src/SvTooltip.svelte +68 -34
  233. package/src/SvTree.svelte +81 -21
  234. package/src/SvTreeSelect.svelte +5 -2
  235. package/src/SvVisuallyHidden.svelte +49 -0
  236. package/src/ai.test.ts +502 -0
  237. package/src/ai.ts +1391 -0
  238. package/src/board-view.svelte.ts +33 -0
  239. package/src/build-api.coverage.test.ts +101 -0
  240. package/src/build-api.ts +43 -18
  241. package/src/builtin-editors.grid.test.ts +1 -1
  242. package/src/cell-formatting.ts +5 -5
  243. package/src/cell-render.ts +4 -4
  244. package/src/chart-view.svelte.ts +36 -0
  245. package/src/createCombobox.svelte.ts +17 -5
  246. package/src/createDropdownList.svelte.ts +8 -2
  247. package/src/createForm.svelte.ts +59 -6
  248. package/src/createMenu.svelte.ts +23 -0
  249. package/src/createPopoverSelect.svelte.ts +8 -1
  250. package/src/createSlider.svelte.ts +20 -0
  251. package/src/createTooltip.svelte.ts +67 -9
  252. package/src/editor-contract.ts +16 -0
  253. package/src/export-provider.ts +40 -0
  254. package/src/filter-operators.ts +37 -0
  255. package/src/form-field.ts +42 -2
  256. package/src/grid-messages.test.ts +24 -0
  257. package/src/grid-messages.ts +137 -0
  258. package/src/group-display.test.ts +77 -0
  259. package/src/group-display.ts +117 -0
  260. package/src/i18n.grid.test.ts +73 -0
  261. package/src/index.ts +91 -2
  262. package/src/js-scroller.svelte.ts +173 -0
  263. package/src/list-option.test.ts +56 -0
  264. package/src/list-option.ts +81 -0
  265. package/src/menus.test.ts +32 -0
  266. package/src/menus.ts +25 -12
  267. package/src/pivot-view.svelte.ts +90 -0
  268. package/src/pivot-view.test.ts +38 -0
  269. package/src/pivot.grid.test.ts +102 -0
  270. package/src/positioning.test.ts +141 -0
  271. package/src/positioning.ts +266 -0
  272. package/src/scheduler-model.test.ts +16 -0
  273. package/src/scheduler-model.ts +24 -5
  274. package/src/svgrid-wrapper.types.ts +23 -0
  275. package/src/svgrid.charting.test.ts +8 -1
  276. package/src/svgrid.comments-autocomplete.test.ts +7 -2
  277. package/src/svgrid.context-menu.test.ts +8 -3
  278. package/src/toast-store.svelte.ts +98 -0
  279. package/src/toast-store.test.ts +62 -1
  280. package/src/ui-breadth.test.ts +138 -0
  281. package/src/ui-buttons.test.ts +39 -0
  282. package/src/ui-inputs.test.ts +2 -2
  283. package/src/ui-range.test.ts +9 -0
  284. package/src/ui-selection.test.ts +36 -0
  285. package/src/ui-tier1.test.ts +1 -1
  286. package/src/virtual.test.ts +20 -6
  287. package/dist/SvGridBoard.svelte +0 -2339
  288. package/dist/SvGridBoard.svelte.d.ts +0 -31
  289. package/src/SvGridBoard.svelte +0 -2339
  290. package/src/board.test.ts +0 -927
@@ -0,0 +1,577 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { B as t, C as n, E as r, F as i, G as a, H as o, L as s, N as c, R as l, U as u, V as d, X as f, Y as p, _ as m, a as h, at as g, d as _, et as v, f as ee, ft as te, g as y, h as b, i as x, it as S, k as C, lt as w, nt as T, o as E, pt as D, st as O, t as k, tt as ne, u as A, ut as j, v as M } from "./disclose-version-DoD9AFD_.js";
3
+ import { t as re } from "./SvGridChart-BcLCYvw9.js";
4
+ //#region ../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/transition/index.js
5
+ function N(e) {
6
+ let t = e - 1;
7
+ return t * t * t + 1;
8
+ }
9
+ function P(e) {
10
+ let t = typeof e == "string" && e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);
11
+ return t ? [parseFloat(t[1]), t[2] || "px"] : [e, "px"];
12
+ }
13
+ function F(e, { delay: t = 0, duration: n = 400, easing: r = N, x: i = 0, y: a = 0, opacity: o = 0 } = {}) {
14
+ let s = getComputedStyle(e), c = +s.opacity, l = s.transform === "none" ? "" : s.transform, u = c * (1 - o), [d, f] = P(i), [p, m] = P(a);
15
+ return {
16
+ delay: t,
17
+ duration: n,
18
+ easing: r,
19
+ css: (e, t) => `
20
+ transform: ${l} translate(${(1 - e) * d}${f}, ${(1 - e) * p}${m});
21
+ opacity: ${c - u * t}`
22
+ };
23
+ }
24
+ //#endregion
25
+ //#region ../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/easing/index.js
26
+ function ie(e) {
27
+ let t = e - 1;
28
+ return t * t * t + 1;
29
+ }
30
+ //#endregion
31
+ //#region src/chart-export.ts
32
+ function I(e) {
33
+ return e instanceof SVGSVGElement ? e : e.querySelector("svg.sv-grid-chart-svg") ?? e.querySelector("svg");
34
+ }
35
+ function L(e, t, n) {
36
+ return getComputedStyle(e).getPropertyValue(t).trim() || n;
37
+ }
38
+ function R(e, t = {}) {
39
+ let n = I(e);
40
+ if (!n) throw Error("chartToSvgString: no <svg> found");
41
+ let r = L(n, "--sg-fg", "#0f172a"), i = L(n, "--sg-muted", "#64748b"), a = L(n, "--sg-border", "#e2e8f0"), o = t.background ?? L(n, "--sg-bg", "#ffffff"), s = n.viewBox.baseVal, c = s && s.width ? s.width : n.clientWidth || 520, l = s && s.height ? s.height : n.clientHeight || 300, u = n.cloneNode(!0);
42
+ u.setAttribute("width", String(c)), u.setAttribute("height", String(l)), u.setAttribute("xmlns", "http://www.w3.org/2000/svg");
43
+ let d = [
44
+ "fill",
45
+ "fill-opacity",
46
+ "stroke",
47
+ "stroke-width",
48
+ "stroke-opacity",
49
+ "stroke-dasharray",
50
+ "stroke-linecap",
51
+ "stroke-linejoin",
52
+ "opacity",
53
+ "font-size",
54
+ "font-family",
55
+ "font-weight",
56
+ "text-anchor"
57
+ ], f = n.querySelectorAll("*"), p = u.querySelectorAll("*");
58
+ for (let e = 0; e < f.length; e += 1) {
59
+ let t = p[e];
60
+ if (!t || !t.style) continue;
61
+ let n = getComputedStyle(f[e]);
62
+ for (let e of d) {
63
+ let r = n.getPropertyValue(e);
64
+ r && r !== "normal" && t.style.setProperty(e, r);
65
+ }
66
+ }
67
+ u.querySelectorAll(".sv-grid-chart-hit").forEach((e) => e.remove());
68
+ let m = document.createElementNS("http://www.w3.org/2000/svg", "style");
69
+ m.textContent = `
70
+ .sv-grid-chart-axis { fill: ${i}; font-size: 10px; font-family: sans-serif; }
71
+ .sv-grid-chart-gridline { stroke: ${a}; stroke-width: 1; opacity: 0.6; }
72
+ .sv-grid-chart-gridline.is-zero { stroke: ${i}; opacity: 0.9; }
73
+ .sv-grid-chart-datalabel { fill: ${r}; font-size: 9.5px; font-weight: 600; font-family: sans-serif; }
74
+ .sv-grid-chart-datalabel.on-bar { fill: #fff; }
75
+ .sv-grid-chart-donut-total { fill: ${r}; font-size: 16px; font-weight: 800; font-family: sans-serif; }
76
+ .sv-grid-chart-donut-label { fill: ${i}; font-size: 10px; font-family: sans-serif; }
77
+ `, u.insertBefore(m, u.firstChild);
78
+ let h = document.createElementNS("http://www.w3.org/2000/svg", "rect");
79
+ return h.setAttribute("x", "0"), h.setAttribute("y", "0"), h.setAttribute("width", String(c)), h.setAttribute("height", String(l)), h.setAttribute("fill", o), u.insertBefore(h, m.nextSibling), new XMLSerializer().serializeToString(u);
80
+ }
81
+ function z(e, t) {
82
+ let n = document.createElement("a");
83
+ n.href = e, n.download = t, document.body.appendChild(n), n.click(), n.remove();
84
+ }
85
+ function ae(e, t = "chart.svg", n = {}) {
86
+ let r = R(e, n), i = URL.createObjectURL(new Blob([r], { type: "image/svg+xml" }));
87
+ z(i, t), setTimeout(() => URL.revokeObjectURL(i), 1e3);
88
+ }
89
+ function oe(e, t = {}) {
90
+ let n = R(e, t), r = t.scale ?? 2, i = I(e), a = i.viewBox.baseVal, o = (a && a.width ? a.width : i.clientWidth || 520) * r, s = (a && a.height ? a.height : i.clientHeight || 300) * r;
91
+ return new Promise((e, t) => {
92
+ let r = URL.createObjectURL(new Blob([n], { type: "image/svg+xml" })), i = new Image();
93
+ i.onload = () => {
94
+ let n = document.createElement("canvas");
95
+ n.width = Math.round(o), n.height = Math.round(s);
96
+ let a = n.getContext("2d");
97
+ if (!a) {
98
+ URL.revokeObjectURL(r), t(/* @__PURE__ */ Error("canvas 2d context unavailable"));
99
+ return;
100
+ }
101
+ a.drawImage(i, 0, 0, n.width, n.height), URL.revokeObjectURL(r), n.toBlob((n) => n ? e(n) : t(/* @__PURE__ */ Error("toBlob failed")), "image/png");
102
+ }, i.onerror = () => {
103
+ URL.revokeObjectURL(r), t(/* @__PURE__ */ Error("failed to rasterize chart SVG"));
104
+ }, i.src = r;
105
+ });
106
+ }
107
+ async function se(e, t = "chart.png", n = {}) {
108
+ let r = await oe(e, n), i = URL.createObjectURL(r);
109
+ z(i, t), setTimeout(() => URL.revokeObjectURL(i), 1e3);
110
+ }
111
+ var B = (e) => {
112
+ let t = e == null ? "" : String(e);
113
+ return /[",\n]/.test(t) ? `"${t.replace(/"/g, "\"\"")}"` : t;
114
+ };
115
+ function V(e) {
116
+ let t = e.categories ?? [], n = e.series ?? [];
117
+ return !t.length || !n.length ? "" : [["Category", ...n.map((e) => e.label)].map(B).join(","), ...t.map((e, t) => [e, ...n.map((e) => e.values[t] ?? "")].map(B).join(","))].join("\n");
118
+ }
119
+ function ce(e, t = "chart.csv") {
120
+ let n = V(e);
121
+ if (!n) return !1;
122
+ let r = URL.createObjectURL(new Blob([n], { type: "text/csv;charset=utf-8" }));
123
+ return z(r, t), setTimeout(() => URL.revokeObjectURL(r), 1e3), !0;
124
+ }
125
+ //#endregion
126
+ //#region src/SvGridChartPanel.svelte
127
+ var H = /* @__PURE__ */ e({ default: () => U }), le = s("<div role=\"separator\" aria-label=\"Resize chart panel\"></div>"), ue = s("<button type=\"button\" class=\"sv-grid-chart-btn\">Clear filter</button>"), de = l("<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"20 6 9 17 4 12\"></polyline></svg>"), fe = l("<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path><polyline points=\"7 10 12 15 17 10\"></polyline><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"></line></svg>"), pe = s("<div class=\"sv-grid-chart-export-menu\" role=\"menu\"><button type=\"button\" role=\"menuitem\">PNG image</button> <button type=\"button\" role=\"menuitem\">SVG vector</button> <button type=\"button\" role=\"menuitem\">CSV data</button> <button type=\"button\" role=\"menuitem\">Copy to clipboard</button></div>"), me = s("<button type=\"button\" aria-label=\"Chart with AI\" title=\"Chart with AI\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2l1.9 4.6L18.5 8.5 13.9 10.4 12 15l-1.9-4.6L5.5 8.5l4.6-1.9L12 2zm6 11l1 2.4 2.4 1-2.4 1L18 21l-1-2.6-2.4-1 2.4-1L18 13zM6 14l.8 2 2 .8-2 .8L6 20l-.8-2.4-2-.8 2-.8L6 14z\"></path></svg> AI</button>"), he = s("<button type=\"button\" class=\"sv-grid-chart-icon-btn\" aria-label=\"Add chart\" title=\"Add chart\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line></svg></button>"), ge = l("<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M8 3v3a2 2 0 0 1-2 2H3\"></path><path d=\"M21 8h-3a2 2 0 0 1-2-2V3\"></path><path d=\"M3 16h3a2 2 0 0 1 2 2v3\"></path><path d=\"M16 21v-3a2 2 0 0 1 2-2h3\"></path></svg>"), _e = l("<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M8 3H5a2 2 0 0 0-2 2v3\"></path><path d=\"M21 8V5a2 2 0 0 0-2-2h-3\"></path><path d=\"M3 16v3a2 2 0 0 0 2 2h3\"></path><path d=\"M16 21h3a2 2 0 0 0 2-2v-3\"></path></svg>"), ve = s("<button type=\"button\" class=\"sv-grid-chart-icon-btn\"><!></button> <button type=\"button\" class=\"sv-grid-chart-icon-btn\" aria-label=\"Dock chart\" title=\"Dock\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"></rect><line x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\"></line></svg></button>", 1), ye = s("<button type=\"button\" class=\"sv-grid-chart-icon-btn\" aria-label=\"Pop out chart\" title=\"Pop out\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M15 3h6v6\"></path><path d=\"M10 14 21 3\"></path><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path></svg></button>"), be = s("<div><button type=\"button\" class=\"sv-grid-chart-tab-label\" role=\"tab\"> </button> <button type=\"button\" class=\"sv-grid-chart-tab-x\" title=\"Remove\">&times;</button></div>"), xe = s("<div class=\"sv-grid-chart-tabs\" role=\"tablist\" aria-label=\"Charts\"></div>"), Se = s("<p class=\"sv-grid-chart-ai-msg is-error\"> </p>"), Ce = s("<p class=\"sv-grid-chart-ai-msg\"> </p>"), we = s("<div class=\"sv-grid-chart-ai\"><form class=\"sv-grid-chart-ai-row\"><input class=\"sv-grid-chart-ai-input\" type=\"text\" placeholder=\"Describe a chart, e.g. revenue by region stacked by product\"/> <button type=\"submit\" class=\"sv-grid-chart-btn\"> </button></form> <!></div>"), Te = s("<option> </option>"), Ee = s("<option> </option>"), De = s("<option> </option>"), Oe = s("<label class=\"sv-grid-chart-ctl\"><span class=\"sv-grid-chart-ctl-lbl\">Split by</span> <select><option>(none)</option><!></select></label>"), ke = s("<option> </option>"), Ae = s("<option> </option>"), je = s("<option> </option>"), Me = s("<label class=\"sv-grid-chart-toggle\"><input type=\"checkbox\"/> Stacked</label>"), Ne = s("<label class=\"sv-grid-chart-toggle\" title=\"Logarithmic value axis - flattens wide-range data\"><input type=\"checkbox\"/> Log scale</label>"), Pe = s("<label class=\"sv-grid-chart-toggle\" title=\"Space points by actual date - real time ticks and proportional gaps\"><input type=\"checkbox\"/> Date axis</label>"), Fe = s("<label class=\"sv-grid-chart-ctl\"><span class=\"sv-grid-chart-ctl-lbl\">Type</span> <select></select></label> <label class=\"sv-grid-chart-ctl\"><span class=\"sv-grid-chart-ctl-lbl\">Group by</span> <select></select></label> <!> <label class=\"sv-grid-chart-ctl\"><span class=\"sv-grid-chart-ctl-lbl\">Value</span> <select></select></label> <label class=\"sv-grid-chart-ctl\"><span class=\"sv-grid-chart-ctl-lbl\">Aggregate</span> <select></select></label> <label class=\"sv-grid-chart-ctl\"><span class=\"sv-grid-chart-ctl-lbl\">Format</span> <select></select></label> <!> <label class=\"sv-grid-chart-toggle\"><input type=\"checkbox\"/> Labels</label> <!> <!>", 1), Ie = s("<p class=\"sv-grid-chart-empty\"><!></p>"), Le = s("<div class=\"sv-grid-chart-float-resizer\" role=\"separator\" aria-label=\"Resize chart window\"></div>"), Re = s("<section aria-label=\"Chart\"><!> <header class=\"sv-grid-chart-panel-head\"><div><svg class=\"sv-grid-chart-title-icon\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"10\"></line><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"4\"></line><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"16\"></line></svg> <span class=\"sv-grid-chart-title\">Chart</span> <div class=\"sv-grid-chart-actions\"><!> <div class=\"sv-grid-chart-export\"><button type=\"button\" class=\"sv-grid-chart-icon-btn\" aria-label=\"Export chart\" title=\"Export\"><!></button> <!></div> <!> <!> <!> <button type=\"button\" class=\"sv-grid-chart-close\" aria-label=\"Close chart\">&times;</button></div></div> <!> <!> <div class=\"sv-grid-chart-controls\"><!></div></header> <div class=\"sv-grid-chart-panel-body\"><!></div> <!></section>");
128
+ function U(e, s) {
129
+ j(s, !0);
130
+ let l = k(s, "ctrl", 7), d = O(() => l().chartingConfig), N = O(() => l().chartCfg), P = O(() => l().chartIsCustom), I = O(() => a(d)?.position ?? "bottom"), L = O(() => a(d)?.crossFilter !== !1), R = O(() => l().chartSpec), z = O(() => l().chartableColumns), B = O(() => l().chartSize ?? (a(I) === "right" ? a(d)?.width ?? 340 : a(d)?.height ?? 260)), V = O(() => l().chartFloating), H = O(() => l().chartMaximized), U = O(() => l().chartFloatRect), ze = g(null);
131
+ function Be() {
132
+ let e = a(ze)?.offsetParent;
133
+ return {
134
+ w: e?.clientWidth ?? 800,
135
+ h: e?.clientHeight ?? 520
136
+ };
137
+ }
138
+ function Ve() {
139
+ if (!l().chartFloatRect) {
140
+ let { w: e, h: t } = Be(), n = Math.min(600, Math.max(360, e - 80)), r = Math.min(430, Math.max(260, t - 90));
141
+ l().chartFloatRect = {
142
+ x: Math.round((e - n) / 2),
143
+ y: Math.round((t - r) / 2),
144
+ w: n,
145
+ h: r
146
+ };
147
+ }
148
+ l().chartFloating = !0;
149
+ }
150
+ function He() {
151
+ l().chartFloating = !1, l().chartMaximized = !1;
152
+ }
153
+ let Ue = () => l().chartMaximized = !l().chartMaximized;
154
+ function We(e) {
155
+ if (!a(V) || a(H) || e.target?.closest("button")) return;
156
+ let t = l().chartFloatRect;
157
+ if (!t) return;
158
+ e.preventDefault();
159
+ let n = e.clientX, r = e.clientY, { w: i, h: o } = Be(), s = (e) => {
160
+ let a = Math.max(0, Math.min(i - t.w, t.x + e.clientX - n)), s = Math.max(0, Math.min(o - t.h, t.y + e.clientY - r));
161
+ l().chartFloatRect = {
162
+ x: a,
163
+ y: s,
164
+ w: t.w,
165
+ h: t.h
166
+ };
167
+ }, c = () => {
168
+ window.removeEventListener("pointermove", s), window.removeEventListener("pointerup", c);
169
+ };
170
+ window.addEventListener("pointermove", s), window.addEventListener("pointerup", c);
171
+ }
172
+ function Ge(e) {
173
+ let t = l().chartFloatRect;
174
+ if (!t) return;
175
+ e.preventDefault(), e.stopPropagation();
176
+ let n = e.clientX, r = e.clientY;
177
+ e.target.setPointerCapture?.(e.pointerId);
178
+ let i = (e) => {
179
+ l().chartFloatRect = {
180
+ x: t.x,
181
+ y: t.y,
182
+ w: Math.max(300, t.w + e.clientX - n),
183
+ h: Math.max(220, t.h + e.clientY - r)
184
+ };
185
+ }, a = () => {
186
+ window.removeEventListener("pointermove", i), window.removeEventListener("pointerup", a);
187
+ };
188
+ window.addEventListener("pointermove", i), window.addEventListener("pointerup", a);
189
+ }
190
+ let Ke = O(() => a(V) ? a(H) ? "left:12px; top:12px; right:12px; bottom:12px; width:auto; height:auto;" : a(U) ? `left:${a(U).x}px; top:${a(U).y}px; width:${a(U).w}px; height:${a(U).h}px;` : "" : a(I) === "right" ? `width:${a(B)}px` : `height:${a(B)}px`), qe = g(0), Je = g(0), Ye = O(() => a(R) ? a(R).type === "pie" ? a(R).categories.length : a(R).series.length : 0), Xe = O(() => (a(Ye) > 1 ? 36 : 0) + (a(N)?.export === !0 ? 30 : 0)), Ze = O(() => a(qe) > 24 ? a(qe) - 8 : void 0), Qe = O(() => a(Je) > 24 ? Math.max(120, a(Je) - 8 - a(Xe)) : void 0), $e = [
191
+ {
192
+ value: "bar",
193
+ label: "Bar"
194
+ },
195
+ {
196
+ value: "line",
197
+ label: "Line"
198
+ },
199
+ {
200
+ value: "area",
201
+ label: "Area"
202
+ },
203
+ {
204
+ value: "pie",
205
+ label: "Pie"
206
+ }
207
+ ], et = [
208
+ {
209
+ value: "sum",
210
+ label: "Sum"
211
+ },
212
+ {
213
+ value: "avg",
214
+ label: "Average"
215
+ },
216
+ {
217
+ value: "count",
218
+ label: "Count"
219
+ }
220
+ ], tt = [
221
+ {
222
+ value: "number",
223
+ label: "Number"
224
+ },
225
+ {
226
+ value: "currency",
227
+ label: "Currency"
228
+ },
229
+ {
230
+ value: "percent",
231
+ label: "Percent"
232
+ }
233
+ ];
234
+ function nt(e) {
235
+ a(L) && e.category != null && l().applyChartCrossFilter(String(e.category));
236
+ }
237
+ let rt = g(null), W = g(!1), it = g(!1), at = () => a(rt)?.querySelector("svg") ?? null, ot = O(() => !!(a(R) && a(R).categories?.length && a(R).series?.length));
238
+ function st() {
239
+ let e = at();
240
+ e && se(e, "chart.png"), S(W, !1);
241
+ }
242
+ function ct() {
243
+ let e = at();
244
+ e && ae(e, "chart.svg"), S(W, !1);
245
+ }
246
+ function lt() {
247
+ a(R) && ce(a(R), "chart.csv"), S(W, !1);
248
+ }
249
+ async function ut() {
250
+ let e = at();
251
+ if (S(W, !1), !(!e || typeof ClipboardItem > "u" || !navigator.clipboard?.write)) try {
252
+ let t = await oe(e);
253
+ await navigator.clipboard.write([new ClipboardItem({ "image/png": t })]), S(it, !0), setTimeout(() => S(it, !1), 1400);
254
+ } catch {}
255
+ }
256
+ f(() => {
257
+ if (!a(W)) return;
258
+ let e = (e) => {
259
+ e.target?.closest(".sv-grid-chart-export") || S(W, !1);
260
+ };
261
+ return window.addEventListener("pointerdown", e), () => window.removeEventListener("pointerdown", e);
262
+ });
263
+ let dt = O(() => !!l().chartAiHandler), G = g(!1), K = g(""), q = g(!1), J = g(""), Y = g("");
264
+ async function ft() {
265
+ let e = l().chartAiHandler, t = a(K).trim();
266
+ if (!(!e || !t || a(q))) {
267
+ S(q, !0), S(J, ""), S(Y, "");
268
+ try {
269
+ let n = await e(t);
270
+ n ? (l().applyChartConfig(n), S(Y, typeof n.rationale == "string" ? n.rationale : "", !0)) : S(J, "Couldn't build a chart from that request.");
271
+ } catch (e) {
272
+ S(J, e instanceof Error ? e.message : "Something went wrong.", !0);
273
+ } finally {
274
+ S(q, !1);
275
+ }
276
+ }
277
+ }
278
+ let pt = g(!1);
279
+ function mt(e) {
280
+ e.preventDefault(), S(pt, !0);
281
+ let t = a(I) === "right" ? e.clientX : e.clientY, n = a(B);
282
+ e.target.setPointerCapture?.(e.pointerId);
283
+ let r = (e) => {
284
+ let r = a(I) === "right" ? t - e.clientX : t - e.clientY;
285
+ l().chartSize = Math.max(160, Math.min(720, n + r));
286
+ }, i = () => {
287
+ S(pt, !1), window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", i);
288
+ };
289
+ window.addEventListener("pointermove", r), window.addEventListener("pointerup", i);
290
+ }
291
+ var X = Re();
292
+ let ht;
293
+ var gt = v(X), _t = (e) => {
294
+ var t = le();
295
+ let n;
296
+ p(() => {
297
+ n = M(t, 1, "sv-grid-chart-resizer", null, n, { "is-dragging": a(pt) }), _(t, "aria-orientation", a(I) === "right" ? "vertical" : "horizontal");
298
+ }), o("pointerdown", t, mt), i(e, t);
299
+ };
300
+ C(gt, (e) => {
301
+ a(V) || e(_t);
302
+ });
303
+ var vt = T(gt, 2), Z = v(vt);
304
+ let yt;
305
+ var bt = T(v(Z), 4), xt = v(bt), St = (e) => {
306
+ var t = ue();
307
+ o("click", t, () => l().clearChartCrossFilter()), i(e, t);
308
+ };
309
+ C(xt, (e) => {
310
+ a(L) && !a(P) && e(St);
311
+ });
312
+ var Ct = T(xt, 2), Q = v(Ct), wt = v(Q), Tt = (e) => {
313
+ i(e, de());
314
+ }, Et = (e) => {
315
+ i(e, fe());
316
+ };
317
+ C(wt, (e) => {
318
+ a(it) ? e(Tt) : e(Et, -1);
319
+ }), D(Q);
320
+ var Dt = T(Q, 2), Ot = (e) => {
321
+ var t = pe(), n = v(t), r = T(n, 2), s = T(r, 2), c = T(s, 2);
322
+ D(t), p(() => s.disabled = !a(ot)), o("click", n, st), o("click", r, ct), o("click", s, lt), o("click", c, ut), i(e, t);
323
+ };
324
+ C(Dt, (e) => {
325
+ a(W) && e(Ot);
326
+ }), D(Ct);
327
+ var kt = T(Ct, 2), At = (e) => {
328
+ var t = me();
329
+ let n;
330
+ p(() => {
331
+ n = M(t, 1, "sv-grid-chart-btn sv-grid-chart-ai-btn", null, n, { "is-active": a(G) }), _(t, "aria-expanded", a(G));
332
+ }), o("click", t, () => S(G, !a(G))), i(e, t);
333
+ };
334
+ C(kt, (e) => {
335
+ a(dt) && !a(P) && e(At);
336
+ });
337
+ var jt = T(kt, 2), Mt = (e) => {
338
+ var t = he();
339
+ o("click", t, () => l().addChart()), i(e, t);
340
+ };
341
+ C(jt, (e) => {
342
+ a(P) || e(Mt);
343
+ });
344
+ var Nt = T(jt, 2), Pt = (e) => {
345
+ var t = ve(), n = ne(t), r = v(n), s = (e) => {
346
+ i(e, ge());
347
+ }, c = (e) => {
348
+ i(e, _e());
349
+ };
350
+ C(r, (e) => {
351
+ a(H) ? e(s) : e(c, -1);
352
+ }), D(n);
353
+ var l = T(n, 2);
354
+ p(() => {
355
+ _(n, "aria-label", a(H) ? "Restore" : "Maximize"), _(n, "title", a(H) ? "Restore" : "Maximize");
356
+ }), o("click", n, Ue), o("click", l, He), i(e, t);
357
+ }, Ft = (e) => {
358
+ var t = ye();
359
+ o("click", t, Ve), i(e, t);
360
+ };
361
+ C(Nt, (e) => {
362
+ a(V) ? e(Pt) : e(Ft, -1);
363
+ });
364
+ var It = T(Nt, 2);
365
+ D(bt), D(Z);
366
+ var Lt = T(Z, 2), Rt = (e) => {
367
+ var t = xe();
368
+ r(t, 23, () => l().charts, (e) => e.id, (e, t, n) => {
369
+ var r = be();
370
+ let s;
371
+ var u = v(r), d = v(u, !0);
372
+ D(u);
373
+ var f = T(u, 2);
374
+ D(r), p(() => {
375
+ s = M(r, 1, "sv-grid-chart-tab", null, s, { "is-active": a(n) === l().activeChartIndex }), _(u, "aria-selected", a(n) === l().activeChartIndex), c(d, a(t).title), _(f, "aria-label", `Remove ${a(t).title}`);
376
+ }), o("click", u, () => l().activeChartIndex = a(n)), o("click", f, () => l().removeChart(a(n))), i(e, r);
377
+ }), D(t), i(e, t);
378
+ };
379
+ C(Lt, (e) => {
380
+ !a(P) && l().charts.length > 1 && e(Rt);
381
+ });
382
+ var zt = T(Lt, 2), Bt = (e) => {
383
+ var t = we(), n = v(t), r = v(n);
384
+ A(r);
385
+ var o = T(r, 2), s = v(o, !0);
386
+ D(o), D(n);
387
+ var l = T(n, 2), d = (e) => {
388
+ var t = Se(), n = v(t, !0);
389
+ D(t), p(() => c(n, a(J))), i(e, t);
390
+ }, f = (e) => {
391
+ var t = Ce(), n = v(t, !0);
392
+ D(t), p(() => c(n, a(Y))), i(e, t);
393
+ };
394
+ C(l, (e) => {
395
+ a(J) ? e(d) : a(Y) && e(f, 1);
396
+ }), D(t), p((e) => {
397
+ r.disabled = a(q), o.disabled = e, c(s, a(q) ? "Thinking..." : "Chart it");
398
+ }, [() => a(q) || !a(K).trim()]), u("submit", n, (e) => {
399
+ e.preventDefault(), ft();
400
+ }), E(r, () => a(K), (e) => S(K, e)), i(e, t);
401
+ };
402
+ C(zt, (e) => {
403
+ a(dt) && a(G) && !a(P) && e(Bt);
404
+ });
405
+ var Vt = T(zt, 2), Ht = v(Vt), Ut = (e) => {
406
+ var t = Fe(), n = ne(t), s = T(v(n), 2);
407
+ r(s, 21, () => $e, (e) => e.value, (e, t) => {
408
+ var n = Te(), r = v(n, !0);
409
+ D(n);
410
+ var o = {};
411
+ p(() => {
412
+ c(r, a(t).label), o !== (o = a(t).value) && (n.value = (n.__value = a(t).value) ?? "");
413
+ }), i(e, n);
414
+ }), D(s);
415
+ var u;
416
+ b(s), D(n);
417
+ var d = T(n, 2), f = T(v(d), 2);
418
+ r(f, 21, () => a(z).dims, (e) => e.id, (e, t) => {
419
+ var n = Ee(), r = v(n, !0);
420
+ D(n);
421
+ var o = {};
422
+ p(() => {
423
+ c(r, a(t).label), o !== (o = a(t).id) && (n.value = (n.__value = a(t).id) ?? "");
424
+ }), i(e, n);
425
+ }), D(f);
426
+ var m;
427
+ b(f), D(d);
428
+ var h = T(d, 2), g = (e) => {
429
+ var t = Oe(), n = T(v(t), 2), s = v(n);
430
+ s.value = s.__value = "", r(T(s), 17, () => a(z).dims, (e) => e.id, (e, t) => {
431
+ var n = De(), r = v(n, !0);
432
+ D(n);
433
+ var o = {};
434
+ p(() => {
435
+ c(r, a(t).label), o !== (o = a(t).id) && (n.value = (n.__value = a(t).id) ?? "");
436
+ }), i(e, n);
437
+ }), D(n);
438
+ var u;
439
+ b(n), D(t), p(() => {
440
+ u !== (u = l().chartSeriesId ?? "") && (n.value = (n.__value = l().chartSeriesId ?? "") ?? "", y(n, l().chartSeriesId ?? ""));
441
+ }), o("change", n, (e) => l().chartSeriesId = e.currentTarget.value || null), i(e, t);
442
+ };
443
+ C(h, (e) => {
444
+ a(z).dims.length > 1 && e(g);
445
+ });
446
+ var _ = T(h, 2), x = T(v(_), 2);
447
+ r(x, 21, () => a(z).measures, (e) => e.id, (e, t) => {
448
+ var n = ke(), r = v(n, !0);
449
+ D(n);
450
+ var o = {};
451
+ p(() => {
452
+ c(r, a(t).label), o !== (o = a(t).id) && (n.value = (n.__value = a(t).id) ?? "");
453
+ }), i(e, n);
454
+ }), D(x);
455
+ var S;
456
+ b(x), D(_);
457
+ var w = T(_, 2), E = T(v(w), 2);
458
+ r(E, 21, () => et, (e) => e.value, (e, t) => {
459
+ var n = Ae(), r = v(n, !0);
460
+ D(n);
461
+ var o = {};
462
+ p(() => {
463
+ c(r, a(t).label), o !== (o = a(t).value) && (n.value = (n.__value = a(t).value) ?? "");
464
+ }), i(e, n);
465
+ }), D(E);
466
+ var O;
467
+ b(E), D(w);
468
+ var k = T(w, 2), j = T(v(k), 2);
469
+ r(j, 21, () => tt, (e) => e.value, (e, t) => {
470
+ var n = je(), r = v(n, !0);
471
+ D(n);
472
+ var o = {};
473
+ p(() => {
474
+ c(r, a(t).label), o !== (o = a(t).value) && (n.value = (n.__value = a(t).value) ?? "");
475
+ }), i(e, n);
476
+ }), D(j);
477
+ var M;
478
+ b(j), D(k);
479
+ var re = T(k, 2), N = (e) => {
480
+ var t = Me(), n = v(t);
481
+ A(n), te(), D(t), p(() => ee(n, l().chartStacked)), o("change", n, (e) => l().chartStacked = e.currentTarget.checked), i(e, t);
482
+ };
483
+ C(re, (e) => {
484
+ l().chartType !== "pie" && e(N);
485
+ });
486
+ var P = T(re, 2), F = v(P);
487
+ A(F), te(), D(P);
488
+ var ie = T(P, 2), I = (e) => {
489
+ var t = Ne(), n = v(t);
490
+ A(n), te(), D(t), p(() => ee(n, l().chartLogScale)), o("change", n, (e) => l().chartLogScale = e.currentTarget.checked), i(e, t);
491
+ };
492
+ C(ie, (e) => {
493
+ l().chartType !== "pie" && e(I);
494
+ });
495
+ var L = T(ie, 2), R = (e) => {
496
+ var t = Pe(), n = v(t);
497
+ A(n), te(), D(t), p(() => ee(n, l().chartTimeAxis)), o("change", n, (e) => l().chartTimeAxis = e.currentTarget.checked), i(e, t);
498
+ };
499
+ C(L, (e) => {
500
+ l().chartDimensionIsDate && l().chartType !== "pie" && e(R);
501
+ }), p(() => {
502
+ u !== (u = l().chartType) && (s.value = (s.__value = l().chartType) ?? "", y(s, l().chartType)), m !== (m = l().chartDimensionId ?? "") && (f.value = (f.__value = l().chartDimensionId ?? "") ?? "", y(f, l().chartDimensionId ?? "")), S !== (S = l().chartMeasureId ?? "") && (x.value = (x.__value = l().chartMeasureId ?? "") ?? "", y(x, l().chartMeasureId ?? "")), O !== (O = l().chartReduce) && (E.value = (E.__value = l().chartReduce) ?? "", y(E, l().chartReduce)), M !== (M = l().chartValueFormat) && (j.value = (j.__value = l().chartValueFormat) ?? "", y(j, l().chartValueFormat)), ee(F, l().chartDataLabels);
503
+ }), o("change", s, (e) => l().chartType = e.currentTarget.value), o("change", f, (e) => l().chartDimensionId = e.currentTarget.value || null), o("change", x, (e) => l().chartMeasureId = e.currentTarget.value || null), o("change", E, (e) => l().chartReduce = e.currentTarget.value), o("change", j, (e) => l().chartValueFormat = e.currentTarget.value), o("change", F, (e) => l().chartDataLabels = e.currentTarget.checked), i(e, t);
504
+ };
505
+ C(Ht, (e) => {
506
+ a(P) || e(Ut);
507
+ }), D(Vt), D(vt);
508
+ var $ = T(vt, 2), Wt = v($), Gt = (e) => {
509
+ {
510
+ let t = O(() => a(N)?.zoom === !0), n = O(() => a(N)?.brush === !0), r = O(() => a(N)?.export === !0 ? !0 : void 0);
511
+ re(e, {
512
+ get spec() {
513
+ return a(R);
514
+ },
515
+ get width() {
516
+ return a(Ze);
517
+ },
518
+ get height() {
519
+ return a(Qe);
520
+ },
521
+ onSelect: nt,
522
+ interactive: !0,
523
+ legend: !0,
524
+ get dataLabels() {
525
+ return l().chartDataLabels;
526
+ },
527
+ get zoomable() {
528
+ return a(t);
529
+ },
530
+ get brush() {
531
+ return a(n);
532
+ },
533
+ get toolbar() {
534
+ return a(r);
535
+ }
536
+ });
537
+ }
538
+ }, Kt = (e) => {
539
+ var n = Ie(), r = v(n), o = (e) => {
540
+ i(e, t("Charting needs at least one text column (to group by) and one numeric column (to measure)."));
541
+ }, s = (e) => {
542
+ i(e, t("No data to chart."));
543
+ };
544
+ C(r, (e) => {
545
+ !a(z).dims.length || !a(z).measures.length ? e(o) : e(s, -1);
546
+ }), D(n), i(e, n);
547
+ };
548
+ C(Wt, (e) => {
549
+ a(R) && (a(R).series.length || a(P)) ? e(Gt) : e(Kt, -1);
550
+ }), D($), x($, (e) => S(rt, e), () => a(rt));
551
+ var qt = T($, 2), Jt = (e) => {
552
+ var t = Le();
553
+ o("pointerdown", t, Ge), i(e, t);
554
+ };
555
+ C(qt, (e) => {
556
+ a(V) && !a(H) && e(Jt);
557
+ }), D(X), x(X, (e) => S(ze, e), () => a(ze)), p(() => {
558
+ ht = M(X, 1, "sv-grid-chart-panel", null, ht, {
559
+ "is-right": a(I) === "right" && !a(V),
560
+ "is-bottom": a(I) === "bottom" && !a(V),
561
+ "is-floating": a(V),
562
+ "is-maximized": a(V) && a(H)
563
+ }), m(X, a(Ke)), yt = M(Z, 1, "sv-grid-chart-drawer-title", null, yt, { "is-drag-handle": a(V) && !a(H) }), _(Q, "aria-expanded", a(W));
564
+ }), o("pointerdown", Z, We), o("click", Q, () => S(W, !a(W))), o("click", It, () => l().chartPanelOpen = !1), h($, "clientWidth", (e) => S(qe, e)), h($, "clientHeight", (e) => S(Je, e)), n(3, X, () => F, () => ({
565
+ x: !a(V) && a(I) === "right" ? a(B) : 0,
566
+ y: !a(V) && a(I) === "bottom" ? a(B) : 0,
567
+ duration: 180,
568
+ easing: ie
569
+ })), i(e, X), w();
570
+ }
571
+ d([
572
+ "pointerdown",
573
+ "click",
574
+ "change"
575
+ ]);
576
+ //#endregion
577
+ export { R as a, ae as c, oe as i, F as l, H as n, ce as o, V as r, se as s, U as t };
@@ -0,0 +1,54 @@
1
+ import { f as e } from "./chart-T1usDN0o.js";
2
+ import { t } from "./SvGridChart-BhnFdLd0.js";
3
+ import * as n from "svelte/internal/client";
4
+ import "svelte/internal/disclose-version";
5
+ //#region src/SvGridChartView.svelte
6
+ var r = n.from_html("<div class=\"sv-grid-chart-view svelte-10run6t\"><!></div>"), i = {
7
+ hash: "svelte-10run6t",
8
+ code: ".sv-grid-chart-view.svelte-10run6t {width:100%;height:100%;min-height:0;box-sizing:border-box;}"
9
+ };
10
+ function a(a, o) {
11
+ n.push(o, !0), n.append_styles(a, i);
12
+ let s = n.state(0), c = n.state(0), l = n.derived(() => {
13
+ let t = e(o.data ?? [], {
14
+ type: o.chart.type ?? "bar",
15
+ category: o.chart.category,
16
+ value: o.chart.value,
17
+ series: o.chart.series,
18
+ reduce: o.chart.reduce,
19
+ stacked: o.chart.stacked,
20
+ stacked100: o.chart.stacked100,
21
+ sort: o.chart.sort,
22
+ topN: o.chart.topN,
23
+ palette: o.chart.palette
24
+ });
25
+ return o.chart.valueFormat && (t.valueFormat = o.chart.valueFormat), t;
26
+ });
27
+ var u = r(), d = n.child(u), f = (e) => {
28
+ {
29
+ let r = n.derived(() => o.chart.legend ?? !0), i = n.derived(() => o.chart.dataLabels ?? !1);
30
+ t(e, {
31
+ get spec() {
32
+ return n.get(l);
33
+ },
34
+ get width() {
35
+ return n.get(s);
36
+ },
37
+ get height() {
38
+ return n.get(c);
39
+ },
40
+ get legend() {
41
+ return n.get(r);
42
+ },
43
+ get dataLabels() {
44
+ return n.get(i);
45
+ }
46
+ });
47
+ }
48
+ };
49
+ n.if(d, (e) => {
50
+ n.get(s) > 0 && n.get(c) > 0 && e(f);
51
+ }), n.reset(u), n.bind_element_size(u, "clientWidth", (e) => n.set(s, e)), n.bind_element_size(u, "clientHeight", (e) => n.set(c, e)), n.append(a, u), n.pop();
52
+ }
53
+ //#endregion
54
+ export { a as default };