@svgrid/grid 3.0.2 → 3.0.4

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 (281) hide show
  1. package/README.md +2 -1
  2. package/dist/GridMenus.svelte +44 -2
  3. package/dist/SvChartMenu.svelte +69 -0
  4. package/dist/SvChartMenu.svelte.d.ts +11 -0
  5. package/dist/SvChartPanes.svelte +113 -0
  6. package/dist/SvChartPanes.svelte.d.ts +20 -0
  7. package/dist/SvGrid.controller.svelte.d.ts +110 -39
  8. package/dist/SvGrid.controller.svelte.js +655 -200
  9. package/dist/SvGrid.css +105 -2
  10. package/dist/SvGrid.svelte +386 -514
  11. package/dist/SvGrid.types.d.ts +210 -9
  12. package/dist/SvGridCellEditor.svelte +17 -0
  13. package/dist/SvGridChart.svelte +2257 -329
  14. package/dist/SvGridChart.svelte.d.ts +6 -106
  15. package/dist/SvGridChart.types.d.ts +338 -0
  16. package/dist/SvGridChart.types.js +1 -0
  17. package/dist/SvGridChartBuilder.svelte +323 -0
  18. package/dist/SvGridChartBuilder.svelte.d.ts +34 -0
  19. package/dist/SvGridChartPanel.svelte +221 -275
  20. package/dist/SvGridChartPickers.svelte +417 -0
  21. package/dist/SvGridChartPickers.svelte.d.ts +70 -0
  22. package/dist/SvGridChartView.svelte +13 -14
  23. package/dist/SvModal.svelte +7 -1
  24. package/dist/SvModal.svelte.d.ts +5 -0
  25. package/dist/ai.d.ts +40 -8
  26. package/dist/ai.js +135 -24
  27. package/dist/aria.d.ts +11 -0
  28. package/dist/build-api.js +108 -22
  29. package/dist/cdn/GridMenus-7kbpnnBW.js +635 -0
  30. package/dist/cdn/GridMenus-BL7ZgQvU.js +636 -0
  31. package/dist/cdn/SvChartMenu-Bl6PBbkT.js +58 -0
  32. package/dist/cdn/SvChartMenu-FBSMINA6.js +59 -0
  33. package/dist/cdn/{SvDateRangeInput-DMLKmGEc.js → SvDateRangeInput-BeU_TkbQ.js} +15 -14
  34. package/dist/cdn/{SvDateRangeInput-CaOuMs8O.js → SvDateRangeInput-yX8vzleW.js} +38 -37
  35. package/dist/cdn/{SvDateTimePicker-sonaH0oh.js → SvDateTimePicker-DQwt4UAs.js} +139 -180
  36. package/dist/cdn/SvDateTimePicker-vNU6bZ-q.js +775 -0
  37. package/dist/cdn/{SvGridCellEditor-CjEJMJKc.js → SvGridCellEditor-B1p-vCK5.js} +188 -178
  38. package/dist/cdn/{SvGridCellEditor-BWnTi2N7.js → SvGridCellEditor-D_0q4xAu.js} +98 -88
  39. package/dist/cdn/SvGridChart-C3EWAZaM.js +3574 -0
  40. package/dist/cdn/SvGridChart-DzLkSwCH.js +3572 -0
  41. package/dist/cdn/SvGridChartBuilder-BE2T1ykB.js +783 -0
  42. package/dist/cdn/SvGridChartBuilder-CfII62sZ.js +784 -0
  43. package/dist/cdn/SvGridChartPanel-CCX5_Wgd.js +675 -0
  44. package/dist/cdn/SvGridChartPanel-xf4sWVTo.js +699 -0
  45. package/dist/cdn/SvGridChartView-CfuXmY5I.js +48 -0
  46. package/dist/cdn/SvGridChartView-DYwabQWj.js +47 -0
  47. package/dist/cdn/SvMenuList-CLN8OuIK.js +452 -0
  48. package/dist/cdn/SvMenuList-DkGhNKjf.js +451 -0
  49. package/dist/cdn/SvModal-BAE-pjZX.js +396 -0
  50. package/dist/cdn/SvModal-CIZWCcad.js +397 -0
  51. package/dist/cdn/chart-Dz7SqMXH.js +4341 -0
  52. package/dist/cdn/chart-export-BXqueeWJ.js +135 -0
  53. package/dist/cdn/chart-export-pdf-DONFUnNY.js +110 -0
  54. package/dist/cdn/chart-panel-messages-CUbf2R4i.js +1052 -0
  55. package/dist/cdn/chart-panel-messages-CmNrMdsr.js +1053 -0
  56. package/dist/cdn/chart-summary-BJW_tg_X.js +138 -0
  57. package/dist/cdn/chart-trend-CaN9mDEV.js +50 -0
  58. package/dist/cdn/chart-validate-HcOVFAfJ.js +188 -0
  59. package/dist/cdn/{column-resize-DsfNXMom.js → column-resize-DpmOLfRp.js} +3 -3
  60. package/dist/cdn/{date-format-BnnHlqGw.js → date-format-CtquV-p3.js} +583 -603
  61. package/dist/cdn/{date-format-BNii4zeD.js → date-format-D6KFzU_W.js} +347 -367
  62. package/dist/cdn/dismissable-DAHetSNk.js +44 -0
  63. package/dist/cdn/editor-contract-LXgQJAgd.js +22 -0
  64. package/dist/cdn/focus-trap-BBOQYBma.js +65 -0
  65. package/dist/cdn/{row-resize-BRcimkUT.js → row-resize-niQCp040.js} +44 -36
  66. package/dist/cdn/{src-DNbz94Ct.js → src-BKhZ6eXd.js} +10227 -9787
  67. package/dist/cdn/{src-BJ2opd0j.js → src-V1uu8iE9.js} +6568 -6128
  68. package/dist/cdn/svgrid.js +26 -15
  69. package/dist/cdn/svgrid.svelte-external.js +26 -15
  70. package/dist/chart-axes.d.ts +53 -0
  71. package/dist/chart-axes.js +351 -0
  72. package/dist/chart-cartesian.d.ts +88 -0
  73. package/dist/chart-cartesian.js +1862 -0
  74. package/dist/chart-decimate.d.ts +51 -0
  75. package/dist/chart-decimate.js +199 -0
  76. package/dist/chart-export-pdf.d.ts +47 -0
  77. package/dist/chart-export-pdf.js +187 -0
  78. package/dist/chart-export.d.ts +2 -1
  79. package/dist/chart-export.js +18 -3
  80. package/dist/chart-financial.d.ts +91 -0
  81. package/dist/chart-financial.js +175 -0
  82. package/dist/chart-flow.d.ts +10 -0
  83. package/dist/chart-flow.js +298 -0
  84. package/dist/chart-format.d.ts +18 -0
  85. package/dist/chart-format.js +65 -0
  86. package/dist/chart-grid.d.ts +8 -0
  87. package/dist/chart-grid.js +190 -0
  88. package/dist/chart-hierarchy.d.ts +17 -0
  89. package/dist/chart-hierarchy.js +146 -0
  90. package/dist/chart-indicators.d.ts +115 -0
  91. package/dist/chart-indicators.js +389 -0
  92. package/dist/chart-messages.d.ts +95 -0
  93. package/dist/chart-messages.js +92 -0
  94. package/dist/chart-motion.d.ts +16 -0
  95. package/dist/chart-motion.js +141 -0
  96. package/dist/chart-panel-messages.d.ts +265 -0
  97. package/dist/chart-panel-messages.js +285 -0
  98. package/dist/chart-pivot.d.ts +87 -0
  99. package/dist/chart-pivot.js +156 -0
  100. package/dist/chart-polar.d.ts +25 -0
  101. package/dist/chart-polar.js +700 -0
  102. package/dist/chart-samples.d.ts +16 -0
  103. package/dist/chart-samples.js +153 -0
  104. package/dist/chart-scale.d.ts +113 -0
  105. package/dist/chart-scale.js +405 -0
  106. package/dist/chart-stats.d.ts +111 -0
  107. package/dist/chart-stats.js +419 -0
  108. package/dist/chart-stream.d.ts +45 -0
  109. package/dist/chart-stream.js +91 -0
  110. package/dist/chart-summary.d.ts +27 -0
  111. package/dist/chart-summary.js +205 -0
  112. package/dist/chart-sync.svelte.d.ts +32 -0
  113. package/dist/chart-sync.svelte.js +23 -0
  114. package/dist/chart-table.d.ts +35 -0
  115. package/dist/chart-table.js +165 -0
  116. package/dist/chart-trend.d.ts +19 -0
  117. package/dist/chart-trend.js +61 -0
  118. package/dist/chart-types.d.ts +1456 -0
  119. package/dist/chart-types.js +6 -0
  120. package/dist/chart-validate.d.ts +43 -0
  121. package/dist/chart-validate.js +272 -0
  122. package/dist/chart-zoom.d.ts +40 -0
  123. package/dist/chart-zoom.js +145 -0
  124. package/dist/chart.d.ts +186 -865
  125. package/dist/chart.js +460 -2204
  126. package/dist/clipboard.d.ts +1 -0
  127. package/dist/clipboard.js +137 -18
  128. package/dist/column-resize.d.ts +3 -0
  129. package/dist/column-resize.js +4 -1
  130. package/dist/columns.js +3 -0
  131. package/dist/command-context.d.ts +19 -0
  132. package/dist/command-context.js +116 -0
  133. package/dist/core.d.ts +7 -0
  134. package/dist/createPopoverSelect.svelte.d.ts +2 -2
  135. package/dist/editing.d.ts +2 -8
  136. package/dist/editing.js +262 -33
  137. package/dist/fill-patterns.d.ts +0 -5
  138. package/dist/fill-patterns.js +56 -2
  139. package/dist/grid-messages.d.ts +10 -3
  140. package/dist/grid-messages.js +5 -0
  141. package/dist/history.d.ts +83 -0
  142. package/dist/history.js +133 -0
  143. package/dist/index.d.ts +24 -6
  144. package/dist/index.js +20 -2
  145. package/dist/keyboard-handlers.js +88 -31
  146. package/dist/keyboard.d.ts +55 -0
  147. package/dist/keyboard.js +132 -0
  148. package/dist/menus.d.ts +3 -1
  149. package/dist/menus.js +7 -2
  150. package/dist/merges.d.ts +97 -0
  151. package/dist/merges.js +147 -0
  152. package/dist/row-resize.d.ts +3 -0
  153. package/dist/row-resize.js +14 -0
  154. package/dist/scroll-sync.d.ts +1 -0
  155. package/dist/scroll-sync.js +24 -0
  156. package/dist/selection.d.ts +16 -0
  157. package/dist/selection.js +108 -16
  158. package/dist/shortcut-registry.d.ts +145 -0
  159. package/dist/shortcut-registry.js +44 -0
  160. package/dist/svgrid-wrapper.types.d.ts +213 -22
  161. package/dist/virtualization/virtualizer.js +38 -17
  162. package/package.json +6 -1
  163. package/src/GridMenus.svelte +44 -2
  164. package/src/SvChartMenu.svelte +69 -0
  165. package/src/SvChartPanes.svelte +113 -0
  166. package/src/SvChartPanes.test.ts +66 -0
  167. package/src/SvGrid.controller.svelte.ts +629 -172
  168. package/src/SvGrid.css +105 -2
  169. package/src/SvGrid.svelte +386 -514
  170. package/src/SvGrid.types.ts +188 -8
  171. package/src/SvGridCellEditor.svelte +17 -0
  172. package/src/SvGridChart.svelte +2257 -329
  173. package/src/SvGridChart.test.ts +1419 -1
  174. package/src/SvGridChart.types.ts +336 -0
  175. package/src/SvGridChartBuilder.svelte +323 -0
  176. package/src/SvGridChartPanel.svelte +221 -275
  177. package/src/SvGridChartPickers.svelte +417 -0
  178. package/src/SvGridChartView.svelte +13 -14
  179. package/src/SvModal.svelte +7 -1
  180. package/src/SvModal.test.ts +9 -0
  181. package/src/ai.test.ts +57 -2
  182. package/src/ai.ts +166 -22
  183. package/src/aria.d.ts +11 -0
  184. package/src/build-api.coverage.test.ts +184 -0
  185. package/src/build-api.ts +107 -18
  186. package/src/chart-axes.test.ts +573 -0
  187. package/src/chart-axes.ts +342 -0
  188. package/src/chart-cartesian.ts +1863 -0
  189. package/src/chart-decimate.test.ts +249 -0
  190. package/src/chart-decimate.ts +186 -0
  191. package/src/chart-export-pdf.test.ts +91 -0
  192. package/src/chart-export-pdf.ts +207 -0
  193. package/src/chart-export.test.ts +14 -0
  194. package/src/chart-export.ts +13 -3
  195. package/src/chart-financial.ts +208 -0
  196. package/src/chart-flow.ts +286 -0
  197. package/src/chart-format.ts +67 -0
  198. package/src/chart-grid.ts +179 -0
  199. package/src/chart-hierarchy.ts +135 -0
  200. package/src/chart-indicators.test.ts +443 -0
  201. package/src/chart-indicators.ts +384 -0
  202. package/src/chart-messages.test.ts +21 -0
  203. package/src/chart-messages.ts +184 -0
  204. package/src/chart-motion.test.ts +71 -0
  205. package/src/chart-motion.ts +148 -0
  206. package/src/chart-panel-messages.test.ts +29 -0
  207. package/src/chart-panel-messages.ts +550 -0
  208. package/src/chart-pivot.test.ts +54 -0
  209. package/src/chart-pivot.ts +225 -0
  210. package/src/chart-polar.ts +674 -0
  211. package/src/chart-samples.ts +106 -0
  212. package/src/chart-scale.ts +394 -0
  213. package/src/chart-series-types.test.ts +714 -0
  214. package/src/chart-stats.ts +409 -0
  215. package/src/chart-stream.test.ts +75 -0
  216. package/src/chart-stream.ts +114 -0
  217. package/src/chart-summary.test.ts +90 -0
  218. package/src/chart-summary.ts +197 -0
  219. package/src/chart-sync.svelte.ts +41 -0
  220. package/src/chart-table.test.ts +76 -0
  221. package/src/chart-table.ts +178 -0
  222. package/src/chart-trend.ts +47 -0
  223. package/src/chart-types.ts +1309 -0
  224. package/src/chart-validate.test.ts +100 -0
  225. package/src/chart-validate.ts +247 -0
  226. package/src/chart-zoom.test.ts +137 -0
  227. package/src/chart-zoom.ts +124 -0
  228. package/src/chart.coverage.test.ts +81 -0
  229. package/src/chart.test.ts +56 -3
  230. package/src/chart.ts +557 -2784
  231. package/src/clipboard.test.ts +151 -0
  232. package/src/clipboard.ts +145 -16
  233. package/src/column-resize.ts +7 -1
  234. package/src/columns.ts +2 -0
  235. package/src/command-context.test.ts +200 -0
  236. package/src/command-context.ts +137 -0
  237. package/src/core.ts +7 -0
  238. package/src/editing.test.ts +281 -3
  239. package/src/editing.ts +256 -38
  240. package/src/fill-patterns.test.ts +35 -0
  241. package/src/fill-patterns.ts +56 -2
  242. package/src/grid-messages.ts +16 -3
  243. package/src/history.test.ts +196 -0
  244. package/src/history.ts +162 -0
  245. package/src/icon-seam.test.ts +3 -2
  246. package/src/index.ts +150 -2
  247. package/src/keyboard-handlers.coverage.test.ts +126 -6
  248. package/src/keyboard-handlers.ts +91 -30
  249. package/src/keyboard-shortcuts.seam.test.ts +200 -0
  250. package/src/keyboard.test.ts +124 -1
  251. package/src/keyboard.ts +142 -0
  252. package/src/menus.test.ts +26 -0
  253. package/src/menus.ts +10 -3
  254. package/src/merges.test.ts +112 -0
  255. package/src/merges.ts +168 -0
  256. package/src/pivot.grid.test.ts +40 -5
  257. package/src/row-resize.test.ts +44 -0
  258. package/src/row-resize.ts +17 -0
  259. package/src/scroll-sync.test.ts +42 -1
  260. package/src/scroll-sync.ts +25 -0
  261. package/src/selection.multi-range.test.ts +34 -0
  262. package/src/selection.test.ts +30 -2
  263. package/src/selection.ts +111 -19
  264. package/src/shortcut-registry.test.ts +97 -0
  265. package/src/shortcut-registry.ts +181 -0
  266. package/src/svgrid-wrapper.types.ts +184 -13
  267. package/src/svgrid.behavior.test.ts +135 -0
  268. package/src/svgrid.charting.test.ts +513 -3
  269. package/src/svgrid.context-menu.test.ts +31 -0
  270. package/src/svgrid.new-features.wrapper.test.ts +10 -3
  271. package/src/virtualization/virtualizer.ts +39 -17
  272. package/dist/cdn/GridMenus-DyFA-QxA.js +0 -602
  273. package/dist/cdn/GridMenus-M2XP9t0_.js +0 -603
  274. package/dist/cdn/SvDateTimePicker-CCbDZNZB.js +0 -816
  275. package/dist/cdn/SvGridChart-DAb9RbRs.js +0 -1480
  276. package/dist/cdn/SvGridChart-Yl-IXZFO.js +0 -1481
  277. package/dist/cdn/SvGridChartPanel-DayQpDsR.js +0 -834
  278. package/dist/cdn/SvGridChartPanel-aqf8n-vJ.js +0 -810
  279. package/dist/cdn/SvGridChartView-CxfakxR0.js +0 -56
  280. package/dist/cdn/SvGridChartView-Dm_YEx9L.js +0 -55
  281. package/dist/cdn/chart-CKJRCPOk.js +0 -1652
