@svgrid/enterprise 3.0.0 → 3.0.2

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 (390) hide show
  1. package/README.md +95 -95
  2. package/dist/ExpressionEditorHarness.svelte.d.ts +2 -2
  3. package/dist/SvAdvancedFilter.svelte.d.ts +2 -2
  4. package/dist/SvAlertRuleEditor.svelte.d.ts +2 -2
  5. package/dist/SvAlertsManager.svelte.d.ts +3 -3
  6. package/dist/SvAlertsPanel.svelte.d.ts +1 -1
  7. package/dist/SvAuthGate.svelte +115 -115
  8. package/dist/SvAuthGate.svelte.d.ts +1 -1
  9. package/dist/SvBoard.svelte.d.ts +1 -1
  10. package/dist/SvExportMenu.svelte +553 -553
  11. package/dist/SvExportMenu.svelte.d.ts +2 -2
  12. package/dist/SvExpressionEditor.svelte.d.ts +2 -2
  13. package/dist/SvFileInput.svelte +113 -113
  14. package/dist/SvFormulaBar.svelte +606 -0
  15. package/dist/SvFormulaBar.svelte.d.ts +62 -0
  16. package/dist/SvGridAlerts.svelte.d.ts +2 -2
  17. package/dist/SvGridBoard.svelte +2358 -2358
  18. package/dist/SvGridBulkEditDrawer.svelte.d.ts +1 -1
  19. package/dist/SvGridEditPanel.svelte +1157 -1157
  20. package/dist/SvGridEditPanel.svelte.d.ts +3 -3
  21. package/dist/SvGridMasterDetail.svelte +116 -116
  22. package/dist/SvGridMasterDetail.svelte.d.ts +1 -1
  23. package/dist/SvGridScheduler.svelte +5358 -5358
  24. package/dist/SvImportDialog.svelte +1020 -1020
  25. package/dist/SvImportDialog.svelte.d.ts +2 -2
  26. package/dist/SvLookupInput.svelte +180 -180
  27. package/dist/SvLookupInput.svelte.d.ts +1 -1
  28. package/dist/SvPivotDesigner.svelte +2041 -1990
  29. package/dist/SvPivotDesigner.svelte.d.ts +2 -2
  30. package/dist/SvRecordDetail.svelte.d.ts +1 -1
  31. package/dist/SvRibbonIcon.svelte +46 -0
  32. package/dist/SvRibbonIcon.svelte.d.ts +17 -0
  33. package/dist/SvSchedule.svelte.d.ts +1 -1
  34. package/dist/SvSchemaChart.svelte +236 -234
  35. package/dist/SvSchemaChart.svelte.d.ts +2 -2
  36. package/dist/SvSchemaDashboard.svelte +130 -130
  37. package/dist/SvSchemaDashboard.svelte.d.ts +3 -3
  38. package/dist/SvSheet.svelte +4114 -0
  39. package/dist/SvSheet.svelte.d.ts +142 -0
  40. package/dist/SvSheetComment.svelte +98 -0
  41. package/dist/SvSheetComment.svelte.d.ts +22 -0
  42. package/dist/SvSheetConditionalFormat.svelte +162 -0
  43. package/dist/SvSheetConditionalFormat.svelte.d.ts +14 -0
  44. package/dist/SvSheetDataValidation.svelte +249 -0
  45. package/dist/SvSheetDataValidation.svelte.d.ts +14 -0
  46. package/dist/SvSheetFilterMenu.svelte +217 -0
  47. package/dist/SvSheetFilterMenu.svelte.d.ts +17 -0
  48. package/dist/SvSheetFindReplace.svelte +132 -0
  49. package/dist/SvSheetFindReplace.svelte.d.ts +10 -0
  50. package/dist/SvSheetFormatCells.svelte +421 -0
  51. package/dist/SvSheetFormatCells.svelte.d.ts +17 -0
  52. package/dist/SvSheetGoalSeek.svelte +144 -0
  53. package/dist/SvSheetGoalSeek.svelte.d.ts +12 -0
  54. package/dist/SvSheetInsertFunction.svelte +147 -0
  55. package/dist/SvSheetInsertFunction.svelte.d.ts +8 -0
  56. package/dist/SvSheetListPicker.svelte +89 -0
  57. package/dist/SvSheetListPicker.svelte.d.ts +16 -0
  58. package/dist/SvSheetManageRules.svelte +185 -0
  59. package/dist/SvSheetManageRules.svelte.d.ts +16 -0
  60. package/dist/SvSheetNameManager.svelte +225 -0
  61. package/dist/SvSheetNameManager.svelte.d.ts +11 -0
  62. package/dist/SvSheetPasteSpecial.svelte +105 -0
  63. package/dist/SvSheetPasteSpecial.svelte.d.ts +12 -0
  64. package/dist/SvSheetRemoveDuplicates.svelte +149 -0
  65. package/dist/SvSheetRemoveDuplicates.svelte.d.ts +12 -0
  66. package/dist/SvSheetRibbon.svelte +1201 -0
  67. package/dist/SvSheetRibbon.svelte.d.ts +34 -0
  68. package/dist/SvSheetSizeDialog.svelte +58 -0
  69. package/dist/SvSheetSizeDialog.svelte.d.ts +11 -0
  70. package/dist/SvSheetTabs.svelte +441 -0
  71. package/dist/SvSheetTabs.svelte.d.ts +36 -0
  72. package/dist/SvSheetTabs.test-harness.svelte.d.ts +17 -0
  73. package/dist/SvSheetTabs.test-harness.svelte.js +22 -0
  74. package/dist/SvSheetTextToColumns.svelte +172 -0
  75. package/dist/SvSheetTextToColumns.svelte.d.ts +13 -0
  76. package/dist/SvSheetValidationAlert.svelte +83 -0
  77. package/dist/SvSheetValidationAlert.svelte.d.ts +15 -0
  78. package/dist/advanced-filter/expr-columns-from-grid.d.ts +1 -1
  79. package/dist/advanced-filter-enable.js +3 -3
  80. package/dist/alerts/alert-engine-attach.d.ts +2 -2
  81. package/dist/alerts/alert-engine-attach.js +3 -3
  82. package/dist/alerts/alert-engine.d.ts +1 -1
  83. package/dist/alerts/alert-engine.js +2 -2
  84. package/dist/alerts/alert-formats.d.ts +1 -1
  85. package/dist/alerts/alert-formats.js +1 -1
  86. package/dist/alerts/alert-observer.d.ts +3 -3
  87. package/dist/alerts/alert-observer.js +1 -1
  88. package/dist/alerts/alert-storage.d.ts +1 -1
  89. package/dist/alerts/alert-store.svelte.d.ts +1 -1
  90. package/dist/alerts/alert-types.d.ts +2 -2
  91. package/dist/alerts.js +2 -2
  92. package/dist/board.js +2 -2
  93. package/dist/cdn/svgrid-enterprise.svelte-external.js +19046 -5428
  94. package/dist/designer/assets/GridMenus-BlsvL_aU.js +8 -0
  95. package/dist/designer/assets/SvChartMenu-BYO9cYdy.css +1 -0
  96. package/dist/designer/assets/SvChartMenu-D9hEeHar.js +1 -0
  97. package/dist/designer/assets/SvDateRangeInput-BBRzrQeg.js +1 -0
  98. package/dist/designer/assets/SvDateRangeInput-C0iCCZ8o.css +1 -0
  99. package/dist/designer/assets/SvDateTimePicker-DARvKUL2.js +1 -0
  100. package/dist/designer/assets/SvDateTimePicker-DPv09DIT.css +1 -0
  101. package/dist/designer/assets/{preload-helper-CG0n22O7.js → SvGrid.helpers-BgT-gnCo.js} +1 -1
  102. package/dist/designer/assets/SvGridCellEditor-C7uQXYds.js +4 -0
  103. package/dist/designer/assets/SvGridChart-B8j1SSy3.js +3 -0
  104. package/dist/designer/assets/SvGridChart-BgLuPO7I.css +1 -0
  105. package/dist/designer/assets/SvGridChartBuilder-08YWWeqY.css +1 -0
  106. package/dist/designer/assets/SvGridChartBuilder-kvyIU_Rl.js +1 -0
  107. package/dist/designer/assets/SvGridChartPanel-4Pc8y5yO.css +1 -0
  108. package/dist/designer/assets/SvGridChartPanel-pT6ITc2P.js +4 -0
  109. package/dist/designer/assets/SvGridChartView-7msfnWZT.css +1 -0
  110. package/dist/designer/assets/SvGridChartView-bg281UA1.js +1 -0
  111. package/dist/designer/assets/SvGridDropdown-Bb3HH2Aj.js +1 -0
  112. package/dist/designer/assets/SvGridDropdown-CcidB3rm.css +1 -0
  113. package/dist/designer/assets/SvListBox-BDS66lmZ.js +110 -0
  114. package/dist/designer/assets/SvListBox-BXfyqy4a.css +1 -0
  115. package/dist/designer/assets/SvMenuList-DJ47ba1h.css +1 -0
  116. package/dist/designer/assets/SvMenuList-Dgq2D5VN.js +1 -0
  117. package/dist/designer/assets/SvTabs-DKmwb5p1.css +1 -0
  118. package/dist/designer/assets/SvTabs-UFCMTHXS.js +1 -0
  119. package/dist/designer/assets/cell-formatting-wr5wm7US.js +1 -0
  120. package/dist/designer/assets/chart-cIPUsbM5.js +1 -0
  121. package/dist/designer/assets/chart-export-B6bkQ3X8.js +11 -0
  122. package/dist/designer/assets/chart-export-pdf-BbA28-gt.js +11 -0
  123. package/dist/designer/assets/chart-panel-messages-DtTxpBUU.js +1 -0
  124. package/dist/designer/assets/chart-summary-Czu_5epb.js +1 -0
  125. package/dist/designer/assets/chart-trend-D5I5VEe8.js +1 -0
  126. package/dist/designer/assets/chart-validate-BMqM-qkF.js +1 -0
  127. package/dist/designer/assets/column-resize-BYDzR1Ve.js +1 -0
  128. package/dist/designer/assets/date-format-B8JbEtIG.js +1 -0
  129. package/dist/designer/assets/date-format-DKS-z0xS.css +1 -0
  130. package/dist/designer/assets/editor-contract-Bpoa7A5g.js +1 -0
  131. package/dist/designer/assets/export-format-D-eP4b2l.js +6 -0
  132. package/dist/designer/assets/focus-trap-CAreAhlU.js +1 -0
  133. package/dist/designer/assets/index-CMFgAoVV.css +1 -0
  134. package/dist/designer/assets/{index-zUBix-JQ.js → index-DwU7CAMm.js} +2985 -141
  135. package/dist/designer/assets/list-option-BP_dWS66.js +1 -0
  136. package/dist/designer/assets/preload-helper-HclGiUj8.js +1 -0
  137. package/dist/designer/assets/row-resize-DLktcqUK.js +1 -0
  138. package/dist/designer/assets/src-CITpcm6b.js +1 -0
  139. package/dist/designer/assets/src-EdI3Xqds.js +58 -0
  140. package/dist/designer/index.html +32 -23
  141. package/dist/export-conditional.d.ts +1 -1
  142. package/dist/export-pdf.d.ts +89 -0
  143. package/dist/export-pdf.js +130 -0
  144. package/dist/export-print.js +19 -19
  145. package/dist/export-xls.d.ts +2 -2
  146. package/dist/export.d.ts +2 -2
  147. package/dist/export.js +23 -16
  148. package/dist/expressions/builder-tree.d.ts +2 -2
  149. package/dist/expressions/builder-tree.js +1 -1
  150. package/dist/expressions/compile.d.ts +1 -1
  151. package/dist/import.js +1 -1
  152. package/dist/index.d.ts +116 -53
  153. package/dist/index.js +117 -50
  154. package/dist/install.d.ts +4 -4
  155. package/dist/install.js +16 -11
  156. package/dist/license.d.ts +3 -2
  157. package/dist/license.js +9 -4
  158. package/dist/node/studio.js +187 -116
  159. package/dist/pivot-chart.d.ts +26 -2
  160. package/dist/pivot-chart.js +25 -69
  161. package/dist/pivot-designer.d.ts +1 -1
  162. package/dist/pivot-enable.js +3 -3
  163. package/dist/print.d.ts +1 -1
  164. package/dist/print.js +4 -4
  165. package/dist/scheduler-config.d.ts +5 -5
  166. package/dist/scheduler-freebusy.d.ts +1 -1
  167. package/dist/scheduler-freebusy.js +1 -1
  168. package/dist/scheduler.js +2 -2
  169. package/dist/schema-designer.d.ts +1 -1
  170. package/dist/schema-designer.js +2 -2
  171. package/dist/selection-bar.js +2 -2
  172. package/dist/sheet/address.d.ts +43 -0
  173. package/dist/sheet/address.js +81 -0
  174. package/dist/sheet/ast.d.ts +94 -0
  175. package/dist/sheet/ast.js +56 -0
  176. package/dist/sheet/auto-filter.d.ts +66 -0
  177. package/dist/sheet/auto-filter.js +147 -0
  178. package/dist/sheet/autocomplete.d.ts +42 -0
  179. package/dist/sheet/autocomplete.js +162 -0
  180. package/dist/sheet/coerce.d.ts +31 -0
  181. package/dist/sheet/coerce.js +122 -0
  182. package/dist/sheet/commands.d.ts +89 -0
  183. package/dist/sheet/commands.js +230 -0
  184. package/dist/sheet/comments.d.ts +29 -0
  185. package/dist/sheet/comments.js +73 -0
  186. package/dist/sheet/conditional-formats.d.ts +144 -0
  187. package/dist/sheet/conditional-formats.js +316 -0
  188. package/dist/sheet/deps.d.ts +60 -0
  189. package/dist/sheet/deps.js +199 -0
  190. package/dist/sheet/document.d.ts +150 -0
  191. package/dist/sheet/document.js +264 -0
  192. package/dist/sheet/edit-keys.d.ts +14 -0
  193. package/dist/sheet/edit-keys.js +40 -0
  194. package/dist/sheet/entry.d.ts +31 -0
  195. package/dist/sheet/entry.js +76 -0
  196. package/dist/sheet/evaluate.d.ts +61 -0
  197. package/dist/sheet/evaluate.js +337 -0
  198. package/dist/sheet/find-replace.d.ts +62 -0
  199. package/dist/sheet/find-replace.js +152 -0
  200. package/dist/sheet/format-store.d.ts +99 -0
  201. package/dist/sheet/format-store.js +233 -0
  202. package/dist/sheet/freeze.d.ts +54 -0
  203. package/dist/sheet/freeze.js +58 -0
  204. package/dist/sheet/function-catalog.d.ts +10 -0
  205. package/dist/sheet/function-catalog.js +94 -0
  206. package/dist/sheet/functions.d.ts +28 -0
  207. package/dist/sheet/functions.js +362 -0
  208. package/dist/sheet/goal-seek.d.ts +73 -0
  209. package/dist/sheet/goal-seek.js +153 -0
  210. package/dist/sheet/index.d.ts +53 -0
  211. package/dist/sheet/index.js +53 -0
  212. package/dist/sheet/merges.d.ts +71 -0
  213. package/dist/sheet/merges.js +137 -0
  214. package/dist/sheet/names.d.ts +31 -0
  215. package/dist/sheet/names.js +87 -0
  216. package/dist/sheet/navigate.d.ts +52 -0
  217. package/dist/sheet/navigate.js +135 -0
  218. package/dist/sheet/number-format.d.ts +63 -0
  219. package/dist/sheet/number-format.js +508 -0
  220. package/dist/sheet/palette.d.ts +19 -0
  221. package/dist/sheet/palette.js +84 -0
  222. package/dist/sheet/parse.d.ts +13 -0
  223. package/dist/sheet/parse.js +108 -0
  224. package/dist/sheet/paste-special.d.ts +164 -0
  225. package/dist/sheet/paste-special.js +592 -0
  226. package/dist/sheet/protection.d.ts +21 -0
  227. package/dist/sheet/protection.js +48 -0
  228. package/dist/sheet/rects.d.ts +45 -0
  229. package/dist/sheet/rects.js +112 -0
  230. package/dist/sheet/refs.d.ts +82 -0
  231. package/dist/sheet/refs.js +266 -0
  232. package/dist/sheet/ribbon-icons.d.ts +31 -0
  233. package/dist/sheet/ribbon-icons.js +350 -0
  234. package/dist/sheet/ribbon.d.ts +173 -0
  235. package/dist/sheet/ribbon.js +753 -0
  236. package/dist/sheet/shortcuts.d.ts +164 -0
  237. package/dist/sheet/shortcuts.js +623 -0
  238. package/dist/sheet/structure.d.ts +87 -0
  239. package/dist/sheet/structure.js +166 -0
  240. package/dist/sheet/tables.d.ts +70 -0
  241. package/dist/sheet/tables.js +147 -0
  242. package/dist/sheet/tokenize.d.ts +54 -0
  243. package/dist/sheet/tokenize.js +304 -0
  244. package/dist/sheet/transforms.d.ts +76 -0
  245. package/dist/sheet/transforms.js +154 -0
  246. package/dist/sheet/validation.d.ts +92 -0
  247. package/dist/sheet/validation.js +241 -0
  248. package/dist/sheet/workbook.d.ts +72 -0
  249. package/dist/sheet/workbook.js +409 -0
  250. package/dist/sheet-enable.d.ts +6 -0
  251. package/dist/sheet-enable.js +46 -0
  252. package/dist/sources/aggregate.d.ts +1 -1
  253. package/dist/sources/auth-supabase.js +1 -1
  254. package/dist/sources/dashboard.d.ts +2 -2
  255. package/dist/sources/dashboard.js +1 -1
  256. package/dist/sources/index.d.ts +13 -13
  257. package/dist/sources/index.js +13 -13
  258. package/dist/sources/realtime-supabase.js +1 -1
  259. package/dist/sources/relation-lookup.d.ts +1 -1
  260. package/dist/sources/relation-lookup.js +1 -1
  261. package/dist/sources/rest-adapters.d.ts +1 -1
  262. package/dist/sources/rest-adapters.js +1 -1
  263. package/dist/sources/rest.d.ts +2 -2
  264. package/dist/sources/rest.js +3 -3
  265. package/dist/sources/supabase.d.ts +2 -2
  266. package/dist/sources/supabase.js +3 -3
  267. package/dist/sources/with-entity-rules.d.ts +1 -1
  268. package/dist/sources/with-entity-rules.js +1 -1
  269. package/dist/sources/with-relation-labels.d.ts +1 -1
  270. package/dist/studio/emit-project.js +2161 -2127
  271. package/dist/studio/emit-schema.js +369 -369
  272. package/dist/studio/index.d.ts +1 -1
  273. package/dist/studio/index.js +1 -1
  274. package/dist/studio/introspect-db.js +45 -45
  275. package/dist/studio/project.d.ts +10 -0
  276. package/dist/studio/samples/crm.js +6 -6
  277. package/dist/studio/samples/fleet.js +7 -7
  278. package/dist/studio/samples/insurance.js +9 -9
  279. package/dist/studio/samples/inventory.js +12 -12
  280. package/dist/studio/samples/projects.js +5 -5
  281. package/dist/studio/samples/support.js +8 -8
  282. package/dist/studio/scaffold-app.js +104 -104
  283. package/dist/studio/scaffold.js +151 -151
  284. package/dist/studio/ui-components.d.ts +7 -0
  285. package/dist/studio/ui-components.generated.js +63 -1
  286. package/dist/studio/ui-components.js +35 -0
  287. package/dist/sveltekit/in-memory.d.ts +3 -3
  288. package/dist/sveltekit/in-memory.js +4 -4
  289. package/dist/sveltekit/index.d.ts +6 -6
  290. package/dist/sveltekit/index.js +5 -5
  291. package/dist/sveltekit/query-plan.d.ts +1 -1
  292. package/dist/sveltekit/sql-source.d.ts +4 -4
  293. package/dist/sveltekit/sql-source.js +4 -4
  294. package/dist/sveltekit/sql.d.ts +1 -1
  295. package/dist/sveltekit/transport.d.ts +2 -2
  296. package/dist/sveltekit/transport.js +1 -1
  297. package/dist/upgrade-prompt.js +25 -25
  298. package/dist/version.d.ts +1 -1
  299. package/dist/version.js +1 -1
  300. package/package.json +12 -4
  301. package/dist/designer/assets/GridMenus-Cgilexpk.js +0 -8
  302. package/dist/designer/assets/SvDateRangeInput-BV5OXYQ2.css +0 -1
  303. package/dist/designer/assets/SvDateRangeInput-CVn-yqrQ.js +0 -1
  304. package/dist/designer/assets/SvDateTimePicker-BdioTrJQ.js +0 -1
  305. package/dist/designer/assets/SvDateTimePicker-CY8TK4BT.css +0 -1
  306. package/dist/designer/assets/SvField-BF-9TJSd.css +0 -1
  307. package/dist/designer/assets/SvField-BsqiA5me.js +0 -1
  308. package/dist/designer/assets/SvGridCellEditor-dLY7_kk9.js +0 -2
  309. package/dist/designer/assets/SvGridChart-BEDNTdc5.js +0 -2
  310. package/dist/designer/assets/SvGridChart-Vu4Nvjiv.css +0 -1
  311. package/dist/designer/assets/SvGridChartPanel-x3lzSxuf.js +0 -10
  312. package/dist/designer/assets/SvGridChartView-CAKhPELi.js +0 -1
  313. package/dist/designer/assets/SvGridChartView-DX9HfkBR.css +0 -1
  314. package/dist/designer/assets/SvGridDropdown-CAYG7Y-O.js +0 -1
  315. package/dist/designer/assets/SvGridDropdown-Crwb2P3Q.css +0 -1
  316. package/dist/designer/assets/SvListBox-CVYQcLX9.js +0 -1
  317. package/dist/designer/assets/SvListBox-DgN8kvjt.css +0 -1
  318. package/dist/designer/assets/chart-DHEgt4lN.js +0 -1
  319. package/dist/designer/assets/column-resize-C_inr5zT.js +0 -1
  320. package/dist/designer/assets/date-format-4DJvNtG2.js +0 -1
  321. package/dist/designer/assets/date-format-Dzy4mTGh.css +0 -1
  322. package/dist/designer/assets/easing-zaypKrr0.js +0 -3
  323. package/dist/designer/assets/export-format-DwjuTfrQ.js +0 -6
  324. package/dist/designer/assets/index-Cp7fDJ3b.css +0 -1
  325. package/dist/designer/assets/js-scroller.svelte-Bhxqb3-c.js +0 -110
  326. package/dist/designer/assets/row-resize-B0FWHcNr.js +0 -1
  327. package/dist/designer/assets/src-B7DNcoQK.css +0 -1
  328. package/dist/designer/assets/src-BoYyigAC.js +0 -2896
  329. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/_svelte_metadata.json +0 -1
  330. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/_metadata.json +0 -178
  331. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-BOv1rBKp.js +0 -3875
  332. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-BOv1rBKp.js.map +0 -1
  333. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-B9vgIdCd.js +0 -21
  334. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-B9vgIdCd.js.map +0 -1
  335. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-T1qbW_qD.js +0 -1938
  336. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-T1qbW_qD.js.map +0 -1
  337. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-Bo11SfVK.js +0 -205
  338. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-Bo11SfVK.js.map +0 -1
  339. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-X7D4vfrZ.js +0 -18
  340. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-X7D4vfrZ.js.map +0 -1
  341. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-oyUje5i1.js +0 -264
  342. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-oyUje5i1.js.map +0 -1
  343. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-DeSQgSFm.js +0 -697
  344. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-DeSQgSFm.js.map +0 -1
  345. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/package.json +0 -3
  346. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js +0 -134
  347. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js.map +0 -1
  348. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js +0 -55
  349. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js.map +0 -1
  350. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_attachments.js +0 -2
  351. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js +0 -46843
  352. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js.map +0 -1
  353. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js +0 -237
  354. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js.map +0 -1
  355. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_events.js +0 -2
  356. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js +0 -4
  357. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js.map +0 -1
  358. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_client.js +0 -7
  359. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js +0 -4
  360. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js.map +0 -1
  361. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js +0 -5
  362. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js.map +0 -1
  363. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js +0 -5
  364. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js.map +0 -1
  365. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js +0 -5
  366. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js.map +0 -1
  367. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_server.js +0 -6
  368. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js +0 -83
  369. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js.map +0 -1
  370. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js +0 -559
  371. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js.map +0 -1
  372. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js +0 -24
  373. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js.map +0 -1
  374. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js +0 -122
  375. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js.map +0 -1
  376. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_server.js +0 -2
  377. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js +0 -89
  378. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js.map +0 -1
  379. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js +0 -241
  380. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js.map +0 -1
  381. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-BbWyXNk1.js +0 -4938
  382. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-BbWyXNk1.js.map +0 -1
  383. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DI_fC7vt.js +0 -495
  384. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DI_fC7vt.js.map +0 -1
  385. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-Dyr3lQv9.js +0 -190
  386. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-Dyr3lQv9.js.map +0 -1
  387. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-_9FHH-LF.js +0 -8
  388. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-_9FHH-LF.js.map +0 -1
  389. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-CUbSPnyP.js +0 -138
  390. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-CUbSPnyP.js.map +0 -1
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{i as t,n,r,t as i}from"./chart-trend-D5I5VEe8.js";var a=[`#2563eb`,`#16a34a`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#0ea5e9`,`#ec4899`,`#14b8a6`];function o(e){return Math.round(e*100)/100}function s(e,t){if(e<=0)return 1;let n=Math.floor(Math.log10(e)),r=e/10**n,i;return i=t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,i*10**n}var c=[`#eff6ff`,`#bfdbfe`,`#60a5fa`,`#2563eb`,`#1e3a8a`],l=[`#b91c1c`,`#fca5a5`,`#f1f5f9`,`#93c5fd`,`#1d4ed8`],u=[`#1c2c4d`,`#1d4ed8`,`#3b82f6`,`#60a5fa`,`#bae6fd`],d=[`#f87171`,`#b91c1c`,`#222b3d`,`#1d4ed8`,`#60a5fa`];function f(e,t,n,r=`light`){if(Array.isArray(e)&&e.length>=2)return e;let i=r===`dark`;return e===`diverging`||e==null&&t<0&&n>0?i?d:l:i?u:c}function p(e,t){if(!e.length)return`#888`;let n=Math.max(0,Math.min(1,t));if(e.length===1)return e[0];let r=n*(e.length-1),i=Math.floor(r),a=r-i,o=m(e[i]),s=m(e[Math.min(e.length-1,i+1)]);if(!o||!s)return e[i]??`#888`;let c=(e,t)=>Math.round(e+(t-e)*a),l=e=>e.toString(16).padStart(2,`0`);return`#`+l(c(o.r,s.r))+l(c(o.g,s.g))+l(c(o.b,s.b))}function m(e){let t=/^#?([0-9a-f]{6})$/i.exec(e.trim());if(!t)return null;let n=parseInt(t[1],16);return{r:n>>16&255,g:n>>8&255,b:n&255}}function h(e){let t=m(e);if(!t)return`#0f172a`;let n=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*n(t.r)+.7152*n(t.g)+.0722*n(t.b)>.5?`#0f172a`:`#ffffff`}function g(e,t){(!Number.isFinite(e)||e<=0)&&(e=1),(!Number.isFinite(t)||t<=e)&&(t=e*10);let n=Math.floor(Math.log10(e)),r=Math.ceil(Math.log10(t)),i=[];for(let e=n;e<=r;e+=1)i.push(10**e);return{min:10**n,max:10**r,step:10,ticks:i}}function _(e,t){if(!(e>0)||!(t>e))return[];let n=Math.floor(Math.log10(e)),r=Math.ceil(Math.log10(t)),i=r-n<3?[2,5]:[],a=[];for(let o=n;o<=r;o+=1){let n=10**o;for(let r of[1,...i]){let i=n*r;i>=e*.999&&i<=t*1.001&&a.push(i)}}return a}function v(e,t,n,r){return Number.isFinite(e)?r?e<=0||t<=0?null:(Math.log10(e)-Math.log10(t))/(Math.log10(n)-Math.log10(t)):(e-t)/(n-t):null}function y(e,t,n=4){(!Number.isFinite(e)||!Number.isFinite(t))&&(e=0,t=1),e===t&&(e===0?t=1:(e=Math.min(0,e),t=Math.max(0,t)),e===t&&(t=e+1));let r=s(s(t-e,!1)/Math.max(1,n),!0),i=Math.floor(e/r)*r,a=Math.ceil(t/r)*r,c=[];for(let e=i;e<=a+r*.5;e+=r)c.push(o(e));return{min:i,max:a,step:r,ticks:c}}function b(e,t,n={}){let r=n.min??e,i=n.max??t;(!Number.isFinite(r)||!Number.isFinite(i))&&(r=Number.isFinite(r)?r:0,i=Number.isFinite(i)?i:r+1);let a=n.nice!==!1,s=n.tickInterval;if(s&&s>0&&Number.isFinite(s)){a&&n.min==null&&(r=Math.floor(r/s)*s),a&&n.max==null&&(i=Math.ceil(i/s)*s),i<=r&&(i=r+s);let e=[],t=Math.ceil(r/s-1e-9)*s;for(let n=t,r=0;n<=i+s*1e-6&&r<1e3;n+=s,r+=1)e.push(o(n)+0);return{min:r,max:i,step:s,ticks:e}}if(a){let e=y(r,i,n.tickCount??4);if(n.min==null&&n.max==null)return e;let t=n.min??e.min,a=n.max??e.max;return{min:t,max:a,step:e.step,ticks:e.ticks.filter(e=>e>=t-1e-9&&e<=a+1e-9)}}i<=r&&(i=r+1);let c=Math.max(1,Math.round(n.tickCount??4)),l=(i-r)/c,u=Array.from({length:c+1},(e,t)=>o(r+l*t));return{min:r,max:i,step:l,ticks:u}}var x=864e5;function S(e,t,n=6){if(!(t>e))return[e];let r=Math.max(2,n)*1.3,i=t-e,a=[[1,0],[2,0],[7,0],[14,0],[0,1],[0,3],[0,6],[0,12],[0,24],[0,60],[0,120]],[o,s]=a[a.length-1];for(let[e,t]of a)if(i/(e*864e5+t*30.44*864e5)<=r){o=e,s=t;break}let c=new Date(e),l=[];if(o){let n=Date.UTC(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate());for(o>=7&&(n+=(8-new Date(n).getUTCDay())%7*x);n<e;)n+=o*x;for(;n<=t+1;n+=o*x)l.push(n)}else{let n=Math.ceil((c.getUTCFullYear()*12+c.getUTCMonth())/s)*s,r=e=>Date.UTC(Math.floor(e/12),e%12,1);r(n)<e&&(n+=s);for(let e=r(n);e<=t+1;n+=s,e=r(n))l.push(e)}return l.length<2?[e,t]:l}function C(e,t=6){if(e.length<=1)return e.length?[0]:[];let n={day:e=>`${e.getUTCFullYear()}-${e.getUTCMonth()}-${e.getUTCDate()}`,week:e=>Math.floor((Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())/x+3)/7),month:e=>`${e.getUTCFullYear()}-${e.getUTCMonth()}`,year:e=>e.getUTCFullYear()},r=null;for(let i of[`day`,`week`,`month`,`year`]){let a=[],o=null;for(let t=0;t<e.length;t+=1){let r=e[t];if(!Number.isFinite(r))continue;let s=n[i](new Date(r));s!==o&&a.push(t),o=s}if(r=a,a.length<=t*2)break}let i=r??[];if(i.length>t){let e=Math.ceil(i.length/t);i=i.filter((t,n)=>n%e===0)}if(i.length<2){let n=Math.max(1,Math.ceil(e.length/t));i=e.map((e,t)=>t).filter(e=>e%n===0)}return i}function w(e,t){let n=new Date(e);return t<24192e5?n.toLocaleDateString(void 0,{month:`short`,day:`numeric`,timeZone:`UTC`}):t<31104e6?n.toLocaleDateString(void 0,{month:`short`,year:`2-digit`,timeZone:`UTC`}):String(n.getUTCFullYear())}function T(e,t=`day`){let n=new Date(e);return t===`year`?String(n.getUTCFullYear()):t===`month`?n.toLocaleDateString(void 0,{month:`short`,year:`numeric`,timeZone:`UTC`}):n.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`,timeZone:`UTC`})}function E(e){let t=!0,n=!0,r=!1;for(let i of e){if(!Number.isFinite(i))continue;r=!0;let e=new Date(i);if(e.getUTCDate()!==1||e.getUTCHours()!==0){t=!1,n=!1;break}e.getUTCMonth()!==0&&(n=!1)}return r?n?`year`:t?`month`:`day`:`day`}function D(e,t,n,r){let i=Math.max(1,Math.ceil((r?18:60)/Math.max(n,.001))),a=[];for(let n=0;n<e.length;n+=i)a.push({label:e[n],x:t(n)});return a}function O(e,t){if(e==null)return null;if(typeof e==`number`){if(!Number.isFinite(e))return null;let n=Math.abs(e);return{lo:t-n,hi:t+n}}return!Number.isFinite(e.lo)||!Number.isFinite(e.hi)?null:{lo:Math.min(e.lo,e.hi),hi:Math.max(e.lo,e.hi)}}function k(e,t=1.5){let n=e.filter(e=>Number.isFinite(e)).slice().sort((e,t)=>e-t);if(!n.length)return null;let r=e=>{let t=(n.length-1)*e,r=Math.floor(t),i=Math.ceil(t);return r===i?n[r]:n[r]+(n[i]-n[r])*(t-r)},i=r(.25),a=r(.5),o=r(.75),s=i-t*(o-i),c=o+t*(o-i),l=n.filter(e=>e>=s&&e<=c),u=n.filter(e=>e<s||e>c);return{min:l.length?l[0]:n[0],q1:i,median:a,q3:o,max:l.length?l[l.length-1]:n[n.length-1],...u.length?{outliers:u}:{}}}var A=e=>({fitted:e.map(()=>NaN),r2:0,equation:``,predict:()=>NaN}),j=(e,t)=>t?e.map((e,n)=>t[n]??NaN):e.map((e,t)=>t);function M(e,t){let n=0,r=0;for(let i=0;i<e.length;i+=1)Number.isFinite(e[i])&&Number.isFinite(t[i])&&(n+=1,r+=e[i]);if(n<2)return 0;r/=n;let i=0,a=0;for(let n=0;n<e.length;n+=1)!Number.isFinite(e[n])||!Number.isFinite(t[n])||(i+=(e[n]-t[n])**2,a+=(e[n]-r)**2);return a===0?+(i===0):Math.max(0,Math.min(1,1-i/a))}var N=e=>Math.abs(e)>=1e3||Math.abs(e)<.001&&e!==0?e.toExponential(2):String(Math.round(e*1e3)/1e3);function P(e,t){let n=t.length,r=e.map((e,n)=>[...e,t[n]]);for(let e=0;e<n;e+=1){let t=e;for(let i=e+1;i<n;i+=1)Math.abs(r[i][e])>Math.abs(r[t][e])&&(t=i);if(Math.abs(r[t][e])<1e-12)return null;[r[e],r[t]]=[r[t],r[e]];for(let t=0;t<n;t+=1){if(t===e)continue;let i=r[t][e]/r[e][e];for(let a=e;a<=n;a+=1)r[t][a]-=i*r[e][a]}}return r.map((e,t)=>e[n]/e[t])}function F(e,t,n){let r=Math.max(1,Math.min(6,Math.round(t))),i=e.length,a=A(e),o=j(e,n),s=[];for(let t=0;t<i;t+=1)Number.isFinite(e[t])&&Number.isFinite(o[t])&&s.push(t);if(s.length<=r)return a;let c=1/0,l=-1/0;for(let e of s)c=Math.min(c,o[e]),l=Math.max(l,o[e]);n||(c=0,l=Math.max(1,i-1));let u=Math.max(l-c,1e-12),d=e=>2*(e-c)/u-1,f=Array.from({length:r+1},()=>Array(r+1).fill(0)),p=Array(r+1).fill(0);for(let t of s){let n=d(o[t]),i=e[t],a=[1];for(let e=1;e<=2*r;e+=1)a.push(a[e-1]*n);for(let e=0;e<=r;e+=1){p[e]+=a[e]*i;for(let t=0;t<=r;t+=1)f[e][t]+=a[e+t]}}let m=P(f,p);if(!m)return a;let h=e=>{let t=d(e),n=0,i=1;for(let e=0;e<=r;e+=1)n+=m[e]*i,i*=t;return n},g=e.map((e,t)=>Number.isFinite(e)&&Number.isFinite(o[t])?h(o[t]):NaN),_=m.map((e,t)=>t===0?N(e):`${N(e)} u^${t}`).reverse(),v=n?`u = 2(x - ${N(c)})/${N(u)} - 1`:`u = 2x/${u} - 1`;return{fitted:g,r2:M(e,g),equation:`y = ${_.join(` + `)} (${v})`,predict:h}}function I(e,t){let n=j(e,t),{slope:r,intercept:i,ok:a}=te(n,e);if(!a)return A(e);let o=e=>r*e+i,s=e.map((e,t)=>Number.isFinite(e)&&Number.isFinite(n[t])?o(n[t]):NaN);return{fitted:s,r2:M(e,s),equation:`y = ${N(r)} x + ${N(i)}`,predict:o}}function L(e,t){let n=j(e,t),{slope:r,intercept:i,ok:a}=te(n,e.map(e=>Number.isFinite(e)&&e>0?Math.log(e):NaN));if(!a)return A(e);let o=Math.exp(i),s=e=>o*Math.exp(r*e),c=e.map((e,t)=>Number.isFinite(e)&&e>0&&Number.isFinite(n[t])?s(n[t]):NaN);return{fitted:c,r2:M(e,c),equation:`y = ${N(o)} e^(${N(r)} x)`,predict:s}}function R(e,t){let n=+!t,r=j(e,t).map(e=>e+n>0?Math.log(e+n):NaN),{slope:i,intercept:a,ok:o}=te(r,e);if(!o)return A(e);let s=e=>e+n>0?a+i*Math.log(e+n):NaN,c=e.map((e,t)=>Number.isFinite(e)&&Number.isFinite(r[t])?a+i*r[t]:NaN),l=t?`x`:`x + 1`;return{fitted:c,r2:M(e,c),equation:`y = ${N(a)} + ${N(i)} ln(${l})`,predict:s}}function ee(e,t){let n=+!t,r=j(e,t).map(e=>e+n>0?Math.log(e+n):NaN),{slope:i,intercept:a,ok:o}=te(r,e.map(e=>Number.isFinite(e)&&e>0?Math.log(e):NaN));if(!o)return A(e);let s=Math.exp(a),c=e=>e+n>0?s*(e+n)**+i:NaN,l=e.map((e,t)=>Number.isFinite(e)&&e>0&&Number.isFinite(r[t])?s*Math.exp(i*r[t]):NaN),u=t?`x`:`(x + 1)`;return{fitted:l,r2:M(e,l),equation:`y = ${N(s)} ${u}^${N(i)}`,predict:c}}function te(e,t){let n=0,r=0,i=0,a=0,o=0;for(let s=0;s<t.length;s+=1){let c=e[s],l=t[s];!Number.isFinite(c)||!Number.isFinite(l)||(n+=1,r+=c,i+=l,a+=c*c,o+=c*l)}if(n<2)return{slope:0,intercept:0,ok:!1};let s=n*a-r*r,c=s===0?0:(n*o-r*i)/s;return{slope:c,intercept:(i-c*r)/n,ok:!0}}function z(e,t){if(t<1)return e.slice();let n=Array(e.length).fill(NaN),r=0,i=0;for(let a=0;a<e.length;a+=1){let o=e[a];if(Number.isFinite(o)&&(r+=o,i+=1),a>=t){let n=e[a-t];Number.isFinite(n)&&(r-=n,--i)}a>=t-1&&i>0&&(n[a]=r/i)}return n}function B(e,t){let n=2/(Math.max(1,t)+1),r=Array(e.length).fill(NaN),i=null;for(let t=0;t<e.length;t+=1){let a=e[t];if(!Number.isFinite(a)){r[t]=i??NaN;continue}i=i==null?a:n*a+(1-n)*i,r[t]=i}return r}function V(e){return e!==`sum`&&e!==`avg`&&e!==`count`}function H(e,t){let n=e.length;switch(t){case`count`:return n;case`sum`:{let t=0;for(let n of e)t+=n;return t}case`avg`:{if(!n)return 0;let t=0;for(let n of e)t+=n;return t/n}case`min`:return n?Math.min(...e):NaN;case`max`:return n?Math.max(...e):NaN;case`first`:return n?e[0]:NaN;case`last`:return n?e[n-1]:NaN;case`countDistinct`:return new Set(e).size;case`median`:return U(e,50);default:{let n=/^p(\d+(?:\.\d+)?)$/.exec(t);return n?U(e,Number(n[1])):NaN}}}function U(e,t){let n=e.filter(e=>Number.isFinite(e)).slice().sort((e,t)=>e-t);if(!n.length)return NaN;let r=(n.length-1)*Math.max(0,Math.min(100,t))/100,i=Math.floor(r),a=Math.ceil(r);return i===a?n[i]:n[i]+(n[a]-n[i])*(r-i)}function ne(e,t){let n=e instanceof Date?e.getTime():typeof e==`number`?e:Date.parse(e);if(!Number.isFinite(n))return``;let r=new Date(n),i=r.getUTCFullYear(),a=r.getUTCMonth(),o;switch(t){case`day`:o=new Date(Date.UTC(i,a,r.getUTCDate()));break;case`week`:{let e=(r.getUTCDay()+6)%7;o=new Date(Date.UTC(i,a,r.getUTCDate()-e));break}case`month`:o=new Date(Date.UTC(i,a,1));break;case`quarter`:o=new Date(Date.UTC(i,a-a%3,1));break;default:o=new Date(Date.UTC(i,0,1))}return o.toISOString().slice(0,10)}function re(e,t={}){let n=e.filter(e=>Number.isFinite(e));if(!n.length)return{categories:[],counts:[],edges:[],width:0};let r=t.min??Math.min(...n),i=t.max??Math.max(...n);i<=r&&(i=r+1);let a;if(t.bins&&t.bins>0)a=Math.round(t.bins);else if(t.binWidth&&t.binWidth>0)a=Math.max(1,Math.ceil((i-r)/t.binWidth));else if(t.method===`sqrt`)a=Math.ceil(Math.sqrt(n.length));else if(t.method===`fd`){let e=U(n,75)-U(n,25),t=e>0?2*e/Math.cbrt(n.length):0;a=Math.ceil(t>0?(i-r)/t:Math.log2(n.length)+1)}else a=Math.ceil(Math.log2(n.length)+1);a=Math.max(1,Math.min(1e3,a));let o=t.binWidth&&t.binWidth>0?t.binWidth:(i-r)/a,s=o>=1?0:Math.min(6,Math.ceil(-Math.log10(o))+1),c=e=>Number(e.toFixed(s)),l=[];for(let e=0;e<=a;e+=1)l.push(c(r+e*o));let u=Array(a).fill(0);for(let e of n){let t=Math.floor((e-r)/o);t>=a&&(t=a-1),t<0&&(t=0),u[t]=(u[t]??0)+1}return{categories:u.map((e,t)=>String(c(r+(t+.5)*o))),counts:u,edges:l,width:o}}function W(e,t){let n=e.type??t;return n===`candlestick`||n===`ohlc`||e.ohlc?`candle`:n===`boxplot`||e.boxes?`box`:n===`line`||n===`area`?n:n===`stream`?`area`:n===`range-bar`||n===`range-area`||n===`lollipop`||n===`dumbbell`?n:n===`scatter`&&e.type===`scatter`?`scatter`:`bar`}function ie(e,t,n,r=[],i=!1,a={}){let o=1/0,s=-1/0,c=e=>{Number.isFinite(e)&&(i&&e<=0||(e<o&&(o=e),e>s&&(s=e)))};for(let e of r)c(e);let l=e.filter(e=>e.kind===`bar`||e.kind===`area`),u=e.filter(e=>e.kind===`line`||e.kind===`scatter`||e.kind===`lollipop`);for(let t of e)if(t.kind===`range-bar`||t.kind===`range-area`||t.kind===`dumbbell`){for(let e of t.values)c(e);for(let e of t.lowValues??[])c(e)}let d=new Map;l.forEach((e,t)=>{let r=e.stack?`${e.kind}:${e.stack}`:n?e.kind:`#${t}`,i=d.get(r);i?i.push(e):d.set(r,[e])});for(let e of d.values()){if(e.length===1){for(let t of e[0].values)c(t);continue}for(let n=0;n<t.length;n+=1){let t=0,r=0;for(let i of e){let e=i.values[n]??0;e>=0?t+=e:r+=e}c(t),c(r)}}for(let e of u)for(let t of e.values)c(t);for(let t of e)if(t.kind===`candle`)for(let e of t.ohlc??[])e&&(c(e.h),c(e.l));for(let t of e)if(t.kind===`box`){for(let e of t.boxes??[])if(e){c(e.min),c(e.max);for(let t of e.outliers??[])c(t)}}for(let t of e)t.errors&&t.errors.forEach((e,n)=>{let r=O(e,t.values[n]??0);r&&(c(r.lo),c(r.hi))});if(o===1/0&&(o=+!!i,s=i?10:1),(l.length||e.some(e=>e.kind===`lollipop`))&&!i&&(o=Math.min(o,0),s=Math.max(s,0)),i){let e=g(o,s),t=a.min!=null&&a.min>0?a.min:e.min,n=a.max!=null&&a.max>t?a.max:e.max;return t===e.min&&n===e.max?e:{min:t,max:n,step:e.step,ticks:e.ticks.filter(e=>e>=t&&e<=n)}}return b(o,s,a)}function ae(e){let t=e.axes;if(!t)return null;let{x:n,y:r,w:i,h:a}=e.plot,o=e=>t=>{let n=v(t,e.min,e.max,e.log);return n===null?NaN:(e.reversed&&(n=1-n),r+a-n*a)},s=o(t.y),c=t.y2?o(t.y2):s,l=e=>t=>{let n=a===0?0:(r+a-t)/a;if(e.reversed&&(n=1-n),!e.log)return e.min+n*(e.max-e.min);let i=Math.log10(e.min);return 10**(i+n*(Math.log10(e.max)-i))},u=t.x,d=u&&u.max-u.min||1,f=u?.log&&Math.log10(u.max)-Math.log10(u.min)||1,p=e=>{if(!u||!Number.isFinite(e)||u.log&&e<=0)return NaN;let t=u.log?(Math.log10(e)-Math.log10(u.min))/f:(e-u.min)/d;return u.reversed&&(t=1-t),n+t*i},m=e=>{if(u?.values){let t=u.values[Math.round(e)];if(t!=null&&Number.isFinite(t))return p(t)}let r=n+t.slot*e+t.slot/2;return t.xReversed?n+i-(r-n):r},h=n=>{if(u){if(n instanceof Date)return p(n.getTime());if(typeof n==`number`)return p(n);let t=u.type===`time`?Date.parse(n):Number(n);if(Number.isFinite(t))return p(t);let r=e.xTicks.findIndex(e=>e.label===n);return r>=0?e.xTicks[r].x:NaN}if(typeof n==`number`)return m(n);let r=n instanceof Date?n.toISOString():n,i=t.labels?t.labels.indexOf(r):-1;return i>=0?m(i):NaN},g=e=>{let r=i===0?0:(e-n)/i;return(u?u.reversed:t.xReversed)&&(r=1-r),u?.log?10**(Math.log10(u.min)+r*f):u?u.min+r*d:Math.max(0,Math.min(t.count-1,r*t.count-.5))};return{xOf:m,yOf:(e,t)=>t===`right`?c(e):s(e),xInvert:e=>{if(u?.values){let t=g(e),n=0,r=1/0;return u.values.forEach((e,i)=>{let a=Math.abs(e-t);a<r&&(r=a,n=i)}),n}let r=Math.floor((e-n)/(t.slot||1)),i=t.xReversed?t.count-1-r:r;return Math.max(0,Math.min(t.count-1,i))},yInvert:(e,n)=>n===`right`&&t.y2?l(t.y2)(e):l(t.y)(e),xOfValue:h,xInvertValue:g}}function G(e){let t=e.xAxis??{},n=e.yAxis??{},r=e.y2Axis??{},i=(e,t)=>({...e,type:e.type??t.type,scale:e.scale??t.scale,title:e.title??t.title,gridLines:e.gridLines??t.gridLines,labels:e.labels!==!1,nice:e.nice!==!1,reversed:e.reversed===!0});return{x:i(t,{type:e.xType??`category`,scale:`linear`,title:e.xAxisTitle,gridLines:!1}),y:i(n,{type:`category`,scale:e.yScale??`linear`,title:e.yAxisTitle,gridLines:!0}),y2:i(r,{type:`category`,scale:e.y2Scale??`linear`,title:e.y2AxisTitle,gridLines:!1})}}var oe=22,se=16,ce=16;function le(e,t,n){let r=(e.title??``).trim(),i=(e.subtitle??``).trim(),a=(e.caption??``).trim(),o=0,s=null,c=null;r&&(o+=oe,s={x:t/2,y:o-6,text:r}),i&&(o+=se,c={x:t/2,y:o-4,text:i}),o&&(o+=4);let l=0,u=null;return a&&(l=ce,u={x:8,y:n-5,text:a}),{top:o,bottom:l,title:s,subtitle:c,caption:u}}function ue(e,t,n,r,i){return n.formatter?n.formatter(e,t):i(e,n.format??r.valueFormat,r)}var de=[`values`,`rowIds`,`upperValues`,`lowerValues`,`ohlc`,`boxes`,`errors`,`markers`,`colors`,`lowValues`,`targets`,`volumes`],fe=[`waterfallTotals`];function K(e,t){let n=e=>{if(!e)return;let n=Array(t.length);for(let r=0;r<t.length;r+=1)n[r]=e[t[r]];return n},r=e.series.map(e=>{let t={...e,values:n(e.values)??[]};for(let r of de){if(r===`values`)continue;let i=e[r];i&&(t[r]=n(i))}return t}),i={...e,categories:n(e.categories)??[],series:r};for(let t of fe){let r=e[t];r&&(i[t]=n(r))}return i}function pe(e,t,n){let r=e.length,i=e=>n&&Number.isFinite(n[e])?n[e]:e;if(t>=r||r<=2)return e.map((e,t)=>t);if(t<3)return[0,r-1];let a=[0],o=(r-2)/(t-2),s=0;for(let n=0;n<t-2;n+=1){let t=Math.floor((n+1)*o)+1,c=Math.min(Math.floor((n+2)*o)+1,r),l=0,u=0,d=0;for(let n=t;n<c;n+=1){let t=e[n];Number.isFinite(t)&&(l+=i(n),u+=t,d+=1)}d?(l/=d,u/=d):(l=(i(t)+i(Math.min(c,r-1)))/2,u=e[s]);let f=Math.floor(n*o)+1,p=Math.min(Math.floor((n+1)*o)+1,r),m=i(s),h=Number.isFinite(e[s])?e[s]:0,g=-1,_=-1;for(let t=f;t<p;t+=1){let n=e[t];if(!Number.isFinite(n))continue;let r=Math.abs((m-l)*(n-h)-(m-i(t))*(u-h));r>_&&(_=r,g=t)}g<0&&(g=f),a.push(g),s=g}return a.push(r-1),a}function q(e,t){let n=e.length;if(t>=n||n<=2)return e.map((e,t)=>t);let r=new Set([0,n-1]),i=n/Math.max(1,t);for(let a=0;a<t;a+=1){let t=Math.floor(a*i),o=Math.min(n,Math.floor((a+1)*i)),s=-1,c=-1;for(let n=t;n<o;n+=1){let t=e[n];Number.isFinite(t)&&((s<0||t<e[s])&&(s=n),(c<0||t>e[c])&&(c=n))}s>=0&&r.add(s),c>=0&&r.add(c)}return[...r].sort((e,t)=>e-t)}function me(e,t){if(e===!1)return null;let n=typeof e==`object`?e:{},r=Math.max(8,Math.round(n.target??t));return{method:n.method??`lttb`,target:r,threshold:Math.max(r,Math.round(n.threshold??r))}}function J(e,t,n=e.decimate){let r=me(n,t);if(!r)return e;let i=e.categories.length;if(i<=r.threshold||!e.series.length)return e;let a=e=>e===`line`||e===`area`;if(!a(e.type)&&!e.series.every(e=>a(e.type))||e.series.some(e=>e.type&&!a(e.type)||e.ohlc||e.boxes))return e;let o=(e.xAxis?.type??e.xType)===`number`,s=o&&e.xAxis?.scale===`log`,c=o?e.categories.map(e=>{let t=Number(e);return s?t>0?Math.log10(t):NaN:t}):void 0,l=new Set;for(let t of e.series){let e=r.method===`minmax`?q(t.values,Math.floor(r.target/2)):pe(t.values,r.target,c);for(let t of e)l.add(t)}let u=[...l].sort((e,t)=>e-t);return u.length>=i?e:K(e,u)}var Y=e=>Array(e).fill(NaN);function he(e,t){let n=e.length,r=Math.max(1,Math.floor(t)),i=Y(n),a=r*(r+1)/2;for(let t=r-1;t<n;t+=1){let n=0,o=!0;for(let i=0;i<r;i+=1){let a=e[t-i];if(!Number.isFinite(a)){o=!1;break}n+=a*(r-i)}o&&(i[t]=n/a)}return i}function ge(e,t=20,n=2){let r=e.length,i=Math.max(1,Math.floor(t)),a=z(e,i),o=Y(r),s=Y(r);for(let t=i-1;t<r;t+=1){let r=a[t];if(!Number.isFinite(r))continue;let c=0,l=0;for(let n=t-i+1;n<=t;n+=1){let t=e[n];Number.isFinite(t)&&(c+=(t-r)*(t-r),l+=1)}let u=l?Math.sqrt(c/l):0;o[t]=r+n*u,s[t]=r-n*u}return{middle:a,upper:o,lower:s}}function _e(e,t=14){let n=e.length,r=Math.max(1,Math.floor(t)),i=Y(n);if(n<=r)return i;let a=0,o=0;for(let t=1;t<=r;t+=1){let n=e[t]-e[t-1];n>0?a+=n:o-=n}let s=a/r,c=o/r,l=(e,t)=>t===0?100:100-100/(1+e/t);i[r]=l(s,c);for(let t=r+1;t<n;t+=1){let n=e[t]-e[t-1];s=(s*(r-1)+(n>0?n:0))/r,c=(c*(r-1)+(n<0?-n:0))/r,i[t]=l(s,c)}return i}function ve(e,t=12,n=26,r=9){let i=e.length,a=B(e,t),o=B(e,n),s=Y(i);for(let e=n-1;e<i;e+=1)s[e]=a[e]-o[e];let c=Y(i),l=Y(i),u=2/(Math.max(1,r)+1),d=null,f=0;for(let e=0;e<i;e+=1){let t=s[e];Number.isFinite(t)&&(f+=1,d=d==null?t:u*t+(1-u)*d,f>=r&&(c[e]=d,l[e]=t-d))}return{macd:s,signal:c,histogram:l}}var ye=e=>(e.h+e.l+e.c)/3;function be(e,t){let n=e.length,r=Y(n),i=0,a=0;for(let o=0;o<n;o+=1){let n=e[o],s=t[o];if(!n||!Number.isFinite(s)){r[o]=a>0?i/a:NaN;continue}i+=ye(n)*s,a+=s,r[o]=a>0?i/a:NaN}return r}function xe(e,t){let n=e[t];if(!n)return NaN;let r=t>0?e[t-1]:null;return r?Math.max(n.h-n.l,Math.abs(n.h-r.c),Math.abs(n.l-r.c)):n.h-n.l}function Se(e,t=14){let n=e.length,r=Math.max(1,Math.floor(t)),i=Y(n);if(n<r)return i;let a=0;for(let t=0;t<r;t+=1){let n=xe(e,t);if(!Number.isFinite(n))return i;a+=n}let o=a/r;i[r-1]=o;for(let t=r;t<n;t+=1){let n=xe(e,t);if(!Number.isFinite(n)){i[t]=NaN;continue}o=(o*(r-1)+n)/r,i[t]=o}return i}function Ce(e,t=14,n=3){let r=e.length,i=Math.max(1,Math.floor(t)),a=Y(r);for(let t=i-1;t<r;t+=1){let n=-1/0,r=1/0,o=!0;for(let a=t-i+1;a<=t;a+=1){let t=e[a];if(!t){o=!1;break}t.h>n&&(n=t.h),t.l<r&&(r=t.l)}let s=e[t]?.c;!o||s==null||(a[t]=n===r?50:(s-r)/(n-r)*100)}let o=Math.max(1,Math.floor(n)),s=Y(r);for(let e=o-1;e<r;e+=1){let t=0,n=!0;for(let r=e-o+1;r<=e;r+=1){if(!Number.isFinite(a[r])){n=!1;break}t+=a[r]}n&&(s[e]=t/o)}return{k:a,d:s}}function we(e,t){let n=e.length,r=Y(n),i=0;for(let a=0;a<n;a+=1){let n=t[a];if(!Number.isFinite(e[a])||!Number.isFinite(n)){r[a]=i;continue}a>0&&Number.isFinite(e[a-1])&&(e[a]>e[a-1]?i+=n:e[a]<e[a-1]&&(i-=n)),r[a]=i}return r}function Te(e,t,n){return Ee(e,t,n).values}function Ee(e,t,n){let r=e=>e.equation?{values:e.fitted,r2:e.r2,equation:e.equation}:{values:e.fitted},i=De(e,t);return i?r(i):{values:ke(e,t,n)}}function De(e,t,n){if(t===`linear`)return I(e,n);if(t===`exp`)return L(e,n);if(t===`log`)return R(e,n);if(t===`power`)return ee(e,n);let r=/^poly:(\d+)$/.exec(t);return r?F(e,Number(r[1]),n):null}function Oe(e){let t=/^(sma|ema|wma|bb|poly):(\d+)/.exec(e);return t?`${t[1]===`poly`?`poly`:t[1].toUpperCase()} ${t[2]}`:e===`linear`?`trend`:e}function ke(e,t,n){if(t===`vwap`)return n?.ohlc&&n.volumes?be(n.ohlc,n.volumes):e.map(()=>NaN);let r=/^bb:(\d+):(\d+(?:\.\d+)?)$/.exec(t);if(r)return ge(e,Number(r[1]),Number(r[2])).middle;let i=/^(sma|ema|wma):(\d+)$/.exec(t);if(!i)return e.map(()=>NaN);let a=Number(i[2]);return i[1]===`wma`?he(e,a):i[1]===`ema`?B(e,a):z(e,a)}function Ae(e,t){return t.source?e.series.find(e=>e.label===t.source)??null:e.series.find(e=>e.ohlc)??e.series[0]??null}function je(e){return e.ohlc?e.ohlc.map(e=>e?e.c:NaN):e.values.slice()}function Me(e,t){let n=Ae(e,t),r=e.categories.length,i=n?je(n):Y(r),a=n?.ohlc??i.map(e=>Number.isFinite(e)?{o:e,h:e,l:e,c:e}:null),o=n?.volumes??Y(r),s=t.params??{},c={categories:e.categories,xType:e.xType,xAxis:e.xAxis,height:t.height??Math.max(90,Math.round((e.height??300)/3)),palette:e.palette,valueFormat:`number`,locale:e.locale},l=e=>e.map(([e,t])=>({value:e,label:t,dashed:!0}));switch(t.kind){case`rsi`:{let e=s.period??14;return{...c,type:`line`,title:`RSI ${e}`,series:[{label:`RSI ${e}`,values:_e(i,e),marker:`none`}],yAxis:{min:0,max:100,tickInterval:50,nice:!1},referenceLines:l([[30,`30`],[70,`70`]])}}case`stochastic`:{let e=s.period??14,t=s.smooth??3,{k:n,d:r}=Ce(a,e,t);return{...c,type:`line`,title:`Stochastic ${e}, ${t}`,series:[{label:`%K`,values:n,marker:`none`},{label:`%D`,values:r,marker:`none`,dash:[4,3]}],yAxis:{min:0,max:100,tickInterval:50,nice:!1},referenceLines:l([[20,`20`],[80,`80`]])}}case`macd`:{let e=s.fast??12,t=s.slow??26,n=s.signal??9,r=ve(i,e,t,n);return{...c,type:`bar`,title:`MACD ${e}, ${t}, ${n}`,series:[{label:`Histogram`,values:r.histogram,colors:r.histogram.map(e=>e<0?`#ef4444`:`#16a34a`)},{label:`MACD`,values:r.macd,type:`line`,marker:`none`},{label:`Signal`,values:r.signal,type:`line`,marker:`none`,dash:[4,3]}],referenceLines:l([[0,``]])}}case`atr`:{let e=s.period??14;return{...c,type:`line`,title:`ATR ${e}`,series:[{label:`ATR ${e}`,values:Se(a,e),marker:`none`}],yAxis:{min:0}}}case`obv`:return{...c,type:`line`,title:`OBV`,series:[{label:`OBV`,values:we(i,o),marker:`none`}],valueFormat:`compact`};default:{let e=a.map((e,t)=>{if(!e)return null;let n=t>0?a[t-1]:null;return(n?e.c>=n.c:e.c>=e.o)?`#16a34a`:`#ef4444`});return{...c,type:`bar`,title:`Volume`,series:[{label:`Volume`,values:o.slice(),colors:e}],yAxis:{min:0},valueFormat:`compact`}}}}function Ne(e){let t=Array(e.length),n=null;for(let r=0;r<e.length;r+=1){let i=e[r];if(!i||![i.o,i.h,i.l,i.c].every(Number.isFinite)){t[r]=null,n=null;continue}let a=(i.o+i.h+i.l+i.c)/4,o=n?(n.o+n.c)/2:(i.o+i.c)/2,s={o,c:a,h:Math.max(i.h,o,a),l:Math.min(i.l,o,a)};t[r]=s,n=s}return t}function Pe(e,t,n){let r=new Map,i=[];for(let a=0;a<e.length;a+=1){let o=Date.parse(e[a]);if(!Number.isFinite(o))continue;let s=ne(o,n.bucket);if(!s)continue;let c=r.get(s);c||(c={bar:null,vol:0,first:1/0,last:-1/0},r.set(s,c),i.push([s,Date.parse(s)]));let l=t[a];l&&(c.bar?(c.bar.h=Math.max(c.bar.h,l.h),c.bar.l=Math.min(c.bar.l,l.l),o>=c.last&&(c.bar.c=l.c),o<=c.first&&(c.bar.o=l.o)):c.bar={...l},o>c.last&&(c.last=o),o<c.first&&(c.first=o));let u=n.volumes?.[a];Number.isFinite(u)&&(c.vol+=u)}return i.sort((e,t)=>e[1]-t[1]),{categories:i.map(([e])=>e),ohlc:i.map(([e])=>r.get(e).bar),...n.volumes?{volumes:i.map(([e])=>r.get(e).vol)}:{}}}function Fe(e,t){let n=t=>e.find(e=>t.test(e.field)||t.test(e.label))?.id??null;return{open:t?.open??n(/open/i),high:t?.high??n(/high/i),low:t?.low??n(/low/i),close:t?.close??n(/close|last|price/i),volume:t?.volume??n(/vol/i)}}function Ie(e,t,n,r){let i=e(t),a=e(n.open),o=e(n.high),s=e(n.low),c=e(n.close);if(!i||!a||!o||!s||!c)return null;let l=e(n.volume);return{category:i,ohlc:{open:a,high:o,low:s,close:c,...l?{volume:l}:{},...r.bucket?{bucket:r.bucket}:{},...r.candleStyle?{candleStyle:r.candleStyle}:{},lastPriceLine:!0}}}function Le(e){let t={sma:`sma:20`,ema:`ema:20`,bb:`bb:20:2`,vwap:`vwap`},n=[],r=null;for(let i of e){let e=t[i];if(e){r??=e;continue}(i===`volume`||i===`rsi`||i===`macd`||i===`stochastic`||i===`atr`||i===`obv`)&&n.push({kind:i})}return{panes:n,overlay:r}}function Re(e,t){let n=e=>typeof e==`number`?e:Number(e),r=e.map(e=>({r:e,t:Date.parse(String(e[t.date]))})).filter(e=>Number.isFinite(e.t)).sort((e,t)=>e.t-t.t),i=r.map(e=>new Date(e.t).toISOString().slice(0,10)),a=r.map(({r:e})=>{let r={o:n(e[t.open]),h:n(e[t.high]),l:n(e[t.low]),c:n(e[t.close])};return[r.o,r.h,r.l,r.c].every(Number.isFinite)?r:null}),o=t.volume?r.map(({r:e})=>n(e[t.volume])):void 0;if(t.bucket){let e=Pe(i,a,{bucket:t.bucket,volumes:o});i=e.categories,a=e.ohlc,o=e.volumes}let s={label:t.label??`Price`,values:a.map(e=>e?e.c:NaN),ohlc:a,...o?{volumes:o}:{}};return{type:t.type??`candlestick`,categories:i,series:[s],xType:`ordinal-time`,...t.candleStyle?{candleStyle:t.candleStyle}:{},...t.lastPriceLine?{lastPriceLine:!0}:{}}}function ze(e,t,n={}){return Be(e,!!n.connectNulls).map(e=>X(e,t,n.step)).filter(Boolean).join(` `)}function Be(e,t){let n=[],r=[];for(let i of e)i.defined?r.push({x:i.x,y:i.y}):r.length&&!t&&(n.push(r),r=[]);return r.length&&n.push(r),n}function X(e,t,n){return e.length?n?Ve(He(e,n)):t?Ge(e):Ve(e):``}function Ve(e){return e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`).join(` `)}function He(e,t){let n=[];for(let r=0;r<e.length;r+=1){let i=e[r];if(r>0){let a=e[r-1];if(t===`before`)n.push({x:a.x,y:i.y});else if(t===`after`)n.push({x:i.x,y:a.y});else{let e=o((a.x+i.x)/2);n.push({x:e,y:a.y},{x:e,y:i.y})}}n.push(i)}return n}function Ue(e,t,n,r){return!e.length||!t.length?``:`${X(e,n,r)} ${X(t.slice().reverse(),n,r).replace(/^M/,`L`)} Z`}function We(e,t){let n=e.length,r=e[0]?.length??0,i=Array(r).fill(0);if(!n||!r||t===`zero`)return i;let a=(t,n)=>{let r=e[t][n];return Number.isFinite(r)?r:0};if(t===`silhouette`){for(let e=0;e<r;e+=1){let t=0;for(let r=0;r<n;r+=1)t+=a(r,e);i[e]=-t/2}return i}let o=0;for(let e=1;e<r;e+=1){let t=0,r=0;for(let i=0;i<n;i+=1){let n=a(i,e),o=(n-a(i,e-1))/2;for(let t=0;t<i;t+=1)o+=a(t,e)-a(t,e-1);t+=n,r+=o*n}i[e-1]=o,t&&(o-=r/t)}return i[r-1]=o,i}function Ge(e){let t=e.length;if(t===0)return``;if(t===1)return`M${e[0].x},${e[0].y}`;if(t===2)return`M${e[0].x},${e[0].y} L${e[1].x},${e[1].y}`;let n=Array(t-1),r=Array(t-1);for(let i=0;i<t-1;i+=1){let t=e[i+1].x-e[i].x;n[i]=t,r[i]=t===0?0:(e[i+1].y-e[i].y)/t}let i=Array(t);i[0]=r[0],i[t-1]=r[t-2];for(let e=1;e<t-1;e+=1)r[e-1]*r[e]<=0?i[e]=0:i[e]=(r[e-1]+r[e])/2;for(let e=0;e<t-1;e+=1){if(r[e]===0){i[e]=0,i[e+1]=0;continue}let t=i[e]/r[e],n=i[e+1]/r[e],a=Math.hypot(t,n);a>3&&(i[e]=3/a*t*r[e],i[e+1]=3/a*n*r[e])}let a=`M${e[0].x},${e[0].y}`;for(let r=0;r<t-1;r+=1){let t=n[r],o=e[r].x+t/3,s=e[r].y+i[r]*t/3,c=e[r+1].x-t/3,l=e[r+1].y-i[r+1]*t/3;a+=` C${o},${s} ${c},${l} ${e[r+1].x},${e[r+1].y}`}return a}function Ke(e,t,n,r){let i=Math.max(.5,r);switch(e){case`square`:return`M${o(t-i)},${o(n-i)} h${o(2*i)} v${o(2*i)} h${o(-2*i)} Z`;case`diamond`:return`M${o(t)},${o(n-i*1.3)} L${o(t+i*1.3)},${o(n)} L${o(t)},${o(n+i*1.3)} L${o(t-i*1.3)},${o(n)} Z`;case`triangle`:return`M${o(t)},${o(n-i*1.2)} L${o(t+i*1.2)},${o(n+i)} L${o(t-i*1.2)},${o(n+i)} Z`;case`cross`:return`M${o(t-i)},${o(n-i)} L${o(t+i)},${o(n+i)} M${o(t-i)},${o(n+i)} L${o(t+i)},${o(n-i)}`;default:return``}}function qe(e,t){let n=typeof e.marker==`string`?{shape:e.marker}:e.marker??{},r=e.markers?.[t]??void 0,i=r?.color??n.color??e.colors?.[t]??void 0,a=r?.shape??n.shape,o=r?.size??n.size;if(a==null&&o==null&&i==null)return;let s={};return a!=null&&(s.shape=a),o!=null&&(s.size=o),i!=null&&(s.color=i),s}function Je(e){let t={},n=!1;if(e.strokeWidth!=null&&(t.strokeWidth=e.strokeWidth,n=!0),e.dash!=null&&(t.dash=Array.isArray(e.dash)?e.dash.join(` `):e.dash,n=!0),e.opacity!=null&&(t.opacity=e.opacity,n=!0),e.gradient){let r=e.gradient===!0?{}:e.gradient;t.gradient={from:r.from??e.color,to:r.to??`transparent`},n=!0}return n?t:void 0}function Ye(e,t,n,r={}){if(t.show===!1)return[];let i=[],a=r.share?new Map:null;if(a)for(let t of e.bars){let e=t.index===void 0?t.label:String(t.index);a.set(e,(a.get(e)??0)+Math.abs(t.value))}let o=e=>{let t=a.get(e.index===void 0?e.label:String(e.index))||0;return t?`${Math.round(Math.abs(e.value)/t*100)}%`:``},s=(e,r,i,s)=>t.formatter?t.formatter(e,{category:r,series:i}):a&&s?o(s):n(e,i),c=e.orientation===`horizontal`,l=t.placement??(r.stacked?`inside`:c?`outside`:`top`),u=l===`inside`||l===`center`;for(let t of e.bars){let e=s(t.value,t.label,t.series,t);if(e){if(c){if(u){if(t.w<=18||t.h<8)continue;i.push({x:t.x+t.w/2,y:t.y+t.h/2+3,text:e,anchor:`middle`,onBar:!0,series:t.series})}else{if(t.h<8)continue;let n=t.value>=0;i.push({x:n?t.x+t.w+3:t.x-3,y:t.y+t.h/2+3,text:e,anchor:n?`start`:`end`,onBar:!1,series:t.series})}}else if(u){if(t.h<=13||t.w<14)continue;i.push({x:t.x+t.w/2,y:t.y+t.h/2+3,text:e,anchor:`middle`,onBar:!0,series:t.series})}else{if(t.w<6)continue;let n=t.value>=0;i.push({x:t.x+t.w/2,y:n?t.y-3:t.y+t.h+11,text:e,anchor:`middle`,onBar:!1,series:t.series})}}}if(!r.dense)for(let t of e.lines)for(let e of t.points){if(!e.defined)continue;let n=s(e.value,e.label,t.label);n&&i.push({x:e.x,y:u?e.y+3:e.y-7,text:n,anchor:`middle`,onBar:!1,series:t.label})}let d=t.rotation??0;if(d)for(let e of i)e.angle=d;if(t.hideOverlap===!1&&!t.connector)return i;let f=[],p=Math.abs(d)>=45,m=e=>{let t=e.text.length*5.6+2,n=p?10:t,r=p?t:11,i=e.anchor===`middle`?e.x-n/2:e.anchor===`end`?e.x-n:e.x,a=p?e.y-r:e.y-10;return{x0:i,y0:a,x1:i+n,y1:a+r}},h=e=>f.some(t=>e.x0<t.x1&&e.x1>t.x0&&e.y0<t.y1&&e.y1>t.y0),g=[];for(let e of i){let n=m(e);if(!h(n)){f.push(n),g.push(e);continue}if(!t.connector||e.onBar)continue;let r={x:e.x,y:e.y},i=null;for(let t=1;t<=4;t+=1){let r=c?{...e,x:e.x+12*t}:{...e,y:e.y-12*t};if(n=m(r),!h(n)){i=r;break}}i&&(i.leader=c?{x1:r.x,y1:r.y-3,x2:i.x-2,y2:i.y-3}:{x1:r.x,y1:r.y+1,x2:i.x,y2:i.y+2},f.push(n),g.push(i))}return g}function Xe(e,n,i,a,s){let c=e.categories,l=c.length,u=a/Math.max(1,l),d=n.reversed,f=e=>{let t=i+u*e+u/2;return o(d?i+a-(t-i):t)},p=e=>{let t=i+u*e;return d?i+a-(t-i)-u:t},m=e=>typeof n.labelRotation==`number`?n.labelRotation:e?-40:0,h=n.labels,y=(i,a)=>n.formatter?n.formatter(i,a):n.format?t(i,n.format,e):r(i);if(n.type===`number`){let t=c.map(e=>Number(e)),r=t.filter(Number.isFinite),s=e.binEdges?.filter(Number.isFinite)??[],l=r.filter(e=>e>0);if(n.scale===`log`&&s.length<2&&l.length>0){let e=g(Math.min(...l),Math.max(...l)),r=n.min!=null&&n.min>0?n.min:e.min,s=n.max!=null&&n.max>r?n.max:Math.max(e.max,r*10),c=e=>{let t=v(e,r,s,!0);return t===null?NaN:o(i+(d?1-t:t)*a)},p=e=>Number.isFinite(t[e])&&t[e]>0?c(t[e]):f(e),b=[...new Set(l)].map(c).sort((e,t)=>e-t),x=1/0;for(let e=1;e<b.length;e+=1)x=Math.min(x,b[e]-b[e-1]);let S=Number.isFinite(x)?x:u;return{continuous:`number`,log:!0,values:t,min:r,max:s,xCenter:p,xOfValue:c,ticks:_(r,s).map((e,t)=>({label:h?y(e,t):``,x:c(e)})),slot:u,barSlot:S,barX0:e=>p(e)-S/2,rotated:!1,angle:m(!1)}}if(r.length){let c=s.length>=2?b(Math.min(...s),Math.max(...s),{...n,nice:e.xAxis?.nice===!0}):b(Math.min(...r),Math.max(...r),n),l=c.max-c.min||1,p=e=>{if(!Number.isFinite(e))return NaN;let t=(e-c.min)/l;return d&&(t=1-t),o(i+t*a)},g=e=>Number.isFinite(t[e])?p(t[e]):f(e),_=[...new Set(r)].sort((e,t)=>e-t),v=1/0;for(let e=1;e<_.length;e+=1)v=Math.min(v,_[e]-_[e-1]);let x=s.length>=2?(s[1]-s[0])/l*a:Number.isFinite(v)?v/l*a:u,S=s.length>=2?Ze(s,Math.max(1,Math.floor(a/40))):c.ticks,C=s.length>=2?Math.abs(s[1]-s[0]):1,w=C>=1?0:Math.min(6,Math.ceil(-Math.log10(C))+1),T=(e,t)=>n.formatter||n.format?y(e,t):e.toLocaleString(void 0,{minimumFractionDigits:w,maximumFractionDigits:w}),E=S.map((e,t)=>({label:h?s.length>=2?T(e,t):y(e,t):``,x:p(e)}));return{continuous:`number`,values:t,min:c.min,max:c.max,xCenter:g,xOfValue:p,ticks:E,slot:u,barSlot:x,barX0:e=>g(e)-x/2,rotated:!1,angle:m(!1)}}}let x=n.type===`time`||n.type===`ordinal-time`?c.map(e=>Date.parse(e)):null,T=!!x&&x.some(e=>Number.isFinite(e));if(T&&n.type===`time`){let e=x.filter(Number.isFinite),t=n.min??Math.min(...e),r=n.max??Math.max(...e),s=r-t||1,c=e=>{if(!Number.isFinite(e))return NaN;let n=(e-t)/s;return d&&(n=1-n),o(i+n*a)},l=e=>Number.isFinite(x[e])?c(x[e]):f(e),g=S(t,r,Math.max(2,Math.floor(a/90))),_=g.length>1?g[1]-g[0]:s;return{continuous:`time`,values:x,min:t,max:r,xCenter:l,xOfValue:c,ticks:g.map((e,t)=>({label:h?n.formatter?n.formatter(e,t):w(e,_):``,x:c(e)})),slot:u,barSlot:u,barX0:p,rotated:!1,angle:m(!1)}}if(T){let e=x.filter(Number.isFinite),t=Math.max(...e)-Math.min(...e)||1,r=C(x),i=r.length>1&&Math.abs(x[r[1]]-x[r[0]])||t,a=r.map((e,t)=>({label:h?n.formatter?n.formatter(x[e],t):w(x[e],i):``,x:f(e)}));return{continuous:null,values:x,min:0,max:l-1,xCenter:f,xOfValue:()=>NaN,ticks:a,slot:u,barSlot:u,barX0:p,rotated:!1,angle:m(!1)}}let E=m(s),O=E!==0,k=h?D(c,f,u,O):[];return{continuous:null,values:null,min:0,max:l-1,xCenter:f,xOfValue:()=>NaN,ticks:k,slot:u,barSlot:u,barX0:p,rotated:O,angle:E}}function Ze(e,t){if(e.length<=t)return e;let n=Math.ceil(e.length/t),r=e.filter((e,t)=>t%n===0);return r[r.length-1]!==e[e.length-1]&&r.push(e[e.length-1]),r}function Qe(e,t,n){if(t.continuous){let e=typeof n==`number`?n:t.continuous===`time`?Date.parse(n):Number(n);if(Number.isFinite(e))return t.xOfValue(e)}if(typeof n==`number`)return t.xCenter(n);let r=e.categories.indexOf(n);if(r>=0)return t.xCenter(r);if(t.values){let e=Date.parse(n);if(Number.isFinite(e)){let n=t.values.findIndex(t=>t===e);if(n>=0)return t.xCenter(n)}}return NaN}function $e(e,t,n){if(!t.labels)return 8;if(!n.rotated)return 28;if(typeof t.labelRotation!=`number`)return 54;let r=e.categories.reduce((e,t)=>Math.max(e,Math.min(t.length,18)),0),i=Math.abs(n.angle)*Math.PI/180;return 28+Math.round(Math.min(72,r*6*Math.sin(i)))}function et(e){let{spec:n,series:i,empty:a,width:s,height:c,frame:l,axes:u}=e,d=u.y.width??(u.y.labels?48:12)+(u.y.title?16:0),f=10+l.top,p=(u.x.labels?28:8)+(u.x.title?16:0)+l.bottom,m=Math.max(1,s-d-12),h=Math.max(1,c-f-p),y={x:d,y:f,w:m,h},x=1/0,S=-1/0,C=1/0,w=-1/0,T=1/0,E=-1/0;for(let e of i)for(let t of e.points??[])Number.isFinite(t.x)&&(x=Math.min(x,t.x),S=Math.max(S,t.x)),Number.isFinite(t.y)&&(C=Math.min(C,t.y),w=Math.max(w,t.y)),t.r!=null&&Number.isFinite(t.r)&&(T=Math.min(T,t.r),E=Math.max(E,t.r));if(x===1/0)return{...a,plot:y};let D=u.x.scale===`log`&&i.some(e=>(e.points??[]).some(e=>e.x>0)),O=D?(()=>{let e=1/0;for(let t of i)for(let n of t.points??[])n.x>0&&n.x<e&&(e=n.x);let t=g(e,S),n=u.x.min!=null&&u.x.min>0?u.x.min:t.min,r=u.x.max!=null&&u.x.max>n?u.x.max:Math.max(t.max,n*10);return{min:n,max:r,step:10,ticks:_(n,r)}})():b(x,S,u.x),k=b(C,w,u.y),A=E>T,j=e=>{if(D){let t=v(e,O.min,O.max,!0);return t===null?NaN:o(d+(u.x.reversed?1-t:t)*m)}let t=(e-O.min)/(O.max-O.min||1);return u.x.reversed&&(t=1-t),o(d+t*m)},M=e=>{let t=(e-k.min)/(k.max-k.min||1);return u.y.reversed&&(t=1-t),o(f+h-t*h)},N=e=>A&&e!=null&&Number.isFinite(e)?o(4+(e-T)/(E-T||1)*14):5,P=[];for(let e of i)(e.points??[]).forEach((t,n)=>{!Number.isFinite(t.x)||!Number.isFinite(t.y)||D&&t.x<=0||P.push({cx:j(t.x),cy:M(t.y),r:N(t.r),color:e.colors?.[n]??e.color,label:t.label??``,series:e.label,x:t.x,y:t.y})});let F=[];for(let e of i){if(!e.overlay)continue;let t=(e.points??[]).filter(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)&&(!D||e.x>0)),n=De(t.map(e=>e.y),e.overlay,t.map(e=>e.x));if(!n||!n.equation)continue;let i=[];for(let e=0;e<=48;e+=1){let t=e/48,a=D?10**(Math.log10(O.min)+t*(Math.log10(O.max)-Math.log10(O.min))):O.min+t*(O.max-O.min),o=n.predict(a),s=Number.isFinite(o)&&o>=k.min&&o<=k.max;i.push({x:j(a),y:s?M(o):NaN,label:r(a),value:o,defined:s})}F.push({path:ze(i,!1),areaPath:``,color:e.overlayColor??e.color,label:`${e.label} (${e.overlay})`,points:i,r2:n.r2,equation:n.equation})}let I=[],L=[];for(let e of n.referenceLines??[]){let i=Number(e.value);Number.isFinite(i)&&(e.axis===`x`?L.push({x:j(i),label:e.label??r(i),color:e.color??`#ef4444`,dashed:e.dashed!==!1}):I.push({y:M(i),label:e.label??t(i,n.valueFormat,n),color:e.color??`#ef4444`,dashed:e.dashed!==!1}))}let R=[];for(let e of n.referenceBands??[]){let t=Number(e.from),n=Number(e.to);if(!(!Number.isFinite(t)||!Number.isFinite(n))){if(e.axis===`x`){let r=j(Math.min(t,n)),i=j(Math.max(t,n));R.push({x:Math.min(r,i),y:f,w:Math.abs(i-r),h,color:e.color??`#64748b`,opacity:e.opacity??.08,label:e.label??``,axis:`x`})}else{let r=M(Math.max(t,n)),i=M(Math.min(t,n));R.push({x:d,y:Math.min(r,i),w:m,h:Math.abs(i-r),color:e.color??`#64748b`,opacity:e.opacity??.08,label:e.label??``,axis:`y`})}}}return{...a,plot:y,axes:{y:{min:k.min,max:k.max,log:!1,reversed:u.y.reversed},y2:null,slot:m,count:0,x:{type:`number`,min:O.min,max:O.max,reversed:u.x.reversed,values:[],...D?{log:!0}:{}}},grid:{x:u.x.gridLines,y:u.y.gridLines},scatterPoints:P,overlays:F,referenceLines:I,referenceLinesV:L,referenceBands:R,yTicks:k.ticks.map((e,r)=>({value:e,y:M(e),label:u.y.labels?ue(e,r,u.y,n,t):``})),xTicks:O.ticks.map((e,i)=>({label:u.x.labels?u.x.formatter?u.x.formatter(e,i):u.x.format?t(e,u.x.format,n):r(e):``,x:j(e)}))}}function tt(e){let{spec:n,series:i,empty:a,width:s,height:c,stacked:l,frame:u,axes:d}=e,f=n.categories.reduce((e,t)=>Math.max(e,t.length),0),p=d.x.labels?Math.min(150,18+f*6.4)+(d.y.title?16:0):12+(d.y.title?16:0),m=8+u.top,h=(d.y.labels?26:8)+(d.x.title?16:0)+u.bottom,g=Math.max(1,s-p-16),_=Math.max(1,c-m-h),y={x:p,y:m,w:g,h:_},x=(n.referenceLines??[]).filter(e=>e.axis!==`x`).map(e=>Number(e.value)).concat((n.referenceBands??[]).filter(e=>e.axis!==`x`).flatMap(e=>[Number(e.from),Number(e.to)])),S=d.y.scale===`log`,C=n.stacked100?b(0,100):ie(i,n.categories,l,x,S,d.y),w=e=>{let t=v(e,C.min,C.max,S);return t===null?NaN:(d.y.reversed&&(t=1-t),o(p+t*g))},T=n.categories.length,E=_/Math.max(1,T),D=E*.2,O=E-D,k=e=>m+E*(d.x.reversed?T-1-e:e)+D/2,A=w(S?C.min:Math.min(Math.max(0,C.min),C.max)),j=[];if(l){let e=n.stacked100?n.categories.map((e,t)=>i.reduce((e,n)=>e+Math.abs(Number.isFinite(n.values[t])?n.values[t]:0),0)||1):null,t=Array(T).fill(0),r=Array(T).fill(0);for(let a of i)a.values.forEach((i,s)=>{if(!Number.isFinite(i))return;let c=e?i/e[s]*100:i,l,u;c>=0?(l=w(t[s]),u=w(t[s]+c),t[s]+=c):(l=w(r[s]+c),u=w(r[s]),r[s]+=c),!(!Number.isFinite(l)||!Number.isFinite(u))&&j.push({x:Math.min(l,u),y:o(k(s)),w:o(Math.abs(u-l)),h:o(Math.max(1,O)),color:a.colors?.[s]??a.color,label:n.categories[s]??String(s),series:a.label,value:i,index:s,...a.opacity==null?{}:{opacity:a.opacity}})})}else{let e=O/i.length;i.forEach((t,r)=>{t.values.forEach((i,a)=>{if(!Number.isFinite(i)||S&&i<=0)return;let s=w(i);Number.isFinite(s)&&j.push({x:Math.min(s,A),y:o(k(a)+e*r),w:o(Math.max(1,Math.abs(s-A))),h:o(Math.max(1,e-1)),color:t.colors?.[a]??t.color,label:n.categories[a]??String(a),series:t.label,value:i,index:a,...t.opacity==null?{}:{opacity:t.opacity}})})})}let M=C.ticks.map((e,i)=>({label:d.y.labels?n.stacked100?`${r(e)}%`:ue(e,i,d.y,n,t):``,x:w(e)})),N=d.x.labels?n.categories.map((e,t)=>({value:t,y:o(k(t)+O/2),label:e})):[],P=[],F=[];for(let e of n.referenceLines??[]){if(e.axis===`x`){let t=typeof e.value==`number`?e.value:n.categories.indexOf(e.value);if(t<0||!Number.isFinite(t))continue;F.push({y:o(k(t)+O/2),label:e.label??String(e.value),color:e.color??`#ef4444`,dashed:e.dashed!==!1});continue}let r=Number(e.value),i=w(r);Number.isFinite(i)&&P.push({x:i,label:e.label??t(r,n.valueFormat,n),color:e.color??`#ef4444`,dashed:e.dashed!==!1})}let I=[];for(let e of n.referenceBands??[]){if(e.axis===`x`){let t=typeof e.from==`number`?e.from:n.categories.indexOf(e.from),r=typeof e.to==`number`?e.to:n.categories.indexOf(e.to);if(t<0||r<0)continue;let i=k(Math.min(t,r))-D/2,a=k(Math.max(t,r))+O+D/2;I.push({x:p,y:o(Math.min(i,a)),w:g,h:o(Math.abs(a-i)),color:e.color??`#64748b`,opacity:e.opacity??.08,label:e.label??``,axis:`y`});continue}let t=w(Number(e.from)),r=w(Number(e.to));!Number.isFinite(t)||!Number.isFinite(r)||I.push({x:Math.min(t,r),y:m,w:Math.abs(r-t),h:_,color:e.color??`#64748b`,opacity:e.opacity??.08,label:e.label??``,axis:`x`})}return{...a,plot:y,axes:{y:{min:C.min,max:C.max,log:S,reversed:d.y.reversed},y2:null,slot:E,count:T,xReversed:d.x.reversed,labels:n.categories},grid:{x:d.y.gridLines,y:d.x.gridLines},bars:j,orientation:`horizontal`,valueTicks:M,catTicks:N,referenceLines:F,referenceLinesV:P,referenceBands:I,xLabelRotated:!1}}function nt(e){let{spec:n,series:r,empty:i,width:a,height:s,stacked:c,frame:l,axes:u}=e,d=r.filter(e=>e.axis===`left`),f=r.filter(e=>e.axis===`right`),p=f.length>0,m=n.categories.reduce((e,t)=>Math.max(e,t.length),0),h=n.categoryGroups&&n.categoryGroups.length>0&&u.x.type!==`time`&&n.orientation!==`horizontal`&&n.categoryGroups.reduce((e,t)=>e+t.span,0)===n.categories.length?n.categoryGroups:null,g=h?18:0,_=u.y.width??(u.y.labels?48:12)+(u.y.title?16:0),y=n.seriesLabels?rt(n,r):null,x=y?Math.min(Math.floor(a/3),8+Math.max(0,...y.values())*6.2):0,S=(p?u.y2.width??(u.y2.labels?48:12):12)+(u.y2.title?16:0)+x,C=10+l.top,w=Math.max(1,a-_-S),T=m*6.2+8>w/Math.max(1,n.categories.length),E=Xe(n,u.x,_,w,T),D=$e(n,u.x,E)+(u.x.title?16:0)+g+l.bottom,k=Math.max(1,s-C-D),A={x:_,y:C,w,h:k},j=(n.referenceLines??[]).filter(e=>e.axis!==`x`),M=(n.referenceBands??[]).filter(e=>e.axis!==`x`),N=j.filter(e=>e.axis!==`right`).map(e=>Number(e.value)).concat(M.filter(e=>e.axis!==`right`).flatMap(e=>[Number(e.from),Number(e.to)])),P=j.filter(e=>e.axis===`right`).map(e=>Number(e.value)).concat(M.filter(e=>e.axis===`right`).flatMap(e=>[Number(e.from),Number(e.to)])),F=u.y.scale===`log`,I=u.y2.scale===`log`,L=e=>e.kind===`area`?e.stack?`${e.axis}\u0000${e.stack}`:c?e.axis:null:null,R=[...new Set(r.map(L).filter(e=>e!==null))],ee=n.stackOffset&&n.stackOffset!==`zero`&&!n.stacked100?n.stackOffset:null,te=new Map,z={left:[],right:[]};if(ee)for(let e of R){let t=r.filter(t=>L(t)===e),n=t.map(e=>e.values),i=We(n,ee);te.set(e,i);let a=t[0].axis;i.forEach((e,t)=>{let r=0;for(let e of n)r+=Number.isFinite(e[t])?e[t]:0;z[a].push(e,e+r)})}let B=n.stacked100?b(0,100):ie(d,n.categories,c,N.concat(z.left),F,u.y),V=p?n.stacked100?b(0,100):ie(f,n.categories,c,P.concat(z.right),I,u.y2):null,H=(e,t,n=!1,r=!1)=>{let i=v(t,e.min,e.max,n);return i===null?NaN:(r&&(i=1-i),o(C+k-i*k))},U=e=>H(B,e,F,u.y.reversed),ne=e=>H(V??B,e,I,u.y2.reversed),re=e=>e.axis===`right`?V??B:B,W=e=>e.axis===`right`?I:F,ae=e=>e.axis===`right`?u.y2.reversed:u.y.reversed,G=(e,t)=>H(re(e),t,W(e),ae(e)),oe=n.categories.length,{slot:se,xCenter:ce,ticks:le}=E,de=[];if(h&&!E.values){let e=0;for(let t of h){let n=o(_+se*e),r=o(_+se*(e+t.span));de.push({label:t.label,x0:n,x1:r,xCenter:o((n+r)/2)}),e+=t.span}}let fe=r.filter(e=>e.kind===`bar`||e.kind===`range-bar`||e.kind===`lollipop`||e.kind===`dumbbell`),K=[],pe=[];if(fe.length){let e=n.type===`histogram`,t=e?0:E.barSlot*.2,r=E.barSlot-t,i=e=>E.barX0(e)+t/2,a=[],s=new Map;for(let e of fe){let t=e.kind===`bar`?e.stack??(c?``:null):null;if(t===null){a.push({key:e.label,members:[e],stacked:!1});continue}let n=s.get(t);n||(n={key:t,members:[],stacked:!0},s.set(t,n),a.push(n)),n.members.push(e)}let l=r/a.length;a.forEach((t,r)=>{if(t.stacked)for(let s of[`left`,`right`]){let c=t.members.filter(e=>e.axis===s);if(!c.length)continue;let u=s===`right`?ne:U,d=n.stacked100?n.categories.map((e,t)=>c.reduce((e,n)=>e+Math.abs(Number.isFinite(n.values[t])?n.values[t]:0),0)||1):null,f=Array(oe).fill(0),p=Array(oe).fill(0);for(let t of c)t.values.forEach((s,c)=>{if(!Number.isFinite(s))return;let m=d?s/d[c]*100:s,h,g;m>=0?(h=u(f[c]+m),g=u(f[c]),f[c]+=m):(h=u(p[c]),g=u(p[c]+m),p[c]+=m),!(!Number.isFinite(h)||!Number.isFinite(g))&&K.push({x:o(i(c)+l*r),y:Math.min(h,g),w:o(Math.max(1,a.length>1?l-+!e:l)),h:o(Math.abs(g-h)),color:t.colors?.[c]??t.color,label:n.categories[c]??String(c),series:t.label,value:s,index:c,...t.opacity==null?{}:{opacity:t.opacity}})})}});let u=a.map((e,t)=>({slot:e,si:t})).filter(({slot:e})=>!e.stacked);if(u.length){let t=l;u.forEach(({slot:r,si:a})=>{let s=r.members[0],c=a,l=re(s),u=W(s),d=u?G(s,l.min):G(s,Math.min(Math.max(0,l.min),l.max)),f=o(Math.min(5,Math.max(2.5,t*.3)));s.values.forEach((r,a)=>{if(!Number.isFinite(r)||u&&r<=0)return;let l=i(a)+t*c,p=G(s,r);if(!Number.isFinite(p))return;let m=s.colors?.[a]??s.color,h=n.categories[a]??String(a);if(s.kind===`lollipop`){pe.push({xCenter:o(l+t/2),y0:d,y1:p,r:f,color:m,label:h,series:s.label,value:r,dumbbell:!1});return}if(s.kind===`dumbbell`||s.kind===`range-bar`){let n=s.lowValues?.[a];if(!Number.isFinite(n)||u&&n<=0)return;let i=G(s,n);if(!Number.isFinite(i))return;if(s.kind===`dumbbell`){pe.push({xCenter:o(l+t/2),y0:i,y1:p,r:f,color:m,color2:s.overlayColor??m,label:h,series:s.label,value:r,value2:n,dumbbell:!0});return}K.push({x:o(l),y:Math.min(p,i),w:o(Math.max(1,t-+!e)),h:o(Math.max(1,Math.abs(p-i))),color:m,label:h,series:s.label,value:r,index:a,lo:n,...s.opacity==null?{}:{opacity:s.opacity}});return}K.push({x:o(l),y:Math.min(p,d),w:o(Math.max(1,t-+!e)),h:o(Math.max(1,Math.abs(p-d))),color:m,label:h,series:s.label,value:r,index:a,...s.opacity==null?{}:{opacity:s.opacity}})})})}}let q=r.filter(e=>e.kind===`candle`),me=[];if(q.length){let e=n.candleColors?.up??`#16a34a`,t=n.candleColors?.down??`#ef4444`,r=Math.max(1,E.barSlot*.7/q.length),i=n.candleStyle??`classic`;q.forEach((a,s)=>{let c=W(a),l=a.ohlc??[],u=i===`heikin-ashi`?Ne(l):l,d=null;u.forEach((l,u)=>{if(!l){d=null;return}if(![l.o,l.h,l.l,l.c].every(Number.isFinite)||c&&(l.o<=0||l.h<=0||l.l<=0||l.c<=0))return;let f=E.barX0(u)+E.barSlot/2-r*q.length/2+r*s,p=G(a,l.o),m=G(a,l.c),h=l.c>=l.o,g=i===`hollow`&&d!=null?l.c>=d:h,_=i===`hollow`?h:g;d=l.c,me.push({x:o(f),w:o(r),xCenter:o(f+r/2),yOpen:p,yClose:m,yHigh:G(a,l.h),yLow:G(a,l.l),bodyY:Math.min(p,m),bodyH:Math.max(1,Math.abs(m-p)),up:g,hollow:_,color:g?e:t,label:n.categories[u]??String(u),series:a.label,o:l.o,h:l.h,l:l.l,c:l.c})})})}let J=r.filter(e=>e.kind===`box`),Y=[];if(J.length){let e=Math.max(1,E.barSlot*.6/J.length);J.forEach((t,r)=>{let i=W(t);(t.boxes??[]).forEach((a,s)=>{if(!a||![a.min,a.q1,a.median,a.q3,a.max].every(Number.isFinite)||i&&a.min<=0)return;let c=E.barX0(s)+E.barSlot/2-e*J.length/2+e*r,l=G(t,a.q1),u=G(t,a.q3);Y.push({x:o(c),w:o(e),xCenter:o(c+e/2),yMin:G(t,a.min),yQ1:l,yMedian:G(t,a.median),yQ3:u,yMax:G(t,a.max),boxY:Math.min(l,u),boxH:Math.max(1,Math.abs(l-u)),outliers:(a.outliers??[]).filter(e=>Number.isFinite(e)&&(!i||e>0)).map(e=>({y:G(t,e),value:e})),color:t.color,label:n.categories[s]??String(s),series:t.label,min:a.min,q1:a.q1,median:a.median,q3:a.q3,max:a.max})})})}let he=[];for(let e of r){if(!e.errors)continue;let t=W(e);e.errors.forEach((r,i)=>{let a=e.values[i];if(!Number.isFinite(a))return;let s=O(r,a);s&&(t&&s.lo<=0||he.push({xCenter:o(E.barX0(i)+E.barSlot/2),yLo:G(e,s.lo),yHi:G(e,s.hi),cap:o(Math.min(6,E.barSlot*.15)),color:e.color,label:n.categories[i]??String(i),series:e.label,lo:s.lo,hi:s.hi}))})}let _e=[],ve=new Map,ye=new Map,be=new Set;for(let e of R)if(ve.set(e,Array(oe).fill(0)),n.stacked100){let t=r.filter(t=>L(t)===e);ye.set(e,n.categories.map((e,n)=>t.reduce((e,t)=>e+Math.abs(Number.isFinite(t.values[n])?t.values[n]:0),0)||1))}for(let e of r){if(e.kind===`bar`||e.kind===`candle`||e.kind===`box`||e.kind===`range-bar`||e.kind===`lollipop`||e.kind===`dumbbell`)continue;let t=re(e),r=W(e),i=t=>G(e,t),a=L(e),s=a!==null,c=e=>ce(e),l,u=null,d=(t,r,i,a)=>{let o={x:c(t),y:i,label:n.categories[t]??String(t),value:r,defined:a},s=qe(e,t);return s&&(o.marker=s),o};if(s){let t=ve.get(a),n=te.get(a);if(n&&!be.has(a)){for(let e=0;e<oe;e+=1)t[e]=n[e]??0;be.add(a)}let r=t.slice(),o=ye.get(a);l=e.values.map((e,n)=>{let r=Number.isFinite(e)?e:0,a=o?r/o[n]*100:r,s=(t[n]??0)+a;return t[n]=s,d(n,e,i(s),Number.isFinite(e))}),u=r.map((e,t)=>({x:c(t),y:i(e)}))}else l=e.values.map((e,t)=>{let n=Number.isFinite(e)&&Number.isFinite(i(e));return d(t,e,n?i(e):NaN,n)});let f=!!e.smooth&&!e.step,p=e.step,m=!!e.connectNulls,h=e.kind===`scatter`?``:ze(l,f,{connectNulls:m,step:p}),g=``;if(e.kind===`range-area`&&l.length){let t=[],n=[];l.forEach((r,a)=>{let o=e.lowValues?.[a];if(!r.defined||!Number.isFinite(o))return;let s=i(o);Number.isFinite(s)&&(t.push({x:r.x,y:r.y}),n.push({x:r.x,y:s}))}),t.length>=2&&(g=Ue(t,n,f,p),h=`${X(t,f,p)} ${X(n,f,p)}`)}else if(e.kind===`area`&&l.length){if(u)g=Ue(l.map(e=>({x:e.x,y:e.y})),u,f,p);else{let e=o(i(r?t.min:Math.min(Math.max(0,t.min),t.max)));g=Be(l,m).map(t=>`${X(t,f,p)} L${t[t.length-1].x},${e} L${t[0].x},${e} Z`).join(` `)}}let _=``;if(e.upperValues?.length===e.values.length&&e.lowerValues?.length===e.values.length){let t=[],n=[];for(let a=0;a<e.values.length;a+=1){let o=e.upperValues[a],s=e.lowerValues[a];!Number.isFinite(o)||!Number.isFinite(s)||r&&(o<=0||s<=0)||(t.push({x:c(a),y:i(o)}),n.push({x:c(a),y:i(s)}))}t.length>=2&&(_=Ue(t,n,f,p))}let v={path:h,areaPath:g,color:e.color,label:e.label,points:l,bandPath:_};e.kind===`range-area`&&(v.range=!0);let y=Je(e);y&&(v.style=y),f&&(v.smooth=!0),p&&(v.step=p),_e.push(v)}let xe=(e,r,i)=>e.ticks.map((a,s)=>({value:a,y:H(e,a,i,r.reversed),label:r.labels?n.stacked100?`${o(a)}%`:ue(a,s,r,n,t):``})),Se=[],Ce=[];for(let e of n.referenceLines??[]){if(e.axis===`x`){let t=Qe(n,E,e.value);if(!Number.isFinite(t))continue;Ce.push({x:t,label:e.label??String(e.value),color:e.color??`#ef4444`,dashed:e.dashed!==!1});continue}let r=e.axis===`right`,i=r?V??B:B,a=r?I:F,o=Number(e.value),s=H(i,o,a,r?u.y2.reversed:u.y.reversed);Number.isFinite(s)&&Se.push({y:s,label:e.label??t(o,n.valueFormat,n),color:e.color??`#ef4444`,dashed:e.dashed!==!1})}let we=[];for(let e of n.referenceBands??[]){let t=e.color??`#64748b`,r=e.opacity??.08,i=e.label??``;if(e.axis===`x`){let a=Qe(n,E,e.from),s=Qe(n,E,e.to);if(!Number.isFinite(a)||!Number.isFinite(s))continue;if(!E.continuous){let e=se/2;a<=s?(a-=e,s+=e):(a+=e,s-=e)}we.push({x:o(Math.min(a,s)),y:C,w:o(Math.abs(s-a)),h:k,color:t,opacity:r,label:i,axis:`x`});continue}let a=e.axis===`right`,s=a?V??B:B,c=a?I:F,l=a?u.y2.reversed:u.y.reversed,d=H(s,Number(e.from),c,l),f=H(s,Number(e.to),c,l);!Number.isFinite(d)||!Number.isFinite(f)||we.push({x:_,y:Math.min(d,f),w,h:Math.abs(f-d),color:t,opacity:r,label:i,axis:`y`})}let Te=[];for(let e of r){if(!e.overlay)continue;let t=W(e),r=Ee(e.values,e.overlay,{ohlc:e.ohlc,volumes:e.volumes}),i=r.values,a=e.overlayColor??e.color,o=r=>r.map((r,i)=>{let a=Number.isFinite(r)&&(!t||r>0);return{x:ce(i),y:a?G(e,r):NaN,label:n.categories[i]??String(i),value:r,defined:a}}),s=o(i),c=ze(s,!!e.smooth),l=``,u=/^bb:(\d+):(\d+(?:\.\d+)?)$/.exec(e.overlay);if(u){let{upper:t,lower:n}=ge(e.values,Number(u[1]),Number(u[2])),r=o(t).filter(e=>e.defined),i=o(n).filter(e=>e.defined);r.length>1&&i.length>1&&(l=r.map((e,t)=>`${t?`L`:`M`}${e.x},${e.y}`).join(` `)+` `+i.slice().reverse().map(e=>`L${e.x},${e.y}`).join(` `)+` Z`)}Te.push({path:c,areaPath:``,color:a,label:`${e.label} (${e.overlay})`,points:s,...l?{bandPath:l}:{},...r.r2===void 0?{}:{r2:r.r2},...r.equation?{equation:r.equation}:{}})}if(n.lastPriceLine){let e=n.lastPriceLine===!0?{}:n.lastPriceLine,i=r.find(e=>e.ohlc)??r[0];if(i){let r=-1;for(let e=i.values.length-1;e>=0;--e)if(Number.isFinite(i.values[e])){r=e;break}if(r>=0){let a=i.values[r],o=NaN;for(let e=r-1;e>=0;--e)if(Number.isFinite(i.values[e])){o=i.values[e];break}let s=G(i,a);Number.isFinite(s)&&Se.push({y:s,label:e.label??t(a,n.valueFormat,n),color:e.color??(Number.isFinite(o)&&a<o?`#ef4444`:`#16a34a`),dashed:!0,pill:!0})}}}let De=[];for(let e of n.annotations??[]){let t=null,i=null;if(`category`in e.at){let a=n.categories.indexOf(e.at.category);if(a<0)continue;t=ce(a);let o=e.at.series,s=o?r.find(e=>e.label===o):r[0];if(s){let e=s.values[a];Number.isFinite(e)&&(i=G(s,e))}i??=C+k/2}else{let r=Number.isFinite(e.at.x)?Qe(n,E,e.at.x):NaN;t=Number.isFinite(r)?r:_+w/2,i=Number.isFinite(e.at.y)?H(B,e.at.y,F,u.y.reversed):C+k/2}t!=null&&i!=null&&Number.isFinite(i)&&De.push({x:t,y:i,label:e.label,color:e.color??`#0f172a`,placement:e.placement??`top`,shape:e.shape??`dot`,...e.text?{text:e.text}:{}})}let Oe=[];for(let e of n.drawings??[]){let r=e.axis===`right`,i=r?V??B:B,a=r?I:F,s=r?u.y2.reversed:u.y.reversed,c=[],l=!0;for(let t of e.points){let e=Qe(n,E,t.x),r=H(i,t.y,a,s);if(!Number.isFinite(e)||!Number.isFinite(r)){l=!1;break}c.push({x:o(e),y:r})}if(!l||!c.length)continue;let d=e.color??`#0ea5e9`,f={id:e.id,kind:e.kind,points:c,color:d,...e.text?{text:e.text}:{}};if(e.kind===`fib`&&c.length>=2){let r=e.points[0].y,o=e.points[1].y;f.levels=[0,.236,.382,.5,.618,1].map(e=>{let c=o+(r-o)*e;return{ratio:e,y:H(i,c,a,s),label:`${(e*100).toFixed(1)}% ${t(c,n.valueFormat,n)}`}})}e.kind===`hray`&&(f.label=t(e.points[0].y,n.valueFormat,n)),Oe.push(f)}return{...i,plot:A,axes:{y:{min:B.min,max:B.max,log:F,reversed:u.y.reversed},y2:V?{min:V.min,max:V.max,log:I,reversed:u.y2.reversed}:null,slot:se,count:n.categories.length,...E.continuous?{x:{type:E.continuous,min:E.min,max:E.max,reversed:u.x.reversed,values:E.values??[],...E.log?{log:!0}:{}}}:{},xReversed:u.x.reversed,labels:n.categories},grid:{x:u.x.gridLines,y:u.y.gridLines},bars:K,candles:me,boxes:Y,errorBars:he,stems:pe,lines:_e,yTicks:xe(B,u.y,F),y2Ticks:V?xe(V,u.y2,I):[],hasRightAxis:p,xTicks:le,categoryGroupTicks:de,xLabelRotated:E.rotated,xLabelAngle:E.angle,referenceLines:Se,referenceLinesV:Ce,referenceBands:we,overlays:Te,annotations:De,drawings:Oe,seriesLabels:n.seriesLabels?it(n,_e,A):[]}}function rt(e,t){let n=new Map,r=typeof e.seriesLabels==`object`?e.seriesLabels.formatter:void 0;for(let e of t){if(e.kind!==`line`&&e.kind!==`area`)continue;let t=[...e.values].reverse().find(e=>Number.isFinite(e));t!==void 0&&n.set(e.label,(r?r(e.label,t):e.label).length)}return n}function it(e,t,n){let r=typeof e.seriesLabels==`object`?e.seriesLabels.formatter:void 0,i=[];for(let e of t){let t=[...e.points].reverse().find(e=>e.defined&&Number.isFinite(e.y));t&&i.push({x:o(t.x+6),y:t.y,text:r?r(e.label,t.value):e.label,color:e.color,series:e.label})}i.sort((e,t)=>e.y-t.y);for(let e=1;e<i.length;e+=1)i[e].y=Math.max(i[e].y,i[e-1].y+12);let a=n.y+n.h-2;for(let e=i.length-1;e>=0;--e){let t=e===i.length-1?a:i[e+1].y-12;i[e].y=Math.min(i[e].y,t)}for(let e of i)e.y=o(Math.max(n.y+4,e.y));return i}function at(e){let{spec:n,series:r,empty:i,width:a,height:s,frame:c,axes:l}=e,u=r[0];if(!u||!n.categories.length)return{...i};let d=u.targets??r[1]?.values??[],f=n.bulletRanges??n.gaugeRanges??[],p=n.categories.reduce((e,t)=>Math.max(e,t.length),0),m=l.x.labels?Math.min(150,18+p*6.4):12,h=8+c.top,g=(l.y.labels?26:8)+(l.y.title?16:0)+c.bottom,_=Math.max(1,a-m-16),v=Math.max(1,s-h-g),y={x:m,y:h,w:_,h:v},x=0;for(let e of u.values)Number.isFinite(e)&&e>x&&(x=e);for(let e of d)Number.isFinite(e)&&e>x&&(x=e);for(let e of f)Number.isFinite(e.to)&&e.to>x&&(x=e.to);let S=b(0,x>0?x:1,l.y),C=e=>o(m+(e-S.min)/(S.max-S.min||1)*_),w=n.categories.length,T=v/w,E=T*.25,D=T-E,O=[];n.categories.forEach((e,t)=>{let n=u.values[t],r=d[t],i=o(h+T*t+E/2),a=Number.isFinite(n)?n:0;O.push({x:m,y:i,w:_,h:o(D),measureW:Math.max(0,C(Math.max(S.min,Math.min(S.max,a)))-m),targetX:Number.isFinite(r)?C(Math.max(S.min,Math.min(S.max,r))):null,ranges:f.map(e=>{let t=C(Math.max(S.min,Math.min(S.max,e.from))),n=C(Math.max(S.min,Math.min(S.max,e.to)));return{x:Math.min(t,n),w:Math.abs(n-t),color:e.color}}),color:u.colors?.[t]??u.color,label:e,series:u.label,value:a,target:Number.isFinite(r)?r:null})});let k=S.ticks.map((e,r)=>({label:l.y.labels?ue(e,r,l.y,n,t):``,x:C(e)})),A=l.x.labels?n.categories.map((e,t)=>({value:t,y:o(h+T*t+T/2),label:e})):[];return{...i,plot:y,axes:{y:{min:S.min,max:S.max,log:!1},y2:null,slot:T,count:w,labels:n.categories},grid:{x:l.y.gridLines,y:!1},orientation:`horizontal`,bullets:O,valueTicks:k,catTicks:A,legend:[{label:u.label,color:u.color}]}}function ot(e){let{spec:t,series:n,width:r,height:i,empty:s,frame:c}=e;if(!n.length||!t.categories.length)return{...s};let l=24+c.top,u=24+c.bottom,d=Math.max(1,r-30-30),f=Math.max(1,i-l-u),p={x:30,y:l,w:d,h:f},m=30+d/2,h=l+f/2,g=Math.max(20,Math.min(d,f)/2-20),_=t.categories,v=_.length,y=0;for(let e of n)for(let t of e.values)Number.isFinite(t)&&t>y&&(y=t);y===0&&(y=1);let b=t.yAxis?.min??0,x=t.yAxis?.max??Math.max(y,b+1),S=x>b?x-b:1,C=Array.from({length:5},(e,t)=>b+(t+1)/5*S),w=e=>-Math.PI/2+e/v*Math.PI*2,T=(e,t)=>{let n=Math.max(0,Math.min(1,(t-b)/S)),r=w(e);return{x:o(m+g*n*Math.cos(r)),y:o(h+g*n*Math.sin(r))}},E=_.map((e,t)=>{let n=T(t,x);return{label:e,x:n.x,y:n.y}}),D=n.map((e,n)=>{let r=e.values.map((e,t)=>{let n=T(t,Number.isFinite(e)?e:b);return{x:n.x,y:n.y,value:e,axis:_[t]??``}}),i=r.length?r.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`).join(` `)+` Z`:``,o=t.palette??a;return{label:e.label,color:e.color??o[n%o.length],path:i,points:r}});return{...s,plot:p,radarRings:C,radarAxes:E,radarSeries:D,radarCenter:{cx:m,cy:h,r:g}}}function st(e){let{spec:t,width:n,height:r,empty:i,frame:a}=e,s=t.gaugeMin??0,c=t.gaugeMax??100,l=Math.max(s,Math.min(c,t.gaugeValue??0)),u=t.gaugeTarget,d=n/2,f=Math.max(1,r-a.top-a.bottom),p=a.top+f*.78,m=Math.min(n*.42,f*.65),h=Math.PI,g=2*Math.PI,_=e=>h+(e-s)/(c-s||1)*(g-h),v=(e,t,n)=>{let r=d+n*Math.cos(e),i=p+n*Math.sin(e),a=d+n*Math.cos(t),o=p+n*Math.sin(t);return`M${r},${i} A${n},${n} 0 ${+(t-e>Math.PI)} 1 ${a},${o}`},y=v(h,g,m),b=v(h,_(l),m),x=(t.gaugeRanges??[]).map(e=>({path:v(_(e.from),_(e.to),m-16),color:e.color,from:e.from,to:e.to})),S=null;if(u!=null&&Number.isFinite(u)){let e=_(Math.max(s,Math.min(c,u))),t=m-12,n=m+4;S={x1:d+t*Math.cos(e),y1:p+t*Math.sin(e),x2:d+n*Math.cos(e),y2:p+n*Math.sin(e)}}let C=[];for(let e=0;e<=20;e++){let t=h+e/20*(g-h),n=e%5==0,r=m+9,i=m+(n?17:13);C.push({x1:d+r*Math.cos(t),y1:p+r*Math.sin(t),x2:d+i*Math.cos(t),y2:p+i*Math.sin(t),major:n})}let w=_(l),T=m-14,E=w+Math.PI/2,D=(e,t)=>`${o(d+e*Math.cos(t))},${o(p+e*Math.sin(t))}`,O=`M${D(9,E)} L${D(T,w)} L${D(9,E+Math.PI)} L${D(5,w+Math.PI)} Z`,k=null,A=t.gaugeRanges??[];for(let e of A)if(l>=e.from&&l<e.to){k=e.color;break}if(k==null)for(let e of A)l>=e.from&&l<=e.to&&(k=e.color);return{...i,plot:{x:0,y:0,w:n,h:r},gauge:{cx:d,cy:p,r:m,trackPath:y,valuePath:b,rangePaths:x,target:S,ticks:C,needle:{path:O,hubR:6},valueColor:k,minLabel:{x:d-m,y:p+20},maxLabel:{x:d+m,y:p+20},value:l,min:s,max:c,unit:t.gaugeUnit??``}}}function ct(e){let{spec:t,series:n,empty:r,width:i,height:a,palette:s,frame:c}=e,l=n[0];if(!l)return r;let u=l.values.reduce((e,t)=>e+Math.max(0,t),0)||1,d=Math.max(1,a-c.top-c.bottom),f=c.top+d/2,p=t.dataLabels?.placement===`outside`&&t.dataLabels.show!==!1,m=0,h=0;if(p){let e=-Math.PI/2;t.categories.forEach((t,n)=>{let r=Math.max(0,l.values[n]??0)/u,i=e+r*Math.PI*2/2;if(e+=r*Math.PI*2,r<.015)return;let a=(Math.min(t.length,18)+4)*6.3;Math.cos(i)>=0?h=Math.max(h,a):m=Math.max(m,a)})}let g=p?26+m:10,_=p?26+h:10,v=Math.max(12,Math.min(i,d)*.25),y=(i-g-_)/2,b=Math.max(v,Math.min(d/2-(p?34:10),y)),x=p&&y>=b?g+y:i/2,S=b*Math.min(.9,Math.max(0,t.innerRadius??0)),C=-Math.PI/2,w=l.values.map((e,n)=>{let r=Math.max(0,e)/u,i=C,a=C+r*Math.PI*2;C=a;let c=+(a-i>Math.PI),d=(i+a)/2,p=(b+S)/2||b*.6,m=x+b*Math.cos(i),h=f+b*Math.sin(i),g=x+b*Math.cos(a),_=f+b*Math.sin(a),v;if(r>=.999)v=S?`M${o(x-b)},${o(f)} A${b},${b} 0 1 1 ${o(x+b)},${o(f)} A${b},${b} 0 1 1 ${o(x-b)},${o(f)} ZM${o(x-S)},${o(f)} A${S},${S} 0 1 0 ${o(x+S)},${o(f)} A${S},${S} 0 1 0 ${o(x-S)},${o(f)} Z`:`M${o(x-b)},${o(f)} A${b},${b} 0 1 1 ${o(x+b)},${o(f)} A${b},${b} 0 1 1 ${o(x-b)},${o(f)} Z`;else if(S>0){let e=x+S*Math.cos(i),t=f+S*Math.sin(i),n=x+S*Math.cos(a),r=f+S*Math.sin(a);v=`M${o(m)},${o(h)} A${b},${b} 0 ${c} 1 ${o(g)},${o(_)} L${o(n)},${o(r)} A${S},${S} 0 ${c} 0 ${o(e)},${o(t)} Z`}else v=`M${o(x)},${o(f)} L${o(m)},${o(h)} A${b},${b} 0 ${c} 1 ${o(g)},${o(_)} Z`;let y=t.categories[n]??String(n);return{path:v,color:t.categoryColors?.[y]??l.colors?.[n]??s[n%s.length],label:y,value:e,percent:r*100,cx:o(x+p*Math.cos(d)),cy:o(f+p*Math.sin(d)),arc:{a0:i,a1:a,r:b,ir:S,cx:x,cy:f}}});return p&&lt(w,x,f,b,c.top,c.top+d,i),{...r,slices:w,legend:t.categories.map((e,n)=>({label:e,color:t.categoryColors?.[e]??l.colors?.[n]??s[n%s.length]})),donut:S>0?{cx:o(x),cy:o(f),r:o(S),total:l.values.reduce((e,t)=>e+Math.max(0,t),0)}:null}}function lt(e,t,n,r,i,a,s){let c=e=>Math.max(4,Math.floor((e-r-26)/6.3)-4),l=c(s-t),u=c(t),d=[];for(let t of e){if(!t.arc||t.percent<1.5)continue;let e=(t.arc.a0+t.arc.a1)/2;d.push({slice:t,mid:e,ty:n+Math.sin(e)*(r+16),right:Math.cos(e)>=0})}for(let e of[!0,!1]){let s=d.filter(t=>t.right===e).sort((e,t)=>e.ty-t.ty);for(let e=1;e<s.length;e+=1)s[e].ty=Math.max(s[e].ty,s[e-1].ty+13);let c=a-6;for(let e=s.length-1;e>=0;--e){let t=e===s.length-1?c:s[e+1].ty-13;s[e].ty=Math.min(s[e].ty,t)}for(let e of s)e.ty<i+6&&(e.ty=i+6);for(let i of s){let a=t+Math.cos(i.mid)*(r+2),s=n+Math.sin(i.mid)*(r+2),c=t+Math.cos(i.mid)*(r+12),d=i.ty,f=e?t+r+22:t-r-22;i.slice.callout={x1:o(a),y1:o(s),x2:o(c),y2:o(d),x3:o(f),tx:o(f+(e?4:-4)),ty:o(i.ty),anchor:e?`start`:`end`,maxChars:e?l:u}}}}function Z(e,t,n,r,i,a){let s=Math.PI*2,c=Math.max(0,Math.min(s,a-i));if(c<=0||r<=0)return``;let l=(n,r)=>`${o(e+n*Math.cos(r))},${o(t+n*Math.sin(r))}`;if(c>=s-1e-6){let e=`M${l(r,i)} A${o(r)},${o(r)} 0 1 1 ${l(r,i+Math.PI)} A${o(r)},${o(r)} 0 1 1 ${l(r,i)} Z`;return n<=0?e:`${e} M${l(n,i)} A${o(n)},${o(n)} 0 1 0 ${l(n,i+Math.PI)} A${o(n)},${o(n)} 0 1 0 ${l(n,i)} Z`}let u=+(c>Math.PI);return n<=0?`M${o(e)},${o(t)} L${l(r,i)} A${o(r)},${o(r)} 0 ${u} 1 ${l(r,a)} Z`:`M${l(r,i)} A${o(r)},${o(r)} 0 ${u} 1 ${l(r,a)} L${l(n,a)} A${o(n)},${o(n)} 0 ${u} 0 ${l(n,i)} Z`}function ut(e,t=24){let{width:n,height:r,frame:i}=e,a=Math.max(1,r-i.top-i.bottom),o=n/2,s=i.top+a/2,c=Math.max(10,Math.min(n,a)/2-t);return{cx:o,cy:s,r:c,plot:{x:o-c,y:s-c,w:2*c,h:2*c}}}function dt(e,t,n){return t<=0?e:p([e,n===`dark`?`#111827`:`#ffffff`],Math.min(.6,t*.22))}var Q=-Math.PI/2,$=Math.PI*2;function ft(e){let{spec:t,empty:n,palette:r,theme:i}=e,a=t.tree??t.treemap;if(!a)return{...n};let{cx:s,cy:c,r:l,plot:u}=ut(e,12),d=e=>e.children?.length?e.children.reduce((e,t)=>e+d(t),0):Math.max(0,e.value??0),f=e=>e.children?.length?1+Math.max(...e.children.map(f)):0,p=a.children??[a],m=p.reduce((e,t)=>e+d(t),0);if(m<=0)return{...n,plot:u};let g=Math.max(1,f({name:``,children:p})),_=l*Math.min(.6,Math.max(0,t.innerRadius??.18)),v=(l-_)/g,y=[],b=(e,t,n,a,l,u)=>{let f=e.reduce((e,t)=>e+d(t),0);if(f<=0)return;let p=t;e.forEach((e,m)=>{let g=d(e);if(g<=0)return;let x=(n-t)*g/f,S=e.color??(a===0?r[m%r.length]:l),C=a===0?S:dt(S,a,i),w=_+v*a,T=w+v-1,E=p+x/2,D=(w+T)/2,O=[...u,e.name];y.push({path:Z(s,c,w,T,p,p+x),color:C,textColor:h(C),label:e.name,series:u[u.length-1]??``,value:g,a0:p,a1:p+x,r0:w,r1:T,cx:s,cy:c,depth:a,nodePath:O,lx:o(s+D*Math.cos(E)),ly:o(c+D*Math.sin(E))}),e.children?.length&&b(e.children,p,p+x,a+1,S,O),p+=x})};return b(p,Q,Q+$,0,null,[]),{...n,plot:u,arcs:y,legend:p.map((e,t)=>({label:e.name,color:e.color??r[t%r.length]})),donut:_>0?{cx:o(s),cy:o(c),r:o(_),total:m}:null}}function pt(e){let{spec:t,series:n,empty:r,palette:i}=e;if(!n.length||!t.categories.length)return{...r};let{cx:a,cy:s,r:c,plot:l}=ut(e,12),u=0;for(let e of n)for(let t of e.values)Number.isFinite(t)&&t>u&&(u=t);u<=0&&(u=1);let d=t.categories.length,f=d*n.length,p=c*Math.min(.6,Math.max(0,t.innerRadius??.2)),m=(c-p)/Math.max(1,f),g=Math.min(3,m*.2),_=[];for(let e=0;e<d;e+=1)n.forEach((r,c)=>{let l=r.values[e];if(!Number.isFinite(l)||l<=0)return;let d=e*n.length+c,f=p+m*d+g/2,v=f+m-g,y=Math.min($*.9999,Math.max(0,l)/u*$),b=n.length===1?t.categoryColors?.[t.categories[e]]??r.colors?.[e]??i[e%i.length]:r.colors?.[e]??r.color,x=Q+y/2,S=(f+v)/2;_.push({path:Z(a,s,f,v,Q,Q+y),trackPath:Z(a,s,f,v,Q,Q+$),color:b,textColor:h(b),label:t.categories[e],series:r.label,value:l,a0:Q,a1:Q+y,r0:f,r1:v,cx:a,cy:s,lx:o(a+S*Math.cos(x)),ly:o(s+S*Math.sin(x))})});return{...r,plot:l,arcs:_,legend:n.length===1?t.categories.map((e,n)=>({label:e,color:t.categoryColors?.[e]??i[n%i.length]})):r.legend}}function mt(e){let{spec:t,series:n,empty:r,palette:i,stacked:a}=e;if(!n.length||!t.categories.length)return{...r};let s=t.type===`nightingale`,{cx:c,cy:l,r:u,plot:d}=ut(e,22),f=t.categories.length,p=a||s&&n.length>1,m=0;if(p)for(let e=0;e<f;e+=1){let t=0;for(let r of n)t+=Number.isFinite(r.values[e])?Math.max(0,r.values[e]):0;t>m&&(m=t)}else for(let e of n)for(let t of e.values)Number.isFinite(t)&&t>m&&(m=t);let g=b(0,m>0?m:1,t.yAxis??{}),_=u*Math.min(.5,Math.max(0,t.innerRadius??(s?0:.12))),v=e=>{let t=Math.max(0,Math.min(1,(e-g.min)/(g.max-g.min||1)));return _+(u-_)*(s?Math.sqrt(t):t)},y=$/f,x=s?0:y*.15,S=[];for(let e=0;e<f;e+=1){let r=Q+y*e+x/2,a=Q+y*(e+1)-x/2;if(p){let s=0;n.forEach(u=>{let d=u.values[e];if(!Number.isFinite(d)||d<=0)return;let f=v(s);s+=d;let p=v(s),m=n.length===1?t.categoryColors?.[t.categories[e]]??u.colors?.[e]??i[e%i.length]:u.colors?.[e]??u.color,g=(r+a)/2,_=(f+p)/2;S.push({path:Z(c,l,f,p,r,a),color:m,textColor:h(m),label:t.categories[e],series:u.label,value:d,a0:r,a1:a,r0:f,r1:p,cx:c,cy:l,lx:o(c+_*Math.cos(g)),ly:o(l+_*Math.sin(g))})})}else{let s=(a-r)/n.length;n.forEach((a,u)=>{let d=a.values[e];if(!Number.isFinite(d)||d<=0)return;let f=r+s*u,p=f+s*(n.length>1?.92:1),m=v(d),g=n.length===1?t.categoryColors?.[t.categories[e]]??a.colors?.[e]??i[e%i.length]:a.colors?.[e]??a.color,y=(f+p)/2,b=(_+m)/2;S.push({path:Z(c,l,_,m,f,p),color:g,textColor:h(g),label:t.categories[e],series:a.label,value:d,a0:f,a1:p,r0:_,r1:m,cx:c,cy:l,lx:o(c+b*Math.cos(y)),ly:o(l+b*Math.sin(y))})})}}let C=e.axes.x.labels?t.categories.map((e,t)=>{let n=Q+y*t+y/2,r=u+10;return{label:e,x:o(c+r*Math.cos(n)),y:o(l+r*Math.sin(n))}}):[];return{...r,plot:d,arcs:S,polarAxes:C,polarRings:g.ticks.filter(e=>e>g.min).map(e=>v(e)),radarCenter:{cx:c,cy:l,r:u},legend:n.length===1?t.categories.map((e,n)=>({label:e,color:t.categoryColors?.[e]??i[n%i.length]})):r.legend}}function ht(e){let{spec:t,empty:n,palette:r}=e,i=t.sankeyNodes??[],a=(t.sankeyLinks??[]).filter(e=>Number.isFinite(e.value)&&e.value>0);if(!i.length||!a.length)return{...n};let{cx:s,cy:c,r:l,plot:u}=ut(e,28),d=new Map;for(let e of a)d.set(e.source,(d.get(e.source)??0)+e.value),e.target!==e.source&&d.set(e.target,(d.get(e.target)??0)+e.value);let f=i.filter(e=>(d.get(e.id)??0)>0),p=f.reduce((e,t)=>e+(d.get(t.id)??0),0);if(p<=0)return{...n,plot:u};let m=Math.min(.06,$/(f.length*8)),g=$-m*f.length,_=l-Math.max(8,l*.09),v=[],y=new Map,b=Q;f.forEach((e,t)=>{let n=d.get(e.id)??0,i=g*n/p,a=e.color??r[t%r.length];y.set(e.id,{a0:b,a1:b+i,cursor:b,color:a});let u=b+i/2,f=l+12;v.push({path:Z(s,c,_,l,b,b+i),color:a,textColor:h(a),label:e.label??e.id,series:``,value:n,a0:b,a1:b+i,r0:_,r1:l,cx:s,cy:c,lx:o(s+f*Math.cos(u)),ly:o(c+f*Math.sin(u))}),b+=i+m});let x=(e,t)=>`${o(s+e*Math.cos(t))},${o(c+e*Math.sin(t))}`,S=[],C=(e,t)=>{let n=y.get(e);if(!n)return null;let r=(n.a1-n.a0)*t/(d.get(e)??1),i={a0:n.cursor,a1:n.cursor+r};return n.cursor+=r,i},w=a.slice().sort((e,t)=>t.value-e.value);for(let e of w){let t=C(e.source,e.value),n=e.target===e.source?t:C(e.target,e.value);if(!t||!n)continue;let r=+(t.a1-t.a0>Math.PI),i=+(n.a1-n.a0>Math.PI),a=`M${x(_,t.a0)} A${o(_)},${o(_)} 0 ${r} 1 ${x(_,t.a1)} Q${o(s)},${o(c)} ${x(_,n.a0)} A${o(_)},${o(_)} 0 ${i} 1 ${x(_,n.a1)} Q${o(s)},${o(c)} ${x(_,t.a0)} Z`;S.push({path:a,color:e.color??y.get(e.source).color,source:e.source,target:e.target,value:e.value})}return{...n,plot:u,arcs:v,chordRibbons:S,legend:f.map((e,t)=>({label:e.label??e.id,color:e.color??r[t%r.length]}))}}function gt(e){let{spec:n,series:r,width:i,height:a,empty:s,frame:c,axes:l}=e,u=r[0];if(!u)return{...s};let d=n.waterfallColors??{},f=d.positive??`#16a34a`,p=d.negative??`#ef4444`,m=d.total??`#475569`,h=n.categories.reduce((e,t)=>Math.max(e,t.length),0),g=48+(l.y.title?16:0),_=10+c.top,v=Math.max(1,i-g-12),b=typeof l.x.labelRotation==`number`?l.x.labelRotation!==0:h*6.2+8>v/Math.max(1,n.categories.length),x=typeof l.x.labelRotation==`number`?l.x.labelRotation:b?-40:0,S=(b?54:28)+(l.x.title?16:0)+c.bottom,C=Math.max(1,a-_-S),w={x:g,y:_,w:v,h:C},T=n.waterfallTotals??[],E=[],D=0;n.categories.forEach((e,t)=>{let n=u.values[t]??0;T[t]?(Number.isFinite(n)&&n!==0&&(D=n),E.push({from:0,to:D,value:D,isTotal:!0})):(E.push({from:D,to:D+n,value:n,isTotal:!1}),D+=n)});let O=0,k=0;for(let e of E)e.from<O&&(O=e.from),e.to<O&&(O=e.to),e.from>k&&(k=e.from),e.to>k&&(k=e.to);let A=y(O,k),j=e=>o(_+C-(e-A.min)/(A.max-A.min||1)*C),M=v/Math.max(1,n.categories.length),N=M*.2,P=Math.max(1,M-N),F=E.map((e,t)=>{let r=j(Math.max(e.from,e.to)),i=j(Math.min(e.from,e.to)),a=g+M*t+N/2,s=e.isTotal?m:e.value>=0?f:p;return{x:o(a),y:r,w:o(P),h:Math.max(1,i-r),color:s,label:n.categories[t]??String(t),series:u.label,value:e.value,index:t}}),I=[{path:E.map((e,t)=>{let n=g+M*t+N/2+P,r=j(e.to),i=g+M*(t+1)+N/2;return t<E.length-1?`M${n},${r} L${i},${r}`:``}).filter(Boolean).join(` `),areaPath:``,color:`var(--sg-muted, #94a3b8)`,label:``,points:[]}],L=n.categories.map((e,t)=>({label:e,x:o(g+M*t+M/2)})),R=A.ticks.map(e=>({value:e,y:j(e),label:t(e,n.valueFormat,n)}));return{...s,plot:w,bars:F,lines:I,yTicks:R,xTicks:L,xLabelRotated:b,xLabelAngle:x}}function _t(e){let{spec:t,series:n,width:r,height:i,empty:o,frame:s}=e,c=n[0];if(!c||!c.values.length)return{...o};let l=16+s.top,u=16+s.bottom,d=Math.max(1,r-20-20),f=Math.max(1,i-l-u),p={x:20,y:l,w:d,h:f},m=c.values.length,g=f/m,_=Math.max(...c.values.map(e=>Number.isFinite(e)?e:0)),v=c.values[0]??0,y=e=>_>0?e/_*d:0,b=20+d/2,x=t.palette??a,S=t.funnelShape??`trapezoid`,C=c.values.map((e,n)=>{let r=c.values[n+1]??e*.8,i=l+g*n,a=i+g,o;if(S===`pyramid`){let e=d*n/m,t=d*(n+1)/m;o=`M${b-e/2},${i} L${b+e/2},${i} L${b+t/2},${a} L${b-t/2},${a} Z`}else if(S===`cone`){let e=d*(1-n/m),t=d*(1-(n+1)/m);o=`M${b-e/2},${i} L${b+e/2},${i} L${b+t/2},${a} L${b-t/2},${a} Z`}else{let t=y(e),n=y(r);o=`M${b-t/2},${i} L${b+t/2},${i} L${b+n/2},${a} L${b-n/2},${a} Z`}let s=c.color??x[n%x.length];return{path:o,color:s,label:t.categories[n]??c.label,value:e,conversion:v>0?e/v:0,dropoff:n===0?0:(c.values[n-1]??e)>0?1-e/(c.values[n-1]??e):0,cx:b,cy:(i+a)/2,textColor:h(s)}});return{...o,plot:p,funnelSegments:C}}function vt(e){let{spec:t,width:n,height:r,empty:i,frame:o}=e,s=t.sankeyNodes??[],c=t.sankeyLinks??[];if(!s.length||!c.length)return{...i};let l=14+o.top,u=14+o.bottom,d=Math.max(1,n-10-10),f=Math.max(1,r-l-u),p={x:10,y:l,w:d,h:f},m=t.palette??a,h=new Map(s.map(e=>[e.id,e])),g=new Set(c.map(e=>e.target)),_=s.filter(e=>!g.has(e.id)),v=new Map;function y(e,t,n){if(!n.has(e)){n.add(e),(t>(v.get(e)??0)||!v.has(e))&&v.set(e,t);for(let r of c)r.source===e&&y(r.target,t+1,n);n.delete(e)}}for(let e of _)y(e.id,0,new Set);for(let e of s)v.has(e.id)||v.set(e.id,0);let b=Math.max(...v.values())+1,x=b>1?(d-14*b)/(b-1):0,S=new Map,C=new Map;for(let e of c)S.set(e.target,(S.get(e.target)??0)+e.value),C.set(e.source,(C.get(e.source)??0)+e.value);let w=new Map;for(let e of s){let t=v.get(e.id)??0,n=w.get(t)??[];n.push(e.id),w.set(t,n)}let T=0;for(let e of w.values()){let t=e.reduce((e,t)=>e+Math.max(S.get(t)??0,C.get(t)??0),0);t>T&&(T=t)}if(T===0)return{...i,plot:p};let E=(f-64)/T,D=[];for(let[e,t]of w){let n=t.map(e=>Math.max(8,Math.max(S.get(e)??0,C.get(e)??0)*E)),r=l+(f-(n.reduce((e,t)=>e+t,0)+8*(t.length-1)))/2,i=10+e*(14+x);t.forEach((t,a)=>{let o=h.get(t),s=n[a];D.push({id:t,label:o.label??t,color:o.color??m[D.length%m.length],x:i,y:r,w:14,h:s,column:e,totalIn:S.get(t)??0,totalOut:C.get(t)??0}),r+=s+8})}let O=new Map(D.map(e=>[e.id,e])),k=new Map,A=new Map,j=[],M=c.slice().sort((e,t)=>t.value-e.value);for(let e of M){let t=O.get(e.source),n=O.get(e.target);if(!t||!n)continue;let r=Math.max(1,e.value*E),i=t.y+(A.get(t.id)??0)+r/2,a=n.y+(k.get(n.id)??0)+r/2;A.set(t.id,(A.get(t.id)??0)+r),k.set(n.id,(k.get(n.id)??0)+r);let o=t.x+t.w,s=n.x,c=(o+s)/2,l=`M${o},${i} C${c},${i} ${c},${a} ${s},${a}`;j.push({path:l,color:e.color??t.color,width:r,source:e.source,target:e.target,value:e.value})}return{...i,plot:p,sankeyNodes:D,sankeyLinks:j}}function yt(e){let{spec:n,width:r,height:i,theme:a,empty:o,frame:s}=e,c=n.calendarValues??[];if(!c.length&&!n.calendarStart)return{...o};let l=new Map,u=1/0,d=-1/0;for(let e of c)l.set(e.date,e.value),Number.isFinite(e.value)&&(e.value<u&&(u=e.value),e.value>d&&(d=e.value));u===1/0&&(u=0,d=1),u===d&&(d=u+1);let m=f(n.colorScale,u,d,a),h=e=>p(m,(e-u)/(d-u)),g=c.map(e=>e.date).sort(),_=n.calendarStart??g[0]??`2026-01-01`,v=n.calendarEnd??g[g.length-1]??_,y=new Date(_+`T00:00:00Z`),b=new Date(v+`T00:00:00Z`);y.setUTCDate(y.getUTCDate()-y.getUTCDay()),b.setUTCDate(b.getUTCDate()+(6-b.getUTCDay()));let x=Math.round((b.getTime()-y.getTime())/864e5)+1,S=Math.ceil(x/7),C=26+s.top,w=16+s.bottom,T=Math.max(1,r-36-80),E=Math.max(1,i-C-w),D=Math.floor(T/S),O=Math.floor(E/7),k=Math.max(6,Math.min(D,O)),A={x:36,y:C,w:k*S,h:k*7},j=[],M=-1,N=[];for(let e=0;e<x;e+=1){let t=new Date(y.getTime()+e*864e5),n=Math.floor(e/7),r=e%7,i=t.toISOString().slice(0,10),a=l.has(i),o=l.get(i)??0;j.push({x:36+n*k,y:C+r*k,size:k,date:i,value:o,defined:a,color:a?h(o):`transparent`}),t.getUTCDate()===1&&t.getUTCMonth()!==M&&i>=_&&i<=v&&(M=t.getUTCMonth(),N.push({label:t.toLocaleDateString(void 0,{month:`short`}),x:36+n*k}))}let P=Array.from({length:5},(e,r)=>{let i=r/4,a=bt(u,d,i);return{value:a,color:h(a),label:t(a,n.valueFormat,n)}});return{...o,plot:A,calendarCells:j,calendarMonthTicks:N,calendarLegend:P}}function bt(e,t,n){let r=e+(t-e)*n,i=Math.abs(t-e)/4;if(!(i>0))return r;let a=i>=1?0:Math.min(6,Math.ceil(-Math.log10(i))+1);return Number(r.toFixed(a))}function xt(e){let{spec:n,series:r,width:i,height:a,theme:s,empty:c,frame:l}=e;if(!r.length||!n.categories.length)return{...c,plot:{x:0,y:0,w:i,h:a}};let u=r.reduce((e,t)=>Math.max(e,t.label.length),0),d=12+Math.min(180,Math.max(60,u*7)),m=12+l.top,g=32+l.bottom,_=Math.max(1,i-d-64),v=Math.max(1,a-m-g),y={x:d,y:m,w:_,h:v},b=_/n.categories.length,x=v/r.length,S=1/0,C=-1/0;for(let e of r)for(let t of e.values)Number.isFinite(t)&&(t<S&&(S=t),t>C&&(C=t));S===1/0&&(S=0,C=1),S===C&&(C=S+1);let w=f(n.colorScale,S,C,s),T=e=>p(w,(e-S)/(C-S)),E=[];r.forEach((e,t)=>{e.values.forEach((r,i)=>{if(!Number.isFinite(r))return;let a=T(r);E.push({x:o(d+b*i),y:o(m+x*t),w:o(b),h:o(x),color:a,textColor:h(a),value:r,rowLabel:e.label,colLabel:n.categories[i]??``})})});let O=r.map((e,t)=>({value:t,y:o(m+x*t+x/2),label:e.label})),k=D(n.categories,e=>o(d+b*e+b/2),b,!1),A=Array.from({length:5},(e,r)=>{let i=r/4,a=bt(S,C,i);return{value:a,color:T(a),label:t(a,n.valueFormat,n)}});return{...c,plot:y,heatmapCells:E,heatmapRowTicks:O,heatmapColTicks:k,heatmapLegend:A}}function St(e){let{spec:t,width:n,height:r,empty:i,frame:s}=e,c=t.treemap??t.tree;if(!c)return{...i};let l=4+s.top,u=4+s.bottom,d=Math.max(1,n-4-4),f=Math.max(1,r-l-u),p={x:4,y:l,w:d,h:f},m=t.palette??a,g=[];function _(e){return e.children?.length?e.children.reduce((e,t)=>e+_(t),0):Math.max(0,e.value??0)}function v(e,t,n,r,i,a){if(!e.length||r<=0||i<=0)return;let s=e.map(_),c=s.reduce((e,t)=>e+t,0);if(c<=0)return;let l=e.map((e,t)=>({node:e,value:s[t]})).sort((e,t)=>t.value-e.value),u=t,d=n,f=r,p=i,y=c,b=[],x=(e,t,n,r)=>{if(n<=0)return 1/0;let i=n*r/t,a=0;for(let n of e){let e=n*r/i,o=Math.max(t/e,e/t);o>a&&(a=o)}return a};function S(){if(!b.length)return;let e=b.reduce((e,t)=>e+t.value,0),t=f*p/y,n=f>=p,r=n?p:f,i=e*t/r,s=0;for(let e of b){let r=e.value*t/i,c=n?u:u+s,l=n?d+s:d,f=n?i:r,p=n?r:i,_=e.node.color??m[(a+g.length)%m.length];if(e.node.children?.length){g.push({x:o(c),y:o(l),w:o(f),h:o(p),color:_,textColor:h(_),name:e.node.name,value:e.value,depth:a});let t=Math.min(18,p*.25);v(e.node.children,c+1,l+t,f-2,p-t-1,a+1)}else g.push({x:o(c),y:o(l),w:o(f),h:o(p),color:_,textColor:h(_),name:e.node.name,value:e.value,depth:a});s+=r}n?(u+=i,f-=i):(d+=i,p-=i),y-=e,b=[]}for(let e of l){let t=f*p/y,n=Math.min(f,p),r=b.reduce((e,t)=>e+t.value,0),i=x(b.map(e=>e.value),n,r,t),a=x([...b.map(e=>e.value),e.value],n,r+e.value,t);b.length&&a>i&&S(),b.push(e)}S()}return v(c.children??[c],4,l,d,f,0),{...i,plot:p,treemapCells:g}}function Ct(e,t){let n=e;for(let e of t)if(n=n?.children?.find(t=>t.name===e),!n)return null;return n??null}function wt(e,t){let n=(e,r)=>{for(let i of e.children??[]){let e=[...r,i.name];if(i.name===t)return e;let a=n(i,e);if(a)return a}return null};return n(e,[])}var Tt=new Set([`scatter`,`gauge`,`boxplot`,`histogram`,`range-bar`,`range-area`,`dumbbell`,`bullet`,`candlestick`,`ohlc`]);function Et(e){return!e||Tt.has(e)?`bar`:e}function Dt(e,t,n){let r=e[e.length-1];return r&&t.find(e=>n(e.id)===r)?.id||null}function Ot(e,t,n){let r=[],i=new Map,a=new Map;for(let t of e){let e=i.get(t.category);e===void 0&&(e=r.length,i.set(t.category,e),r.push(t.category));let o=n?t.series??``:`value`,s=a.get(o);s||(s=[],a.set(o,s)),s[e]=(s[e]??0)+t.value}return{type:t,categories:r,series:[...a.entries()].map(([e,t])=>({label:e,values:r.map((e,n)=>t[n]??0)}))}}function kt(e){if(!e)return{};let t=Array.isArray(e.locales)?e.locales[0]:e.locales,n=t?{locale:t}:{};return e.type===`number`?{...n,valueFormat:`number`}:e.type===`currency`?{...n,valueFormat:`currency`,currency:e.currency??`USD`}:e.type===`percent`?e.valueIsPercentPoints?{...n,yAxis:{formatter:e=>`${e}%`}}:{...n,valueFormat:`percent`}:{}}function At(e,t={}){let n=Et(t.type),r=e.rows.filter(e=>e.__pivotKind===`leaf`);r.length||(r=e.rows.filter(e=>e.__pivotKind===`grandTotal`)),r.length||(r=e.rows.slice()),t.maxCategories&&r.length>t.maxCategories&&(r=r.slice(0,t.maxCategories));let i=new Map(e.rows.map(e=>[e.__pivotId,e])),a=e=>String(e.__pivotLabel??``).trim()||`(blank)`,o=r.map(a),s=e=>e.__pivotParentId?i.get(e.__pivotParentId):void 0,c=r.length>0&&r.every(e=>s(e)!==void 0),l;if(c){l=[];let e;for(let t of r){let n=t.__pivotParentId,r=l[l.length-1];r&&n===e?r.span+=1:(l.push({label:a(s(t)),span:1}),e=n)}}let u=[],d=(e,n)=>{for(let r of e??[])!r||r.id===`__pivotRowHeader`||!t.includeTotals&&typeof r.id==`string`&&r.id.startsWith(`pv_group__grand`)||(Array.isArray(r.columns)?d(r.columns,[...n,String(r.header??``)]):typeof r.id==`string`&&u.push({id:r.id,path:n,header:String(r.header??``)}))};d(e.columns,[]);let f=t.includeTotals?u:u.filter(e=>!e.id.includes(`__total`)),p=new Set(f.map(e=>e.header)),m=f.map(e=>({label:e.path.length===0?e.header:p.size>1?[...e.path,e.header].join(` · `):e.path.join(` · `),values:r.map(t=>{let n=t[e.id];return n==null||n===``?NaN:typeof n==`number`?n:Number(n)})})),h=p.size===1&&f.length?f[0].header:``,g=t.yAxisTitle===void 0?h:t.yAxisTitle,_=(t.measures??[]).map(e=>e.format),v=_[0]&&_.every(e=>e&&JSON.stringify(e)===JSON.stringify(_[0]))?_[0]:void 0,y=kt(t.format??v);return{type:n,categories:o,series:m,...l&&l.length>1?{categoryGroups:l}:{},...t.stacked||t.stacked100?{stacked:!0}:{},...t.stacked100?{stacked100:!0}:{},...t.palette?{palette:t.palette}:{},...y,...g?{yAxis:{...y.yAxis,title:g}}:{}}}var jt=e({CHART_RESPONSIVE_PRESETS:()=>Wt,DEFAULT_PALETTE:()=>a,PER_CATEGORY_SERIES_KEYS:()=>de,PER_CATEGORY_SPEC_KEYS:()=>fe,applyChartFormat:()=>Gt,arcPath:()=>Z,atr:()=>Se,binValues:()=>re,bollingerBands:()=>ge,boxStats:()=>k,bucketStart:()=>ne,bucketsToChartSpec:()=>Ot,buildChart:()=>Ft,buildLinePath:()=>ze,chartScales:()=>ae,chartStyleVars:()=>Mt,computeOverlay:()=>Te,computeOverlayFit:()=>Ee,decimateSpec:()=>J,exponentialFit:()=>L,exponentialMovingAverage:()=>B,formatChartValue:()=>t,guessOhlcColumns:()=>Fe,heikinAshi:()=>Ne,indicatorPane:()=>Me,layoutDataLabels:()=>Ye,linearFit:()=>I,linearTrend:()=>i,logarithmicFit:()=>R,lttb:()=>pe,macd:()=>ve,markerPath:()=>Ke,matchResponsiveRules:()=>Nt,minMaxIndices:()=>q,niceLogScale:()=>g,niceScale:()=>y,obv:()=>we,ohlcDirectOptions:()=>Ie,ordinalDateTicks:()=>C,overlayName:()=>Oe,paretoSpec:()=>Rt,pearson:()=>n,percentile:()=>U,pickCategories:()=>K,pickContrastText:()=>h,pivotChartType:()=>Et,pivotFilterColumn:()=>Dt,pivotResultToChartSpec:()=>At,polynomialFit:()=>F,powerFit:()=>ee,rSquared:()=>M,reduceValues:()=>H,regressionFit:()=>De,resampleOhlc:()=>Pe,resolveResponsive:()=>Pt,rowsToBoxSpec:()=>qt,rowsToChartSpec:()=>Lt,rowsToDirectSpec:()=>Kt,rowsToGaugeSpec:()=>Yt,rowsToHistogramSpec:()=>zt,rowsToOhlcSpec:()=>Re,rowsToRangeSpec:()=>Bt,rowsToScatterSpec:()=>Jt,rsi:()=>_e,sampleGradient:()=>p,simpleMovingAverage:()=>z,sliceChartWindow:()=>It,specToCalendar:()=>Ht,specToSankey:()=>Ut,specToTreemap:()=>Vt,splitPanelIndicators:()=>Le,stochastic:()=>Ce,streamBaseline:()=>We,vwap:()=>be,wma:()=>he});function Mt(e){if(!e)return``;let t=[];return e.background&&t.push(`--sg-chart-bg:${e.background}`,`--sg-bg:${e.background}`),e.textColor&&t.push(`--sg-fg:${e.textColor}`,`--sg-muted:${e.textColor}`),e.gridColor&&t.push(`--sg-border:${e.gridColor}`),e.fontSize&&Number.isFinite(e.fontSize)&&e.fontSize>0&&t.push(`--sg-chart-font-scale:${Math.round(e.fontSize/12*1e3)/1e3}`),e.fontFamily&&t.push(`font-family:${e.fontFamily}`),t.join(`;`)}function Nt(e,t,n){return e?.length?e.filter(e=>(e.maxWidth==null||t<=e.maxWidth)&&(e.minWidth==null||t>=e.minWidth)&&(e.maxHeight==null||n<=e.maxHeight)):[]}function Pt(e,t,n){let r=Nt(e.responsive,t,n);if(!r.length)return e;let i=e;for(let e of r){if(!e.spec)continue;let{width:t,height:n,responsive:r,...a}=e.spec,o={...i,...a};for(let e of[`xAxis`,`yAxis`,`y2Axis`])a[e]&&(o[e]={...i[e]??{},...a[e]});i=o}return i}function Ft(e,t=`light`){let n=e.width??520,r=e.height??300,i=Pt(e,n,r);if(i.type===`pareto`)return Ft(Rt(i),t);let o=i.palette??a,s=!!(i.stacked||i.stacked100),c=i.series.map((e,t)=>({...e,values:(e.nullAs??i.nullAs)===`zero`?e.values.map(e=>Number.isFinite(e)?e:0):e.values,color:e.color??o[t%o.length],kind:W(e,i.type),axis:e.axis??`left`})),l=le(i,n,r),u=G(i),d=c.map(e=>({label:e.label,color:e.color})),f={spec:i,theme:t,width:n,height:r,palette:o,stacked:s,series:c,legend:d,empty:{type:i.type,width:n,height:r,plot:{x:0,y:0,w:n,h:r},axes:null,frame:l,grid:{x:!1,y:!1},referenceBands:[],bars:[],candles:[],boxes:[],errorBars:[],stems:[],arcs:[],chordRibbons:[],bullets:[],drawings:[],seriesLabels:[],polarAxes:[],polarRings:[],lines:[],slices:[],yTicks:[],y2Ticks:[],hasRightAxis:!1,xTicks:[],categoryGroupTicks:[],xLabelRotated:!1,xLabelAngle:0,legend:d,donut:null,referenceLines:[],scatterPoints:[],orientation:`vertical`,valueTicks:[],catTicks:[],referenceLinesV:[],overlays:[],annotations:[],heatmapCells:[],heatmapRowTicks:[],heatmapColTicks:[],heatmapLegend:[],funnelSegments:[],radarRings:[],radarAxes:[],radarSeries:[],radarCenter:null,treemapCells:[],calendarCells:[],calendarMonthTicks:[],calendarLegend:[],gauge:null,sankeyNodes:[],sankeyLinks:[]},frame:l,axes:u};return i.type===`waterfall`?gt(f):i.type===`funnel`?_t(f):i.type===`radar`?ot(f):i.type===`calendar`?yt(f):i.type===`gauge`?st(f):i.type===`treemap`?St(f):i.type===`sankey`?vt(f):i.type===`heatmap`?xt(f):i.type===`pie`?ct(f):i.type===`scatter`?et(f):i.type===`sunburst`?ft(f):i.type===`radial-bar`?pt(f):i.type===`radial-column`||i.type===`nightingale`?mt(f):i.type===`chord`?ht(f):i.type===`bullet`?at(f):i.orientation===`horizontal`&&i.type!==`histogram`&&c.length>0&&c.every(e=>e.kind===`bar`)?tt(f):nt(f)}function It(e,t,n){let r=Math.max(0,t),i=Math.min(e.categories.length-1,n);if(i<r)return{...e,categories:[],series:e.series.map(e=>({...e,values:[]}))};let a=Array(i-r+1);for(let e=r;e<=i;e+=1)a[e-r]=e;return K(e,a)}function Lt(e,t){let n=t.reduce??`sum`,r=V(n),i=Array.isArray(t.value)?t.value:[t.value],a=e=>r?H(e.samples,n):n===`count`?e.count:n===`avg`?e.count?e.sum/e.count:0:e.sum,o=[],s=new Map,c=e=>{let t=s.get(e);return t===void 0&&(t=o.length,s.set(e,t),o.push(e)),t},l=new Map,u=e=>{let t=l.get(e);return t||(t=[],l.set(e,t)),t},d=(e,t,n)=>{e.sum+=t,e.count+=1,r&&e.samples.push(t),n!==void 0&&e.rowIds.push(n)},f=()=>({sum:0,count:0,rowIds:[],samples:[]}),p=t.idField!==void 0;for(let n of e){let e=n[t.category],r=t.bucket?ne(e,t.bucket):String(e??``);if(t.bucket&&!r)continue;let a=c(r),o=p?n[t.idField]:void 0;if(t.series){let e=u(String(n[t.series]??``)),r=Number(n[i[0]]),s=e[a]??=f();Number.isFinite(r)&&d(s,r,o)}else for(let e of i){let t=u(e),r=Number(n[e]),i=t[a]??=f();Number.isFinite(r)&&d(i,r,o)}}let m=[...l.entries()].map(([e,n])=>({label:t.series?e:t.seriesLabel&&i.length===1?t.seriesLabel:e,values:o.map((e,t)=>a(n[t]??f())),rowIds:p?o.map((e,t)=>(n[t]?.rowIds??[]).slice()):void 0})),h=o.map((e,t)=>m.reduce((e,n)=>e+(Number.isFinite(n.values[t])?n.values[t]:0),0)),g=t.sort??(t.topN?`value-desc`:t.bucket?`category`:`none`),_=o.map((e,t)=>t);g===`value-desc`?_.sort((e,t)=>h[t]-h[e]):g===`value-asc`?_.sort((e,t)=>h[e]-h[t]):g===`category`&&_.sort((e,t)=>o[e].localeCompare(o[t]));let v,y;if(t.topN&&_.length>t.topN){let e=t.otherLabel??`Other`,n=_.find(t=>o[t]===e),r=_.slice(0,t.topN).filter(e=>e!==n),i=_.filter(e=>!r.includes(e));v=r.map(e=>o[e]).concat(e),y=m.map(e=>({label:e.label,values:r.map(t=>e.values[t]).concat(i.reduce((t,n)=>t+(Number.isFinite(e.values[n])?e.values[n]:0),0)),rowIds:e.rowIds?r.map(t=>e.rowIds[t]).concat([i.flatMap(t=>e.rowIds[t]??[])]):void 0}))}else v=_.map(e=>o[e]),y=m.map(e=>({label:e.label,values:_.map(t=>e.values[t]),rowIds:e.rowIds?_.map(t=>e.rowIds[t]):void 0}));return{type:t.type,categories:v,series:y,width:t.width,height:t.height,stacked:t.stacked,stacked100:t.stacked100,palette:t.palette,...t.bucket?{xType:`ordinal-time`}:{}}}function Rt(e,t=80){let n=e.series[0];if(!n)return{...e,type:`bar`};let r=K(e,e.categories.map((e,t)=>t).sort((e,t)=>(n.values[t]??0)-(n.values[e]??0))),i=r.series[0].values.map(e=>Number.isFinite(e)?Math.max(0,e):0),a=i.reduce((e,t)=>e+t,0)||1,o=0,s=i.map(e=>(o+=e,Math.round(o/a*1e3)/10));return{...r,type:`bar`,series:[{...r.series[0],type:`bar`},{label:`Cumulative %`,values:s,type:`line`,axis:`right`,marker:`circle`,color:r.series[0].overlayColor??`#ef4444`}],y2Axis:{min:0,max:100,tickInterval:25,formatter:e=>`${e}%`,...e.y2Axis??{}},referenceLines:[...e.referenceLines??[],...t>0?[{value:t,axis:`right`,label:`${t}%`,dashed:!0}]:[]]}}function zt(e,t){let n=re(e.map(e=>Number(e[t.value])).filter(Number.isFinite),{bins:t.bins,binWidth:t.binWidth,method:t.method,min:t.min,max:t.max}),r=(t.series?[...new Set(e.map(e=>String(e[t.series]??``)))].map(n=>({label:n,rows:e.filter(e=>String(e[t.series]??``)===n)})):[{label:t.seriesLabel??String(t.value),rows:e}]).map(e=>{let r=Array(n.counts.length).fill(0),i=n.edges[0]??0;for(let a of e.rows){let e=Number(a[t.value]);if(!Number.isFinite(e)||!n.width)continue;let o=Math.floor((e-i)/n.width);o>=r.length&&(o=r.length-1),o<0&&(o=0),r[o]=(r[o]??0)+1}return{label:e.label,values:r}});return{type:`histogram`,categories:n.categories,series:r,binEdges:n.edges,xType:`number`,...t.palette?{palette:t.palette}:{},...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}}}function Bt(e,t){let n=[],r=new Set;for(let i of e){let e=String(i[t.category]??``);r.has(e)||(r.add(e),n.push(e))}let i=(t.series?[...new Set(e.map(e=>String(e[t.series]??``)))]:[t.seriesLabel??`${String(t.low)} to ${String(t.high)}`]).map(r=>{let i=Array(n.length).fill(NaN),a=Array(n.length).fill(NaN);for(let o of e){if(t.series&&String(o[t.series]??``)!==r)continue;let e=n.indexOf(String(o[t.category]??``)),s=Number(o[t.low]),c=Number(o[t.high]);e<0||!Number.isFinite(s)||!Number.isFinite(c)||(i[e]=Math.min(s,c),a[e]=Math.max(s,c))}return{label:r,values:a,lowValues:i}});return{type:t.type??`range-bar`,categories:n,series:i,...t.palette?{palette:t.palette}:{},...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}}}function Vt(e,t=`Total`){let n=e=>typeof e==`number`&&Number.isFinite(e)&&e>0?e:0;if(e.series.length<=1){let r=e.series[0];return{name:t,children:e.categories.map((e,t)=>({name:e,value:n(r?.values[t])})).filter(e=>e.value>0)}}return{name:t,children:e.categories.map((t,r)=>({name:t,children:e.series.map(e=>({name:e.label,value:n(e.values[r])})).filter(e=>e.value>0)})).filter(e=>e.children.length>0)}}function Ht(e){let t=e.series[0],n=[];return e.categories.forEach((e,r)=>{let i=Date.parse(e);if(!Number.isFinite(i))return;let a=t?.values[r];typeof a!=`number`||!Number.isFinite(a)||n.push({date:new Date(i).toISOString().slice(0,10),value:a})}),n}function Ut(e){let t=[],n=new Set;return e.categories.forEach((r,i)=>{for(let a of e.series){let e=a.values[i];if(typeof e!=`number`||!Number.isFinite(e)||e<=0)continue;let o=`from:${r}`,s=`to:${a.label}`;o!==s&&(n.add(o),n.add(s),t.push({source:o,target:s,value:e}))}}),{nodes:[...n].map(e=>({id:e,label:e.slice(e.indexOf(`:`)+1)})),links:t}}var Wt={compact:e=>({maxWidth:e,spec:{seriesLabels:!1,dataLabels:{show:!1},xAxis:{labelRotation:90}},legend:!1})};function Gt(e,t){if(!t)return e;let n={...e};t.title!==void 0&&(n.title=t.title||void 0),t.subtitle!==void 0&&(n.subtitle=t.subtitle||void 0),t.caption!==void 0&&(n.caption=t.caption||void 0),t.palette&&(n.palette=t.palette),t.seriesLabels!==void 0&&(n.seriesLabels=t.seriesLabels),t.style&&(n.style={...e.style,...t.style}),t.compactBelow!=null&&t.compactBelow>0&&(n.responsive=[...e.responsive??[],Wt.compact(t.compactBelow)]);let r=(e,t)=>{if(!t)return e;let n={...e};return t.min!==void 0&&(t.min===null?delete n.min:n.min=t.min),t.max!==void 0&&(t.max===null?delete n.max:n.max=t.max),t.title!==void 0&&(n.title=t.title||void 0),t.gridLines!==void 0&&(n.gridLines=t.gridLines),t.format!==void 0&&(n.format=t.format),n};if(t.xAxis){let e={...n.xAxis};t.xAxis.title!==void 0&&(e.title=t.xAxis.title||void 0),t.xAxis.gridLines!==void 0&&(e.gridLines=t.xAxis.gridLines),t.xAxis.labelRotation!==void 0&&(e.labelRotation=t.xAxis.labelRotation),n.xAxis=e}return t.yAxis&&(n.yAxis=r(n.yAxis,t.yAxis)),t.y2Axis&&(n.y2Axis=r(n.y2Axis,t.y2Axis)),t.series&&(n.series=e.series.map(e=>{let n=t.series[e.label];if(!n)return e;let r={...e};return n.color&&(r.color=n.color),n.type&&(r.type=n.type),n.axis&&(r.axis=n.axis),n.marker&&(r.marker=n.marker),n.strokeWidth!==void 0&&(r.strokeWidth=n.strokeWidth),n.dash!==void 0&&(r.dash=n.dash||void 0),n.smooth!==void 0&&(r.smooth=n.smooth),n.stack!==void 0&&(r.stack=n.stack||void 0),r})),n}function Kt(e,t,n){let r=n.category,i=n.value,a=n.series;if(e===`candlestick`||e===`ohlc`){let i=n.ohlc;if(!r||!i)return null;let a=e=>e;return Re(t,{date:r,open:a(i.open),high:a(i.high),low:a(i.low),close:a(i.close),...i.volume?{volume:a(i.volume)}:{},...i.bucket?{bucket:i.bucket}:{},...i.candleStyle?{candleStyle:i.candleStyle}:{},...i.lastPriceLine?{lastPriceLine:!0}:{},type:e})}if(e===`scatter`){let e=n.value2;return!i||!e?null:Jt(t,{x:i,y:e,...a?{series:a}:{},...n.palette?{palette:n.palette}:{}})}if(e===`gauge`)return i?Yt(t,{value:i,...n.reduce?{reduce:n.reduce}:{}}):null;if(e===`boxplot`){if(!r||!i)return null;let e=qt(t,{category:r,value:i,...a?{series:a}:{}});return n.palette&&(e.palette=n.palette),e}if(e===`histogram`)return i?zt(t,{value:i,...a?{series:a}:{},...n.bins?{bins:n.bins}:{},...n.palette?{palette:n.palette}:{}}):null;if(e===`range-bar`||e===`range-area`||e===`dumbbell`){let o=n.value2;if(!r||!i||!o)return null;let s=Lt(t,{type:`bar`,category:r,value:i,...a?{series:a}:{},reduce:n.reduce??`sum`}),c=Lt(t,{type:`bar`,category:r,value:o,...a?{series:a}:{},reduce:n.reduce??`sum`});return{type:e,categories:c.categories,series:c.series.map((e,t)=>({...e,label:a?e.label:`${String(i)} to ${String(o)}`,lowValues:s.series[t]?.values.map((t,n)=>Math.min(t,e.values[n]??t))??[],values:e.values.map((e,n)=>Math.max(e,s.series[t]?.values[n]??e))})),...n.palette?{palette:n.palette}:{}}}if(e===`bullet`){if(!r||!i)return null;let e=Lt(t,{type:`bar`,category:r,value:i,reduce:n.reduce??`sum`}),a=n.value2,o=a?Lt(t,{type:`bar`,category:r,value:a,reduce:n.reduce??`sum`}):null;return{type:`bullet`,categories:e.categories,series:[{...e.series[0],...o?{targets:o.series[0].values}:{}}],...n.palette?{palette:n.palette}:{}}}return null}function qt(e,t){let n=[],r=new Set;for(let i of e){let e=String(i[t.category]??``);r.has(e)||(r.add(e),n.push(e))}let i=[],a=new Set;if(t.series)for(let n of e){let e=String(n[t.series]??``);a.has(e)||(a.add(e),i.push(e))}else i.push(t.seriesLabel??String(t.value));return{type:`boxplot`,categories:n,series:i.map(r=>{let i=n.map(n=>{let i=[];for(let a of e){if(String(a[t.category]??``)!==n||t.series&&String(a[t.series]??``)!==r)continue;let e=a[t.value];if(e==null||e===``)continue;let o=Number(e);Number.isFinite(o)&&i.push(o)}return k(i,t.whisker)});return{label:r,values:i.map(e=>e?e.median:NaN),boxes:i}}),...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}}}function Jt(e,t){let n=new Map;for(let r of e){let e=Number(r[t.x]),i=Number(r[t.y]);if(!Number.isFinite(e)||!Number.isFinite(i))continue;let a=t.series?String(r[t.series]??``):t.y,o={x:e,y:i};if(t.r){let e=Number(r[t.r]);Number.isFinite(e)&&(o.r=e)}t.label&&(o.label=String(r[t.label]??``));let s=n.get(a);s?s.push(o):n.set(a,[o])}return{type:`scatter`,categories:[],series:[...n].map(([e,t])=>({label:e,values:[],points:t})),palette:t.palette,width:t.width,height:t.height,xAxisTitle:t.x,yAxisTitle:t.y}}function Yt(e,t){let n=[];for(let r of e){let e=Number(r[t.value]);Number.isFinite(e)&&n.push(e)}let r=H(n,t.reduce??`sum`),i=Number.isFinite(r)?r:0,a=t.min??Math.min(0,i);return{type:`gauge`,categories:[],series:[],gaugeValue:i,gaugeMin:a,gaugeMax:t.max??(i>a?y(a,i).max:a+1),gaugeTarget:t.target,gaugeUnit:t.unit,width:t.width,height:t.height}}export{Me as C,a as D,ae as E,E as O,Ke as S,J as T,Ct as _,Pt as a,ze as b,zt as c,It as d,Ht as f,At as g,Et as h,Nt as i,T as k,Bt as l,Vt as m,Mt as n,qt as o,Ut as p,jt as r,Lt as s,Ft as t,Jt as u,wt as v,Oe as w,Ye as x,Z as y};
@@ -0,0 +1,11 @@
1
+ function e(e){return e instanceof SVGSVGElement?e:e.querySelector(`svg.sv-grid-chart-svg`)??e.querySelector(`svg`)}function t(e,t,n){return getComputedStyle(e).getPropertyValue(t).trim()||n}function n(n,r={}){let i=e(n);if(!i)throw Error(`chartToSvgString: no <svg> found`);let a=t(i,`--sg-fg`,`#0f172a`),o=t(i,`--sg-muted`,`#64748b`),s=t(i,`--sg-border`,`#e2e8f0`),c=r.background??t(i,`--sg-bg`,`#ffffff`),l=i.viewBox.baseVal,u=l&&l.width?l.width:i.clientWidth||520,d=l&&l.height?l.height:i.clientHeight||300,f=i.cloneNode(!0);f.setAttribute(`width`,String(u)),f.setAttribute(`height`,String(d)),f.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`);let p=[`fill`,`fill-opacity`,`stroke`,`stroke-width`,`stroke-opacity`,`stroke-dasharray`,`stroke-linecap`,`stroke-linejoin`,`opacity`,`font-size`,`font-family`,`font-weight`,`text-anchor`],m=i.querySelectorAll(`*`),h=f.querySelectorAll(`*`);for(let e=0;e<m.length;e+=1){let t=h[e];if(!t||!t.style)continue;let n=getComputedStyle(m[e]);for(let e of p){let r=n.getPropertyValue(e);r&&r!==`normal`&&t.style.setProperty(e,r)}}f.querySelectorAll(`.sv-grid-chart-hit`).forEach(e=>e.remove());let g=document.createElementNS(`http://www.w3.org/2000/svg`,`style`);g.textContent=`
2
+ .sv-grid-chart-axis { fill: ${o}; font-size: 10px; font-family: sans-serif; }
3
+ .sv-grid-chart-gridline { stroke: ${s}; stroke-width: 1; opacity: 0.6; }
4
+ .sv-grid-chart-gridline.is-zero { stroke: ${o}; opacity: 0.9; }
5
+ .sv-grid-chart-datalabel { fill: ${a}; font-size: 9.5px; font-weight: 600; font-family: sans-serif; }
6
+ .sv-grid-chart-datalabel.on-bar { fill: #fff; }
7
+ .sv-grid-chart-donut-total { fill: ${a}; font-size: 16px; font-weight: 800; font-family: sans-serif; }
8
+ .sv-grid-chart-donut-label { fill: ${o}; font-size: 10px; font-family: sans-serif; }
9
+ `,f.insertBefore(g,f.firstChild);let _=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);return _.setAttribute(`x`,`0`),_.setAttribute(`y`,`0`),_.setAttribute(`width`,String(u)),_.setAttribute(`height`,String(d)),_.setAttribute(`fill`,c),f.insertBefore(_,g.nextSibling),new XMLSerializer().serializeToString(f)}function r(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,document.body.appendChild(n),n.click(),n.remove()}function i(e,t=`chart.svg`,i={}){let a=n(e,i),o=URL.createObjectURL(new Blob([a],{type:`image/svg+xml`}));r(o,t),setTimeout(()=>URL.revokeObjectURL(o),1e3)}function a(t,r={}){let i=n(t,r),a=r.scale??2,o=e(t),s=o.viewBox.baseVal,c=(s&&s.width?s.width:o.clientWidth||520)*a,l=(s&&s.height?s.height:o.clientHeight||300)*a;return new Promise((e,t)=>{let n=URL.createObjectURL(new Blob([i],{type:`image/svg+xml`})),r=new Image;r.onload=()=>{let i=document.createElement(`canvas`);i.width=Math.round(c),i.height=Math.round(l);let a=i.getContext(`2d`);if(!a){URL.revokeObjectURL(n),t(Error(`canvas 2d context unavailable`));return}a.drawImage(r,0,0,i.width,i.height),URL.revokeObjectURL(n),i.toBlob(n=>n?e(n):t(Error(`toBlob failed`)),`image/png`)},r.onerror=()=>{URL.revokeObjectURL(n),t(Error(`failed to rasterize chart SVG`))},r.src=n})}async function o(e,t=`chart.png`,n={}){let i=await a(e,n),o=URL.createObjectURL(i);r(o,t),setTimeout(()=>URL.revokeObjectURL(o),1e3)}var s=e=>{let t=e==null||typeof e==`number`&&!Number.isFinite(e)?``:String(e);return/[",\n]/.test(t)?`"${t.replace(/"/g,`""`)}"`:t};function c(e){let t=e.series??[];if(t.some(e=>e.points?.length)){let e=[`Series`,`X`,`Y`,`Size`,`Label`].map(s).join(`,`),n=[];for(let e of t)for(let t of e.points??[])n.push([e.label,t.x,t.y,t.r??``,t.label??``].map(s).join(`,`));return n.length?[e,...n].join(`
10
+ `):``}let n=e.categories??[];if(!n.length||!t.length)return``;let r=[`Category`];for(let e of t)e.ohlc?r.push(`${e.label} Open`,`${e.label} High`,`${e.label} Low`,`${e.label} Close`,...e.volumes?[`${e.label} Volume`]:[]):e.boxes?r.push(`${e.label} Min`,`${e.label} Q1`,`${e.label} Median`,`${e.label} Q3`,`${e.label} Max`,`${e.label} Outliers`):e.errors?r.push(e.label,`${e.label} Low`,`${e.label} High`):e.lowValues?r.push(`${e.label} low`,`${e.label} high`):e.targets?r.push(e.label,`${e.label} target`):r.push(e.label);let i=n.map((e,n)=>{let r=[e];for(let e of t)if(e.ohlc){let t=e.ohlc[n];r.push(t?.o??``,t?.h??``,t?.l??``,t?.c??``),e.volumes&&r.push(e.volumes[n]??``)}else if(e.boxes){let t=e.boxes[n];r.push(t?.min??``,t?.q1??``,t?.median??``,t?.q3??``,t?.max??``,t?.outliers?.join(` `)??``)}else if(e.errors){let t=e.values[n],i=e.errors[n],a=i==null?``:typeof i==`number`?(t??0)-Math.abs(i):Math.min(i.lo,i.hi),o=i==null?``:typeof i==`number`?(t??0)+Math.abs(i):Math.max(i.lo,i.hi);r.push(t??``,a,o)}else e.lowValues?r.push(e.lowValues[n]??``,e.values[n]??``):e.targets?r.push(e.values[n]??``,e.targets[n]??``):r.push(e.values[n]??``);return r.map(s).join(`,`)});return[r.map(s).join(`,`),...i].join(`
11
+ `)}function l(e){let t=e.series??[];return t.some(e=>e.points?.length)?!0:!!(e.categories?.length&&t.length)}function u(e,t=`chart.csv`){let n=c(e);if(!n)return!1;let i=URL.createObjectURL(new Blob([n],{type:`text/csv;charset=utf-8`}));return r(i,t),setTimeout(()=>URL.revokeObjectURL(i),1e3),!0}export{o as a,u as i,a as n,i as o,n as r,l as t};
@@ -0,0 +1,11 @@
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,r as n}from"./chart-export-B6bkQ3X8.js";var r=e({buildChartPdf:()=>l,chartToPdfBlob:()=>u,downloadChartPdf:()=>d,printChart:()=>f}),i={A4:[595.28,841.89],Letter:[612,792]};function a(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);t[n]=r<256?r:63}return t}function o(e){return`(`+e.replace(/[\\()]/g,e=>`\\`+e).replace(/[\r\n]+/g,` `)+`)`}function s(e,t){return e.length*t*.5}function c(e,t,n){return new Promise((r,i)=>{let a=URL.createObjectURL(e),o=new Image;o.onload=()=>{let e=document.createElement(`canvas`);e.width=o.naturalWidth||o.width,e.height=o.naturalHeight||o.height;let s=e.getContext(`2d`);if(!s){URL.revokeObjectURL(a),i(Error(`canvas 2d context unavailable`));return}s.fillStyle=t,s.fillRect(0,0,e.width,e.height),s.drawImage(o,0,0),URL.revokeObjectURL(a),e.toBlob(t=>{if(!t){i(Error(`toBlob failed`));return}t.arrayBuffer().then(t=>r({bytes:new Uint8Array(t),width:e.width,height:e.height}),i)},`image/jpeg`,n)},o.onerror=()=>{URL.revokeObjectURL(a),i(Error(`failed to decode chart PNG`))},o.src=a})}function l(e,t={}){let[n,r]=i[t.page??`A4`],c=t.orientation?t.orientation===`landscape`:e.width/e.height>n/r,l=c?r:n,u=c?n:r,d=(t.title??``).trim(),f=(t.subtitle??``).trim(),p=(t.caption??``).trim(),m=u-40,h=[],g=(e,t,n)=>{m-=t+4,h.push(`BT /F1 ${t} Tf ${n} g 40 ${m.toFixed(2)} Td ${o(e)} Tj ET`)};d&&g(d,16,0),f&&g(f,11,.4),(d||f)&&(m-=8);let _=p?20:0,v=l-80,y=m-40-_,b=Math.min(v/e.width,y/e.height),x=e.width*b,S=e.height*b,C=40+(v-x)/2,w=m-S;if(h.push(`q ${x.toFixed(2)} 0 0 ${S.toFixed(2)} ${C.toFixed(2)} ${w.toFixed(2)} cm /Im1 Do Q`),p){let e=s(p,9)>v?p.slice(0,Math.floor(v/4.5)-3)+`...`:p;h.push(`BT /F1 9 Tf 0.4 g 40 ${36 .toFixed(2)} Td ${o(e)} Tj ET`)}let T=h.join(`
2
+ `),E=[],D=[],O=0,k=e=>{E.push(e),O+=e.length};k(`%PDF-1.4
3
+ %âãÏÓ
4
+ `);let A=(e,t,n)=>{D[e]=O,k(`${e} 0 obj\n${t}\n`),n&&(k(`stream
5
+ `),k(n),k(`
6
+ endstream
7
+ `)),k(`endobj
8
+ `)};A(1,`<< /Type /Catalog /Pages 2 0 R >>`),A(2,`<< /Type /Pages /Kids [3 0 R] /Count 1 >>`),A(3,`<< /Type /Page /Parent 2 0 R /MediaBox [0 0 ${l.toFixed(2)} ${u.toFixed(2)}] /Resources << /XObject << /Im1 4 0 R >> /Font << /F1 5 0 R >> >> /Contents 6 0 R >>`),A(4,`<< /Type /XObject /Subtype /Image /Width ${e.width} /Height ${e.height} /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length ${e.bytes.length} >>`,e.bytes),A(5,`<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >>`),A(6,`<< /Length ${T.length} >>`,a(T));let j=O;k(`xref
9
+ 0 7
10
+ 0000000000 65535 f
11
+ `);for(let e=1;e<=6;e+=1)k(`${String(D[e]).padStart(10,`0`)} 00000 n \n`);k(`trailer\n<< /Size 7 /Root 1 0 R >>\nstartxref\n${j}\n%%EOF\n`);let M=new Uint8Array(new ArrayBuffer(O)),N=0;for(let e of E){let t=typeof e==`string`?a(e):e;M.set(t,N),N+=t.length}return M}async function u(e,n={}){let r=e instanceof SVGSVGElement?e:e.querySelector(`svg.sv-grid-chart-svg`)??e.querySelector(`svg`),i=n.background??(r&&getComputedStyle(r).getPropertyValue(`--sg-bg`).trim()||`#ffffff`),a=l(await c(await t(e,{...n,background:i,scale:n.scale??2}),i,n.quality??.92),n);return new Blob([a.buffer],{type:`application/pdf`})}async function d(e,t=`chart.pdf`,n={}){let r=await u(e,n),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t,document.body.appendChild(a),a.click(),a.remove(),setTimeout(()=>URL.revokeObjectURL(i),1e3)}function f(e,t={}){let r=n(e,t),i=window.open(``,`_blank`,`width=900,height=700`);if(!i)return!1;let a=e=>e.replace(/[&<>]/g,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`})[e]);i.document.write(`<!doctype html><html><head><meta charset="utf-8"><title>${a(t.title??`Chart`)}</title><style>body{margin:24px;font-family:system-ui,sans-serif}h1{font-size:16px;margin:0 0 12px}svg{max-width:100%;height:auto}@page{margin:12mm}</style></head><body>`+(t.title?`<h1>${a(t.title)}</h1>`:``)+r+`</body></html>`),i.document.close();let o=()=>{i.focus(),i.print()};return i.document.readyState===`complete`?setTimeout(o,50):i.addEventListener(`load`,()=>setTimeout(o,50)),!0}export{r as t};
@@ -0,0 +1 @@
1
+ import{H as e,I as t,K as n,M as r,P as i,R as a,U as o,X as s,at as c,dt as l,f as u,g as d,it as f,k as p,m,mt as h,p as g,pt as _,r as v,rt as y,v as b,vt as x,x as ee,y as S}from"./disclose-version-CIm4S9xS.js";import{a as C}from"./editor-contract-Bpoa7A5g.js";import{h as te}from"./chart-cIPUsbM5.js";var w=[{value:`bar`,label:`chartTypeBar`,group:`chartGroupCompare`},{value:`line`,label:`chartTypeLine`,group:`chartGroupCompare`},{value:`area`,label:`chartTypeArea`,group:`chartGroupCompare`},{value:`lollipop`,label:`chartTypeLollipop`,group:`chartGroupCompare`},{value:`pareto`,label:`chartTypePareto`,group:`chartGroupCompare`},{value:`range-bar`,label:`chartTypeRangeBar`,group:`chartGroupCompare`,needs:e=>e.measures.length>=2},{value:`range-area`,label:`chartTypeRangeArea`,group:`chartGroupCompare`,needs:e=>e.measures.length>=2},{value:`dumbbell`,label:`chartTypeDumbbell`,group:`chartGroupCompare`,needs:e=>e.measures.length>=2},{value:`radial-column`,label:`chartTypeRadialColumn`,group:`chartGroupCompare`},{value:`radial-bar`,label:`chartTypeRadialBar`,group:`chartGroupCompare`},{value:`nightingale`,label:`chartTypeNightingale`,group:`chartGroupCompare`},{value:`pie`,label:`chartTypePie`,group:`chartGroupPartOfWhole`},{value:`treemap`,label:`chartTypeTreemap`,group:`chartGroupPartOfWhole`},{value:`sunburst`,label:`chartTypeSunburst`,group:`chartGroupPartOfWhole`},{value:`funnel`,label:`chartTypeFunnel`,group:`chartGroupFlow`},{value:`waterfall`,label:`chartTypeWaterfall`,group:`chartGroupFlow`},{value:`sankey`,label:`chartTypeSankey`,group:`chartGroupFlow`,needs:e=>e.dims.length>=2},{value:`chord`,label:`chartTypeChord`,group:`chartGroupFlow`,needs:e=>e.dims.length>=2},{value:`radar`,label:`chartTypeRadar`,group:`chartGroupDistribution`},{value:`heatmap`,label:`chartTypeHeatmap`,group:`chartGroupDistribution`,needs:e=>e.dims.length>=2},{value:`scatter`,label:`chartTypeScatter`,group:`chartGroupDistribution`,needs:e=>e.measures.length>=2},{value:`boxplot`,label:`chartTypeBoxplot`,group:`chartGroupDistribution`},{value:`histogram`,label:`chartTypeHistogram`,group:`chartGroupDistribution`},{value:`gauge`,label:`chartTypeGauge`,group:`chartGroupSingleValue`},{value:`bullet`,label:`chartTypeBullet`,group:`chartGroupSingleValue`},{value:`calendar`,label:`chartTypeCalendar`,group:`chartGroupOverTime`,needs:e=>e.dates.length>=1},{value:`stream`,label:`chartTypeStream`,group:`chartGroupOverTime`,needs:e=>e.dims.length>=2},{value:`candlestick`,label:`chartTypeCandlestick`,group:`chartGroupOverTime`,needs:e=>e.dates.length>=1&&e.measures.length>=4},{value:`ohlc`,label:`chartTypeOhlc`,group:`chartGroupOverTime`,needs:e=>e.dates.length>=1&&e.measures.length>=4}];function T(e,t){return w.filter(t=>!t.needs||t.needs(e)).map(e=>({value:e.value,label:t[e.label],group:t[e.group]}))}function ne(e){return[{value:`sum`,label:e.chartReduceSum},{value:`avg`,label:e.chartReduceAvg},{value:`count`,label:e.chartReduceCount},{value:`min`,label:e.chartReduceMin},{value:`max`,label:e.chartReduceMax},{value:`median`,label:e.chartReduceMedian},{value:`p90`,label:e.chartReduceP90},{value:`first`,label:e.chartReduceFirst},{value:`last`,label:e.chartReduceLast},{value:`countDistinct`,label:e.chartReduceCountDistinct}]}var E=[{key:`theme`,label:`chartPaletteTheme`,colors:null},{key:`ocean`,label:`chartPaletteOcean`,colors:[`#0ea5e9`,`#14b8a6`,`#6366f1`,`#8b5cf6`,`#06b6d4`]},{key:`sunset`,label:`chartPaletteSunset`,colors:[`#f59e0b`,`#ef4444`,`#ec4899`,`#8b5cf6`,`#f97316`]},{key:`forest`,label:`chartPaletteForest`,colors:[`#16a34a`,`#65a30d`,`#0d9488`,`#4d7c0f`,`#0891b2`]},{key:`slate`,label:`chartPaletteSlate`,colors:[`#475569`,`#0ea5e9`,`#64748b`,`#38bdf8`,`#94a3b8`]}],re=[{value:`volume`,label:`chartIndVolume`,title:`chartIndVolumeTitle`},{value:`rsi`,label:`chartIndRsi`,title:`chartIndRsiTitle`},{value:`macd`,label:`chartIndMacd`,title:`chartIndMacdTitle`},{value:`stochastic`,label:`chartIndStochastic`,title:`chartIndStochasticTitle`},{value:`atr`,label:`chartIndAtr`,title:`chartIndAtrTitle`},{value:`obv`,label:`chartIndObv`,title:`chartIndObvTitle`},{value:`sma`,label:`chartIndSma`,title:`chartIndSmaTitle`},{value:`ema`,label:`chartIndEma`,title:`chartIndEmaTitle`},{value:`bb`,label:`chartIndBb`,title:`chartIndBbTitle`},{value:`vwap`,label:`chartIndVwap`,title:`chartIndVwapTitle`}],D=[`sma`,`ema`,`bb`,`vwap`],ie=[{key:`open`,label:`chartOpen`},{key:`high`,label:`chartHigh`},{key:`low`,label:`chartLow`},{key:`close`,label:`chartClosePrice`},{key:`volume`,label:`chartVolume`}],ae=[`bar`,`line`,`area`,`lollipop`,`pareto`,`range-bar`,`range-area`,`dumbbell`,`stream`],O=[`range-bar`,`range-area`,`dumbbell`],oe=[{value:``,label:`chartBucketExact`},{value:`day`,label:`chartBucketDay`},{value:`week`,label:`chartBucketWeek`},{value:`month`,label:`chartBucketMonth`},{value:`quarter`,label:`chartBucketQuarter`},{value:`year`,label:`chartBucketYear`}],se=a(`<option> </option>`),ce=a(`<optgroup></optgroup>`),le=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select></select></label>`),ue=a(`<option> </option>`),de=a(`<option> </option>`),fe=a(`<option> </option>`),pe=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select><!><!></select></label>`),me=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select></select></label> <!>`,1),he=a(`<option> </option>`),ge=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select></select></label>`),_e=a(`<option> </option>`),ve=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select><option> </option><!></select></label>`),ye=a(`<option> </option>`),be=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select></select></label>`),xe=a(`<option> </option>`),Se=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select></select></label>`),Ce=a(`<option> </option>`),we=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select></select></label>`),Te=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <input class="sv-grid-chart-num" type="number" min="1" max="200"/></label>`),Ee=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select><option> </option><option> </option><option> </option></select></label>`),De=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select><option> </option><option> </option><option> </option></select></label>`),Oe=a(`<button type="button"> </button>`),ke=a(`<span class="sv-grid-chart-ctl sv-grid-chart-indicators" role="group"><span class="sv-grid-chart-ctl-lbl"> </span> <span class="sv-grid-chart-chips"></span></span>`),Ae=a(`<label class="sv-grid-chart-toggle"><input type="checkbox"/> </label> <label class="sv-grid-chart-toggle"><input type="checkbox"/> </label>`,1),je=a(`<label class="sv-grid-chart-toggle"><input type="checkbox"/> </label>`),Me=a(`<label class="sv-grid-chart-toggle"><input type="checkbox"/> </label>`),Ne=a(`<option> </option>`),Pe=a(`<label class="sv-grid-chart-toggle"><input type="checkbox"/> </label>`),Fe=a(`<label class="sv-grid-chart-toggle"><input type="checkbox"/> </label>`),Ie=a(`<option> </option>`),Le=a(`<label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select></select></label>`),Re=a(`<label class="sv-grid-chart-toggle"><input type="checkbox"/> </label>`),ze=a(`<p class="sv-grid-chart-hint sv-grid-chart-pivot-hint" role="note"> </p>`),Be=a(`<p class="sv-grid-chart-hint" role="note"> </p>`),Ve=a(`<div><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select><option> </option><option> </option><option> </option></select></label> <!> <!> <!> <label class="sv-grid-chart-ctl"><span class="sv-grid-chart-ctl-lbl"> </span> <select></select></label> <!> <!> <!> <!> <!></div>`);function k(e,a){h(a,!0);let C=v(a,`ctrl`,7),w=v(a,`scope`,3,`panel`),k=l(()=>C().chartableColumns),A=l(()=>C().pivotResult!=null),j=l(()=>T(n(k),a.messages).filter(e=>!n(A)||te(e.value)===e.value)),M=l(()=>[...new Set(n(j).map(e=>e.group))]),He=l(()=>ne(a.messages));function Ue(e){let t=C().chartIndicators.includes(e),n=D.includes(e)?C().chartIndicators.filter(e=>!D.includes(e)):C().chartIndicators;C().chartIndicators=t?n.filter(t=>t!==e):[...n,e]}let N=l(()=>E.find(e=>e.colors&&C().chartPalette&&e.colors.join()===C().chartPalette.join())?.key??`theme`),We=l(()=>C().chartType===`bar`),Ge=l(()=>C().chartType===`pie`||C().chartType===`sunburst`),P=l(()=>!n(A)&&C().chartType!==`gauge`&&C().chartType!==`histogram`),Ke=l(()=>!n(A)&&n(k).dims.length>1&&![`pie`,`gauge`,`waterfall`,`funnel`,`calendar`,`bullet`,`pareto`,`radial-bar`].includes(C().chartType)),qe=l(()=>[`bar`,`line`,`area`,`radial-column`].includes(C().chartType)),Je=l(()=>ae.includes(C().chartType)||C().chartType===`scatter`||C().chartType===`boxplot`||C().chartType===`histogram`),Ye=l(()=>![`gauge`,`sankey`,`calendar`,`treemap`,`scatter`,`boxplot`,`chord`,`sunburst`,`stream`].includes(C().chartType)),Xe=l(()=>!n(A)&&(C().chartType===`scatter`||O.includes(C().chartType)||C().chartType===`bullet`)),Ze=l(()=>C().chartType===`scatter`?a.messages.chartY:C().chartType===`bullet`?a.messages.chartTarget:a.messages.chartHigh),Qe=l(()=>C().chartType===`funnel`),$e=l(()=>C().chartType===`candlestick`),F=l(()=>!n(A)&&C().chartIsOhlc),et=l(()=>!n(A)&&C().chartType===`histogram`),tt=l(()=>!n(A)&&!C().chartIsOhlc),nt=l(()=>!n(A)&&C().chartType!==`scatter`&&C().chartType!==`boxplot`&&C().chartType!==`histogram`&&!C().chartIsOhlc),I=l(()=>{let e=C().chartType,t=C().chartSpec?.categories.length??0;if(e===`heatmap`&&!C().chartSeriesId&&n(k).dims.length>1)return a.messages.chartIssueHeatmap;if(e===`sankey`&&!C().chartSeriesId)return a.messages.chartIssueSankey;if(e===`radar`&&t>0&&t<3)return a.messages.chartIssueRadar;if(e===`funnel`&&t===1)return a.messages.chartIssueFunnel;if(e===`chord`&&!C().chartSeriesId)return a.messages.chartIssueChord;if(e===`stream`&&!C().chartSeriesId)return a.messages.chartIssueStream;if(O.includes(e)&&!C().effectiveChartMeasure2Id)return a.messages.chartIssueSecondMeasure;if(C().chartIsOhlc){let e=C().chartOhlc;if(!C().chartOhlcDateId)return a.messages.chartIssueOhlcDate;if(!e.open||!e.high||!e.low||!e.close)return a.messages.chartIssueOhlcColumns}return null});var L=Ve();let R;var z=y(L),rt=e=>{var r=le(),l=y(r),u=y(l,!0);x(l);var d=c(l,2);p(d,20,()=>n(M),e=>e,(e,r)=>{var a=ce();p(a,21,()=>n(j).filter(e=>e.group===r),e=>e.value,(e,r)=>{var a=se(),o=y(a,!0);x(a);var c={};s(()=>{i(o,n(r).label),c!==(c=n(r).value)&&(a.value=(a.__value=n(r).value)??``)}),t(e,a)}),x(a),s(()=>g(a,`label`,r)),t(e,a)}),x(d);var f;b(d),x(r),s(()=>{i(u,a.messages.chartType),f!==(f=C().chartType)&&(d.value=(d.__value=C().chartType)??``,S(d,C().chartType))}),o(`change`,d,e=>C().chartType=e.currentTarget.value),t(e,r)};r(z,e=>{w()===`panel`&&e(rt)});var B=c(z,2),it=e=>{var l=me(),u=f(l),d=y(u),m=y(d,!0);x(d);var h=c(d,2);p(h,21,()=>n(k).dates,e=>e.id,(e,r)=>{var a=ue(),o=y(a,!0);x(a);var c={};s(()=>{i(o,n(r).label),c!==(c=n(r).id)&&(a.value=(a.__value=n(r).id)??``)}),t(e,a)}),x(h);var g;b(h),x(u);var _=c(u,2);p(_,17,()=>ie,e=>e.key,(e,l)=>{var u=pe(),d=y(u),f=y(d,!0);x(d);var m=c(d,2),h=y(m),g=e=>{var n=de(),r=y(n,!0);x(n),n.value=n.__value=``,s(()=>i(r,a.messages.chartNone)),t(e,n)};r(h,e=>{n(l).key===`volume`&&e(g)});var _=c(h);p(_,17,()=>n(k).measures,e=>e.id,(e,r)=>{var a=fe(),o=y(a,!0);x(a);var c={};s(()=>{i(o,n(r).label),c!==(c=n(r).id)&&(a.value=(a.__value=n(r).id)??``)}),t(e,a)}),x(m);var v;b(m),x(u),s(()=>{i(f,a.messages[n(l).label]),v!==(v=C().chartOhlc[n(l).key]??``)&&(m.value=(m.__value=C().chartOhlc[n(l).key]??``)??``,S(m,C().chartOhlc[n(l).key]??``))}),o(`change`,m,e=>C().chartOhlc={...C().chartOhlc,[n(l).key]:e.currentTarget.value||null}),t(e,u)}),s(()=>{i(m,a.messages.chartDate),g!==(g=C().chartOhlcDateId??``)&&(h.value=(h.__value=C().chartOhlcDateId??``)??``,S(h,C().chartOhlcDateId??``))}),o(`change`,h,e=>C().chartDimensionId=e.currentTarget.value||null),t(e,l)},at=e=>{var r=ge(),l=y(r),u=y(l,!0);x(l);var d=c(l,2);p(d,21,()=>n(k).dims,e=>e.id,(e,r)=>{var a=he(),o=y(a,!0);x(a);var c={};s(()=>{i(o,n(r).label),c!==(c=n(r).id)&&(a.value=(a.__value=n(r).id)??``)}),t(e,a)}),x(d);var f;b(d),x(r),s(()=>{i(u,C().chartType===`sankey`?a.messages.chartFrom:C().chartType===`heatmap`?a.messages.chartColumns:a.messages.chartGroupBy),f!==(f=C().chartDimensionId??``)&&(d.value=(d.__value=C().chartDimensionId??``)??``,S(d,C().chartDimensionId??``))}),o(`change`,d,e=>C().chartDimensionId=e.currentTarget.value||null),t(e,r)};r(B,e=>{n(F)?e(it):n(P)&&e(at,1)});var V=c(B,2),ot=e=>{var r=ve(),l=y(r),u=y(l,!0);x(l);var d=c(l,2),f=y(d),m=y(f,!0);x(f),f.value=f.__value=``;var h=c(f);p(h,17,()=>n(k).dims,e=>e.id,(e,r)=>{var a=_e(),o=y(a,!0);x(a);var c={};s(()=>{i(o,n(r).label),c!==(c=n(r).id)&&(a.value=(a.__value=n(r).id)??``)}),t(e,a)}),x(d);var g;b(d),x(r),s(()=>{i(u,C().chartType===`sankey`?a.messages.chartTo:C().chartType===`heatmap`?a.messages.chartRows:a.messages.chartSplitBy),i(m,a.messages.chartNone),g!==(g=C().chartSeriesId??``)&&(d.value=(d.__value=C().chartSeriesId??``)??``,S(d,C().chartSeriesId??``))}),o(`change`,d,e=>C().chartSeriesId=e.currentTarget.value||null),t(e,r)};r(V,e=>{n(Ke)&&e(ot)});var H=c(V,2),st=e=>{var r=be(),l=y(r),u=y(l,!0);x(l);var d=c(l,2);p(d,21,()=>n(k).measures,e=>e.id,(e,r)=>{var a=ye(),o=y(a,!0);x(a);var c={};s(()=>{i(o,n(r).label),c!==(c=n(r).id)&&(a.value=(a.__value=n(r).id)??``)}),t(e,a)}),x(d);var f;b(d),x(r),s(e=>{i(u,e),f!==(f=C().chartMeasureId??``)&&(d.value=(d.__value=C().chartMeasureId??``)??``,S(d,C().chartMeasureId??``))},[()=>C().chartType===`scatter`?a.messages.chartX:O.includes(C().chartType)?a.messages.chartLow:C().chartType===`gauge`?a.messages.chartMetric:a.messages.chartValue]),o(`change`,d,e=>C().chartMeasureId=e.currentTarget.value||null),t(e,r)};r(H,e=>{n(tt)&&e(st)});var U=c(H,2),ct=e=>{var r=Se(),a=y(r),l=y(a,!0);x(a);var u=c(a,2);p(u,21,()=>n(k).measures,e=>e.id,(e,r)=>{var a=xe(),o=y(a,!0);x(a);var c={};s(()=>{i(o,n(r).label),c!==(c=n(r).id)&&(a.value=(a.__value=n(r).id)??``)}),t(e,a)}),x(u);var d;b(u),x(r),s(()=>{i(l,n(Ze)),d!==(d=C().effectiveChartMeasure2Id??``)&&(u.value=(u.__value=C().effectiveChartMeasure2Id??``)??``,S(u,C().effectiveChartMeasure2Id??``))}),o(`change`,u,e=>C().chartMeasure2Id=e.currentTarget.value||null),t(e,r)};r(U,e=>{n(Xe)&&e(ct)});var lt=c(U,2),ut=e=>{var r=we(),l=y(r),u=y(l,!0);x(l);var d=c(l,2);p(d,21,()=>n(He),e=>e.value,(e,r)=>{var a=Ce(),o=y(a,!0);x(a);var c={};s(()=>{i(o,n(r).label),c!==(c=n(r).value)&&(a.value=(a.__value=n(r).value)??``)}),t(e,a)}),x(d);var f;b(d),x(r),s(()=>{i(u,a.messages.chartAggregate),f!==(f=C().chartReduce)&&(d.value=(d.__value=C().chartReduce)??``,S(d,C().chartReduce))}),o(`change`,d,e=>C().chartReduce=e.currentTarget.value),t(e,r)};r(lt,e=>{n(nt)&&e(ut)});var dt=c(lt,2),ft=e=>{var n=Te(),r=y(n),l=y(r,!0);x(r);var f=c(r,2);u(f),x(n),s(()=>{g(n,`title`,a.messages.chartBinsTitle),i(l,a.messages.chartBins),d(f,C().chartBins??``),g(f,`placeholder`,a.messages.chartBuilderAuto)}),o(`change`,f,e=>C().chartBins=e.currentTarget.value?Number(e.currentTarget.value):null),t(e,n)};r(dt,e=>{n(et)&&e(ft)});var pt=c(dt,2),mt=e=>{var n=Ee(),r=y(n),l=y(r,!0);x(r);var u=c(r,2),d=y(u),f=y(d,!0);x(d),d.value=d.__value=`trapezoid`;var p=c(d),m=y(p,!0);x(p),p.value=p.__value=`pyramid`;var h=c(p),g=y(h,!0);x(h),h.value=h.__value=`cone`,x(u);var _;b(u),x(n),s(()=>{i(l,a.messages.chartShape),i(f,a.messages.chartShapeFunnel),i(m,a.messages.chartShapePyramid),i(g,a.messages.chartShapeCone),_!==(_=C().chartFunnelShape??`trapezoid`)&&(u.value=(u.__value=C().chartFunnelShape??`trapezoid`)??``,S(u,C().chartFunnelShape??`trapezoid`))}),o(`change`,u,e=>C().chartFunnelShape=e.currentTarget.value),t(e,n)};r(pt,e=>{n(Qe)&&e(mt)});var ht=c(pt,2),gt=e=>{var n=De(),r=y(n),l=y(r,!0);x(r);var u=c(r,2),d=y(u),f=y(d,!0);x(d),d.value=d.__value=`classic`;var p=c(d),m=y(p,!0);x(p),p.value=p.__value=`hollow`;var h=c(p),g=y(h,!0);x(h),h.value=h.__value=`heikin-ashi`,x(u);var _;b(u),x(n),s(()=>{i(l,a.messages.chartCandles),i(f,a.messages.chartCandlesClassic),i(m,a.messages.chartCandlesHollow),i(g,a.messages.chartCandlesHeikinAshi),_!==(_=C().chartCandleStyle??`classic`)&&(u.value=(u.__value=C().chartCandleStyle??`classic`)??``,S(u,C().chartCandleStyle??`classic`))}),o(`change`,u,e=>C().chartCandleStyle=e.currentTarget.value),t(e,n)};r(ht,e=>{n($e)&&e(gt)});var _t=c(ht,2),vt=e=>{var r=ke(),l=y(r),u=y(l,!0);x(l);var d=c(l,2);p(d,21,()=>re,e=>e.value,(e,r)=>{var c=Oe();let l;var u=y(c,!0);x(c),s((e,t)=>{l=ee(c,1,`sv-grid-chart-chip`,null,l,e),g(c,`aria-pressed`,t),g(c,`title`,a.messages[n(r).title]),i(u,a.messages[n(r).label])},[()=>({"is-on":C().chartIndicators.includes(n(r).value)}),()=>C().chartIndicators.includes(n(r).value)]),o(`click`,c,()=>Ue(n(r).value)),t(e,c)}),x(d),x(r),s(()=>{g(r,`aria-label`,a.messages.chartIndicators),i(u,a.messages.chartIndicators)}),t(e,r)};r(_t,e=>{n(F)&&e(vt)});var W=c(_t,2),G=y(W),yt=y(G,!0);x(G);var K=c(G,2),q=y(K),bt=y(q,!0);x(q),q.value=q.__value=`number`;var J=c(q),xt=y(J,!0);x(J),J.value=J.__value=`currency`;var Y=c(J),St=y(Y,!0);x(Y),Y.value=Y.__value=`percent`,x(K);var Ct;b(K),x(W);var wt=c(W,2),Tt=e=>{var n=Ae(),r=f(n),l=y(r);u(l);var d=c(l);x(r);var p=c(r,2),h=y(p);u(h);var _=c(h);x(p),s(()=>{m(l,C().chartStacked),i(d,` ${a.messages.chartStacked??``}`),g(p,`title`,a.messages.chartStacked100Title),m(h,C().chartStacked100),i(_,` ${a.messages.chartStacked100??``}`)}),o(`change`,l,e=>C().chartStacked=e.currentTarget.checked),o(`change`,h,e=>C().chartStacked100=e.currentTarget.checked),t(e,n)};r(wt,e=>{n(qe)&&e(Tt)});var Et=c(wt,2),Dt=e=>{var n=je(),r=y(n);u(r);var l=c(r);x(n),s(()=>{g(n,`title`,a.messages.chartHorizontalTitle),m(r,C().chartOrientation===`horizontal`),i(l,` ${a.messages.chartHorizontal??``}`)}),o(`change`,r,e=>C().chartOrientation=e.currentTarget.checked?`horizontal`:`vertical`),t(e,n)};r(Et,e=>{n(We)&&e(Dt)});var Ot=c(Et,2),kt=e=>{var n=Me(),r=y(n);u(r);var l=c(r);x(n),s(()=>{m(r,C().chartDonut),i(l,` ${a.messages.chartDonut??``}`)}),o(`change`,r,e=>C().chartDonut=e.currentTarget.checked),t(e,n)};r(Ot,e=>{n(Ge)&&e(kt)});var X=c(Ot,2),Z=y(X),At=y(Z,!0);x(Z);var Q=c(Z,2);p(Q,21,()=>E,e=>e.key,(e,r)=>{var o=Ne(),c=y(o,!0);x(o);var l={};s(()=>{i(c,a.messages[n(r).label]),l!==(l=n(r).key)&&(o.value=(o.__value=n(r).key)??``)}),t(e,o)}),x(Q);var jt;b(Q),x(X);var Mt=c(X,2),Nt=e=>{var n=Pe(),r=y(n);u(r);var l=c(r);x(n),s(()=>{m(r,C().chartDataLabels),i(l,` ${a.messages.chartLabels??``}`)}),o(`change`,r,e=>C().chartDataLabels=e.currentTarget.checked),t(e,n)};r(Mt,e=>{n(Ye)&&e(Nt)});var Pt=c(Mt,2),Ft=e=>{var n=Fe(),r=y(n);u(r);var l=c(r);x(n),s(()=>{g(n,`title`,a.messages.chartLogScaleTitle),m(r,C().chartLogScale),i(l,` ${a.messages.chartLogScale??``}`)}),o(`change`,r,e=>C().chartLogScale=e.currentTarget.checked),t(e,n)};r(Pt,e=>{n(Je)&&e(Ft)});var It=c(Pt,2),Lt=e=>{var r=Le(),l=y(r),u=y(l,!0);x(l);var d=c(l,2);p(d,21,()=>oe,e=>e.value,(e,r)=>{var o=Ie(),c=y(o,!0);x(o);var l={};s(()=>{i(c,a.messages[n(r).label]),l!==(l=n(r).value)&&(o.value=(o.__value=n(r).value)??``)}),t(e,o)}),x(d);var f;b(d),x(r),s(()=>{g(r,`title`,a.messages.chartBucketTitle),i(u,a.messages.chartBucket),f!==(f=C().chartBucket??``)&&(d.value=(d.__value=C().chartBucket??``)??``,S(d,C().chartBucket??``))}),o(`change`,d,e=>C().chartBucket=e.currentTarget.value||null),t(e,r)};r(It,e=>{C().chartDimensionIsDate&&n(P)&&e(Lt)});var $=c(It,2),Rt=e=>{var n=Re(),r=y(n);u(r);var l=c(r);x(n),s(()=>{g(n,`title`,a.messages.chartDateAxisTitle),m(r,C().chartTimeAxis),i(l,` ${a.messages.chartDateAxis??``}`)}),o(`change`,r,e=>C().chartTimeAxis=e.currentTarget.checked),t(e,n)},zt=l(()=>C().chartDimensionIsDate&&ae.includes(C().chartType));r($,e=>{n(zt)&&e(Rt)});var Bt=c($,2),Vt=e=>{var n=ze(),r=y(n,!0);x(n),s(()=>i(r,a.messages.chartPivotHint)),t(e,n)},Ht=e=>{var r=Be(),a=y(r,!0);x(r),s(()=>i(a,n(I))),t(e,r)};r(Bt,e=>{n(A)?e(Vt):n(I)&&e(Ht,1)}),x(L),s(()=>{R=ee(L,1,`sv-grid-chart-controls`,null,R,{"is-form":w()===`builder`}),g(L,`data-scope`,w()),i(yt,a.messages.chartFormat),i(bt,a.messages.chartFormatNumber),i(xt,a.messages.chartFormatCurrency),i(St,a.messages.chartFormatPercent),Ct!==(Ct=C().chartValueFormat)&&(K.value=(K.__value=C().chartValueFormat)??``,S(K,C().chartValueFormat)),i(At,a.messages.chartColours),jt!==(jt=n(N))&&(Q.value=(Q.__value=n(N))??``,S(Q,n(N)))}),o(`change`,K,e=>C().chartValueFormat=e.currentTarget.value),o(`change`,Q,e=>C().chartPalette=E.find(t=>t.key===e.currentTarget.value)?.colors??null),t(e,L),_()}e([`change`,`click`]);var A={chartPanelTitle:`Chart`,chartClearFilter:`Clear filter`,chartExport:`Export`,chartExportLabel:`Export chart`,chartExportPng:`PNG image`,chartExportSvg:`SVG vector`,chartExportPdf:`PDF document`,chartExportCsv:`CSV data`,chartExportCopy:`Copy to clipboard`,chartExportPrint:`Print`,chartExportDescribe:`Describe chart`,chartAi:`AI`,chartAiLabel:`Chart with AI`,chartAiPlaceholder:`Describe a chart, e.g. revenue by region stacked by product`,chartAiRun:`Chart it`,chartAiThinking:`Thinking...`,chartAiExplain:`Explain`,chartAiExplainTitle:`Explain this chart in plain words`,chartAiNoChart:`Couldn't build a chart from that request.`,chartAiNoExplanation:`Couldn't explain this chart.`,chartAiFailed:`Something went wrong.`,chartBuild:`Build`,chartBuildLabel:`Open the chart builder`,chartBuildTitle:`Chart builder: type gallery, data and format`,chartLinkBack:`Link the chart back to the grid`,chartUnlink:`Unlink the chart from the grid`,chartLinkedTitle:`Linked: the chart follows the grid's rows. Click to freeze it.`,chartUnlinkedTitle:`Unlinked: the chart keeps the data it has. Click to follow the grid again.`,chartAdd:`Add chart`,chartSave:`Save`,chartSaveLabel:`Saved charts`,chartSavedTitle:`Saved charts`,chartSaveName:`Save this chart as`,chartSaveNamePlaceholder:`Name`,chartSaveApply:`Apply`,chartPivotHint:`Charting the pivot: its row groups are the categories and its column groups the series.`,chartSaveRemove:`Remove`,chartSavedEmpty:`No saved charts yet.`,chartMaximize:`Maximize`,chartRestore:`Restore`,chartDock:`Dock`,chartDockLabel:`Dock chart`,chartPopOut:`Pop out`,chartPopOutLabel:`Pop out chart`,chartClose:`Close chart`,chartResize:`Resize chart panel`,chartResizeWindow:`Resize chart window`,chartTabs:`Charts`,chartRemoveTab:`Remove {title}`,chartRemove:`Remove`,chartEmptyColumns:`Charting needs at least one text column (to group by) and one numeric column (to measure).`,chartEmptyData:`No data to chart.`,chartType:`Type`,chartDate:`Date`,chartGroupBy:`Group by`,chartFrom:`From`,chartColumns:`Columns`,chartSplitBy:`Split by`,chartTo:`To`,chartRows:`Rows`,chartNone:`(none)`,chartValue:`Value`,chartX:`X`,chartY:`Y`,chartLow:`Low`,chartHigh:`High`,chartOpen:`Open`,chartClosePrice:`Close`,chartVolume:`Volume`,chartMetric:`Metric`,chartTarget:`Target`,chartAggregate:`Aggregate`,chartReduceSum:`Sum`,chartReduceAvg:`Average`,chartReduceCount:`Count`,chartReduceMin:`Min`,chartReduceMax:`Max`,chartReduceMedian:`Median`,chartReduceP90:`90th percentile`,chartReduceFirst:`First`,chartReduceLast:`Last`,chartReduceCountDistinct:`Distinct count`,chartBins:`Bins`,chartBinsTitle:`How many bins the sample is split into`,chartShape:`Shape`,chartShapeFunnel:`Funnel`,chartShapePyramid:`Pyramid`,chartShapeCone:`Cone`,chartCandles:`Candles`,chartCandlesClassic:`Classic`,chartCandlesHollow:`Hollow`,chartCandlesHeikinAshi:`Heikin-Ashi`,chartIndicators:`Indicators`,chartIndVolume:`Volume`,chartIndVolumeTitle:`Volume bars under the price`,chartIndRsi:`RSI`,chartIndRsiTitle:`Relative strength index, 14 bars`,chartIndMacd:`MACD`,chartIndMacdTitle:`MACD 12 / 26 / 9`,chartIndStochastic:`Stoch`,chartIndStochasticTitle:`Stochastic oscillator 14 / 3`,chartIndAtr:`ATR`,chartIndAtrTitle:`Average true range, 14 bars`,chartIndObv:`OBV`,chartIndObvTitle:`On-balance volume`,chartIndSma:`SMA 20`,chartIndSmaTitle:`20-bar simple moving average on the price`,chartIndEma:`EMA 20`,chartIndEmaTitle:`20-bar exponential moving average on the price`,chartIndBb:`Bollinger`,chartIndBbTitle:`Bollinger bands 20 / 2 on the price`,chartIndVwap:`VWAP`,chartIndVwapTitle:`Volume-weighted average price on the price`,chartFormat:`Format`,chartFormatNumber:`Number`,chartFormatCurrency:`Currency`,chartFormatPercent:`Percent`,chartStacked:`Stacked`,chartStacked100:`100%`,chartStacked100Title:`Normalise each category to 100 percent`,chartHorizontal:`Horizontal`,chartHorizontalTitle:`Bars grow rightwards - suits long category labels`,chartDonut:`Donut`,chartColours:`Colours`,chartPaletteTheme:`Theme`,chartPaletteOcean:`Ocean`,chartPaletteSunset:`Sunset`,chartPaletteForest:`Forest`,chartPaletteSlate:`Slate`,chartLabels:`Labels`,chartLogScale:`Log scale`,chartLogScaleTitle:`Logarithmic value axis - flattens wide-range data`,chartBucket:`Bucket`,chartBucketTitle:`Group the dates by calendar unit: one bar per month instead of one per day`,chartBucketExact:`Exact`,chartBucketDay:`Day`,chartBucketWeek:`Week`,chartBucketMonth:`Month`,chartBucketQuarter:`Quarter`,chartBucketYear:`Year`,chartDateAxis:`Date axis`,chartDateAxisTitle:`Space points by actual date - real time ticks and proportional gaps`,chartGroupCompare:`Compare`,chartGroupPartOfWhole:`Part of a whole`,chartGroupFlow:`Flow`,chartGroupDistribution:`Distribution`,chartGroupSingleValue:`Single value`,chartGroupOverTime:`Over time`,chartTypeBar:`Bar`,chartTypeLine:`Line`,chartTypeArea:`Area`,chartTypeLollipop:`Lollipop`,chartTypePareto:`Pareto`,chartTypeRangeBar:`Range bar`,chartTypeRangeArea:`Range area`,chartTypeDumbbell:`Dumbbell`,chartTypeRadialColumn:`Radial column`,chartTypeRadialBar:`Radial bar`,chartTypeNightingale:`Nightingale`,chartTypePie:`Pie`,chartTypeTreemap:`Tree map`,chartTypeSunburst:`Sunburst`,chartTypeFunnel:`Funnel`,chartTypeWaterfall:`Waterfall`,chartTypeSankey:`Sankey`,chartTypeChord:`Chord`,chartTypeRadar:`Radar`,chartTypeHeatmap:`Heat map`,chartTypeScatter:`Scatter`,chartTypeBoxplot:`Box plot`,chartTypeHistogram:`Histogram`,chartTypeGauge:`Gauge`,chartTypeBullet:`Bullet`,chartTypeCalendar:`Calendar`,chartTypeStream:`Stream`,chartTypeCandlestick:`Candlestick`,chartTypeOhlc:`OHLC bars`,chartIssueHeatmap:`Heat map needs a Split by column for its rows.`,chartIssueSankey:`Sankey needs a Split by column: Group by is the source, Split by the target.`,chartIssueRadar:`Radar needs at least 3 groups.`,chartIssueFunnel:`Funnel needs at least 2 stages.`,chartIssueChord:`Chord needs a Split by column: Group by and Split by are the two ends of each flow.`,chartIssueStream:`Stream needs a Split by column: each split becomes a layer.`,chartIssueSecondMeasure:`Pick a second measure for the high end of the range.`,chartIssueOhlcDate:`Candlesticks need a date column.`,chartIssueOhlcColumns:`Pick the Open, High, Low and Close columns.`,chartBuilderTitle:`Chart builder`,chartBuilderTabType:`Type`,chartBuilderTabData:`Data`,chartBuilderTabFormat:`Format`,chartBuilderLinked:`Linked to the grid`,chartBuilderFrozenAt:`Frozen at {time}; edits, filters and new rows no longer change it.`,chartBuilderFollows:`The chart follows the grid's rows, filters and edits.`,chartBuilderTitleField:`Title`,chartBuilderSubtitle:`Subtitle`,chartBuilderCaption:`Caption`,chartBuilderLegend:`Legend`,chartLegendBottom:`Bottom`,chartLegendTop:`Top`,chartLegendLeft:`Left`,chartLegendRight:`Right`,chartLegendHidden:`Hidden`,chartBuilderDataLabels:`Data labels`,chartBuilderPanelSetting:`Panel setting`,chartLabelsTop:`Top`,chartLabelsOutside:`Outside`,chartLabelsInside:`Inside`,chartLabelsCenter:`Center`,chartLabelsHidden:`Hidden`,chartBuilderSeriesLabels:`Series labels`,chartBuilderCrosshairLabels:`Crosshair labels`,chartBuilderCompactBelow:`Compact under`,chartBuilderCompactBelowTitle:`Below this width in px the chart drops its series and data labels, turns the category labels vertical and hides the legend`,chartBuilderValueAxis:`Value axis`,chartBuilderRightAxis:`Right axis`,chartBuilderCategoryAxis:`Category axis`,chartBuilderMin:`Min`,chartBuilderMax:`Max`,chartBuilderAuto:`auto`,chartBuilderOff:`off`,chartBuilderGridLines:`Grid lines`,chartBuilderAxisLabels:`Labels`,chartBuilderLabelsAuto:`Auto`,chartBuilderLabelsHorizontal:`Horizontal`,chartBuilderLabelsTilted:`Tilted`,chartBuilderLabelsVertical:`Vertical`,chartBuilderSeries:`Series`,chartBuilderColor:`Color`,chartBuilderSeriesType:`Type`,chartBuilderAxis:`Axis`,chartBuilderMarker:`Marker`,chartBuilderWidth:`Width`,chartBuilderStack:`Stack`,chartBuilderStackPlaceholder:`own`,chartBuilderSeriesColorLabel:`{series} colour`,chartBuilderSeriesTypeLabel:`{series} type`,chartBuilderSeriesAxisLabel:`{series} axis`,chartBuilderSeriesMarkerLabel:`{series} marker`,chartBuilderSeriesWidthLabel:`{series} line width`,chartBuilderSeriesStackLabel:`{series} stack group`,chartBuilderChartType:`Chart`,chartBuilderBar:`Bar`,chartBuilderLine:`Line`,chartBuilderArea:`Area`,chartBuilderLeft:`Left`,chartBuilderRight:`Right`,chartBuilderStyle:`Style`,chartBuilderFontSize:`Font size`,chartBuilderFontFamily:`Font`,chartBuilderBackground:`Background`,chartBuilderTextColor:`Text`,chartBuilderResetFormat:`Reset format`};function j(e){return C(A,e)}function M(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):`{${n}}`)}export{T as i,j as n,k as r,M as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{i as t,n,t as r}from"./chart-trend-D5I5VEe8.js";var i=e({chartSummary:()=>d}),a=e=>typeof e==`number`&&Number.isFinite(e);function o(e){let t=-1,n=-1;for(let r=0;r<e.length;r+=1)a(e[r])&&(t<0&&(t=r),n=r);return t<0?null:{i0:t,v0:e[t],i1:n,v1:e[n]}}function s(e){let t=-1/0,n=1/0,r=-1,i=-1;return e.forEach((e,o)=>{a(e)&&(e>t&&(t=e,r=o),e<n&&(n=e,i=o))}),r<0?null:{max:t,iMax:r,min:n,iMin:i}}var c=(e,t)=>{if(e===0)return``;let n=Math.abs((t-e)/Math.abs(e)*100);return`${n>=10?Math.round(n):Math.round(n*10)/10}%`};function l(e,t,n){let i=e.ohlc?e.ohlc.map(e=>e?e.c:NaN):e.values,a=o(i);if(!a)return`${e.label} has no values.`;let l=e=>t[e]??`#${e+1}`;if(a.i0===a.i1)return`${e.label} is ${n(a.v0)} at ${l(a.i0)}.`;let u=r(i),d=u[u.length-1]-u[0],f=Math.abs(a.v1-a.v0),p=Math.max(Math.abs(a.v0),Math.abs(a.v1),1e-9),m=f/p<.02&&Math.abs(d)/p<.05,h=m?`holds at about`:a.v1>a.v0?`rises`:`falls`,g=c(a.v0,a.v1),_=m?`${e.label} holds at about ${n(a.v1)} from ${l(a.i0)} to ${l(a.i1)}`:`${e.label} ${h}${g?` ${g}`:``} from ${n(a.v0)} at ${l(a.i0)} to ${n(a.v1)} at ${l(a.i1)}`,v=s(i);if(v&&!m){let e=v.iMax!==a.i0&&v.iMax!==a.i1,t=v.iMin!==a.i0&&v.iMin!==a.i1;e&&(_+=`, peaking at ${n(v.max)} at ${l(v.iMax)}`),t&&(_+=`, lowest at ${n(v.min)} at ${l(v.iMin)}`)}return _+`.`}function u(e,t,n,r){let i=t.reduce((e,t)=>e+(a(t)?Math.abs(t):0),0);if(!i)return`No ${r} has a value.`;let o=e.map((e,n)=>({l:e,v:a(t[n])?Math.abs(t[n]):0})).sort((e,t)=>t.v-e.v),s=o.slice(0,3).map(e=>`${e.l} ${Math.round(e.v/i*100)}%`),c=o.length>3?`, ${o.length-3} more share the rest`:``;return`${e.length} ${r}s totalling ${n(i)}: ${s.join(`, `)}${c}.`}function d(e,r={}){let i=r.formatValue??(n=>t(n,e.valueFormat,e)),o=r.maxSeries??4,s=e.categories??[],d=(e.series??[]).filter(e=>e.visible!==!1),f=e.type;try{if(f===`pie`||f===`radial-bar`||f===`nightingale`){let e=d[0];return!e||!e.values.some(a)?`No data.`:u(s,e.values,i,`slice`)}if(f===`treemap`||f===`sunburst`){let t=(e.treemap??e.tree)?.children??[];if(!t.length)return`No data.`;let n=e=>e.value??(e.children??[]).reduce((e,t)=>e+n(t),0);return u(t.map(e=>e.name),t.map(e=>n(e)),i,`node`)}if(f===`gauge`){if(!a(e.gaugeValue))return`No data.`;let t=e.gaugeMin??0,n=e.gaugeMax??100,r=n>t?Math.round((e.gaugeValue-t)/(n-t)*100):0,o=a(e.gaugeTarget)?`, ${e.gaugeValue>=e.gaugeTarget?`above`:`below`} the target of ${i(e.gaugeTarget)}`:``;return`${i(e.gaugeValue)}${e.gaugeUnit?` `+e.gaugeUnit:``}, ${r}% of the way from ${i(t)} to ${i(n)}${o}.`}if(f===`scatter`){let e=d.flatMap(e=>e.points??[]).filter(e=>a(e.x)&&a(e.y));if(!e.length)return`No data.`;let t=n(e.map(e=>e.x),e.map(e=>e.y)),r=Math.abs(t)>=.7?`strong`:Math.abs(t)>=.4?`moderate`:Math.abs(t)>=.2?`weak`:`no`,i=r===`no`?`no clear correlation`:`a ${r} ${t>0?`positive`:`negative`} correlation (r ${t.toFixed(2)})`;return`${e.length} points in ${d.length} series with ${i} between x and y.`}if(f===`candlestick`||f===`ohlc`){let e=d.find(e=>e.ohlc)??d[0],t=(e?.ohlc??[]).filter(e=>!!e);if(!e||!t.length)return`No data.`;let n=t[t.length-1],r=t.length>1?t[t.length-2]:null,a=Math.max(...t.map(e=>e.h)),o=Math.min(...t.map(e=>e.l)),s=r?`, ${n.c>=r.c?`up`:`down`} ${c(r.c,n.c)} on the session`:``;return`${e.label}: last close ${i(n.c)}${s}, ranging ${i(o)} to ${i(a)} over ${t.length} bars.`}if(f===`heatmap`){let e=null;for(let t of d)t.values.forEach((n,r)=>{a(n)&&(!e||n>e.v)&&(e={v:n,row:t.label,col:s[r]??String(r)})});if(!e)return`No data.`;let t=e;return`${d.length} rows by ${s.length} columns; the highest cell is ${i(t.v)} at ${t.row} and ${t.col}.`}if(f===`calendar`){let t=(e.calendarValues??[]).filter(e=>a(e.value));if(!t.length)return`No data.`;let n=t.reduce((e,t)=>t.value>e.value?t:e,t[0]),r=t.reduce((e,t)=>e+t.value,0);return`${t.length} days totalling ${i(r)}; the busiest is ${n.date} at ${i(n.value)}.`}if(f===`funnel`){let e=d[0],t=(e?.values??[]).filter(a);if(!e||t.length<2)return e&&t.length===1?`${s[0]??e.label}: ${i(t[0])}.`:`No data.`;let n=t[0],r=t[t.length-1],o=n?Math.round(r/n*100):0,c=0,l=``;for(let e=1;e<t.length;e+=1){let n=t[e-1]?1-t[e]/t[e-1]:0;n>c&&(c=n,l=s[e]??`step ${e+1}`)}return`${o}% of ${i(n)} at ${s[0]??`the top`} reach ${s[t.length-1]??`the bottom`}${l?`; the biggest drop is into ${l} (${Math.round(c*100)}% lost)`:``}.`}if(f===`boxplot`){let e=null;for(let t of d)for(let n of t.boxes??[]){if(!n)continue;let r=n.q3-n.q1;(!e||r>e.spread)&&(e={label:t.label,spread:r})}return e?`${d.length} distributions over ${s.length} categories; ${e.label} has the widest interquartile range at ${i(e.spread)}.`:`No data.`}if(f===`sankey`||f===`chord`){let t=e.sankeyLinks??[];if(!t.length)return`No data.`;let n=t.reduce((e,t)=>e+(a(t.value)?t.value:0),0),r=[...t].sort((e,t)=>t.value-e.value)[0];return`${t.length} flows totalling ${i(n)}; the largest is ${r.source} to ${r.target} at ${i(r.value)}.`}let t=d.filter(e=>e.values.some(a)||e.ohlc);if(!t.length)return`No data.`;let r=t.slice(0,o),p=r.map(e=>l(e,s,i)),m=t.length>r.length?` And ${t.length-r.length} more series.`:``;return`${p.join(` `)}${m}`}catch{return`No data.`}}export{i as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./cell-formatting-wr5wm7US.js";function t(e){let t=Math.abs(e);return t>=1e6?`${(e/1e6).toFixed(t%1e6?1:0)}M`:t>=1e3?`${(e/1e3).toFixed(t%1e3?1:0)}k`:String(Math.round(e*100)/100)}function n(n,r,i){if(!Number.isFinite(n))return``;if(i&&(i.locale||i.currency)){let t=r===`currency`?`currency`:r===`percent`?`percent`:`decimal`,a={notation:`compact`,maximumFractionDigits:1};return t===`currency`?(a.style=`currency`,a.currency=i.currency||`USD`):t===`percent`&&(a.style=`percent`),e(i.locale,a).format(n)}if(r===`currency`)return`${n<0?`-`:``}$${t(Math.abs(n))}`;if(r===`percent`){let e=n*100;return`${Math.round(e*10)/10}%`}return t(n)}function r(e){let t=0,n=0,r=0,i=0,a=0;for(let o=0;o<e.length;o+=1){let s=e[o];Number.isFinite(s)&&(t+=1,n+=o,r+=s,i+=o*o,a+=o*s)}if(t<2)return e.map(()=>NaN);let o=t*i-n*n;if(o===0)return e.map(()=>r/t);let s=(t*a-n*r)/o,c=(r-s*n)/t;return e.map((e,t)=>s*t+c)}function i(e,t){let n=0,r=0,i=0,a=Math.min(e.length,t.length);for(let o=0;o<a;o+=1)Number.isFinite(e[o])&&Number.isFinite(t[o])&&(n+=1,r+=e[o],i+=t[o]);if(n<2)return 0;let o=r/n,s=i/n,c=0,l=0,u=0;for(let n=0;n<a;n+=1){if(!Number.isFinite(e[n])||!Number.isFinite(t[n]))continue;let r=e[n]-o,i=t[n]-s;c+=r*i,l+=r*r,u+=i*i}return l===0||u===0?0:c/Math.sqrt(l*u)}export{n as i,i as n,t as r,r as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";var t=e({CHART_TYPES:()=>n,KNOWN_SERIES_KEYS:()=>i,KNOWN_SPEC_KEYS:()=>r,nearestKey:()=>u,validateChartSpec:()=>h,warnChartSpec:()=>m}),n=`bar.line.area.pie.scatter.heatmap.waterfall.funnel.radar.calendar.gauge.treemap.sankey.candlestick.ohlc.boxplot.histogram.range-bar.range-area.lollipop.dumbbell.pareto.stream.sunburst.radial-bar.radial-column.nightingale.chord.bullet`.split(`.`),r=`type.categories.series.width.height.palette.categoryColors.valueFormat.locale.currency.categoryGroups.stacked.stacked100.orientation.innerRadius.referenceLines.xType.yAxisTitle.y2AxisTitle.xAxisTitle.yScale.y2Scale.xAxis.yAxis.y2Axis.title.subtitle.caption.referenceBands.nullAs.decimate.dataLabels.annotations.seriesLabels.responsive.style.drawings.lastPriceLine.patternFallback.calendarValues.calendarStart.calendarEnd.gaugeValue.gaugeMin.gaugeMax.gaugeTarget.gaugeRanges.gaugeUnit.treemap.sankeyNodes.sankeyLinks.waterfallTotals.waterfallColors.candleColors.candleStyle.funnelShape.stackOffset.binEdges.tree.bulletRanges.colorScale`.split(`.`),i=`label.values.color.type.ohlc.volumes.boxes.errors.axis.points.rowIds.overlay.overlayColor.pattern.smooth.upperValues.lowerValues.marker.markers.colors.stack.strokeWidth.dash.opacity.visible.gradient.step.connectNulls.nullAs.lowValues.targets`.split(`.`),a=new Set([`bar`,`line`,`area`,`scatter`,`candlestick`,`ohlc`,`boxplot`,`range-bar`,`range-area`,`lollipop`,`dumbbell`]),o=[`values`,`rowIds`,`upperValues`,`lowerValues`,`ohlc`,`boxes`,`errors`,`markers`,`colors`,`lowValues`,`targets`,`volumes`],s=new Set([`scatter`,`gauge`,`treemap`,`sankey`,`calendar`,`sunburst`,`chord`,`histogram`]),c=/^(linear|exp|log|power|vwap|sma:\d+|ema:\d+|wma:\d+|bb:\d+:\d+(?:\.\d+)?|poly:\d+)$/;function l(e,t){let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r+=1){let i=n[0];n[0]=r;for(let a=1;a<=t.length;a+=1){let o=n[a];n[a]=Math.min(n[a]+1,n[a-1]+1,i+(e[r-1]===t[a-1]?0:1)),i=o}}return n[t.length]}function u(e,t){let n=null,r=1/0;for(let i of t){let t=l(e.toLowerCase(),i.toLowerCase());t<r&&(r=t,n=i)}return n!==null&&r<=Math.max(1,Math.floor(e.length/3))?n:null}var d=e=>typeof e==`object`&&!!e&&!Array.isArray(e),f=e=>typeof e==`number`,p=new WeakSet;function m(e,t=e=>console.warn(e)){if(typeof e!=`object`||!e||p.has(e))return[];p.add(e);let n=h(e);for(let e of n)t(`[SvChart] ${e.path?e.path+`: `:``}${e.message}`);return n}function h(e){let t=[],l=(e,n,r)=>t.push({code:`chart/${e}`,path:n,message:r,severity:`error`}),p=(e,n,r)=>t.push({code:`chart/${e}`,path:n,message:r,severity:`warning`});if(!d(e))return l(`not-an-object`,``,`a ChartSpec is an object with type, categories and series`),t;let m=e;for(let e of Object.keys(m)){if(r.includes(e))continue;let t=u(e,r);p(`unknown-key`,e,t?`unknown field "${e}"; did you mean "${t}"?`:`unknown field "${e}" is ignored`)}let h=m.type;if(typeof h!=`string`||!n.includes(h)){let e=typeof h==`string`?u(h,n):null;l(`unknown-type`,`type`,e?`unknown chart type "${String(h)}"; did you mean "${e}"?`:`unknown chart type "${String(h)}"`)}let g=Array.isArray(m.categories)?m.categories:null;g||l(`categories`,`categories`,`categories must be an array of labels`);let _=g?.length??0,v=Array.isArray(m.series)?m.series:null;v||l(`series`,`series`,`series must be an array`);let y=typeof h==`string`&&!s.has(h);v?.forEach((e,t)=>{let n=`series[${t}]`;if(!d(e)){l(`series-shape`,n,`a series is an object with label and values`);return}for(let t of Object.keys(e)){if(i.includes(t))continue;let e=u(t,i);p(`unknown-series-key`,`${n}.${t}`,e?`unknown series field "${t}"; did you mean "${e}"?`:`unknown series field "${t}" is ignored`)}if(typeof e.label!=`string`&&p(`series-label`,`${n}.label`,`a series wants a string label; the legend and tooltip name it`),!Array.isArray(e.values)){l(`series-values`,`${n}.values`,`values must be an array of numbers`);return}let r=e.values;y&&g&&r.length!==_&&!(e.points&&r.length===0)&&l(`series-length`,`${n}.values`,`${r.length} values for ${_} categories; they run in parallel`);for(let t of o){if(t===`values`)continue;let i=e[t];if(i!==void 0){if(!Array.isArray(i)){l(`series-array`,`${n}.${t}`,`${t} must be an array parallel to values`);continue}y&&i.length!==r.length&&l(`series-length`,`${n}.${t}`,`${t} has ${i.length} entries for ${r.length} values; they run in parallel`)}}if(e.type!==void 0&&(typeof e.type!=`string`||!a.has(e.type))&&l(`series-type`,`${n}.type`,`unknown series type "${String(e.type)}"`),e.axis!==void 0&&e.axis!==`left`&&e.axis!==`right`&&l(`series-axis`,`${n}.axis`,`axis is 'left' or 'right', not "${String(e.axis)}"`),e.stack!==void 0){let t=e.type??h;t!==`bar`&&t!==`area`&&p(`stack-kind`,`${n}.stack`,`stack groups apply to bar and area series; ignored here`)}e.overlay!==void 0&&(typeof e.overlay!=`string`||!c.test(e.overlay))&&l(`overlay`,`${n}.overlay`,`unknown overlay "${String(e.overlay)}"; expected linear, poly:N, exp, log, power, sma:N, ema:N, wma:N, bb:N:K or vwap`),Array.isArray(e.ohlc)&&e.ohlc.forEach((e,t)=>{e!=null&&(!d(e)||!f(e.o)||!f(e.h)||!f(e.l)||!f(e.c)?l(`ohlc-shape`,`${n}.ohlc[${t}]`,`an OHLC bar is { o, h, l, c } or null`):e.l>e.h&&l(`ohlc-range`,`${n}.ohlc[${t}]`,`low ${e.l} is above high ${e.h}`))}),Array.isArray(e.boxes)&&e.boxes.forEach((e,t)=>{e!=null&&(!d(e)||!f(e.min)||!f(e.q1)||!f(e.median)||!f(e.q3)||!f(e.max)?l(`box-shape`,`${n}.boxes[${t}]`,`a box is { min, q1, median, q3, max } or null`):(e.q1>e.median||e.median>e.q3)&&l(`box-order`,`${n}.boxes[${t}]`,`a box wants q1 <= median <= q3`))}),Array.isArray(e.points)&&e.points.forEach((e,t)=>{(!d(e)||!f(e.x)||!f(e.y))&&l(`point-shape`,`${n}.points[${t}]`,`a scatter point is { x, y, r?, label? }`)})});for(let e of[`xAxis`,`yAxis`,`y2Axis`]){let t=m[e];if(t!==void 0){if(!d(t)){l(`axis-shape`,e,`${e} must be an object`);continue}f(t.min)&&f(t.max)&&t.min>=t.max&&l(`axis-range`,`${e}.min`,`min ${t.min} is not below max ${t.max}`),t.scale===`log`&&f(t.min)&&t.min<=0&&l(`axis-log-min`,`${e}.min`,`a log axis cannot start at or below zero`),t.scale===`log`&&e===`xAxis`&&t.type!==void 0&&t.type!==`number`&&p(`axis-log-x`,`${e}.scale`,`a log x axis needs type: 'number'`),t.tickCount!==void 0&&(!f(t.tickCount)||t.tickCount<=0)&&l(`axis-ticks`,`${e}.tickCount`,`tickCount must be a positive number`),t.labelRotation!==void 0&&t.labelRotation!==`auto`&&!f(t.labelRotation)&&l(`axis-rotation`,`${e}.labelRotation`,`labelRotation is a number of degrees or 'auto'`),t.scale!==void 0&&t.scale!==`linear`&&t.scale!==`log`&&l(`axis-scale`,`${e}.scale`,`scale is 'linear' or 'log', not "${String(t.scale)}"`)}}if(m.stacked100&&typeof h==`string`&&h!==`bar`&&h!==`area`&&p(`stacked100-kind`,`stacked100`,`stacked100 applies to bar and area charts; ignored here`),m.innerRadius!==void 0&&(!f(m.innerRadius)||m.innerRadius<0||m.innerRadius>1)&&l(`inner-radius`,`innerRadius`,`innerRadius is a fraction 0..1 of the pie radius`),Array.isArray(m.categoryGroups)&&g){let e=m.categoryGroups.reduce((e,t)=>e+(d(t)&&f(t.span)?t.span:0),0);e!==_&&l(`category-groups`,`categoryGroups`,`the group spans add up to ${e}, not the ${_} categories`)}if(Array.isArray(m.binEdges)&&g&&m.binEdges.length!==_+1&&l(`bin-edges`,`binEdges`,`binEdges wants ${_+1} edges for ${_} bins`),Array.isArray(m.waterfallTotals)&&g&&m.waterfallTotals.length!==_&&l(`waterfall-totals`,`waterfallTotals`,`waterfallTotals has ${m.waterfallTotals.length} flags for ${_} categories`),Array.isArray(m.responsive)&&m.responsive.forEach((e,t)=>{let n=`responsive[${t}]`;if(!d(e)){l(`responsive-shape`,n,`a rule is { maxWidth?, minWidth?, maxHeight?, spec?, legend? }`);return}if(!f(e.maxWidth)&&!f(e.minWidth)&&!f(e.maxHeight)&&p(`responsive-size`,n,`a rule with no maxWidth, minWidth or maxHeight always applies`),d(e.spec))for(let t of[`width`,`height`,`responsive`])t in e.spec&&p(`responsive-size-key`,`${n}.spec.${t}`,`${t} in a responsive rule is ignored; a rule cannot change the size`)}),g&&typeof h==`string`&&!s.has(h)){let e=new Set(g.map(String)),t=m.xType??(d(m.xAxis)?m.xAxis.type:void 0),n=t===`time`||t===`number`,r=(t,r,i)=>{!Array.isArray(t)||n||t.forEach((t,n)=>{if(!d(t))return;let a=i(t);typeof a==`string`&&!e.has(a)&&p(`unknown-category`,`${r}[${n}]`,`"${a}" is not one of the categories, so it has no place on the axis`)})};r(m.annotations,`annotations`,e=>d(e.at)?e.at.category:void 0),r(Array.isArray(m.referenceLines)?m.referenceLines.filter(e=>d(e)&&e.axis===`x`):[],`referenceLines`,e=>e.value),Array.isArray(m.drawings)&&!n&&m.drawings.forEach((t,n)=>{!d(t)||!Array.isArray(t.points)||t.points.forEach((t,r)=>{d(t)&&typeof t.x==`string`&&!e.has(t.x)&&p(`unknown-category`,`drawings[${n}].points[${r}].x`,`"${t.x}" is not one of the categories`)})})}return t}export{t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";var t=e({columnResize:()=>r}),n=`sv-grid-resize-handle`;function r(e,t){let r=t,i=null,a=null,o=0,s=()=>r.min??40;function c(e){return e.closest(`[data-svgrid-header-col]`)?.dataset.svgridHeaderCol??null}function l(){i&&r.onResize(i.columnId,o)}function u(e){i&&(o=Math.max(s(),i.startWidth+(e.clientX-i.startX)),a===null&&(a=requestAnimationFrame(()=>{a=null,l()})))}function d(e){if(i){a!==null&&(cancelAnimationFrame(a),a=null),o=Math.max(s(),i.startWidth+(e.clientX-i.startX)),l(),r.onResizeEnd?.(i.columnId,o,i.startWidth),i.handle.classList.remove(`is-resizing`),m(i.handle,i.columnId);try{i.handle.releasePointerCapture(e.pointerId)}catch{}i=null,window.removeEventListener(`pointermove`,u),window.removeEventListener(`pointerup`,d),window.removeEventListener(`pointercancel`,d),document.body.style.cursor=``}}function f(e){if(r.disabled)return;let t=e.target;if(!t?.classList.contains(n))return;let a=c(t);if(!(!a||r.canResize?.(a)===!1)){e.preventDefault(),e.stopPropagation(),t.classList.add(`is-resizing`),o=r.getWidth(a),i={columnId:a,startX:e.clientX,startWidth:o,handle:t};try{t.setPointerCapture(e.pointerId)}catch{}document.body.style.cursor=`col-resize`,window.addEventListener(`pointermove`,u),window.addEventListener(`pointerup`,d),window.addEventListener(`pointercancel`,d)}}function p(e){if(r.disabled)return;let t=e.target;if(!t?.classList.contains(n))return;let i=e.shiftKey?1:10,a=0;if(e.key===`ArrowLeft`)a=-i;else if(e.key===`ArrowRight`)a=i;else return;let o=c(t);if(!o||r.canResize?.(o)===!1)return;e.preventDefault(),e.stopPropagation();let l=r.getWidth(o),u=Math.max(s(),Math.round(l+a));r.onResize(o,u),r.onResizeEnd?.(o,u,l),m(t,o)}function m(e,t){let n=Math.round(r.getWidth(t));e.setAttribute(`aria-valuenow`,String(n)),e.setAttribute(`aria-valuemin`,String(s())),e.setAttribute(`aria-valuetext`,`${n} pixels`)}function h(){if(r.disabled){g();return}let t=e.querySelectorAll(`th.sv-grid-column[data-svgrid-header-col]`);for(let e of t){if(e.classList.contains(`sv-grid-column-spacer`))continue;let t=e.dataset.svgridHeaderCol;if(!t)continue;if(r.canResize?.(t)===!1){e.querySelector(`:scope > .${n}`)?.remove();continue}if(e.querySelector(`:scope > .${n}`))continue;let i=document.createElement(`div`);i.className=n,i.setAttribute(`role`,`separator`),i.setAttribute(`aria-orientation`,`vertical`),i.setAttribute(`aria-label`,`Resize ${r.label?.(t)??t}`),i.tabIndex=0,m(i,t),i.addEventListener(`dblclick`,e=>{e.stopPropagation(),e.preventDefault(),!r.disabled&&(r.onAutosize?.(t),m(i,t))}),e.appendChild(i)}}function g(){e.querySelectorAll(`.${n}`).forEach(e=>e.remove())}e.addEventListener(`pointerdown`,f,{capture:!0}),e.addEventListener(`keydown`,p,{capture:!0});let _=new MutationObserver(()=>h());return _.observe(e,{childList:!0,subtree:!0}),h(),{update(e){let t=r.disabled;r=e,t!==r.disabled&&h()},destroy(){e.removeEventListener(`pointerdown`,f,{capture:!0}),e.removeEventListener(`keydown`,p,{capture:!0}),window.removeEventListener(`pointermove`,u),window.removeEventListener(`pointerup`,d),window.removeEventListener(`pointercancel`,d),a!==null&&cancelAnimationFrame(a),_.disconnect(),g()}}}export{t};
@@ -0,0 +1 @@
1
+ import{A as e,C as t,D as n,H as r,I as i,J as a,K as o,L as s,M as c,P as l,R as u,U as d,X as f,Z as p,at as m,b as h,ct as g,d as _,dt as v,f as y,g as b,it as x,k as S,l as C,lt as w,mt as T,o as ee,ot as E,p as D,pt as O,r as k,rt as A,st as j,vt as M,x as te}from"./disclose-version-CIm4S9xS.js";import{a as N,i as P,n as F,r as I}from"./editor-contract-Bpoa7A5g.js";function L(e){if(e==null)return null;let t=e instanceof Date?new Date(e.getTime()):new Date(e);return isNaN(t.getTime())?null:t}function R(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function z(e){return new Date(e.getFullYear(),e.getMonth(),1)}function B(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function V(e){return B(e).getDate()}function H(e,t=0){let n=R(e),r=(n.getDay()-t+7)%7;return n.setDate(n.getDate()-r),n}function U(e,t){return!e||!t?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function ne(e,t){return!e||!t?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()}function W(e,t){let n=R(e).getTime(),r=R(t).getTime();return n<r?-1:+(n>r)}function G(e,t){let n=new Date(e.getTime());return n.setDate(n.getDate()+t),n}function K(e,t){let n=e.getDate(),r=new Date(e.getFullYear(),e.getMonth()+t,1,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());return r.setDate(Math.min(n,V(r))),r}function re(e,t){return K(e,t*12)}function q(e,t,n){return t&&e.getTime()<t.getTime()?new Date(t.getTime()):n&&e.getTime()>n.getTime()?new Date(n.getTime()):e}function ie(e){let t=R(e),n=(t.getDay()+6)%7;t.setDate(t.getDate()-n+3);let r=new Date(t.getFullYear(),0,4),i=(r.getDay()+6)%7;r.setDate(r.getDate()-i+3);let a=t.getTime()-r.getTime();return 1+Math.round(a/6048e5)}function ae(e){let t=Math.floor(e/10)*10;return{start:t,end:t+9}}function oe(e,t=0,n=6){let r=z(e),i=H(r,t),a=[],o=i;for(let e=0;e<n;e++){let e=[],t=ie(o);for(let n=0;n<7;n++)e.push({date:o,inMonth:o.getMonth()===r.getMonth()&&o.getFullYear()===r.getFullYear(),week:t}),o=G(o,1);a.push(e)}return a}function se(e=0){return Array.from({length:7},(t,n)=>(e+n)%7)}function ce(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}function J(e,t){let n=Math.max(1,Math.floor(t));return Math.floor(e/n)*n}var Y=864e5,le=e=>Math.round(R(e).getTime()/Y),ue=e=>new Date(e.getFullYear(),e.getMonth()+1,0).getDate();function de(e,t){return t===-1?e.getDate()+7>ue(e):Math.floor((e.getDate()-1)/7)+1===t}function fe(e,t){let n=t.count&&t.count>=1&&t.from!=null?pe(t):t,r=R(e),i=n.from==null?null:R(L(n.from)??r),a=n.until==null?null:R(L(n.until)??r);if(i&&r<i||a&&r>a)return!1;let o=Math.max(1,Math.floor(n.interval??1));switch(n.freq){case`daily`:return!i||(le(r)-le(i))%o===0;case`weekly`:{let e=n.weekdays&&n.weekdays.length?n.weekdays:i?[i.getDay()]:null;return!(!e||!e.includes(r.getDay())||o>1&&i&&Math.round((H(r,0).getTime()-H(i,0).getTime())/(Y*7))%o!==0)}case`monthly`:return X(r,n)?!i||((r.getFullYear()-i.getFullYear())*12+(r.getMonth()-i.getMonth()))%o===0:!1;case`yearly`:return n.month!=null&&r.getMonth()!==n.month||!X(r,n)?!1:i?(r.getFullYear()-i.getFullYear())%o===0:n.month!=null||n.day!=null||n.weekOfMonth!=null}}function X(e,t){if(t.weekOfMonth!=null&&t.weekdays&&t.weekdays.length)return t.weekdays.includes(e.getDay())&&de(e,t.weekOfMonth);let n=t.from==null?null:(L(t.from)??e).getDate(),r=t.day??n;if(r==null)return!1;let i=r<0?ue(e)+r+1:r;return e.getDate()===i}function pe(e){let t=L(e.from);if(!t)return{...e,count:void 0};let n={...e,count:void 0},r=R(t),i=0,a=r,o=0;for(;o++<48e3&&!(fe(r,n)&&(i++,a=r,i>=e.count));)r=new Date(r.getFullYear(),r.getMonth(),r.getDate()+1);let s=a,c=e.until==null?null:R(L(e.until)??s),l=c&&c<s?c:s;return{...n,until:l}}function me(e,t){return t?(Array.isArray(t)?t:[t]).some(t=>fe(e,t)):!1}function Z(e,t,n){if(!e)return[];let r=(Array.isArray(e)?e:[e]).map(e=>e.count&&e.count>=1&&e.from!=null?pe(e):e),i=[],a=R(n),o=R(t),s=0;for(;o<=a&&s++<4e3;)me(o,r)&&i.push(o),o=new Date(o.getFullYear(),o.getMonth(),o.getDate()+1);return i}var he=u(`<span class="sv-field__req svelte-ohpt9l" aria-hidden="true">*</span>`),Q=u(`<label class="sv-field__label svelte-ohpt9l"> <!></label>`),ge=u(`<span class="sv-field__spinner svelte-ohpt9l" role="status" aria-label="Loading"></span>`),_e=u(`<span class="sv-field__labelrow svelte-ohpt9l"><!> <!></span>`),ve=u(`<span class="sv-field__req svelte-ohpt9l" aria-hidden="true">*</span>`),ye=u(`<label class="sv-field__float-label svelte-ohpt9l"> <!></label>`),be=u(`<span class="sv-field__adorn sv-field__adorn--lead svelte-ohpt9l"><!></span>`),xe=u(`<span class="sv-field__affix sv-field__affix--pre svelte-ohpt9l"> </span>`),Se=u(`<span class="sv-field__affix sv-field__affix--suf svelte-ohpt9l"> </span>`),Ce=u(`<span class="sv-field__adorn sv-field__adorn--trail svelte-ohpt9l"><!></span>`),we=u(`<span class="sv-field__action-txt svelte-ohpt9l"> </span>`),Te=u(`<button class="sv-field__action svelte-ohpt9l" type="button" tabindex="-1"><!></button>`),Ee=u(`<button class="sv-field__clear svelte-ohpt9l" type="button" tabindex="-1">&times;</button>`),De=u(`<div><!> <!> <!> <span class="sv-field__slot svelte-ohpt9l"><!></span> <!> <!> <!> <!></div>`),Oe=u(`<span class="sv-field__error svelte-ohpt9l" role="alert"> </span>`),ke=u(`<span class="sv-field__hint svelte-ohpt9l"> </span>`),Ae=u(`<div><!> <!> <!></div>`);function je(e,t){T(t,!0);let r=k(t,`required`,3,!1),a=k(t,`block`,3,!1),u=k(t,`loading`,3,!1),p=k(t,`frame`,3,!1),g=k(t,`invalid`,3,!1),_=k(t,`size`,3,`md`),y=k(t,`disabled`,3,!1),b=k(t,`readonly`,3,!1),C=k(t,`clearable`,3,!1),w=k(t,`showClear`,3,!1),ee=k(t,`clearLabel`,3,`Clear`),E=k(t,`labelMode`,3,`static`),j=k(t,`filled`,3,!1),N=v(()=>t.width==null?void 0:typeof t.width==`number`?`${t.width}px`:t.width),P=v(()=>E()===`floating`&&p()&&!!t.label),L=v(()=>t.dir===`ltr`||t.dir===`rtl`?t.dir:void 0);var R=Ae();let z;var B=A(R),V=e=>{var n=_e(),a=A(n),s=e=>{var n=Q(),a=A(n,!0),o=m(a),s=e=>{var t=he();i(e,t)};c(o,e=>{r()&&e(s)}),M(n),f(()=>{D(n,`for`,t.id),l(a,t.label)}),i(e,n)};c(a,e=>{t.label&&!o(P)&&e(s)});var d=m(a,2),p=e=>{var t=ge();i(e,t)};c(d,e=>{u()&&e(p)}),M(n),i(e,n)};c(B,e=>{(t.label&&!o(P)||u())&&e(V)});var H=m(B,2),U=e=>{var u=De();let p,v;var T=A(u),E=e=>{var n=ye(),a=A(n,!0),o=m(a),s=e=>{var t=ve();i(e,t)};c(o,e=>{r()&&e(s)}),M(n),f(()=>{D(n,`for`,t.id),l(a,t.label)}),i(e,n)};c(T,e=>{o(P)&&e(E)});var O=m(T,2),k=e=>{var r=be(),a=A(r);n(a,()=>t.leading),M(r),i(e,r)};c(O,e=>{t.leading&&e(k)});var F=m(O,2),I=e=>{var n=xe(),r=A(n,!0);M(n),f(()=>l(r,t.prefix)),i(e,n)};c(F,e=>{t.prefix&&e(I)});var L=m(F,2),R=A(L);n(R,()=>t.children),M(L);var z=m(L,2),B=e=>{var n=Se(),r=A(n,!0);M(n),f(()=>l(r,t.suffix)),i(e,n)};c(z,e=>{t.suffix&&e(B)});var V=m(z,2),H=e=>{var r=Ce(),a=A(r);n(a,()=>t.trailing),M(r),i(e,r)};c(V,e=>{t.trailing&&e(H)});var U=m(V,2),ne=e=>{var r=s(),a=x(r);S(a,17,()=>t.actions,e=>e.label,(e,t)=>{var r=Te(),a=A(r),u=e=>{var r=s(),a=x(r);n(a,()=>o(t).icon),i(e,r)},p=e=>{var n=we(),r=A(n,!0);M(n),f(()=>l(r,o(t).label)),i(e,n)};c(a,e=>{o(t).icon?e(u):e(p,-1)}),M(r),f(()=>{D(r,`aria-label`,o(t).label),D(r,`title`,o(t).label),r.disabled=y()||o(t).disabled}),d(`click`,r,()=>o(t).onClick()),i(e,r)}),i(e,r)};c(U,e=>{t.actions?.length&&e(ne)});var W=m(U,2),G=e=>{var n=Ee();f(()=>D(n,`aria-label`,ee())),d(`click`,n,()=>t.onclear?.()),i(e,n)};c(W,e=>{C()&&w()&&!y()&&!b()&&e(G)}),M(u),f(()=>{p=te(u,1,`sv-field__control sv-field--${_()??``}`,`svelte-ohpt9l`,p,{"is-invalid":g(),"is-disabled":y(),"is-readonly":b(),"is-filled":j()}),v=h(u,``,v,{width:a()?void 0:o(N)})}),i(e,u)},ne=e=>{var r=s(),a=x(r);n(a,()=>t.children),i(e,r)};c(H,e=>{p()?e(U):e(ne,-1)});var W=m(H,2),G=e=>{var n=Oe(),r=A(n,!0);M(n),f(e=>{D(n,`id`,e),l(r,t.error)},[()=>F(t.id)]),i(e,n)},K=e=>{var n=ke(),r=A(n,!0);M(n),f(e=>{D(n,`id`,e),l(r,t.hint)},[()=>I(t.id)]),i(e,n)};c(W,e=>{t.error?e(G):t.hint&&e(K,1)}),M(R),f(()=>{z=te(R,1,`sv-field svelte-ohpt9l`,null,z,{"sv-field--block":a(),"sv-field--floating":o(P)}),D(R,`dir`,o(L)),R.dir=R.dir}),i(e,R),O()}r([`click`]);var Me=()=>({dates:[],anchor:null,rangeStart:null});function Ne(e,t){return e.some(e=>U(e,t))}function Pe(e,t){let n=W(e,t)<=0?R(e):R(t),r=W(e,t)<=0?R(t):R(e),i=[],a=n;for(;W(a,r)<=0;)i.push(a),a=G(a,1);return i}function Fe(e){let t=[];for(let n of e)t.some(e=>U(e,n))||t.push(R(n));return t.sort((e,t)=>e.getTime()-t.getTime()),t}function Ie(e,t){return Ne(e,t)?e.filter(e=>!U(e,t)):[...e,R(t)]}function Le(e,t,n,r={},i=0){let a=R(t),o=()=>({dates:[a],anchor:a,rangeStart:null});switch(n){case`none`:return{...e};case`default`:case`one`:return o();case`zeroOrOne`:return Ne(e.dates,a)&&e.dates.length===1?Me():o();case`many`:case`zeroOrMany`:return{dates:Fe(Ie(e.dates,a)),anchor:a,rangeStart:null};case`oneOrMany`:{let t=Ie(e.dates,a);return{dates:Fe(t.length===0?[a]:t),anchor:a,rangeStart:null}}case`oneExtended`:return r.shift&&e.anchor?{dates:Pe(e.anchor,a),anchor:e.anchor,rangeStart:null}:r.ctrl?{dates:Fe(Ie(e.dates,a)),anchor:a,rangeStart:null}:o();case`week`:{let e=H(a,i);return{dates:Array.from({length:7},(t,n)=>G(e,n)),anchor:e,rangeStart:null}}case`range`:return e.rangeStart?{dates:Pe(e.rangeStart,a),anchor:e.rangeStart,rangeStart:null}:{dates:[a],anchor:a,rangeStart:a};default:return o()}}function Re(e){if(!e)return[];let t=[];for(let n of e){let e=L(n);e&&t.push(e)}return t}function ze(e,t,n){let r=L(t??null),i=L(n??null);return!!(r&&W(e,r)<0||i&&W(e,i)>0)}function Be(e,t){return t?typeof t==`function`?t(e):Re(t).some(t=>U(t,e)):!1}function Ve(e,t){return ze(e,t.min,t.max)||Be(e,t.restrictedDates)}function He(e,t){return t?typeof t==`function`?t(e):Re(t).some(t=>U(t,e)):!1}var Ue=()=>typeof navigator<`u`?navigator.language:`en-US`;function We(e){if(e==null)return[];let t=Array.isArray(e)?e:[e],n=[];for(let e of t){let t=L(e);t&&n.push(R(t))}return n}function Ge(e){let t=()=>e.selectionMode?.()??`one`,n=()=>e.firstDayOfWeek?.()??0,r=()=>e.weeks?.()??6,i=()=>Math.max(1,e.months?.()??1),a=()=>e.displayMode?.()??`month`,s=()=>e.disabled?.()??!1,c=()=>e.readonly?.()??!1,l=()=>e.locale?.()??Ue(),u=()=>e.dayNameFormat?.()??`short`,d=()=>e.monthNameFormat?.()??`long`,f=g(E(Me())),m=g(E(R(new Date))),h=g(`month`),_=g(E(R(new Date))),y=g(null),b=`fade`,x=g(0),S=v(()=>({min:e.min?.()??null,max:e.max?.()??null,restrictedDates:e.restrictedDates?.()??null})),C=v(()=>!s()&&!c()),T=`￿`,ee=!1;p(()=>{let t=We(e.value()),n=t.map(e=>e.getTime()).join(`,`);if(n!==T&&(T=n,j(f,{dates:t,anchor:t[t.length-1]??null,rangeStart:null},!0),!ee)){ee=!0;let e=t[0]??R(new Date);j(m,R(e),!0),j(_,R(e),!0),j(h,a(),!0)}});let D=v(()=>new Intl.DateTimeFormat(l(),{weekday:u()})),O=v(()=>new Intl.DateTimeFormat(l(),{month:d(),year:`numeric`})),k=v(()=>new Intl.DateTimeFormat(l(),{month:`short`})),A=v(()=>new Intl.DateTimeFormat(l(),{weekday:`long`,year:`numeric`,month:`long`,day:`numeric`})),M=v(()=>se(n()).map(e=>{let t=new Date(2021,7,1+e);return{label:o(D).format(t),weekday:e}})),te=v(()=>Array.from({length:i()},(e,t)=>{let i=K(o(m),t);return{month:i,title:o(O).format(i),matrix:oe(i,n(),r())}})),N=v(()=>{if(t()!==`range`)return null;let e=o(f).rangeStart;return!e||!o(y)?null:Pe(e,o(y))}),P=e=>!!o(N)&&o(N).some(t=>U(t,e));function F(t,n){return{disabled:Ve(t,o(S)),selected:Ne(o(f).dates,t),important:He(t,e.importantDates?.()??null),today:U(t,new Date),outside:!ne(t,n),focused:U(t,o(_)),preview:P(t),recurring:me(t,e.recurrence?.()??null)}}let I=v(()=>o(h)===`month`?o(O).format(o(m)):o(h)===`year`?String(o(m).getFullYear()):(()=>{let{start:e,end:t}=ae(o(m).getFullYear());return`${e} - ${t}`})()),z=v(()=>Array.from({length:12},(e,t)=>({index:t,label:o(k).format(new Date(o(m).getFullYear(),t,1)),current:t===new Date().getMonth()&&o(m).getFullYear()===new Date().getFullYear(),selected:o(f).dates.some(e=>e.getMonth()===t&&e.getFullYear()===o(m).getFullYear())}))),B=v(()=>{let{start:e}=ae(o(m).getFullYear());return Array.from({length:12},(t,n)=>{let r=e-1+n;return{year:r,outside:n===0||n===11,current:r===new Date().getFullYear(),selected:o(f).dates.some(e=>e.getFullYear()===r)}})}),V=v(()=>t()===`zeroOrOne`||t()===`zeroOrMany`||t()===`none`);function H(t){j(f,t,!0),T=t.dates.map(e=>e.getTime()).join(`,`),e.onChange?.(t.dates.map(e=>new Date(e.getTime())))}function W(e,r){!o(C)||Ve(e,o(S))||(j(_,R(e),!0),H(Le(o(f),e,t(),{ctrl:r?.ctrlKey||r?.metaKey,shift:r?.shiftKey},n())))}function q(t,n=o(h)){j(m,R(t),!0),j(h,n,!0),w(x),e.onNavigate?.(o(m),o(h))}function ie(){b=`drillUp`,o(h)===`month`?q(o(m),`year`):o(h)===`year`&&q(o(m),`decade`)}function ce(e){b=e===1?`next`:`prev`,o(h)===`month`?q(K(o(m),e)):o(h)===`year`?q(re(o(m),e)):q(re(o(m),e*10))}function J(e){b=`drillDown`,q(new Date(o(m).getFullYear(),e,1),`month`),j(_,new Date(o(m).getFullYear(),e,Math.min(o(_).getDate(),28)),!0)}function Y(e){b=`drillDown`,q(new Date(e,o(m).getMonth(),1),`year`)}function le(){b=`fade`;let e=new Date;q(e,`month`),j(_,R(e),!0),o(C)&&W(e)}let ue=e=>new Date(e.getFullYear(),e.getMonth(),1);function de(e){if(!o(C))return;let t=typeof e.value==`function`?e.value():e.value,n=Array.isArray(t),r=n?t:[t,t],i=L(r[0]),a=L(r[1]);i&&(j(_,R(i),!0),b=`fade`,j(m,ue(i),!0),w(x),H(n&&a?{dates:Pe(i,a),anchor:R(a),rangeStart:null}:{dates:[R(i)],anchor:R(i),rangeStart:null}))}function fe(){o(C)&&H(Me())}let X=e=>j(y,e,!0);function pe(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o(h)===`year`?J(o(_).getMonth()):Y(o(_).getFullYear()))}function Z(e){if(o(h)!==`month`)return pe(e);let t=null;switch(e.key){case`ArrowLeft`:t=G(o(_),-1);break;case`ArrowRight`:t=G(o(_),1);break;case`ArrowUp`:t=G(o(_),-7);break;case`ArrowDown`:t=G(o(_),7);break;case`Home`:t=G(o(_),-((o(_).getDay()-n()+7)%7));break;case`End`:t=G(o(_),6-(o(_).getDay()-n()+7)%7);break;case`PageUp`:t=e.shiftKey?re(o(_),-1):K(o(_),-1);break;case`PageDown`:t=e.shiftKey?re(o(_),1):K(o(_),1);break;case`Enter`:case` `:e.preventDefault(),W(o(_),e);return;default:return}t&&(e.preventDefault(),j(_,R(t),!0),ne(o(_),o(m))||q(o(_),`month`))}return{get view(){return o(m)},get mode(){return o(h)},get title(){return o(I)},get panels(){return o(te)},get weekdayHeaders(){return o(M)},get yearCells(){return o(z)},get decadeCells(){return o(B)},get selectedDates(){return o(f).dates},get previewRange(){return o(N)},get focusDate(){return o(_)},get hoverDate(){return o(y)},get canClear(){return o(V)},get isInteractive(){return o(C)},get navToken(){return o(x)},get navDir(){return b},dayState:F,inPreview:P,formatFullDate:e=>o(A).format(e),formatMonthTitle:e=>o(O).format(e),pickDay:W,step:ce,drillUp:ie,pickMonth:J,pickYear:Y,goToday:le,applyPreset:de,clearSelection:fe,setHover:X,onKeydown:Z,navProps(e){return{type:`button`,disabled:s(),"aria-label":e===1?`Next`:`Previous`,onclick:()=>ce(e)}},titleProps(){return{type:`button`,disabled:s()||o(h)===`decade`,"aria-live":`polite`,onclick:ie}},gridProps(){return{role:`grid`,"aria-label":o(I),tabindex:-1,onkeydown:Z}},dayProps(t,n){let r=F(t.date,n);return{type:`button`,role:`gridcell`,"aria-selected":r.selected,"aria-disabled":r.disabled,"aria-current":r.today?`date`:void 0,"aria-label":o(A).format(t.date),title:e.dateTooltip?.()?.(t.date)??void 0,tabindex:r.focused?0:-1,disabled:r.disabled||s(),onclick:e=>W(t.date,e),onpointerenter:()=>X(t.date),onpointerleave:()=>X(null)}},monthCellProps(e){return{type:`button`,disabled:s(),onclick:()=>J(e)}},yearCellProps(e){return{type:`button`,disabled:s(),onclick:()=>Y(e)}},presetProps(e){return{type:`button`,disabled:!o(C),onclick:()=>de(e)}}}}var Ke=u(`<button> </button>`),qe=u(`<div class="sv-cal__presets svelte-1ealvsr" role="group"></div>`),Je=u(`<div class="sv-cal__panel-title svelte-1ealvsr"> </div>`),Ye=u(`<span class="sv-cal__wk-head svelte-1ealvsr" aria-hidden="true">#</span>`),Xe=u(`<span class="sv-cal__weekday svelte-1ealvsr" role="columnheader"> </span>`),Ze=u(`<div class="sv-cal__weekdays svelte-1ealvsr" role="row"><!> <!></div>`),Qe=u(`<span class="sv-cal__wk svelte-1ealvsr" aria-hidden="true"> </span>`),$e=u(`<span class="sv-cal__day sv-cal__day--empty svelte-1ealvsr" role="gridcell" aria-hidden="true"></span>`),et=u(`<span class="sv-cal__daybody svelte-1ealvsr"><!></span>`),tt=u(`<button><span class="sv-cal__daynum svelte-1ealvsr"> </span><!></button>`),nt=u(`<div class="sv-cal__week svelte-1ealvsr" role="row"><!> <!></div>`),rt=u(`<div class="sv-cal__panel"><!> <!> <!></div>`),it=u(`<div></div>`),at=u(`<button> </button>`),ot=u(`<div></div>`),st=u(`<button> </button>`),ct=u(`<div></div>`),lt=u(`<button type="button" class="sv-cal__foot-btn svelte-1ealvsr"> </button>`),ut=u(`<div class="sv-cal__footer svelte-1ealvsr"><button type="button" class="sv-cal__foot-btn svelte-1ealvsr"> </button> <!></div>`),dt=u(`<input type="hidden"/>`),ft=u(`<div role="group"><!> <div class="sv-cal__main svelte-1ealvsr"><div class="sv-cal__header svelte-1ealvsr"><button><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ealvsr"><path d="M15 18l-6-6 6-6"></path></svg></button> <button> </button> <button><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ealvsr"><path d="M9 18l6-6-6-6"></path></svg></button></div> <div class="sv-cal__view svelte-1ealvsr"><!></div> <!></div> <!></div>`);function pt(r,u){T(u,!0);let h=r=>{var a=ft();let p;var h=A(a),g=t=>{var n=qe();S(n,21,()=>u.presets,e,(e,t)=>{var n=Ke();_(n,e=>({class:`sv-cal__preset`,...e}),[()=>Z.presetProps(o(t))],void 0,void 0,`svelte-1ealvsr`);var r=A(n,!0);M(n),f(()=>l(r,o(t).label)),i(e,n)}),M(n),f(()=>D(n,`aria-label`,o(X).shortcuts)),i(t,n)};c(h,e=>{u.presets&&u.presets.length&&e(g)});var w=m(h,2),T=A(w),E=A(T);_(E,e=>({class:`sv-cal__nav`,...e}),[()=>Z.navProps(-1)],void 0,void 0,`svelte-1ealvsr`);var O=m(E,2);_(O,e=>({class:`sv-cal__title`,...e}),[()=>Z.titleProps()],void 0,void 0,`svelte-1ealvsr`);var k=A(O,!0);M(O);var N=m(O,2);_(N,e=>({class:`sv-cal__nav`,...e}),[()=>Z.navProps(1)],void 0,void 0,`svelte-1ealvsr`),M(T);var P=m(T,2),I=A(P),L=t=>{var r=it();_(r,e=>({class:`sv-cal__panels`,...e}),[()=>Z.gridProps()],void 0,void 0,`svelte-1ealvsr`),S(r,21,()=>Z.panels,e=>e.month.getTime(),(t,r)=>{var a=rt(),d=A(a),p=e=>{var t=Je(),n=A(t,!0);M(t),f(()=>l(n,o(r).title)),i(e,t)};c(d,e=>{U()>1&&e(p)});var h=m(d,2),g=e=>{var t=Ze(),n=A(t),r=e=>{var t=Ye();i(e,t)};c(n,e=>{H()&&e(r)});var a=m(n,2);S(a,17,()=>Z.weekdayHeaders,e=>e.weekday,(e,t)=>{var n=Xe(),r=A(n,!0);M(n),f(()=>l(r,o(t).label)),i(e,n)}),M(t),i(e,t)};c(h,e=>{ne()||e(g)});var y=m(h,2);S(y,17,()=>o(r).matrix,e,(e,t)=>{var a=nt(),d=A(a),p=e=>{var n=Qe(),r=A(n,!0);M(n),f(()=>l(r,o(t)[0]?.week)),i(e,n)};c(d,e=>{H()&&e(p)});var h=m(d,2);S(h,17,()=>o(t),e=>e.date.getTime(),(e,t)=>{let a=v(()=>Z.dayState(o(t).date,o(r).month));var d=s(),p=x(d),h=e=>{var t=$e();i(e,t)},g=e=>{var s=tt();_(s,e=>({class:`sv-cal__day`,...e,[C]:{"is-selected":o(a).selected,"is-today":o(a).today,"is-outside":o(a).outside,"is-important":o(a).important,"is-preview":o(a).preview,"is-focused":o(a).focused,"is-recurring":o(a).recurring}}),[()=>Z.dayProps(o(t),o(r).month)],void 0,void 0,`svelte-1ealvsr`);var d=A(s),p=A(d,!0);M(d);var h=m(d),g=e=>{var r=et(),s=A(r);n(s,()=>u.day,()=>o(t).date,()=>o(a)),M(r),i(e,r)};c(h,e=>{u.day&&e(g)}),M(s),f(e=>l(p,e),[()=>o(t).date.getDate()]),i(e,s)};c(p,e=>{o(a).outside&&o(me)?e(h):e(g,-1)}),i(e,d)}),M(a),i(e,a)}),M(a),i(t,a)}),M(r),i(t,r)},R=e=>{var t=ot();_(t,e=>({class:`sv-cal__grid-mode`,...e}),[()=>Z.gridProps()],void 0,void 0,`svelte-1ealvsr`),S(t,21,()=>Z.yearCells,e=>e.index,(e,t)=>{var n=at();_(n,e=>({class:`sv-cal__cell`,...e,[C]:{"is-today":o(t).current,"is-selected":o(t).selected}}),[()=>Z.monthCellProps(o(t).index)],void 0,void 0,`svelte-1ealvsr`);var r=A(n,!0);M(n),f(()=>l(r,o(t).label)),i(e,n)}),M(t),i(e,t)},z=e=>{var t=ct();_(t,e=>({class:`sv-cal__grid-mode`,...e}),[()=>Z.gridProps()],void 0,void 0,`svelte-1ealvsr`),S(t,21,()=>Z.decadeCells,e=>e.year,(e,t)=>{var n=st();_(n,e=>({class:`sv-cal__cell`,...e,[C]:{"is-outside":o(t).outside,"is-today":o(t).current,"is-selected":o(t).selected}}),[()=>Z.yearCellProps(o(t).year)],void 0,void 0,`svelte-1ealvsr`);var r=A(n,!0);M(n),f(()=>l(r,o(t).year)),i(e,n)}),M(t),i(e,t)};c(I,e=>{Z.mode===`month`?e(L):Z.mode===`year`?e(R,1):e(z,-1)}),M(P),ee(P,e=>j(Q,e),()=>o(Q));var B=m(P,2),V=e=>{var t=ut(),n=A(t),r=A(n,!0);M(n);var a=m(n,2),s=e=>{var t=lt(),n=A(t,!0);M(t),f(()=>{t.disabled=q(),l(n,o(X).clear)}),d(`click`,t,function(...e){Z.clearSelection?.apply(this,e)}),i(e,t)};c(a,e=>{Z.canClear&&e(s)}),M(t),f(()=>{n.disabled=q(),l(r,o(X).today)}),d(`click`,n,function(...e){Z.goToday?.apply(this,e)}),i(e,t)};c(B,e=>{re()&&e(V)}),M(w),t(w,e=>ve?.(e));var W=m(w,2),G=e=>{var t=dt();y(t),f(e=>{D(t,`name`,u.name),b(t,e)},[()=>Z.selectedDates.map(e=>e.toISOString()).join(`,`)]),i(e,t)};c(W,e=>{u.name&&e(G)}),M(a),f(()=>{p=te(a,1,`sv-cal svelte-1ealvsr`,null,p,{"sv-cal--disabled":q(),"sv-cal--invalid":le(),"sv-cal--with-presets":u.presets&&u.presets.length,"sv-cal--band":F()===`range`||F()===`week`,"sv-cal--rich":!!u.day}),D(a,`id`,o(de)),D(a,`aria-label`,u.label??o(X).label),D(a,`aria-disabled`,q()),D(a,`dir`,o(pe)),l(k,Z.title),a.dir=a.dir}),i(r,a)},w={label:`Calendar`,shortcuts:`Shortcuts`,today:`Today`,clear:`Clear`,prev:`Previous`,next:`Next`},E=k(u,`value`,3,null),F=k(u,`selectionMode`,3,`one`),I=k(u,`min`,3,null),L=k(u,`max`,3,null),R=k(u,`restrictedDates`,3,null),z=k(u,`importantDates`,3,null),B=k(u,`firstDayOfWeek`,3,0),V=k(u,`weeks`,3,6),H=k(u,`weekNumbers`,3,!1),U=k(u,`months`,3,1),ne=k(u,`hideDayNames`,3,!1),W=k(u,`hideOtherMonthDays`,3,!1),G=k(u,`dayNameFormat`,3,`short`),K=k(u,`monthNameFormat`,3,`long`),re=k(u,`footer`,3,!1),q=k(u,`disabled`,3,!1),ie=k(u,`readonly`,3,!1),ae=k(u,`locale`,19,()=>typeof navigator<`u`?navigator.language:`en-US`),oe=k(u,`displayMode`,3,`month`),se=k(u,`animate`,3,!1),ce=k(u,`wheelNavigation`,3,!1),J=k(u,`recurrence`,3,null),Y=k(u,`required`,3,!1),le=k(u,`invalid`,3,!1),ue=P(`sv-cal`),de=v(()=>u.id??ue),fe=v(()=>!!(u.label||u.hint||u.error)),X=v(()=>N(w,u.messages)),pe=v(()=>u.dir===`ltr`||u.dir===`rtl`?u.dir:void 0),me=v(()=>W()||U()>1),Z=Ge({value:()=>E(),onChange:e=>u.onChange?.(e),onNavigate:(e,t)=>u.onNavigate?.(e,t),selectionMode:()=>F(),min:()=>I(),max:()=>L(),restrictedDates:()=>R(),importantDates:()=>z(),firstDayOfWeek:()=>B(),weeks:()=>V(),months:()=>U(),displayMode:()=>oe(),disabled:()=>q(),readonly:()=>ie(),locale:()=>ae(),dayNameFormat:()=>G(),monthNameFormat:()=>K(),dateTooltip:()=>u.dateTooltip,recurrence:()=>J()}),he=v(()=>se()===!0?`slide`:se()||`none`),Q=g(void 0),ge=!1;function _e(){if(o(he)===`none`||!o(Q)||typeof o(Q).animate!=`function`)return;let e=o(he)===`slide`,t=Z.navDir,n=e?t===`next`?{transform:`translateX(34px)`,opacity:0}:t===`prev`?{transform:`translateX(-34px)`,opacity:0}:t===`drillDown`?{transform:`scale(0.85)`,opacity:0}:t===`drillUp`?{transform:`scale(1.14)`,opacity:0}:{opacity:0}:{opacity:0,transform:`scale(0.98)`};o(Q).animate([n,{transform:`none`,opacity:1}],{duration:e&&(t===`next`||t===`prev`)?300:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`})}p(()=>{if(Z.navToken,!ge){ge=!0;return}a(_e)});function ve(e){let t=e=>{!ce()||q()||(e.preventDefault(),Z.step(e.deltaY>0||e.deltaX>0?1:-1))};return e.addEventListener(`wheel`,t,{passive:!1}),{destroy:()=>e.removeEventListener(`wheel`,t)}}var ye=s(),be=x(ye),xe=e=>{je(e,{get id(){return o(de)},get label(){return u.label},get hint(){return u.hint},get error(){return u.error},get required(){return Y()},get dir(){return u.dir},children:(e,t)=>{h(e)},$$slots:{default:!0}})},Se=e=>{h(e)};c(be,e=>{o(fe)?e(xe):e(Se,-1)}),i(r,ye),O()}r([`click`]);var mt=[`dddd`,`ddd`,`dd`,`d`,`MMMM`,`MMM`,`MM`,`M`,`yyyy`,`yy`,`HH`,`H`,`hh`,`h`,`mm`,`m`,`ss`,`s`,`fff`,`ff`,`f`,`tt`,`t`];function ht(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===`\\`&&n+1<e.length){t.push({literal:e[n+1]}),n+=2;continue}if(r===`'`){let r=n+1,i=``;for(;r<e.length&&e[r]!==`'`;)i+=e[r],r++;t.push({literal:i}),n=r+1;continue}let i=null;for(let t of mt)if(e.startsWith(t,n)){i=t;break}i?(t.push({token:i}),n+=i.length):(t.push({literal:r}),n+=1)}return t}var $=(e,t)=>String(Math.abs(e)).padStart(t,`0`),gt=new Map,_t=new Map,vt=new Map;function yt(e){let t=gt.get(e);if(!t){let n=new Intl.DateTimeFormat(e,{month:`long`}),r=new Intl.DateTimeFormat(e,{month:`short`});t={long:Array.from({length:12},(e,t)=>n.format(new Date(2021,t,1))),short:Array.from({length:12},(e,t)=>r.format(new Date(2021,t,1)))},gt.set(e,t)}return t}function bt(e){let t=_t.get(e);if(!t){let n=new Intl.DateTimeFormat(e,{weekday:`long`}),r=new Intl.DateTimeFormat(e,{weekday:`short`});t={long:Array.from({length:7},(e,t)=>n.format(new Date(2021,7,1+t))),short:Array.from({length:7},(e,t)=>r.format(new Date(2021,7,1+t)))},_t.set(e,t)}return t}function xt(e){let t=vt.get(e);if(!t){let n=new Intl.DateTimeFormat(e,{hour:`numeric`,hour12:!0});t={am:n.formatToParts(new Date(2021,0,1,9)).find(e=>e.type===`dayPeriod`)?.value??`AM`,pm:n.formatToParts(new Date(2021,0,1,21)).find(e=>e.type===`dayPeriod`)?.value??`PM`},vt.set(e,t)}return t}function St(e,t,n=`en-US`){let r=ht(t),i=e.getHours(),a=i%12==0?12:i%12,o=e.getMilliseconds(),s=``;for(let t of r){if(`literal`in t){s+=t.literal;continue}switch(t.token){case`d`:s+=String(e.getDate());break;case`dd`:s+=$(e.getDate(),2);break;case`ddd`:s+=bt(n).short[e.getDay()];break;case`dddd`:s+=bt(n).long[e.getDay()];break;case`M`:s+=String(e.getMonth()+1);break;case`MM`:s+=$(e.getMonth()+1,2);break;case`MMM`:s+=yt(n).short[e.getMonth()];break;case`MMMM`:s+=yt(n).long[e.getMonth()];break;case`yy`:s+=$(e.getFullYear()%100,2);break;case`yyyy`:s+=$(e.getFullYear(),4);break;case`H`:s+=String(i);break;case`HH`:s+=$(i,2);break;case`h`:s+=String(a);break;case`hh`:s+=$(a,2);break;case`m`:s+=String(e.getMinutes());break;case`mm`:s+=$(e.getMinutes(),2);break;case`s`:s+=String(e.getSeconds());break;case`ss`:s+=$(e.getSeconds(),2);break;case`f`:s+=$(o,3).slice(0,1);break;case`ff`:s+=$(o,3).slice(0,2);break;case`fff`:s+=$(o,3);break;case`t`:s+=(i<12?xt(n).am:xt(n).pm).slice(0,1);break;case`tt`:s+=i<12?xt(n).am:xt(n).pm;break;default:s+=t.token}}return s}var Ct={d:2,dd:2,M:2,MM:2,yy:2,yyyy:4,H:2,HH:2,h:2,hh:2,m:2,mm:2,s:2,ss:2,f:1,ff:2,fff:3};function wt(e,t,n){let r=0;for(;r<n&&t+r<e.length&&e[t+r]>=`0`&&e[t+r]<=`9`;)r++;return r===0?null:{value:parseInt(e.slice(t,t+r),10),len:r}}function Tt(e,t,n){let r=n.map((e,t)=>({name:e,index:t})).sort((e,t)=>t.name.length-e.name.length),i=e.slice(t).toLowerCase();for(let{name:e,index:t}of r)if(e&&i.startsWith(e.toLowerCase()))return{index:t,len:e.length};return null}function Et(e,t,n=`en-US`,r=2029,i){let a=ht(t),o={},s=0,c=e;for(let e of a){if(`literal`in e){for(let t of e.literal){if(t===` `){for(;c[s]===` `;)s++;continue}if(c[s]!==t)return null;s++}continue}let t=e.token;switch(t){case`ddd`:case`dddd`:{let e=Tt(c,s,bt(n)[t===`ddd`?`short`:`long`]);if(!e)return null;s+=e.len;break}case`MMM`:case`MMMM`:{let e=Tt(c,s,yt(n)[t===`MMM`?`short`:`long`]);if(!e)return null;o.month=e.index,s+=e.len;break}case`t`:case`tt`:{let e=xt(n),t=c.slice(s).toLowerCase();if(t.startsWith(e.pm.toLowerCase()))o.isPm=!0,s+=e.pm.length;else if(t.startsWith(e.am.toLowerCase()))o.isPm=!1,s+=e.am.length;else if(t.startsWith(e.pm.slice(0,1).toLowerCase()))o.isPm=!0,s+=1;else if(t.startsWith(e.am.slice(0,1).toLowerCase()))o.isPm=!1,s+=1;else return null;break}default:{let e=wt(c,s,Ct[t]??2);if(!e)return null;s+=e.len;let n=e.value;switch(t){case`d`:case`dd`:o.day=n;break;case`M`:case`MM`:o.month=n-1;break;case`yy`:o.year=n<=r%100?2e3+n:1900+n;break;case`yyyy`:o.year=n;break;case`H`:case`HH`:o.hour=n;break;case`h`:case`hh`:o.hour12=n;break;case`m`:case`mm`:o.minute=n;break;case`s`:case`ss`:o.second=n;break;case`f`:o.ms=n*100;break;case`ff`:o.ms=n*10;break;case`fff`:o.ms=n}}}}if(s!==c.length&&c.slice(s).trim()!==``)return null;let l=i??new Date(1970,0,1),u=o.hour;u==null&&o.hour12!=null&&(u=o.hour12%12,o.isPm&&(u+=12));let d=o.year??l.getFullYear(),f=o.month??l.getMonth(),p=o.day??l.getDate(),m=new Date(d,f,p,u??l.getHours(),o.minute??l.getMinutes(),o.second??l.getSeconds(),o.ms??l.getMilliseconds());return o.day!=null&&m.getDate()!==p||o.month!=null&&m.getMonth()!==f||isNaN(m.getTime())?null:m}export{se as _,je as a,K as c,oe as d,J as f,L as g,H as h,Pe as i,q as l,z as m,Et as n,Z as o,R as p,pt as r,G as s,St as t,U as u,ce as v};
@@ -0,0 +1 @@
1
+ .sv-field.svelte-ohpt9l{text-align:start;flex-direction:column;gap:3px;display:inline-flex}.sv-field--block.svelte-ohpt9l{width:100%;display:flex}.sv-field__labelrow.svelte-ohpt9l{align-items:center;gap:6px;display:inline-flex}.sv-field__label.svelte-ohpt9l{color:var(--sg-fg,#0f172a);font-size:12.5px;font-weight:550;line-height:1.3}.sv-field__spinner.svelte-ohpt9l{border:2px solid color-mix(in srgb, var(--sg-accent,#2563eb) 30%, transparent);border-top-color:var(--sg-accent,#2563eb);border-radius:50%;flex:none;width:12px;height:12px;animation:.6s linear infinite svelte-ohpt9l-sv-field-spin}@keyframes svelte-ohpt9l-sv-field-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sv-field__spinner.svelte-ohpt9l{animation:none}}.sv-field__req.svelte-ohpt9l{color:var(--sg-danger,#dc2626);margin-inline-start:2px}.sv-field__hint.svelte-ohpt9l{color:var(--sg-muted,#64748b);font-size:11.5px;line-height:1.35}.sv-field__error.svelte-ohpt9l{color:var(--sg-danger,#dc2626);font-size:11.5px;font-weight:500;line-height:1.35}.sv-field__control.svelte-ohpt9l{--_accent:var(--sg-accent,#2563eb);background:var(--sg-input-bg,#fff);width:220px;color:var(--sg-fg,#0f172a);border:1px solid var(--sg-input-border,var(--sg-border,#cbd5e1));border-radius:var(--sg-radius,8px);align-items:center;display:flex}.sv-field--block.svelte-ohpt9l .sv-field__control:where(.svelte-ohpt9l){width:100%}.sv-field__control.svelte-ohpt9l:focus-within{border-color:var(--_accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent)}.sv-field__control.is-invalid.svelte-ohpt9l{border-color:var(--sg-danger,#dc2626)}.sv-field__control.is-invalid.svelte-ohpt9l:focus-within{box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-danger,#dc2626) 22%, transparent)}.sv-field__control.is-disabled.svelte-ohpt9l{opacity:.6}.sv-field__control.is-readonly.svelte-ohpt9l{background:var(--sg-muted-bg,color-mix(in srgb, var(--sg-fg,#0f172a) 4%, var(--sg-input-bg,#fff)))}.sv-field--floating.svelte-ohpt9l .sv-field__control:where(.svelte-ohpt9l){position:relative}.sv-field__float-label.svelte-ohpt9l{inset-inline-start:11px;color:var(--sg-muted,#64748b);pointer-events:none;background:var(--sg-input-bg,#fff);white-space:nowrap;text-overflow:ellipsis;z-index:1;max-width:calc(100% - 24px);padding:0 4px;font-size:13px;transition:top .14s,font-size .14s,color .14s;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.sv-field__control.svelte-ohpt9l:focus-within .sv-field__float-label:where(.svelte-ohpt9l),.sv-field__control.is-filled.svelte-ohpt9l .sv-field__float-label:where(.svelte-ohpt9l){color:var(--_accent,var(--sg-accent,#2563eb));font-size:10.5px;top:0}.sv-field__control.is-invalid.svelte-ohpt9l .sv-field__float-label:where(.svelte-ohpt9l){color:var(--sg-danger,#dc2626)}@media (prefers-reduced-motion:reduce){.sv-field__float-label.svelte-ohpt9l{transition:none}}.sv-field__slot.svelte-ohpt9l{flex:1;min-width:0;display:flex}.sv-field__slot.svelte-ohpt9l input,.sv-field__slot.svelte-ohpt9l textarea,.sv-field__slot.svelte-ohpt9l select{width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0 10px}.sv-field__adorn.svelte-ohpt9l{color:var(--sg-muted,#64748b);align-items:center;display:inline-flex}.sv-field__adorn--lead.svelte-ohpt9l{padding-inline-start:10px}.sv-field__adorn--trail.svelte-ohpt9l{padding-inline-end:10px}.sv-field__affix.svelte-ohpt9l{color:var(--sg-muted,#64748b);white-space:nowrap;align-items:center;display:inline-flex}.sv-field__affix--pre.svelte-ohpt9l{padding-inline-start:10px}.sv-field__affix--suf.svelte-ohpt9l{padding-inline-end:10px}.sv-field__adorn--lead.svelte-ohpt9l+.sv-field__slot:where(.svelte-ohpt9l) input,.sv-field__affix--pre.svelte-ohpt9l+.sv-field__slot:where(.svelte-ohpt9l) input{padding-inline-start:6px}.sv-field__clear.svelte-ohpt9l{width:28px;color:var(--sg-muted,#64748b);cursor:pointer;background:0 0;border:0;align-self:stretch;place-items:center;font-size:17px;line-height:1;display:grid}.sv-field__clear.svelte-ohpt9l:hover{color:var(--sg-fg,#0f172a)}.sv-field__action.svelte-ohpt9l{min-width:24px;height:24px;color:var(--sg-muted,#64748b);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:5px;flex:none;align-self:center;place-items:center;margin-inline-end:3px;padding:0 5px;font-size:12px;display:inline-grid}.sv-field__action.svelte-ohpt9l:hover:not([disabled]){background:var(--sg-row-hover-bg,#f1f5f9);color:var(--sg-accent,#2563eb)}.sv-field__action[disabled].svelte-ohpt9l{opacity:.5;cursor:default}.sv-field__action-txt.svelte-ohpt9l{white-space:nowrap;font-weight:600}.sv-field__control.sv-field--sm.svelte-ohpt9l{height:28px;font-size:12px}.sv-field__control.sv-field--md.svelte-ohpt9l{height:34px;font-size:13px}.sv-field__control.sv-field--lg.svelte-ohpt9l{height:40px;font-size:15px}.sv-cal.svelte-1ealvsr{--_accent:var(--sg-accent,#2563eb);--_bg:var(--sg-bg,#fff);--_fg:var(--sg-fg,#0f172a);--_muted:var(--sg-muted,#64748b);--_border:var(--sg-border,#e2e8f0);--_hover:var(--sg-row-hover-bg,#2563eb14);--_radius:var(--sg-radius,8px);background:var(--_bg);width:max-content;color:var(--_fg);border:1px solid var(--_border);border-radius:calc(var(--_radius) + 4px);-webkit-user-select:none;user-select:none;gap:10px;padding:10px;font-size:13px;display:inline-flex}.sv-cal--disabled.svelte-1ealvsr{opacity:.55;pointer-events:none}.sv-cal--invalid.svelte-1ealvsr{border-color:var(--sg-danger,#dc2626)}.sv-cal__main.svelte-1ealvsr{flex-direction:column;gap:6px;min-width:0;display:flex}.sv-cal__view.svelte-1ealvsr{display:block;overflow:hidden}.sv-cal__presets.svelte-1ealvsr{border-inline-end:1px solid var(--_border);flex-direction:column;align-self:stretch;gap:2px;min-width:118px;padding-inline-end:10px;display:flex}.sv-cal__preset.svelte-1ealvsr{text-align:start;font:inherit;border-radius:var(--_radius);color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:6px 10px;font-size:12px;font-weight:550}.sv-cal[dir=rtl].svelte-1ealvsr .sv-cal__nav:where(.svelte-1ealvsr) svg:where(.svelte-1ealvsr){transform:scaleX(-1)}.sv-cal__preset.svelte-1ealvsr:hover:not(:disabled){background:var(--_hover);color:var(--_accent)}.sv-cal__preset.svelte-1ealvsr:disabled{opacity:.5;cursor:default}.sv-cal__header.svelte-1ealvsr{align-items:center;gap:4px;display:flex}.sv-cal__title.svelte-1ealvsr{text-align:center;color:inherit;cursor:pointer;border-radius:var(--_radius);background:0 0;border:0;flex:1;padding:6px 8px;font-size:13.5px;font-weight:650}.sv-cal__title.svelte-1ealvsr:hover:not(:disabled){background:var(--_hover)}.sv-cal__title.svelte-1ealvsr:disabled{cursor:default}.sv-cal__nav.svelte-1ealvsr{width:30px;height:30px;color:var(--_muted);cursor:pointer;border-radius:var(--_radius);background:0 0;border:0;place-items:center;display:grid}.sv-cal__nav.svelte-1ealvsr:hover:not(:disabled){background:var(--_hover);color:var(--_fg)}.sv-cal__nav.svelte-1ealvsr:disabled{opacity:.4;cursor:default}.sv-cal__panels.svelte-1ealvsr{gap:14px;display:flex}.sv-cal__panel-title.svelte-1ealvsr{text-align:center;color:var(--_muted);margin-bottom:4px;font-size:12.5px;font-weight:600}.sv-cal__weekdays.svelte-1ealvsr,.sv-cal__week.svelte-1ealvsr{grid-template-columns:repeat(7,34px);display:grid}:is(.sv-cal__weekdays.svelte-1ealvsr:has(.sv-cal__wk-head:where(.svelte-1ealvsr)),.sv-cal__week.svelte-1ealvsr:has(.sv-cal__wk:where(.svelte-1ealvsr))){grid-template-columns:26px repeat(7,34px)}.sv-cal__weekday.svelte-1ealvsr,.sv-cal__wk-head.svelte-1ealvsr{height:28px;color:var(--_muted);text-transform:uppercase;letter-spacing:.02em;place-items:center;font-size:11px;font-weight:600;display:grid}.sv-cal__wk.svelte-1ealvsr{height:34px;color:var(--_muted);opacity:.7;place-items:center;font-size:10.5px;display:grid}.sv-cal__day.svelte-1ealvsr{box-sizing:border-box;width:34px;height:34px;color:inherit;cursor:pointer;border-radius:var(--_radius);background:0 0;border:0;place-items:center;font-size:12.5px;display:grid;position:relative}.sv-cal__day--empty.svelte-1ealvsr{visibility:hidden}.sv-cal__day.svelte-1ealvsr:hover:not(:disabled):not(.is-selected){background:var(--_hover)}.sv-cal__day.is-selected.svelte-1ealvsr:hover:not(:disabled){background:color-mix(in srgb, var(--_accent) 86%, var(--_fg))}.sv-cal__day.is-outside.svelte-1ealvsr{color:var(--_muted);opacity:.55}.sv-cal__day.is-today.svelte-1ealvsr{box-shadow:inset 0 0 0 1px var(--_accent);font-weight:750}.sv-cal__day.is-important.svelte-1ealvsr:after{content:"";background:var(--sg-danger,#dc2626);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.sv-cal__day.is-recurring.svelte-1ealvsr:before{content:"";top:4px;pointer-events:none;border:1.5px solid color-mix(in srgb, var(--_accent) 75%, transparent);border-radius:50%;width:5px;height:5px;position:absolute;inset-inline-end:4px}.sv-cal.svelte-1ealvsr:not(.sv-cal--rich) .sv-cal__day.is-selected.is-recurring:where(.svelte-1ealvsr):before{border-color:var(--sg-on-accent,#fff)}.sv-cal--rich.svelte-1ealvsr .sv-cal__weekdays:where(.svelte-1ealvsr),.sv-cal--rich.svelte-1ealvsr .sv-cal__week:where(.svelte-1ealvsr){grid-template-columns:repeat(7,minmax(0,1fr))}:is(.sv-cal--rich.svelte-1ealvsr .sv-cal__weekdays:where(.svelte-1ealvsr):has(.sv-cal__wk-head:where(.svelte-1ealvsr)),.sv-cal--rich.svelte-1ealvsr .sv-cal__week:where(.svelte-1ealvsr):has(.sv-cal__wk:where(.svelte-1ealvsr))){grid-template-columns:26px repeat(7,minmax(0,1fr))}.sv-cal--rich.svelte-1ealvsr .sv-cal__weekday:where(.svelte-1ealvsr){justify-items:start;padding-inline-start:6px}.sv-cal--rich.svelte-1ealvsr .sv-cal__day:where(.svelte-1ealvsr){text-align:start;border-radius:8px;flex-direction:column;align-items:stretch;gap:3px;width:auto;height:auto;min-height:90px;padding:4px 5px 6px;display:flex}.sv-cal--rich.svelte-1ealvsr .sv-cal__day.is-today:where(.svelte-1ealvsr){box-shadow:none}.sv-cal--rich.svelte-1ealvsr .sv-cal__day.is-selected:where(.svelte-1ealvsr){background:color-mix(in srgb, var(--_accent) 9%, transparent);color:inherit}.sv-cal--rich.svelte-1ealvsr .sv-cal__daynum:where(.svelte-1ealvsr){border-radius:50%;flex:none;align-self:flex-start;place-items:center;width:24px;height:24px;font-size:12.5px;font-weight:600;display:grid}.sv-cal--rich.svelte-1ealvsr .sv-cal__day.is-today:where(.svelte-1ealvsr) .sv-cal__daynum:where(.svelte-1ealvsr){background:var(--_accent);color:var(--sg-on-accent,#fff)}.sv-cal--rich.svelte-1ealvsr .sv-cal__daybody:where(.svelte-1ealvsr){flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}.sv-cal--rich.svelte-1ealvsr .sv-cal__day.is-important:where(.svelte-1ealvsr):after{display:none}.sv-cal__day.is-preview.svelte-1ealvsr{background:color-mix(in srgb, var(--_accent) 16%, transparent);border-radius:0}.sv-cal__day.is-selected.svelte-1ealvsr{background:var(--_accent);color:var(--sg-on-accent,#fff);font-weight:650}.sv-cal.svelte-1ealvsr:not(.sv-cal--band) .sv-cal__day.is-selected:where(.svelte-1ealvsr){background-clip:content-box;padding:2px}.sv-cal__day.is-selected.is-important.svelte-1ealvsr:after{background:var(--sg-on-accent,#fff)}.sv-cal__day.svelte-1ealvsr:disabled{color:var(--_muted);opacity:.35;cursor:default;text-decoration:line-through}.sv-cal__day.is-focused.svelte-1ealvsr:focus-visible,.sv-cal__day.svelte-1ealvsr:focus-visible,.sv-cal__cell.svelte-1ealvsr:focus-visible{outline:2px solid var(--sg-focus-ring,var(--_accent));outline-offset:-2px}.sv-cal__grid-mode.svelte-1ealvsr{grid-template-columns:repeat(3,1fr);gap:4px;min-width:252px;display:grid}.sv-cal__cell.svelte-1ealvsr{height:44px;color:inherit;cursor:pointer;border-radius:var(--_radius);background:0 0;border:0;place-items:center;font-size:12.5px;display:grid}.sv-cal__cell.svelte-1ealvsr:hover:not(:disabled):not(.is-selected){background:var(--_hover)}.sv-cal__cell.is-selected.svelte-1ealvsr:hover:not(:disabled){background:color-mix(in srgb, var(--_accent) 86%, var(--_fg))}.sv-cal__cell.is-outside.svelte-1ealvsr{color:var(--_muted);opacity:.5}.sv-cal__cell.is-today.svelte-1ealvsr{box-shadow:inset 0 0 0 1px var(--_accent);font-weight:700}.sv-cal__cell.is-selected.svelte-1ealvsr{background:var(--_accent);color:var(--sg-on-accent,#fff);font-weight:650}.sv-cal__footer.svelte-1ealvsr{border-top:1px solid var(--_border);justify-content:center;gap:8px;margin-top:2px;padding-top:8px;display:flex}.sv-cal__foot-btn.svelte-1ealvsr{font:inherit;border:1px solid var(--_border);border-radius:var(--_radius);color:var(--_accent);cursor:pointer;background:0 0;padding:5px 12px;font-size:12px;font-weight:600}.sv-cal__foot-btn.svelte-1ealvsr:hover:not(:disabled){background:var(--_hover)}
@@ -0,0 +1 @@
1
+ var e=e=>e?`${e}__error`:void 0,t=e=>e?`${e}__hint`:void 0,n=0,r=(e=`sv-ed`)=>`${e}-${n++}`;function i(n){let r=[n.error?e(n.id):void 0,n.hint?t(n.id):void 0].filter(Boolean);return{"aria-invalid":n.invalid?`true`:void 0,"aria-required":n.required?`true`:void 0,"aria-describedby":r.length?r.join(` `):void 0,"aria-label":n.ariaLabel}}function a(e,t){if(!t)return e;let n={...e};for(let e in t){let r=t[e];r!=null&&r!==``&&(n[e]=r)}return n}export{a,r as i,e as n,t as r,i as t};
@@ -0,0 +1,6 @@
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{i as t,n,t as r}from"./cell-formatting-wr5wm7US.js";var i=e({coerceExportDate:()=>a,copyTextToClipboard:()=>O,downloadBlobFile:()=>E,downloadTextFile:()=>D,formatValueForExport:()=>o,projectGridRows:()=>c,serializeDelimited:()=>h,serializeHtml:()=>v,serializeJson:()=>y,serializeMarkdown:()=>x,serializeXml:()=>T,toExcelNumFmt:()=>s,valueForExcel:()=>u});function a(e){if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e==`number`&&Number.isFinite(e)){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}if(typeof e==`string`&&e.trim()!==``){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}return null}function o(e,i){if(e==null)return``;if(!i)return String(e);if(i.type===`number`||i.type===`currency`||i.type===`percent`)return r(e,{type:i.type,locales:i.locales,currency:i.type===`currency`?i.currency??`USD`:void 0,valueIsPercentPoints:i.type===`percent`?i.valueIsPercentPoints:void 0,options:i.options});if(i.type===`date`||i.type===`datetime`){let r=a(e);if(r){let e=t(i.pattern,i.type),a=e||i.options?{...e,...i.options}:i.type===`date`?{year:`numeric`,month:`2-digit`,day:`2-digit`}:{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};return n(i.locales,a).format(r)}}return String(e)}function s(e){if(!e)return;let t=()=>{let t=e.options;return t&&typeof t.maximumFractionDigits==`number`?t.maximumFractionDigits:t&&typeof t.minimumFractionDigits==`number`?t.minimumFractionDigits:e.type===`currency`?2:e.type===`number`?0:2},n=e=>e>0?`.`+`0`.repeat(e):``;switch(e.type){case`number`:return`#,##0${n(t())}`;case`currency`:return`"${l(e.currency??`USD`)}"#,##0${n(t())}`;case`percent`:return`0${n(t())}%`;case`date`:return`yyyy-mm-dd`;case`datetime`:return`yyyy-mm-dd hh:mm`;default:return}}function c(e,t,n={}){let r=n.columns&&n.columns.length?n.columns.map(e=>t.find(t=>t.field===e)).filter(e=>!!e):t.filter(e=>e.field),i=r.map(e=>e.field),a={};for(let e of r)e.align&&(a[e.field]=e.align);let s={};for(let e of r)s[e.field]=e.header;let c=[s];for(let t of e){let e={};for(let i of r){let r=t[i.field];e[i.field]=n.rawValues?r:o(r,i.format)}c.push(e)}return{records:c,fields:i,align:a}}function l(e){return{USD:`$`,EUR:`€`,GBP:`£`,JPY:`¥`,CNY:`¥`,INR:`₹`,KRW:`₩`,RUB:`₽`,BRL:`R$`}[e.toUpperCase()]??e.toUpperCase()}function u(e,t){if(e==null||!t)return{ok:!1};if(t.type===`number`||t.type===`currency`){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?{ok:!0,value:t}:{ok:!1}}if(t.type===`percent`){let n=typeof e==`number`?e:Number(e);return Number.isFinite(n)?{ok:!0,value:t.valueIsPercentPoints===!0?n/100:n}:{ok:!1}}if(t.type===`date`||t.type===`datetime`){let t=a(e);return t?{ok:!0,value:t}:{ok:!1}}return{ok:!1}}var d=``;function f(e){if(e?.aborted)throw new DOMException(`Export aborted`,`AbortError`)}var p=()=>new Promise(e=>setTimeout(e,0));function m(e,t){let n=e==null?``:e instanceof Date?e.toISOString():String(e);return n===``?n:n.includes(t)||n.includes(`"`)||n.includes(`
2
+ `)||n.includes(`\r`)?`"${n.replace(/"/g,`""`)}"`:n}async function h(e,t,n={}){let r=n.csv?.delimiter??`,`,i=n.csv?.eol??`\r
3
+ `,a=n.csv?.bom??!0,o=Math.max(1,n.chunkRows??5e3),s=e.length,c=[];for(let i=0;i<e.length;i++){f(n.signal);let a=e[i];c.push(t.map(e=>m(a[e],r)).join(r)),i>0&&i%o===0&&(n.onProgress?.({phase:`serialize`,ratio:i/s,row:i,total:s}),await p())}n.onProgress?.({phase:`serialize`,ratio:1,row:s,total:s});let l=c.join(i);return(a?d:``)+l}var g={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`};function _(e){return(e==null?``:e instanceof Date?e.toISOString():String(e)).replace(/[&<>"']/g,e=>g[e])}async function v(e,t,n={}){let r=Math.max(1,n.chunkRows??5e3),i=e.length,a=n.align??{},o=n.cellStyle,s=n.cellLink,c=n.title??`Grid export`,l=e[0],u=l?t.map(e=>`<th>${_(l[e])}</th>`).join(``):``,d=[];for(let c=1;c<e.length;c++){f(n.signal);let l=e[c],u=t.map((e,t)=>{let n=a[e],r=[];n&&n!==`left`&&r.push(`text-align:${n}`);let i=o?.(c-1,t);i?.fill&&r.push(`background:${i.fill}`),i?.color&&r.push(`color:${i.color}`),i?.bold&&r.push(`font-weight:700`);let u=r.length?` style="${r.join(`;`)}"`:``,d=i?.icon?`${i.icon} ${_(l[e])}`:_(l[e]),f=s?.(c-1,t);return f&&(d=`<a href="${_(f)}">${d}</a>`),`<td${u}>${d}</td>`}).join(``);d.push(`<tr>${u}</tr>`),c>0&&c%r===0&&(n.onProgress?.({phase:`serialize`,ratio:c/i,row:c,total:i}),await p())}return n.onProgress?.({phase:`serialize`,ratio:1,row:i,total:i}),`<!doctype html><html><head><meta charset="utf-8"><title>${_(c)}</title><style>table{border-collapse:collapse;font-family:system-ui,sans-serif;font-size:13px}th,td{border:1px solid #d0d7de;padding:6px 10px}th{background:#f6f8fa;text-align:left}</style></head><body><table><thead><tr>${u}</tr></thead><tbody>${d.join(``)}</tbody></table></body></html>`}async function y(e,t,n={}){let r=Math.max(1,n.chunkRows??5e3),i=e.length-1,a=[];for(let o=1;o<e.length;o++){f(n.signal);let s=e[o],c={};for(let e of t)c[e]=s[e];a.push(c),o>0&&o%r===0&&(n.onProgress?.({phase:`serialize`,ratio:o/i,row:o,total:i}),await p())}return n.onProgress?.({phase:`serialize`,ratio:1,row:i,total:i}),JSON.stringify(a,null,2)}function b(e){return(e==null?``:e instanceof Date?e.toISOString():String(e)).replace(/\\/g,`\\\\`).replace(/\|/g,`\\|`).replace(/\r?\n/g,`<br>`)}async function x(e,t,n={}){let r=Math.max(1,n.chunkRows??5e3),i=e.length,a=n.align??{},o=e[0],s=`| ${t.map(e=>b(o?.[e])).join(` | `)} |`,c=`| ${t.map(e=>{let t=a[e];return t===`right`?`---:`:t===`center`?`:--:`:`---`}).join(` | `)} |`,l=[];for(let a=1;a<e.length;a++){f(n.signal);let o=e[a];l.push(`| ${t.map(e=>b(o[e])).join(` | `)} |`),a>0&&a%r===0&&(n.onProgress?.({phase:`serialize`,ratio:a/i,row:a,total:i}),await p())}return n.onProgress?.({phase:`serialize`,ratio:1,row:i,total:i}),[s,c,...l].join(`
4
+ `)+`
5
+ `}var S={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&apos;`};function C(e){return(e==null?``:e instanceof Date?e.toISOString():String(e)).replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g,``).replace(/[&<>"']/g,e=>S[e])}function w(e){let t=e.replace(/[^A-Za-z0-9_.-]/g,`_`);return/^[A-Za-z_]/.test(t)?t:`_${t}`}async function T(e,t,n={}){let r=Math.max(1,n.chunkRows??5e3),i=e.length-1,a=n.rootTag??`rows`,o=n.rowTag??`row`,s=t.map(w),c=[`<?xml version="1.0" encoding="UTF-8"?>`,`<${a}>`];for(let a=1;a<e.length;a++){f(n.signal);let l=e[a],u=t.map((e,t)=>`<${s[t]}>${C(l[e])}</${s[t]}>`).join(``);c.push(` <${o}>${u}</${o}>`),a>0&&a%r===0&&(n.onProgress?.({phase:`serialize`,ratio:a/i,row:a,total:i}),await p())}return c.push(`</${a}>`),n.onProgress?.({phase:`serialize`,ratio:1,row:i,total:i}),c.join(`
6
+ `)}function E(e,t){if(typeof document>`u`||typeof URL>`u`)throw Error(`@svgrid/grid: export requires a browser environment`);let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),0)}function D(e,t,n){if(typeof document>`u`||typeof URL>`u`)throw Error(`@svgrid/grid: text export requires a browser environment`);E(new Blob([e],{type:n}),t)}async function O(e){if(typeof navigator>`u`||!navigator.clipboard)throw Error(`@svgrid/grid: clipboard API is unavailable in this context`);await navigator.clipboard.writeText(e)}export{h as a,x as c,u as d,o as i,T as l,D as n,v as o,i as r,y as s,E as t,s as u};
@@ -0,0 +1 @@
1
+ var e=[`a[href]`,`area[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`iframe`,`audio[controls]`,`video[controls]`,`[contenteditable]:not([contenteditable="false"])`,`[tabindex]`].join(`,`);function t(e){if(e.hasAttribute(`disabled`)||e.getAttribute(`aria-hidden`)===`true`||e.hidden||e.closest(`[hidden]`))return!1;let t=e.style;return!(t.display===`none`||t.visibility===`hidden`||typeof e.getClientRects==`function`&&e.getClientRects().length===0&&document.body.getClientRects().length>0)}function n(n){return Array.from(n.querySelectorAll(e)).filter(e=>{let n=e.getAttribute(`tabindex`);return n!==null&&Number(n)<0?!1:t(e)})}function r(e,t={}){let{initialFocus:r=`first`,returnFocus:i=!0}=t,a=null,o=!1;function s(){let t=r;return t===`container`?e:t===`first`?n(e)[0]??e:typeof t==`function`?t():t}function c(r){if(!o)return;if(r.key===`Escape`&&t.onEscape){t.onEscape(r);return}if(r.key!==`Tab`)return;let i=n(e);if(!i.length){r.preventDefault(),e.focus();return}let a=i[0],s=i[i.length-1],c=document.activeElement;if(!e.contains(c)){r.preventDefault(),a.focus();return}r.shiftKey&&c===a?(r.preventDefault(),s.focus()):!r.shiftKey&&c===s&&(r.preventDefault(),a.focus())}function l(){o||(o=!0,a=document.activeElement,e.hasAttribute(`tabindex`)||e.setAttribute(`tabindex`,`-1`),document.addEventListener(`keydown`,c,!0),queueMicrotask(()=>{o&&s()?.focus()}))}function u(){o&&(o=!1,document.removeEventListener(`keydown`,c,!0),i&&a?.focus?.(),a=null)}return{activate:l,release:u}}export{r as t};