@@ -0,0 +1,396 @@
1
+ import { E as e, F as t, G as n, H as r, I as i, L as a, N as o, U as s, V as c, X as l, Y as u, a as d, at as f, b as p, c as m, d as h, et as g, i as ee, it as _, j as v, k as y, l as b, lt as te, mt as x, nt as S, ot as C, pt as w, rt as T, s as ne, st as E, t as D, tt as re, ut as ie, v as O, x as k } from "./disclose-version-Dr7rEVv-.js";
2
+ import { i as A } from "./editor-contract-LXgQJAgd.js";
3
+ import { i as j } from "./popover-P-9P2YYn.js";
4
+ import { t as M } from "./dismissable-DAHetSNk.js";
5
+ import { n as N } from "./focus-trap-BBOQYBma.js";
6
+ //#region src/a11y/scroll-lock.ts
7
+ var P = 0, F = "", I = "";
8
+ function L() {
9
+ if (typeof document > "u") return () => {};
10
+ let e = document.body;
11
+ if (P === 0) {
12
+ F = e.style.overflow, I = e.style.paddingRight;
13
+ let t = window.innerWidth - document.documentElement.clientWidth;
14
+ if (t > 0) {
15
+ let n = parseFloat(getComputedStyle(e).paddingRight) || 0;
16
+ e.style.paddingRight = `${n + t}px`;
17
+ }
18
+ e.style.overflow = "hidden";
19
+ }
20
+ P++;
21
+ let t = !1;
22
+ return () => {
23
+ t || (t = !0, P = Math.max(0, P - 1), P === 0 && (e.style.overflow = F, e.style.paddingRight = I));
24
+ };
25
+ }
26
+ function R() {
27
+ return P;
28
+ }
29
+ //#endregion
30
+ //#region src/createOverlay.svelte.ts
31
+ function z(e) {
32
+ return l(() => {
33
+ if (!e.open() || !e.getDialog()) return;
34
+ e.onOpen?.();
35
+ let t = e.getDialog(), n = e.trapFocus?.() ?? !0 ? N(t, e.initialFocus ? { initialFocus: e.initialFocus } : void 0) : null;
36
+ n?.activate();
37
+ let r = e.scrollLock?.() ?? !0 ? L() : null, i = M({
38
+ element: () => e.getDialog(),
39
+ onDismiss: (t) => {
40
+ (t === "escape" ? e.closeOnEsc?.() ?? !0 : e.closeOnBackdrop?.() ?? !0) && e.onClose();
41
+ }
42
+ });
43
+ return i.activate(), () => {
44
+ i.release(), r?.(), n?.release();
45
+ };
46
+ }), { dialogProps: (e) => ({
47
+ role: "dialog",
48
+ "aria-modal": "true",
49
+ "aria-labelledby": e?.labelledBy,
50
+ "aria-label": e?.label,
51
+ tabindex: -1
52
+ }) };
53
+ }
54
+ //#endregion
55
+ //#region src/createTabs.svelte.ts
56
+ var B = 0;
57
+ function V(e) {
58
+ let t = `sv-tabs-${B++}`, r = () => e.tabs(), i = () => e.orientation?.() ?? "horizontal", a = () => e.activation?.() ?? "automatic", o = E(() => r().filter((e) => !e.disabled)), s = E(() => e.value() ?? r().find((e) => !e.disabled)?.id ?? r()[0]?.id ?? ""), c = f(""), l = f(0), u = (e) => {
59
+ _(c, e, !0), C(l);
60
+ }, d = (e) => `${t}-tab-${e}`, p = (e) => `${t}-panel-${e}`;
61
+ function m(t) {
62
+ let n = r().find((e) => e.id === t);
63
+ !n || n.disabled || e.onChange?.(t);
64
+ }
65
+ function h(t) {
66
+ r().find((e) => e.id === t)?.closable && e.onClose?.(t);
67
+ }
68
+ function g(t) {
69
+ let r = n(o);
70
+ if (!r.length) return;
71
+ let c = r.findIndex((e) => e.id === n(s)), l = i() === "horizontal", d = l && e.dir?.() === "rtl", f = l ? d ? "ArrowLeft" : "ArrowRight" : "ArrowDown", p = l ? d ? "ArrowRight" : "ArrowLeft" : "ArrowUp", g = null;
72
+ if (t.key === f) g = r[(c + 1) % r.length]?.id ?? null;
73
+ else if (t.key === p) g = r[(c - 1 + r.length) % r.length]?.id ?? null;
74
+ else if (t.key === "Home") g = r[0]?.id ?? null;
75
+ else if (t.key === "End") g = r.at(-1)?.id ?? null;
76
+ else if ((t.key === "Enter" || t.key === " ") && a() === "manual") {
77
+ t.preventDefault(), m(n(s));
78
+ return;
79
+ } else if (t.key === "Delete") {
80
+ t.preventDefault(), h(n(s));
81
+ return;
82
+ } else return;
83
+ g && (t.preventDefault(), u(g), a() === "automatic" && m(g));
84
+ }
85
+ return {
86
+ get activeId() {
87
+ return n(s);
88
+ },
89
+ get focusId() {
90
+ return n(c);
91
+ },
92
+ get focusTick() {
93
+ return n(l);
94
+ },
95
+ isActive: (e) => e === n(s),
96
+ select: m,
97
+ close: h,
98
+ onKeydown: g,
99
+ tablistProps: () => ({
100
+ role: "tablist",
101
+ "aria-orientation": i(),
102
+ "aria-label": e.ariaLabel?.()
103
+ }),
104
+ tabProps: (e) => {
105
+ let t = r().find((t) => t.id === e), i = e === n(s);
106
+ return {
107
+ role: "tab",
108
+ id: d(e),
109
+ "data-tab": e,
110
+ "aria-selected": i,
111
+ "aria-controls": p(e),
112
+ tabindex: i ? 0 : -1,
113
+ disabled: t?.disabled,
114
+ onclick: () => m(e),
115
+ onkeydown: g
116
+ };
117
+ },
118
+ panelProps: (e) => ({
119
+ role: "tabpanel",
120
+ id: p(e),
121
+ "aria-labelledby": d(e),
122
+ tabindex: 0
123
+ })
124
+ };
125
+ }
126
+ //#endregion
127
+ //#region src/SvTabs.svelte
128
+ var H = a("<button type=\"button\" class=\"sv-tabs__scroll svelte-kxoh8m\" tabindex=\"-1\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 18l-6-6 6-6\"></path></svg></button>"), ae = a("<button type=\"button\" class=\"sv-tabs__close svelte-kxoh8m\" tabindex=\"-1\"><svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M6 6l12 12M18 6L6 18\"></path></svg></button>"), oe = a("<span role=\"presentation\"><button> </button> <!></span>"), U = a("<button type=\"button\" class=\"sv-tabs__scroll svelte-kxoh8m\" tabindex=\"-1\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 18l6-6-6-6\"></path></svg></button>"), W = a("<div><!></div>"), G = a("<div><div class=\"sv-tabs__strip svelte-kxoh8m\"><!> <div></div> <!></div> <!></div>"), se = {
129
+ hash: "svelte-kxoh8m",
130
+ code: ".sv-tabs.svelte-kxoh8m {--_accent: var(--sg-accent, #2563eb);display:flex;gap:0;}.sv-tabs--top.svelte-kxoh8m {flex-direction:column;}.sv-tabs--bottom.svelte-kxoh8m {flex-direction:column-reverse;}.sv-tabs--left.svelte-kxoh8m {flex-direction:row;}.sv-tabs--right.svelte-kxoh8m {flex-direction:row-reverse;}.sv-tabs__strip.svelte-kxoh8m {display:flex;align-items:center;min-width:0;}.sv-tabs--vertical.svelte-kxoh8m .sv-tabs__strip:where(.svelte-kxoh8m) {align-items:stretch;}.sv-tabs__list.svelte-kxoh8m {display:flex;gap:2px;}.sv-tabs--horizontal.svelte-kxoh8m .sv-tabs__list:where(.svelte-kxoh8m) {overflow-x:auto;flex:1 1 auto;min-width:0;scrollbar-width:none;scroll-behavior:smooth;}.sv-tabs--horizontal.svelte-kxoh8m .sv-tabs__list:where(.svelte-kxoh8m)::-webkit-scrollbar {display:none;}.sv-tabs--horizontal.svelte-kxoh8m .sv-tabs__tabwrap:where(.svelte-kxoh8m) {flex:none;}.sv-tabs--vertical.svelte-kxoh8m .sv-tabs__list:where(.svelte-kxoh8m) {flex-direction:column;}.sv-tabs__scroll.svelte-kxoh8m {flex:none;display:grid;place-items:center;width:26px;align-self:stretch;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;}.sv-tabs__scroll.svelte-kxoh8m:hover:not(:disabled) {color:var(--_accent);}.sv-tabs__scroll.svelte-kxoh8m:disabled {opacity:0.3;cursor:default;}\n /* Drag-reorder feedback */.sv-tabs__tabwrap.is-drag.svelte-kxoh8m {opacity:0.4;}.sv-tabs__tabwrap.is-over.svelte-kxoh8m::before {content:'';position:absolute;inset-inline-start:-1px;top:5px;bottom:5px;width:2px;background:var(--_accent);border-radius:2px;}.sv-tabs__tabwrap[draggable='true'].svelte-kxoh8m .sv-tabs__tab:where(.svelte-kxoh8m) {cursor:grab;}.sv-tabs--top.svelte-kxoh8m .sv-tabs__list:where(.svelte-kxoh8m) {border-bottom:1px solid var(--sg-border, #e2e8f0);}.sv-tabs--bottom.svelte-kxoh8m .sv-tabs__list:where(.svelte-kxoh8m) {border-top:1px solid var(--sg-border, #e2e8f0);}.sv-tabs--left.svelte-kxoh8m .sv-tabs__list:where(.svelte-kxoh8m) {border-inline-end:1px solid var(--sg-border, #e2e8f0);}.sv-tabs--right.svelte-kxoh8m .sv-tabs__list:where(.svelte-kxoh8m) {border-inline-start:1px solid var(--sg-border, #e2e8f0);}.sv-tabs--pill.svelte-kxoh8m .sv-tabs__list:where(.svelte-kxoh8m) {border:0;background:var(--sg-header-bg, #f1f5f9);padding:3px;border-radius:9px;gap:3px;}.sv-tabs__tabwrap.svelte-kxoh8m {position:relative;display:inline-flex;align-items:center;}.sv-tabs__tab.svelte-kxoh8m {background:none;border:0;font:inherit;font-size:13px;font-weight:600;color:var(--sg-muted, #64748b);padding:9px 14px;cursor:pointer;white-space:nowrap;}.sv-tabs__tabwrap.is-closable.svelte-kxoh8m .sv-tabs__tab:where(.svelte-kxoh8m) {padding-inline-end:4px;}.sv-tabs__tab.svelte-kxoh8m:hover:not(:disabled):not(.is-active) {color:var(--sg-fg, #0f172a);}.sv-tabs__tab.svelte-kxoh8m:disabled {opacity:0.45;cursor:not-allowed;}.sv-tabs__tab.svelte-kxoh8m:focus-visible {outline:2px solid var(--sg-focus-ring, var(--_accent));outline-offset:-2px;border-radius:6px;}.sv-tabs__close.svelte-kxoh8m {display:grid;place-items:center;width:18px;height:18px;margin-inline-end:8px;flex:none;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;border-radius:4px;}.sv-tabs__close.svelte-kxoh8m:hover {background:var(--sg-row-hover-bg, #f1f5f9);color:var(--sg-danger, #dc2626);}.sv-tabs--line.svelte-kxoh8m .sv-tabs__tab.is-active:where(.svelte-kxoh8m) {color:var(--_accent);}.sv-tabs--line.svelte-kxoh8m .sv-tabs__tabwrap.is-active:where(.svelte-kxoh8m)::after {content:'';position:absolute;background:var(--_accent);}.sv-tabs--line.sv-tabs--top.svelte-kxoh8m .sv-tabs__tabwrap.is-active:where(.svelte-kxoh8m)::after {left:8px;right:8px;height:2px;bottom:-1px;}.sv-tabs--line.sv-tabs--bottom.svelte-kxoh8m .sv-tabs__tabwrap.is-active:where(.svelte-kxoh8m)::after {left:8px;right:8px;height:2px;top:-1px;}.sv-tabs--line.sv-tabs--left.svelte-kxoh8m .sv-tabs__tabwrap.is-active:where(.svelte-kxoh8m)::after {top:8px;bottom:8px;width:2px;inset-inline-end:-1px;}.sv-tabs--line.sv-tabs--right.svelte-kxoh8m .sv-tabs__tabwrap.is-active:where(.svelte-kxoh8m)::after {top:8px;bottom:8px;width:2px;inset-inline-start:-1px;}.sv-tabs--pill.svelte-kxoh8m .sv-tabs__tab:where(.svelte-kxoh8m) {border-radius:7px;padding:7px 14px;}.sv-tabs--pill.svelte-kxoh8m .sv-tabs__tabwrap.is-active:where(.svelte-kxoh8m) .sv-tabs__tab:where(.svelte-kxoh8m), .sv-tabs--pill.svelte-kxoh8m .sv-tabs__tab.is-active:where(.svelte-kxoh8m) {background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);box-shadow:0 1px 2px rgba(0,0,0,0.08);}.sv-tabs__panel.svelte-kxoh8m {padding:16px 2px;outline:none;flex:1;min-width:0;}"
131
+ };
132
+ function K(i, a) {
133
+ ie(a, !0), k(i, se);
134
+ let c = D(a, "value", 15), p = D(a, "variant", 3, "line"), m = D(a, "activation", 3, "automatic"), x = D(a, "reorderable", 3, !1), C = E(() => a.tabPosition ?? (a.orientation === "vertical" ? "left" : "top")), T = E(() => n(C) === "left" || n(C) === "right" ? "vertical" : "horizontal"), re = E(() => a.dir === "ltr" || a.dir === "rtl" ? a.dir : void 0), A = f(0), j = f(0), M = f(0), N = E(() => n(T) === "horizontal" && n(M) > n(j) + 1), P = E(() => n(A) <= 1), F = E(() => n(A) + n(j) >= n(M) - 1);
135
+ function I() {
136
+ J && (_(j, J.clientWidth, !0), _(M, J.scrollWidth, !0), _(A, J.scrollLeft, !0));
137
+ }
138
+ l(() => {
139
+ a.tabs.length, queueMicrotask(I);
140
+ }), l(() => {
141
+ let e = () => I();
142
+ return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
143
+ });
144
+ function L(e) {
145
+ J?.scrollBy({
146
+ left: e * Math.max(120, n(j) * .7),
147
+ behavior: "smooth"
148
+ });
149
+ }
150
+ let R = f(null), z = f(null);
151
+ function B(e, t) {
152
+ if (e === t) return;
153
+ let n = a.tabs.map((e) => e.id), r = n.indexOf(e), i = n.indexOf(t);
154
+ r < 0 || i < 0 || (n.splice(i, 0, n.splice(r, 1)[0]), a.onReorder?.(n));
155
+ }
156
+ let K = V({
157
+ tabs: () => a.tabs,
158
+ value: () => c(),
159
+ onChange: (e) => {
160
+ c(e), a.onChange?.(e);
161
+ },
162
+ onClose: (e) => a.onClose?.(e),
163
+ orientation: () => n(T),
164
+ activation: () => m(),
165
+ dir: () => a.dir,
166
+ ariaLabel: () => a.ariaLabel
167
+ }), q = E(() => K.activeId), J = null, Y = 0;
168
+ l(() => {
169
+ if (K.focusTick !== Y) {
170
+ Y = K.focusTick;
171
+ let e = K.focusId;
172
+ queueMicrotask(() => J?.querySelector(`[data-tab="${e}"]`)?.focus());
173
+ }
174
+ });
175
+ var X = G(), Z = g(X), ce = g(Z), Q = (e) => {
176
+ var i = H();
177
+ u(() => i.disabled = n(P)), r("click", i, () => L(-1)), t(e, i);
178
+ };
179
+ y(ce, (e) => {
180
+ n(N) && e(Q);
181
+ });
182
+ var $ = S(ce, 2), le = (e) => _(A, e.currentTarget.scrollLeft, !0);
183
+ b($, (e) => ({
184
+ class: "sv-tabs__list",
185
+ onscroll: le,
186
+ ...e
187
+ }), [() => K.tablistProps()], void 0, void 0, "svelte-kxoh8m"), e($, 21, () => a.tabs, (e) => e.id, (e, i) => {
188
+ var a = oe();
189
+ let c;
190
+ var l = g(a);
191
+ b(l, (e) => ({
192
+ type: "button",
193
+ class: "sv-tabs__tab",
194
+ ...e,
195
+ [ne]: { "is-active": n(i).id === n(q) }
196
+ }), [() => K.tabProps(n(i).id)], void 0, void 0, "svelte-kxoh8m");
197
+ var d = g(l, !0);
198
+ w(l);
199
+ var f = S(l, 2), p = (e) => {
200
+ var a = ae();
201
+ u(() => h(a, "aria-label", `Close ${n(i).label}`)), r("click", a, (e) => {
202
+ e.stopPropagation(), K.close(n(i).id);
203
+ }), t(e, a);
204
+ };
205
+ y(f, (e) => {
206
+ n(i).closable && e(p);
207
+ }), w(a), u(() => {
208
+ c = O(a, 1, "sv-tabs__tabwrap svelte-kxoh8m", null, c, {
209
+ "is-active": n(i).id === n(q),
210
+ "is-closable": n(i).closable,
211
+ "is-drag": n(R) === n(i).id,
212
+ "is-over": n(z) === n(i).id
213
+ }), h(a, "draggable", x() && !n(i).disabled), o(d, n(i).label);
214
+ }), s("dragstart", a, function(...e) {
215
+ (x() ? (e) => {
216
+ _(R, n(i).id, !0), e.dataTransfer && (e.dataTransfer.effectAllowed = "move");
217
+ } : void 0)?.apply(this, e);
218
+ }), s("dragover", a, function(...e) {
219
+ (x() ? (e) => {
220
+ e.preventDefault(), _(z, n(i).id, !0);
221
+ } : void 0)?.apply(this, e);
222
+ }), s("dragleave", a, function(...e) {
223
+ (x() ? () => {
224
+ n(z) === n(i).id && _(z, null);
225
+ } : void 0)?.apply(this, e);
226
+ }), s("drop", a, function(...e) {
227
+ (x() ? (e) => {
228
+ e.preventDefault(), n(R) && B(n(R), n(i).id), _(R, null), _(z, null);
229
+ } : void 0)?.apply(this, e);
230
+ }), s("dragend", a, function(...e) {
231
+ (x() ? () => {
232
+ _(R, null), _(z, null);
233
+ } : void 0)?.apply(this, e);
234
+ }), t(e, a);
235
+ }), w($), ee($, (e) => J = e, () => J);
236
+ var ue = S($, 2), de = (e) => {
237
+ var i = U();
238
+ u(() => i.disabled = n(F)), r("click", i, () => L(1)), t(e, i);
239
+ };
240
+ y(ue, (e) => {
241
+ n(N) && e(de);
242
+ }), w(Z);
243
+ var fe = S(Z, 2), pe = (e) => {
244
+ var r = W();
245
+ b(r, (e) => ({
246
+ class: "sv-tabs__panel",
247
+ ...e
248
+ }), [() => K.panelProps(n(q))], void 0, void 0, "svelte-kxoh8m");
249
+ var i = g(r);
250
+ v(i, () => a.panel, () => n(q)), w(r), t(e, r);
251
+ };
252
+ y(fe, (e) => {
253
+ a.panel && e(pe);
254
+ }), w(X), u(() => {
255
+ O(X, 1, `sv-tabs sv-tabs--${n(C) ?? ""} sv-tabs--${n(T) ?? ""} sv-tabs--${p() ?? ""}`, "svelte-kxoh8m"), h(X, "dir", n(re)), X.dir = X.dir;
256
+ }), d($, "clientWidth", (e) => _(j, e)), t(i, X), te();
257
+ }
258
+ c(["click"]);
259
+ //#endregion
260
+ //#region src/SvModal.svelte
261
+ var q = a("<button type=\"button\" class=\"sv-modal__x\" aria-label=\"Close\">&times;</button>"), J = a("<div><h2 class=\"sv-modal__title\"> </h2> <!></div>"), Y = a("<div class=\"sv-modal__footer\"><!></div>"), X = a("<div class=\"sv-modal__resize\" aria-hidden=\"true\"></div>"), Z = a("<div class=\"sv-modal__backdrop\"><div><!> <div class=\"sv-modal__body\"><!></div> <!> <!></div></div>"), ce = {
262
+ hash: "svelte-11fjt09",
263
+ code: ".sv-modal__backdrop {position:fixed;inset:0;z-index:2147483000;background:rgba(15, 23, 42, 0.45);backdrop-filter:blur(1.5px);\n animation: svelte-11fjt09-sv-modal-fade 0.16s ease both;}\n @keyframes svelte-11fjt09-sv-modal-fade { from { opacity: 0 } to { opacity: 1 } }\n @media (prefers-reduced-motion: reduce) {.sv-modal__backdrop { animation: none} }.sv-modal {position:fixed;top:50%;left:50%;display:flex;flex-direction:column;max-width:94vw;max-height:88vh;min-width:240px;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:12px;overflow:hidden;box-shadow:0 24px 64px -16px rgba(15, 23, 42, 0.5);\n animation: svelte-11fjt09-sv-modal-in 0.18s cubic-bezier(0.16, 1, 0.3, 1) both;}\n @keyframes svelte-11fjt09-sv-modal-in { from { opacity: 0; transform: translate(-50%, -50%) scale(0.94) } to { opacity: 1 } }\n @media (prefers-reduced-motion: reduce) {.sv-modal { animation: none} }.sv-modal--sm {width:360px;}.sv-modal--md {width:520px;}.sv-modal--lg {width:720px;}.sv-modal.is-resized {max-width:none;max-height:none;}.sv-modal__header {display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--sg-border, #e2e8f0);}.sv-modal__header.is-draggable {cursor:move;touch-action:none;user-select:none;}.sv-modal__title {flex:1;margin:0;font-size:15px;font-weight:650;}.sv-modal__x {flex:none;width:28px;height:28px;display:grid;place-items:center;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;border-radius:6px;font-size:20px;line-height:1;}.sv-modal__x:hover {background:var(--sg-row-hover-bg, #f1f5f9);color:var(--sg-fg, #0f172a);}.sv-modal__body {padding:16px;overflow:auto;flex:1;font-size:13.5px;line-height:1.6;}.sv-modal__footer {display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--sg-border, #e2e8f0);}.sv-modal__resize {position:absolute;inset-inline-end:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 50%, var(--sg-muted, #94a3b8) 50%, var(--sg-muted, #94a3b8) 60%, transparent 60%, transparent 72%, var(--sg-muted, #94a3b8) 72%, var(--sg-muted, #94a3b8) 82%, transparent 82%);opacity:0.6;}"
264
+ };
265
+ function Q(e, a) {
266
+ ie(a, !0), k(e, ce);
267
+ let c = D(a, "open", 15, !1), l = D(a, "size", 3, "md"), d = D(a, "draggable", 3, !1), C = D(a, "resizable", 3, !1), E = D(a, "closeOnBackdrop", 3, !0), M = D(a, "closeOnEsc", 3, !0), N = D(a, "hideClose", 3, !1), P = A("sv-modal-title"), F = f(null), I = f(T({
268
+ x: 0,
269
+ y: 0
270
+ })), L = f(null);
271
+ function R() {
272
+ c(!1), a.onClose?.();
273
+ }
274
+ let B = z({
275
+ open: () => c(),
276
+ getDialog: () => n(F),
277
+ onClose: R,
278
+ closeOnEsc: () => M(),
279
+ closeOnBackdrop: () => E(),
280
+ onOpen: () => {
281
+ _(I, {
282
+ x: 0,
283
+ y: 0
284
+ }, !0), _(L, null);
285
+ }
286
+ }), V = !1, H = {
287
+ x: 0,
288
+ y: 0,
289
+ ox: 0,
290
+ oy: 0
291
+ };
292
+ function ae(e) {
293
+ !d() || e.target.closest(".sv-modal__x") || (V = !0, H = {
294
+ x: e.clientX,
295
+ y: e.clientY,
296
+ ox: n(I).x,
297
+ oy: n(I).y
298
+ }, e.currentTarget.setPointerCapture(e.pointerId));
299
+ }
300
+ function oe(e) {
301
+ V && _(I, {
302
+ x: H.ox + (e.clientX - H.x),
303
+ y: H.oy + (e.clientY - H.y)
304
+ }, !0);
305
+ }
306
+ function U(e) {
307
+ V && (V = !1, e.currentTarget.releasePointerCapture(e.pointerId));
308
+ }
309
+ let W = !1, G = {
310
+ x: 0,
311
+ y: 0,
312
+ w: 0,
313
+ h: 0
314
+ };
315
+ function se(e) {
316
+ if (!C() || !n(F)) return;
317
+ e.stopPropagation(), W = !0;
318
+ let t = n(F).getBoundingClientRect();
319
+ G = {
320
+ x: e.clientX,
321
+ y: e.clientY,
322
+ w: t.width,
323
+ h: t.height
324
+ }, _(L, {
325
+ w: t.width,
326
+ h: t.height
327
+ }, !0), e.currentTarget.setPointerCapture(e.pointerId);
328
+ }
329
+ function K(e) {
330
+ W && _(L, {
331
+ w: Math.max(240, G.w + (e.clientX - G.x)),
332
+ h: Math.max(160, G.h + (e.clientY - G.y))
333
+ }, !0);
334
+ }
335
+ function Q(e) {
336
+ W && (W = !1, e.currentTarget.releasePointerCapture(e.pointerId));
337
+ }
338
+ var $ = i(), le = re($), ue = (e) => {
339
+ var i = Z(), c = g(i);
340
+ b(c, (e) => ({
341
+ class: `sv-modal sv-modal--${l() ?? ""}`,
342
+ ...e,
343
+ [ne]: { "is-resized": !!n(L) },
344
+ [m]: {
345
+ transform: `translate(calc(-50% + ${n(I).x}px), calc(-50% + ${n(I).y}px))`,
346
+ width: n(L) ? `${n(L).w}px` : a.width ? `${a.width}px` : void 0,
347
+ height: n(L) ? `${n(L).h}px` : void 0
348
+ }
349
+ }), [() => B.dialogProps({ labelledBy: a.title ? P : void 0 })]);
350
+ var f = g(c), te = (e) => {
351
+ var n = J();
352
+ let i;
353
+ var c = g(n), l = g(c, !0);
354
+ w(c);
355
+ var f = S(c, 2), p = (e) => {
356
+ var n = q();
357
+ r("click", n, R), t(e, n);
358
+ };
359
+ y(f, (e) => {
360
+ N() || e(p);
361
+ }), w(n), u(() => {
362
+ i = O(n, 1, "sv-modal__header", null, i, { "is-draggable": d() }), h(c, "id", P), o(l, a.title ?? "");
363
+ }), r("pointerdown", n, ae), r("pointermove", n, oe), r("pointerup", n, U), s("pointercancel", n, U), t(e, n);
364
+ };
365
+ y(f, (e) => {
366
+ (a.title || !N()) && e(te);
367
+ });
368
+ var T = S(f, 2), E = g(T);
369
+ v(E, () => a.children ?? x), w(T);
370
+ var D = S(T, 2), re = (e) => {
371
+ var n = Y(), r = g(n);
372
+ v(r, () => a.footer), w(n), t(e, n);
373
+ };
374
+ y(D, (e) => {
375
+ a.footer && e(re);
376
+ });
377
+ var ie = S(D, 2), k = (e) => {
378
+ var n = X();
379
+ r("pointerdown", n, se), r("pointermove", n, K), r("pointerup", n, Q), s("pointercancel", n, Q), t(e, n);
380
+ };
381
+ y(ie, (e) => {
382
+ C() && e(k);
383
+ }), w(c), ee(c, (e) => _(F, e), () => n(F)), w(i), p(i, (e) => j?.(e)), t(e, i);
384
+ };
385
+ y(le, (e) => {
386
+ c() && e(ue);
387
+ }), t(e, $), te();
388
+ }
389
+ c([
390
+ "pointerdown",
391
+ "pointermove",
392
+ "pointerup",
393
+ "click"
394
+ ]);
395
+ //#endregion
396
+ export { L as a, z as i, K as n, R as o, V as r, Q as t };