@logicplanes/kaeso-ui 0.1.0 → 0.2.1

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 (246) hide show
  1. package/AGENTS.md +1 -0
  2. package/LICENSE +1 -1
  3. package/ai/component-guides.md +269 -7
  4. package/ai/component-registry.json +600 -800
  5. package/ai/component-registry.md +200 -141
  6. package/ai/icons.md +2 -2
  7. package/ai/tokens.md +1 -1
  8. package/dist/blocks/delete-resource.js +1 -1
  9. package/dist/blocks/pages.js +3 -3
  10. package/dist/blocks/resource-list.js +2 -2
  11. package/dist/chunks/app-frame-BXh-06HL.js +214 -0
  12. package/dist/chunks/app-frame-BXh-06HL.js.map +1 -0
  13. package/dist/chunks/{banner-BiziJuBZ.js → banner-DxGBPQ7p.js} +2 -2
  14. package/dist/chunks/{banner-BiziJuBZ.js.map → banner-DxGBPQ7p.js.map} +1 -1
  15. package/dist/chunks/{button-BHKAE6ui.js → button-DQvoOxVQ.js} +2 -2
  16. package/dist/chunks/{button-BHKAE6ui.js.map → button-DQvoOxVQ.js.map} +1 -1
  17. package/dist/chunks/{calendar-B5SSTE56.js → calendar-CN3YJi2k.js} +3 -3
  18. package/dist/chunks/{calendar-B5SSTE56.js.map → calendar-CN3YJi2k.js.map} +1 -1
  19. package/dist/chunks/code-BADhvsgC.js +33 -0
  20. package/dist/chunks/code-BADhvsgC.js.map +1 -0
  21. package/dist/chunks/{code-block-BbK6E4Eo.js → code-block-DxtladFW.js} +41 -37
  22. package/dist/chunks/code-block-DxtladFW.js.map +1 -0
  23. package/dist/chunks/{combobox-D8pQk22r.js → combobox-D30Wt11R.js} +4 -4
  24. package/dist/chunks/{combobox-D8pQk22r.js.map → combobox-D30Wt11R.js.map} +1 -1
  25. package/dist/chunks/{copy-button-mAzHjYXq.js → copy-button-DXxn-YYZ.js} +4 -4
  26. package/dist/chunks/{copy-button-mAzHjYXq.js.map → copy-button-DXxn-YYZ.js.map} +1 -1
  27. package/dist/chunks/{core-Bgefcs3z.js → core-K960A4OT.js} +119 -120
  28. package/dist/chunks/core-K960A4OT.js.map +1 -0
  29. package/dist/chunks/{date-popup-Er1oQwtU.js → date-popup-B-6xhb-1.js} +3 -3
  30. package/dist/chunks/{date-popup-Er1oQwtU.js.map → date-popup-B-6xhb-1.js.map} +1 -1
  31. package/dist/chunks/{de-BCg1eRVd.js → de-CTAo4KL7.js} +10 -10
  32. package/dist/chunks/de-CTAo4KL7.js.map +1 -0
  33. package/dist/chunks/dialog-LNKgPEsV.js +319 -0
  34. package/dist/chunks/dialog-LNKgPEsV.js.map +1 -0
  35. package/dist/chunks/{icon-Bha63LaN.js → icon-CBzvyEqC.js} +30 -29
  36. package/dist/chunks/icon-CBzvyEqC.js.map +1 -0
  37. package/dist/chunks/{icon-button-Bw67oKtx.js → icon-button-_x1RUphC.js} +3 -3
  38. package/dist/chunks/{icon-button-Bw67oKtx.js.map → icon-button-_x1RUphC.js.map} +1 -1
  39. package/dist/chunks/{identity-DQinp-Ep.js → identity-BtZC_d_Q.js} +3 -3
  40. package/dist/chunks/{identity-DQinp-Ep.js.map → identity-BtZC_d_Q.js.map} +1 -1
  41. package/dist/chunks/{input-Biakz6GB.js → input-CNTfI6YE.js} +2 -2
  42. package/dist/chunks/{input-Biakz6GB.js.map → input-CNTfI6YE.js.map} +1 -1
  43. package/dist/chunks/{input-group-DQqEPFj_.js → input-group-CYA1MEoZ.js} +2 -2
  44. package/dist/chunks/{input-group-DQqEPFj_.js.map → input-group-CYA1MEoZ.js.map} +1 -1
  45. package/dist/chunks/{iso-field-CznqNVrH.js → iso-field-1qmg7TP8.js} +2 -2
  46. package/dist/chunks/{iso-field-CznqNVrH.js.map → iso-field-1qmg7TP8.js.map} +1 -1
  47. package/dist/chunks/linear-scale-BWKeRqDX.js +37 -0
  48. package/dist/chunks/linear-scale-BWKeRqDX.js.map +1 -0
  49. package/dist/chunks/{link-tTapNTpM.js → link-vz9aV8WX.js} +9 -2
  50. package/dist/chunks/link-vz9aV8WX.js.map +1 -0
  51. package/dist/chunks/{list-CN8pO8lv.js → list-CzaiyNja.js} +119 -111
  52. package/dist/chunks/list-CzaiyNja.js.map +1 -0
  53. package/dist/chunks/{markdown-C-iJsYnd.js → markdown-5NyaHHfN.js} +6 -6
  54. package/dist/chunks/{markdown-C-iJsYnd.js.map → markdown-5NyaHHfN.js.map} +1 -1
  55. package/dist/chunks/{menu-OURWt_hD.js → menu-DyVPwgfF.js} +2 -2
  56. package/dist/chunks/{menu-OURWt_hD.js.map → menu-DyVPwgfF.js.map} +1 -1
  57. package/dist/chunks/nav-sheet-BIErlV74.js +58 -0
  58. package/dist/chunks/nav-sheet-BIErlV74.js.map +1 -0
  59. package/dist/chunks/{logo-VmXYhIJL.js → nav-wordmark-DLkItdvo.js} +12 -93
  60. package/dist/chunks/nav-wordmark-DLkItdvo.js.map +1 -0
  61. package/dist/chunks/observe-resize-DhxhmoyB.js +25 -0
  62. package/dist/chunks/observe-resize-DhxhmoyB.js.map +1 -0
  63. package/dist/chunks/{page-header-BIRswR73.js → page-header-CEPZzhRp.js} +2 -2
  64. package/dist/chunks/{page-header-BIRswR73.js.map → page-header-CEPZzhRp.js.map} +1 -1
  65. package/dist/chunks/{pagination-DYdLm18-.js → pagination-CCMxQ5pH.js} +3 -3
  66. package/dist/chunks/{pagination-DYdLm18-.js.map → pagination-CCMxQ5pH.js.map} +1 -1
  67. package/dist/chunks/{range-popup-AbRzgHtY.js → range-popup-DGOnGGag.js} +4 -4
  68. package/dist/chunks/{range-popup-AbRzgHtY.js.map → range-popup-DGOnGGag.js.map} +1 -1
  69. package/dist/chunks/resize-motion-CMaidkwe.js +101 -0
  70. package/dist/chunks/resize-motion-CMaidkwe.js.map +1 -0
  71. package/dist/chunks/{rights-CXo7zEf6.js → rights-BbiJ0AJB.js} +4 -4
  72. package/dist/chunks/{rights-CXo7zEf6.js.map → rights-BbiJ0AJB.js.map} +1 -1
  73. package/dist/chunks/{section-XStLtXKa.js → section-DzOLLN1p.js} +3 -3
  74. package/dist/chunks/section-DzOLLN1p.js.map +1 -0
  75. package/dist/chunks/{segmented-CDTx2n29.js → segmented-MrinfDL8.js} +36 -35
  76. package/dist/chunks/segmented-MrinfDL8.js.map +1 -0
  77. package/dist/chunks/select-Bc4kRiSG.js +227 -0
  78. package/dist/chunks/select-Bc4kRiSG.js.map +1 -0
  79. package/dist/chunks/{sidebar-C4fL_KMm.js → sidebar-5IA18LuP.js} +180 -183
  80. package/dist/chunks/sidebar-5IA18LuP.js.map +1 -0
  81. package/dist/chunks/{sidebar-menu-sd9vCpDy.js → sidebar-menu-DRWRxcJ3.js} +2 -2
  82. package/dist/chunks/{sidebar-menu-sd9vCpDy.js.map → sidebar-menu-DRWRxcJ3.js.map} +1 -1
  83. package/dist/chunks/{switch-CztLhA8F.js → switch-XMY_CQE-.js} +2 -2
  84. package/dist/chunks/{switch-CztLhA8F.js.map → switch-XMY_CQE-.js.map} +1 -1
  85. package/dist/chunks/{tag-BsmQ1xPj.js → tag-Dg89uYpV.js} +3 -3
  86. package/dist/chunks/{tag-BsmQ1xPj.js.map → tag-Dg89uYpV.js.map} +1 -1
  87. package/dist/chunks/{text-BPglS3vq.js → text--5MKh2G4.js} +3 -3
  88. package/dist/chunks/{text-BPglS3vq.js.map → text--5MKh2G4.js.map} +1 -1
  89. package/dist/chunks/{textarea-Bvk7N2bh.js → textarea-Cj8iR82R.js} +3 -3
  90. package/dist/chunks/{textarea-Bvk7N2bh.js.map → textarea-Cj8iR82R.js.map} +1 -1
  91. package/dist/chunks/theme-provider-DJhORMlc.js +72 -0
  92. package/dist/chunks/theme-provider-DJhORMlc.js.map +1 -0
  93. package/dist/chunks/tooltip-DEbCCsru.js +151 -0
  94. package/dist/chunks/tooltip-DEbCCsru.js.map +1 -0
  95. package/dist/chunks/{tooltip-root-DWhtAtFb.js → tooltip-root-DRd4ciUv.js} +2 -2
  96. package/dist/chunks/{tooltip-root-DWhtAtFb.js.map → tooltip-root-DRd4ciUv.js.map} +1 -1
  97. package/dist/chunks/use-layout-width-CbSDbRb0.js +28 -0
  98. package/dist/chunks/use-layout-width-CbSDbRb0.js.map +1 -0
  99. package/dist/chunks/use-scroll-margin-DfdTc_5D.js +26 -0
  100. package/dist/chunks/use-scroll-margin-DfdTc_5D.js.map +1 -0
  101. package/dist/chunks/use-truncated-CW0hByYt.js +24 -0
  102. package/dist/chunks/use-truncated-CW0hByYt.js.map +1 -0
  103. package/dist/chunks/{virtual-rows-BgMdVelU.js → virtual-rows-BZe49bKi.js} +2 -2
  104. package/dist/chunks/{virtual-rows-BgMdVelU.js.map → virtual-rows-BZe49bKi.js.map} +1 -1
  105. package/dist/chunks/{zh-CN-cPjO1OOo.js → zh-CN-C7GmVswt.js} +15 -15
  106. package/dist/chunks/zh-CN-C7GmVswt.js.map +1 -0
  107. package/dist/components/app-frame.js +3 -1
  108. package/dist/components/banner.js +1 -1
  109. package/dist/components/button-group.js +2 -2
  110. package/dist/components/button.js +1 -1
  111. package/dist/components/calendar.js +1 -1
  112. package/dist/components/charts/bar.js +78 -77
  113. package/dist/components/charts/bar.js.map +1 -1
  114. package/dist/components/charts/donut.js +2 -2
  115. package/dist/components/charts/gauge.js +1 -1
  116. package/dist/components/charts/sankey.js +1 -1
  117. package/dist/components/charts/timeseries.js +75 -75
  118. package/dist/components/charts/timeseries.js.map +1 -1
  119. package/dist/components/charts.js +1 -1
  120. package/dist/components/code-block.js +1 -1
  121. package/dist/components/code.js +1 -1
  122. package/dist/components/combobox.js +1 -1
  123. package/dist/components/command-palette.js +105 -97
  124. package/dist/components/command-palette.js.map +1 -1
  125. package/dist/components/copy-button.js +1 -1
  126. package/dist/components/data-table.js +94 -95
  127. package/dist/components/data-table.js.map +1 -1
  128. package/dist/components/date-picker.js +3 -3
  129. package/dist/components/date-picker.js.map +1 -1
  130. package/dist/components/dialog.js +141 -153
  131. package/dist/components/dialog.js.map +1 -1
  132. package/dist/components/display-options.js +5 -5
  133. package/dist/components/filter-chip.js +1 -1
  134. package/dist/components/flow.js +37 -36
  135. package/dist/components/flow.js.map +1 -1
  136. package/dist/components/icon-button.js +1 -1
  137. package/dist/components/icon.js +1 -1
  138. package/dist/components/input.js +5 -5
  139. package/dist/components/kaeso/conversation.js +2 -2
  140. package/dist/components/kaeso/identity.js +1 -1
  141. package/dist/components/kaeso/moments.js +3 -3
  142. package/dist/components/kaeso/rights.js +1 -1
  143. package/dist/components/kaeso/usage.js +1 -1
  144. package/dist/components/kaeso.js +4 -4
  145. package/dist/components/key-value.js +3 -3
  146. package/dist/components/link.js +1 -1
  147. package/dist/components/list.js +1 -1
  148. package/dist/components/logo.js +101 -1
  149. package/dist/components/logo.js.map +1 -0
  150. package/dist/components/markdown.js +1 -1
  151. package/dist/components/menu.js +1 -1
  152. package/dist/components/page-header.js +1 -1
  153. package/dist/components/pagination.js +1 -1
  154. package/dist/components/playground.js +8 -8
  155. package/dist/components/scroll-area.js +30 -23
  156. package/dist/components/scroll-area.js.map +1 -1
  157. package/dist/components/section.js +1 -1
  158. package/dist/components/segmented.js +1 -1
  159. package/dist/components/select.js +1 -1
  160. package/dist/components/sheet.js +46 -41
  161. package/dist/components/sheet.js.map +1 -1
  162. package/dist/components/sidebar.js +1 -1
  163. package/dist/components/stat.js +75 -76
  164. package/dist/components/stat.js.map +1 -1
  165. package/dist/components/switch.js +1 -1
  166. package/dist/components/tag.js +1 -1
  167. package/dist/components/text.js +1 -1
  168. package/dist/components/theme-image.js +38 -0
  169. package/dist/components/theme-image.js.map +1 -0
  170. package/dist/components/theme-menu.js +3 -3
  171. package/dist/components/theme-select.js +58 -0
  172. package/dist/components/theme-select.js.map +1 -0
  173. package/dist/components/toast.js +91 -92
  174. package/dist/components/toast.js.map +1 -1
  175. package/dist/components/tooltip.js +1 -1
  176. package/dist/i18n-provider.js +1 -1
  177. package/dist/index.js +76 -74
  178. package/dist/kaeso.css +39 -16
  179. package/dist/styles.css +1 -1
  180. package/dist/theme.js +1 -1
  181. package/dist/types/components/app-frame/app-frame.d.ts +2 -10
  182. package/dist/types/components/app-frame/docs.d.ts +1 -0
  183. package/dist/types/components/app-frame/index.d.ts +1 -0
  184. package/dist/types/components/app-frame/nav-sheet.d.ts +11 -0
  185. package/dist/types/components/charts/linear-scale.d.ts +17 -0
  186. package/dist/types/components/code/code.d.ts +16 -0
  187. package/dist/types/components/code/docs.d.ts +1 -0
  188. package/dist/types/components/code-block/code-block.d.ts +2 -0
  189. package/dist/types/components/code-block/docs.d.ts +4 -0
  190. package/dist/types/components/command-palette/command-palette.d.ts +1 -0
  191. package/dist/types/components/command-palette/docs.d.ts +1 -0
  192. package/dist/types/components/dialog/dialog.d.ts +5 -2
  193. package/dist/types/components/dialog/docs.d.ts +10 -0
  194. package/dist/types/components/dialog/index.d.ts +1 -0
  195. package/dist/types/components/dialog/scope.d.ts +9 -0
  196. package/dist/types/components/dialog/step-dialog.d.ts +9 -1
  197. package/dist/types/components/link/link.d.ts +8 -0
  198. package/dist/types/components/logo/nav-wordmark.d.ts +6 -0
  199. package/dist/types/components/scroll-area/scroll-area.d.ts +3 -3
  200. package/dist/types/components/theme-image/docs.d.ts +13 -0
  201. package/dist/types/components/theme-image/index.d.ts +1 -0
  202. package/dist/types/components/theme-image/theme-image.d.ts +23 -0
  203. package/dist/types/components/theme-select/docs.d.ts +10 -0
  204. package/dist/types/components/theme-select/index.d.ts +1 -0
  205. package/dist/types/components/theme-select/theme-select.d.ts +34 -0
  206. package/dist/types/icons/groups.d.ts +1 -1
  207. package/dist/types/icons/vocabulary.d.ts +5 -0
  208. package/dist/types/index.d.ts +2 -0
  209. package/dist/types/theme/theme-provider.d.ts +1 -1
  210. package/dist/types/utils/dialog-scope.d.ts +7 -0
  211. package/dist/types/utils/lazy-module.d.ts +7 -2
  212. package/dist/types/utils/observe-resize.d.ts +1 -0
  213. package/dist/types/utils/resize-motion.d.ts +2 -0
  214. package/foundations/motion.md +1 -0
  215. package/package.json +2 -2
  216. package/dist/chunks/app-frame-BBIMch8X.js +0 -224
  217. package/dist/chunks/app-frame-BBIMch8X.js.map +0 -1
  218. package/dist/chunks/code-DDyOlIFO.js +0 -23
  219. package/dist/chunks/code-DDyOlIFO.js.map +0 -1
  220. package/dist/chunks/code-block-BbK6E4Eo.js.map +0 -1
  221. package/dist/chunks/core-Bgefcs3z.js.map +0 -1
  222. package/dist/chunks/de-BCg1eRVd.js.map +0 -1
  223. package/dist/chunks/dialog-CVqSVk3T.js +0 -283
  224. package/dist/chunks/dialog-CVqSVk3T.js.map +0 -1
  225. package/dist/chunks/icon-Bha63LaN.js.map +0 -1
  226. package/dist/chunks/link-tTapNTpM.js.map +0 -1
  227. package/dist/chunks/list-CN8pO8lv.js.map +0 -1
  228. package/dist/chunks/logo-VmXYhIJL.js.map +0 -1
  229. package/dist/chunks/restore-focus-Cap1Q-R3.js +0 -19
  230. package/dist/chunks/restore-focus-Cap1Q-R3.js.map +0 -1
  231. package/dist/chunks/section-XStLtXKa.js.map +0 -1
  232. package/dist/chunks/segmented-CDTx2n29.js.map +0 -1
  233. package/dist/chunks/select-Ca3HGsN1.js +0 -223
  234. package/dist/chunks/select-Ca3HGsN1.js.map +0 -1
  235. package/dist/chunks/sidebar-C4fL_KMm.js.map +0 -1
  236. package/dist/chunks/theme-provider-mgUaQK7L.js +0 -69
  237. package/dist/chunks/theme-provider-mgUaQK7L.js.map +0 -1
  238. package/dist/chunks/tooltip-CDu00nzg.js +0 -124
  239. package/dist/chunks/tooltip-CDu00nzg.js.map +0 -1
  240. package/dist/chunks/use-layout-width-DZaLOQMT.js +0 -27
  241. package/dist/chunks/use-layout-width-DZaLOQMT.js.map +0 -1
  242. package/dist/chunks/use-scroll-margin-DWcfIXac.js +0 -25
  243. package/dist/chunks/use-scroll-margin-DWcfIXac.js.map +0 -1
  244. package/dist/chunks/use-truncated-DmQoePvG.js +0 -25
  245. package/dist/chunks/use-truncated-DmQoePvG.js.map +0 -1
  246. package/dist/chunks/zh-CN-cPjO1OOo.js.map +0 -1
@@ -1,16 +1,17 @@
1
1
  "use client";
2
2
  import { t as e } from "./cn-CidVUKMm.js";
3
3
  import { i as t, n } from "./context-BELWW79w.js";
4
- import { n as r } from "./button-BHKAE6ui.js";
5
- import { r as i } from "./skeleton-kfuqdl1a.js";
6
- import { useEffect as a, useLayoutEffect as o, useRef as s, useState as c } from "react";
7
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
8
- import { tokenKindSeries as d, tokenKindTint as f } from "@logicplanes/kaeso-tokens";
4
+ import { t as r } from "./observe-resize-DhxhmoyB.js";
5
+ import { n as i } from "./button-DQvoOxVQ.js";
6
+ import { r as a } from "./skeleton-kfuqdl1a.js";
7
+ import { useEffect as o, useLayoutEffect as s, useRef as c, useState as l } from "react";
8
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
+ import { tokenKindSeries as f, tokenKindTint as p } from "@logicplanes/kaeso-tokens";
9
10
  //#region src/components/charts/core.tsx
10
- function p(e, t) {
11
+ function m(e, t) {
11
12
  return t.every(Number.isInteger) ? e.filter(Number.isInteger) : e;
12
13
  }
13
- var m = [
14
+ var h = [
14
15
  "var(--k-viz-1)",
15
16
  "var(--k-viz-2)",
16
17
  "var(--k-viz-3)",
@@ -19,7 +20,7 @@ var m = [
19
20
  "var(--k-viz-6)",
20
21
  "var(--k-viz-7)",
21
22
  "var(--k-viz-8)"
22
- ], h = [
23
+ ], g = [
23
24
  "var(--k-viz-thin-1)",
24
25
  "var(--k-viz-thin-2)",
25
26
  "var(--k-viz-thin-3)",
@@ -29,12 +30,12 @@ var m = [
29
30
  "var(--k-viz-thin-7)",
30
31
  "var(--k-viz-thin-8)"
31
32
  ];
32
- function g(e) {
33
+ function _(e) {
33
34
  let t = 2166136261;
34
35
  for (let n = 0; n < e.length; n++) t = Math.imul(t ^ e.charCodeAt(n), 16777619);
35
36
  return Math.abs(t);
36
37
  }
37
- var _ = {
38
+ var v = {
38
39
  1: 6,
39
40
  6: 1,
40
41
  2: 5,
@@ -42,33 +43,33 @@ var _ = {
42
43
  3: 7,
43
44
  7: 3
44
45
  };
45
- function v(e) {
46
- return g(e) % m.length;
47
- }
48
46
  function y(e) {
49
- let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), r = (e) => n.has(e) || _[e] !== void 0 && n.has(_[e]);
47
+ return _(e) % h.length;
48
+ }
49
+ function b(e) {
50
+ let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), r = (e) => n.has(e) || v[e] !== void 0 && n.has(v[e]);
50
51
  for (let i of e) {
51
52
  if (t.has(i)) continue;
52
- let e = v(i);
53
+ let e = y(i);
53
54
  if (r(e)) {
54
- let t = [...m.keys()];
55
+ let t = [...h.keys()];
55
56
  e = t.find((e) => !r(e)) ?? t.find((e) => !n.has(e)) ?? e;
56
57
  }
57
58
  n.add(e), t.set(i, e);
58
59
  }
59
60
  return t;
60
61
  }
61
- function b(e, t = !1) {
62
- return new Map([...y(e)].map(([e, n]) => [e, (t ? h : m)[n]]));
62
+ function x(e, t = !1) {
63
+ return new Map([...b(e)].map(([e, n]) => [e, (t ? g : h)[n]]));
63
64
  }
64
- var x = (e, t = !1) => (t ? h : m)[v(e)], S = (e, t = !1) => f[e] ? "var(--k-viz-1-soft)" : (t ? h : m)[d[e] - 1], C = [
65
+ var S = (e, t = !1) => (t ? g : h)[y(e)], C = (e, t = !1) => p[e] ? "var(--k-viz-1-soft)" : (t ? g : h)[f[e] - 1], w = [
65
66
  "input",
66
67
  "cacheRead",
67
68
  "cacheWrite",
68
69
  "output",
69
70
  "reasoning"
70
71
  ];
71
- function w(e, t = n) {
72
+ function T(e, t = n) {
72
73
  switch (e) {
73
74
  case "input": return t("tokenKind.input", "Input");
74
75
  case "output": return t("tokenKind.output", "Output");
@@ -77,40 +78,38 @@ function w(e, t = n) {
77
78
  case "reasoning": return t("tokenKind.reasoning", "Reasoning");
78
79
  }
79
80
  }
80
- function T() {
81
- let e = s(null), [t, n] = c({
81
+ function E() {
82
+ let e = c(null), [t, n] = l({
82
83
  width: 0,
83
84
  height: 0
84
85
  });
85
- return o(() => {
86
+ return s(() => {
86
87
  let t = e.current;
87
88
  if (!t) return;
88
- let r = () => n({
89
+ let i = () => n({
89
90
  width: Math.round(t.clientWidth),
90
91
  height: Math.round(t.clientHeight)
91
92
  });
92
- if (r(), typeof ResizeObserver > "u") return;
93
- let i = new ResizeObserver(r);
94
- return i.observe(t), () => i.disconnect();
93
+ return i(), r([t], i);
95
94
  }, []), [e, t];
96
95
  }
97
- var E = (e) => 1 - (1 - e) ** 3, D = () => typeof matchMedia < "u" && matchMedia("(prefers-reduced-motion: reduce)").matches, O = (e, t, n) => n >= 1 ? t : t.map((t, r) => (e[r] ?? t) + (t - (e[r] ?? t)) * E(n));
98
- function k(e, t) {
99
- return e.length === t.length && e.some((e) => e !== 0) && t.some((e) => e !== 0) && e.some((e, n) => e !== t[n]) && !D();
96
+ var D = (e) => 1 - (1 - e) ** 3, O = () => typeof matchMedia < "u" && matchMedia("(prefers-reduced-motion: reduce)").matches, k = (e, t, n) => n >= 1 ? t : t.map((t, r) => (e[r] ?? t) + (t - (e[r] ?? t)) * D(n));
97
+ function A(e, t) {
98
+ return e.length === t.length && e.some((e) => e !== 0) && t.some((e) => e !== 0) && e.some((e, n) => e !== t[n]) && !O();
100
99
  }
101
- function A(e, t = !1) {
102
- let n = e.join(","), [r, i] = c({
100
+ function j(e, t = !1) {
101
+ let n = e.join(","), [r, i] = l({
103
102
  key: n,
104
103
  from: e,
105
104
  to: e,
106
105
  t: 1,
107
106
  still: t
108
- }), o = r;
107
+ }), a = r;
109
108
  if (r.key !== n || r.still !== t) {
110
- let a = O(r.from, r.to, r.t);
111
- o = !t && !r.still && k(a, e) ? {
109
+ let o = k(r.from, r.to, r.t);
110
+ a = !t && !r.still && A(o, e) ? {
112
111
  key: n,
113
- from: a,
112
+ from: o,
114
113
  to: e,
115
114
  t: 0,
116
115
  still: t
@@ -120,10 +119,10 @@ function A(e, t = !1) {
120
119
  to: e,
121
120
  t: 1,
122
121
  still: t
123
- }, i(o);
122
+ }, i(a);
124
123
  }
125
- let s = o.t < 1;
126
- return a(() => {
124
+ let s = a.t < 1;
125
+ return o(() => {
127
126
  if (!s) return;
128
127
  let e = performance.now(), t = 0, r = () => {
129
128
  let a = Math.max(0, Math.min(1, (performance.now() - e) / 240));
@@ -133,10 +132,10 @@ function A(e, t = !1) {
133
132
  } : e), a < 1 && (t = requestAnimationFrame(r));
134
133
  };
135
134
  return t = requestAnimationFrame(r), () => cancelAnimationFrame(t);
136
- }, [n, s]), O(o.from, o.to, o.t);
135
+ }, [n, s]), k(a.from, a.to, a.t);
137
136
  }
138
- function j(e, t, n = !1) {
139
- let r = e.some((e) => e !== 0), i = A(r ? [...e, t] : e, n);
137
+ function M(e, t, n = !1) {
138
+ let r = e.some((e) => e !== 0), i = j(r ? [...e, t] : e, n);
140
139
  return r ? {
141
140
  values: i.slice(0, -1),
142
141
  top: i[i.length - 1] ?? t
@@ -145,45 +144,45 @@ function j(e, t, n = !1) {
145
144
  top: t
146
145
  };
147
146
  }
148
- function M({ label: n, height: a, children: o, table: s, legend: d, state: f = {}, className: p, toggle: m = !0 }) {
149
- let [h, g] = c(!1), _ = t();
150
- return /* @__PURE__ */ u("figure", {
147
+ function N({ label: n, height: r, children: o, table: s, legend: c, state: f = {}, className: p, toggle: m = !0 }) {
148
+ let [h, g] = l(!1), _ = t();
149
+ return /* @__PURE__ */ d("figure", {
151
150
  className: e("flex min-w-0 flex-col gap-12", p),
152
151
  "aria-label": n,
153
152
  children: [
154
- f.error ? /* @__PURE__ */ u("div", {
153
+ f.error ? /* @__PURE__ */ d("div", {
155
154
  className: "flex flex-col items-center justify-center gap-8 text-center",
156
- style: { height: a },
157
- children: [/* @__PURE__ */ l("p", {
155
+ style: { height: r },
156
+ children: [/* @__PURE__ */ u("p", {
158
157
  className: "text-body text-fg-secondary",
159
158
  children: _("chartFrame.loadFailed", "Couldn't load this chart")
160
- }), f.onRetry && /* @__PURE__ */ l(r, {
159
+ }), f.onRetry && /* @__PURE__ */ u(i, {
161
160
  size: "sm",
162
161
  onClick: f.onRetry,
163
162
  children: _("chartFrame.tryAgain", "Try again")
164
163
  })]
165
- }) : h && s ? /* @__PURE__ */ l("div", {
164
+ }) : h && s ? /* @__PURE__ */ u("div", {
166
165
  className: "overflow-auto scrollbar-quiet",
167
- style: { minHeight: a },
168
- children: /* @__PURE__ */ l(N, { table: s })
169
- }) : /* @__PURE__ */ u("div", {
166
+ style: { minHeight: r },
167
+ children: /* @__PURE__ */ u(P, { table: s })
168
+ }) : /* @__PURE__ */ d("div", {
170
169
  className: "relative",
171
- style: { height: a },
170
+ style: { height: r },
172
171
  children: [
173
172
  o,
174
- f.loading && /* @__PURE__ */ l(i, { className: "absolute inset-x-0 bottom-0 h-2 rounded-pill" }),
175
- f.empty && !f.loading && /* @__PURE__ */ l("div", {
173
+ f.loading && /* @__PURE__ */ u(a, { className: "absolute inset-x-0 bottom-0 h-2 rounded-pill" }),
174
+ f.empty && !f.loading && /* @__PURE__ */ u("div", {
176
175
  className: "absolute inset-0 flex items-center justify-center text-body text-fg-secondary",
177
176
  children: f.emptyText ?? _("chartFrame.noData", "No data for this period")
178
177
  })
179
178
  ]
180
179
  }),
181
- (d || m && s) && /* @__PURE__ */ u("div", {
180
+ (c || m && s) && /* @__PURE__ */ d("div", {
182
181
  className: "flex flex-wrap items-center gap-12",
183
- children: [/* @__PURE__ */ l("div", {
182
+ children: [/* @__PURE__ */ u("div", {
184
183
  className: "min-w-0 flex-1",
185
- children: !h && d
186
- }), m && s && /* @__PURE__ */ l("button", {
184
+ children: !h && c
185
+ }), m && s && /* @__PURE__ */ u("button", {
187
186
  type: "button",
188
187
  onClick: () => g((e) => !e),
189
188
  "aria-pressed": h,
@@ -191,9 +190,9 @@ function M({ label: n, height: a, children: o, table: s, legend: d, state: f = {
191
190
  children: h ? _("chartFrame.viewAsChart", "View as chart") : _("chartFrame.viewAsTable", "View as table")
192
191
  })]
193
192
  }),
194
- s && !h && /* @__PURE__ */ l("div", {
193
+ s && !h && /* @__PURE__ */ u("div", {
195
194
  className: "sr-only",
196
- children: /* @__PURE__ */ l(N, {
195
+ children: /* @__PURE__ */ u(P, {
197
196
  table: s,
198
197
  caption: n
199
198
  })
@@ -201,25 +200,25 @@ function M({ label: n, height: a, children: o, table: s, legend: d, state: f = {
201
200
  ]
202
201
  });
203
202
  }
204
- function N({ table: t, caption: n }) {
205
- return /* @__PURE__ */ u("table", {
203
+ function P({ table: t, caption: n }) {
204
+ return /* @__PURE__ */ d("table", {
206
205
  className: "w-full text-body",
207
206
  children: [
208
- n && /* @__PURE__ */ l("caption", {
207
+ n && /* @__PURE__ */ u("caption", {
209
208
  className: "sr-only",
210
209
  children: n
211
210
  }),
212
- /* @__PURE__ */ l("thead", { children: /* @__PURE__ */ l("tr", {
211
+ /* @__PURE__ */ u("thead", { children: /* @__PURE__ */ u("tr", {
213
212
  className: "hairline-b-strong",
214
- children: t.columns.map((t, n) => /* @__PURE__ */ l("th", {
213
+ children: t.columns.map((t, n) => /* @__PURE__ */ u("th", {
215
214
  scope: "col",
216
215
  className: e("h-36 px-12 text-caption font-medium text-fg-secondary first:pl-0", n > 0 ? "text-right" : "text-left"),
217
216
  children: t
218
217
  }, t))
219
218
  }) }),
220
- /* @__PURE__ */ l("tbody", { children: t.rows.map((t, n) => /* @__PURE__ */ l("tr", {
219
+ /* @__PURE__ */ u("tbody", { children: t.rows.map((t, n) => /* @__PURE__ */ u("tr", {
221
220
  className: "hairline-b",
222
- children: t.map((t, n) => /* @__PURE__ */ l("td", {
221
+ children: t.map((t, n) => /* @__PURE__ */ u("td", {
223
222
  className: e("h-36 px-12 first:pl-0", n > 0 ? "text-right tabular" : "text-left"),
224
223
  children: t
225
224
  }, n))
@@ -227,16 +226,16 @@ function N({ table: t, caption: n }) {
227
226
  ]
228
227
  });
229
228
  }
230
- function P({ color: t, shape: n = "square", off: r }) {
231
- return /* @__PURE__ */ l("span", {
229
+ function F({ color: t, shape: n = "square", off: r }) {
230
+ return /* @__PURE__ */ u("span", {
232
231
  "aria-hidden": !0,
233
232
  className: e("shrink-0 transition-control", n === "line" ? "h-2 w-12 rounded-pill" : "size-10 rounded-bar", r && "opacity-30"),
234
233
  style: { background: t }
235
234
  });
236
235
  }
237
- process.env.NODE_ENV !== "production" && (P.displayName = "Swatch");
238
- var F = (e) => (t) => e(t).replace(/[.,]00(?=\D*$)/, "");
239
- function I(e, t, n = 4) {
236
+ process.env.NODE_ENV !== "production" && (F.displayName = "Swatch");
237
+ var I = (e) => (t) => e(t).replace(/[.,]00(?=\D*$)/, "");
238
+ function L(e, t, n = 4) {
240
239
  for (let r = n; r >= 1; r--) {
241
240
  let n = e.ticks(r);
242
241
  if (new Set(n.map(t)).size === n.length) return n;
@@ -244,29 +243,29 @@ function I(e, t, n = 4) {
244
243
  let [r = 0, i = 0] = e.domain();
245
244
  return t(r) === t(i) ? [r] : [r, i];
246
245
  }
247
- function L(e) {
246
+ function R(e) {
248
247
  if (e instanceof Date) return Number.isNaN(e.getTime()) ? NaN : Date.UTC(e.getFullYear(), e.getMonth(), e.getDate()) / 864e5;
249
248
  let t = /^(\d{4})-(\d{2})-(\d{2})/.exec(e);
250
249
  return t ? Date.UTC(Number(t[1]), Number(t[2]) - 1, Number(t[3])) / 864e5 : NaN;
251
250
  }
252
- var R = (e) => (/* @__PURE__ */ new Date(e * 864e5)).getUTCFullYear();
253
- function z(e) {
254
- let t = e.map(L), n = [];
251
+ var z = (e) => (/* @__PURE__ */ new Date(e * 864e5)).getUTCFullYear();
252
+ function B(e) {
253
+ let t = e.map(R), n = [];
255
254
  return t.forEach((e, r) => {
256
255
  let i = r > 0 ? t[r - 1] : t.length > 1 ? 2 * e - t[1] : NaN;
257
- Number.isFinite(e) && Number.isFinite(i) && R(e) !== R(i) && n.push(r);
256
+ Number.isFinite(e) && Number.isFinite(i) && z(e) !== z(i) && n.push(r);
258
257
  }), n;
259
258
  }
260
- var B = /[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\u3000-\u303f\uff00-\uffef]/u;
261
- function V(e) {
259
+ var V = /[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\u3000-\u303f\uff00-\uffef]/u;
260
+ function H(e) {
262
261
  let t = 0;
263
- for (let n of e) t += B.test(n) ? 1 : /\p{Lu}/u.test(n) ? .8 : /\p{Ll}/u.test(n) ? .6 : /\p{Nd}/u.test(n) ? .66 : /\s/.test(n) ? .3 : .4;
264
- return t * q.label.fontSize;
262
+ for (let n of e) t += V.test(n) ? 1 : /\p{Lu}/u.test(n) ? .8 : /\p{Ll}/u.test(n) ? .6 : /\p{Nd}/u.test(n) ? .66 : /\s/.test(n) ? .3 : .4;
263
+ return t * J.label.fontSize;
265
264
  }
266
- var H = 8;
267
- function U(e, t) {
265
+ var U = 8;
266
+ function W(e, t) {
268
267
  let n = e.map((e) => {
269
- let n = V(e.label), r = e.at - n / 2 < 0 ? "start" : e.at + n / 2 > t ? "end" : "middle", i = r === "start" ? Math.max(e.at, 0) : e.at, a = r === "start" ? i : r === "end" ? i - n : i - n / 2;
268
+ let n = H(e.label), r = e.at - n / 2 < 0 ? "start" : e.at + n / 2 > t ? "end" : "middle", i = r === "start" ? Math.max(e.at, 0) : e.at, a = r === "start" ? i : r === "end" ? i - n : i - n / 2;
270
269
  return {
271
270
  key: e.key,
272
271
  x: i,
@@ -275,7 +274,7 @@ function U(e, t) {
275
274
  left: a,
276
275
  right: a + n
277
276
  };
278
- }), r = (e, t) => !e || !t || e.right + H <= t.left;
277
+ }), r = (e, t) => !e || !t || e.right + U <= t.left;
279
278
  n.length > 2 && !r(n[0], n[1]) && n.splice(1, 1), n.length > 2 && !r(n[n.length - 2], n[n.length - 1]) && n.splice(n.length - 2, 1);
280
279
  let i = [];
281
280
  for (let e of n) r(i[i.length - 1], e) && i.push(e);
@@ -286,13 +285,13 @@ function U(e, t) {
286
285
  label: r
287
286
  }));
288
287
  }
289
- function W(e, t, n = {
288
+ function G(e, t, n = {
290
289
  start: Infinity,
291
290
  end: Infinity
292
291
  }, r) {
293
292
  let i = e.length;
294
293
  if (i === 0) return [];
295
- let a = (r) => V(e[r]) / 2 <= Math.min(n.start + r * t, n.end + (i - 1 - r) * t) + 1e-6, o = Math.max(48, Math.max(...e.map(V)) + 16), s = t > 0 ? Math.max(1, Math.ceil(o / t - 1e-6)) : i, c = r && r.length === i ? z(r) : [], l = s;
294
+ let a = (r) => H(e[r]) / 2 <= Math.min(n.start + r * t, n.end + (i - 1 - r) * t) + 1e-6, o = Math.max(48, Math.max(...e.map(H)) + 16), s = t > 0 ? Math.max(1, Math.ceil(o / t - 1e-6)) : i, c = r && r.length === i ? B(r) : [], l = s;
296
295
  for (let e = s; s > 1 && e <= s * 2; e++) if (c.every((t) => (t - c[0]) % e === 0)) {
297
296
  l = e;
298
297
  break;
@@ -311,14 +310,14 @@ function W(e, t, n = {
311
310
  for (let e = d; e < i; e += l) a(e) && f.push(e);
312
311
  return f;
313
312
  }
314
- function G({ items: n, hidden: r, onToggle: i, onHover: a, shape: o = "square" }) {
313
+ function K({ items: n, hidden: r, onToggle: i, onHover: a, shape: o = "square" }) {
315
314
  let s = t();
316
- return /* @__PURE__ */ l("ul", {
315
+ return /* @__PURE__ */ u("ul", {
317
316
  className: "flex flex-wrap items-center gap-4",
318
317
  "aria-label": s("chartLegend.label", "Legend"),
319
318
  children: n.map((t) => {
320
319
  let n = r?.has(t.id);
321
- return /* @__PURE__ */ l("li", { children: /* @__PURE__ */ u(i ? "button" : "span", {
320
+ return /* @__PURE__ */ u("li", { children: /* @__PURE__ */ d(i ? "button" : "span", {
322
321
  ...i ? {
323
322
  type: "button",
324
323
  "aria-pressed": !n,
@@ -330,13 +329,13 @@ function G({ items: n, hidden: r, onToggle: i, onHover: a, shape: o = "square" }
330
329
  onBlur: () => a?.(null),
331
330
  className: e("inline-flex h-28 items-center gap-8 rounded-pill px-10 text-small font-medium transition-control", i && "relative cursor-pointer hover:bg-fill-1 focus-ring tap-target", n ? "text-fg-tertiary" : "text-fg"),
332
331
  children: [
333
- /* @__PURE__ */ l(P, {
332
+ /* @__PURE__ */ u(F, {
334
333
  color: t.color,
335
334
  shape: o,
336
335
  off: n
337
336
  }),
338
337
  t.label,
339
- t.value !== void 0 && /* @__PURE__ */ l("span", {
338
+ t.value !== void 0 && /* @__PURE__ */ u("span", {
340
339
  className: "text-fg-secondary tabular",
341
340
  children: t.value
342
341
  })
@@ -345,20 +344,20 @@ function G({ items: n, hidden: r, onToggle: i, onHover: a, shape: o = "square" }
345
344
  })
346
345
  });
347
346
  }
348
- process.env.NODE_ENV !== "production" && (G.displayName = "Legend");
349
- function K({ x: t, xLeft: n = t, y: r, width: i, heading: a, rows: d, visible: f }) {
350
- let p = s(null), [m, h] = c(0);
351
- o(() => {
347
+ process.env.NODE_ENV !== "production" && (K.displayName = "Legend");
348
+ function q({ x: t, xLeft: n = t, y: r, width: i, heading: a, rows: o, visible: f }) {
349
+ let p = c(null), [m, h] = l(0);
350
+ s(() => {
352
351
  let e = p.current?.offsetWidth ?? 0;
353
352
  e !== m && h(e);
354
353
  }, [
355
354
  m,
356
355
  a,
357
- d,
356
+ o,
358
357
  f
359
358
  ]);
360
359
  let g = t > i / 2, _ = g ? n - 16 - m : t + 16, v = m ? Math.round(Math.max(0, Math.min(_, i - m))) : void 0;
361
- return /* @__PURE__ */ u("div", {
360
+ return /* @__PURE__ */ d("div", {
362
361
  ref: p,
363
362
  role: "presentation",
364
363
  "aria-hidden": !0,
@@ -367,24 +366,24 @@ function K({ x: t, xLeft: n = t, y: r, width: i, heading: a, rows: d, visible: f
367
366
  ...v === void 0 ? g ? { right: Math.round(i - n + 16) } : { left: Math.round(t + 16) } : { left: v },
368
367
  top: Math.round(Math.max(0, r - 24))
369
368
  },
370
- children: [/* @__PURE__ */ l("div", {
369
+ children: [/* @__PURE__ */ u("div", {
371
370
  className: "mb-6 text-caption font-medium text-fg tabular",
372
371
  children: a
373
- }), /* @__PURE__ */ l("div", {
372
+ }), /* @__PURE__ */ u("div", {
374
373
  className: "flex flex-col gap-4",
375
- children: d.map((e) => /* @__PURE__ */ u("div", {
374
+ children: o.map((e) => /* @__PURE__ */ d("div", {
376
375
  className: "flex items-center gap-8",
377
376
  children: [
378
- /* @__PURE__ */ l(P, { color: e.color }),
379
- /* @__PURE__ */ l("span", {
377
+ /* @__PURE__ */ u(F, { color: e.color }),
378
+ /* @__PURE__ */ u("span", {
380
379
  className: "min-w-0 flex-1 truncate pr-12 text-fg-secondary",
381
380
  children: e.label
382
381
  }),
383
- /* @__PURE__ */ l("span", {
382
+ /* @__PURE__ */ u("span", {
384
383
  className: "font-medium text-fg tabular",
385
384
  children: e.value
386
385
  }),
387
- e.share !== void 0 && /* @__PURE__ */ l("span", {
386
+ e.share !== void 0 && /* @__PURE__ */ u("span", {
388
387
  className: "w-40 text-right text-fg-tertiary tabular",
389
388
  children: e.share
390
389
  })
@@ -393,8 +392,8 @@ function K({ x: t, xLeft: n = t, y: r, width: i, heading: a, rows: d, visible: f
393
392
  })]
394
393
  });
395
394
  }
396
- process.env.NODE_ENV !== "production" && (K.displayName = "ChartTooltip");
397
- var q = {
395
+ process.env.NODE_ENV !== "production" && (q.displayName = "ChartTooltip");
396
+ var J = {
398
397
  grid: {
399
398
  stroke: "var(--k-line)",
400
399
  strokeDasharray: "3 3",
@@ -410,8 +409,8 @@ var q = {
410
409
  fontWeight: 500,
411
410
  style: { fontVariantNumeric: "tabular-nums" }
412
411
  }
413
- }, J = { chrome: { default: { classes: "" } } }, Y = { chrome: "default" };
414
- function X(e, t, n, { vertical: r = !1, start: i = n - 1 } = {}) {
412
+ }, Y = { chrome: { default: { classes: "" } } }, X = { chrome: "default" };
413
+ function Z(e, t, n, { vertical: r = !1, start: i = n - 1 } = {}) {
415
414
  if (n <= 0) return;
416
415
  let a = r ? "ArrowUp" : "ArrowLeft", o = r ? "ArrowDown" : "ArrowRight";
417
416
  if (e === a) return t === null ? i : Math.max(0, t - 1);
@@ -420,8 +419,8 @@ function X(e, t, n, { vertical: r = !1, start: i = n - 1 } = {}) {
420
419
  if (e === "End") return n - 1;
421
420
  if (e === "Escape") return t === null ? void 0 : null;
422
421
  }
423
- function Z(e, t = {}) {
424
- let [n, r] = c(null), i = t.start ?? e - 1;
422
+ function Q(e, t = {}) {
423
+ let [n, r] = l(null), i = t.start ?? e - 1;
425
424
  return {
426
425
  index: n !== null && n < e ? n : null,
427
426
  props: {
@@ -436,7 +435,7 @@ function Z(e, t = {}) {
436
435
  },
437
436
  onBlur: () => r(null),
438
437
  onKeyDown: (a) => {
439
- let o = X(a.key, n, e, {
438
+ let o = Z(a.key, n, e, {
440
439
  vertical: !!t.vertical,
441
440
  start: i
442
441
  });
@@ -445,16 +444,16 @@ function Z(e, t = {}) {
445
444
  }
446
445
  };
447
446
  }
448
- function Q({ children: e }) {
449
- return /* @__PURE__ */ l("div", {
447
+ function $({ children: e }) {
448
+ return /* @__PURE__ */ u("div", {
450
449
  className: "sr-only",
451
450
  "aria-live": "polite",
452
451
  "aria-atomic": !0,
453
452
  children: e
454
453
  });
455
454
  }
456
- process.env.NODE_ENV !== "production" && (Q.displayName = "ChartLive");
457
- var $ = (e, t, r = n) => r("chart.liveLine", "{heading}: {values}", {
455
+ process.env.NODE_ENV !== "production" && ($.displayName = "ChartLive");
456
+ var ee = (e, t, r = n) => r("chart.liveLine", "{heading}: {values}", {
458
457
  heading: String(e),
459
458
  values: t.map((e) => r("chart.liveValue", "{label} {value}", {
460
459
  label: String(e.label),
@@ -462,6 +461,6 @@ var $ = (e, t, r = n) => r("chart.liveLine", "{heading}: {values}", {
462
461
  })).join(r("chart.listSeparator", ", "))
463
462
  });
464
463
  //#endregion
465
- export { p as A, S as C, T as D, Z as E, A as O, F as S, k as T, U as _, Y as a, b, P as c, h as d, y as f, $ as g, V as h, K as i, z as j, j as k, C as l, X as m, M as n, J as o, W as p, Q as r, G as s, q as t, m as u, I as v, w, v as x, x as y };
464
+ export { m as A, C, E as D, Q as E, j as O, I as S, A as T, W as _, X as a, x as b, F as c, g as d, b as f, ee as g, H as h, q as i, B as j, M as k, w as l, Z as m, N as n, Y as o, G as p, $ as r, K as s, J as t, h as u, L as v, T as w, y as x, S as y };
466
465
 
467
- //# sourceMappingURL=core-Bgefcs3z.js.map
466
+ //# sourceMappingURL=core-K960A4OT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-K960A4OT.js","names":["cn","useUiText","observeResize","Button","Skeleton","wholeTicks","values","ticks","VIZ","VIZ_THIN","hash","h","i","s","NEAR","seriesIndex","id","assignSeries","out","used","clash","k","ids","keys","seriesColors","thin","seriesColor","tokenKindColor","tokenKindTint","tokenKindSeries","TOKEN_KIND_ORDER","tokenKindLabel","englishText","kind","useSize","ref","useRef","size","setSize","useState","useLayoutEffect","el","set","ease","t","reducedMotion","mix","to","from","v","tweens","useTweened","key","tween","setTween","current","still","drawn","running","useEffect","start","raf","step","useTweenedScale","any","top","ChartFrame","asTable","setAsTable","className","label","state","table","height","DataTablePlain","children","legend","toggle","caption","c","r","j","Swatch","shape","off","color","tickLabel","format","readableTicks","n","count","scale","lo","hi","dayNumber","d","m","yearOfDay","yearStarts","days","dates","prev","WIDE","labelWidth","em","ch","AXIS","LABEL_GAP","placeTimeLabels","placed","width","anchor","right","x","left","clear","a","b","kept","l","axisLabelIndexes","labels","fits","edges","room","every","starts","stride","score","p","best","Legend","items","hidden","it","onToggle","onHover","ChartTooltip","own","setOwn","w","heading","rows","visible","flip","wanted","xLeft","y","KAESO_CHARTS_VARIANTS","KAESO_CHARTS_DEFAULT_VARIANTS","chartKeyIndex","back","vertical","forward","index","useChartKeys","setIndex","options","keyboard","next","e","ChartLive","liveLine"],"sources":["../../src/components/charts/core.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { useEffect, useLayoutEffect, useRef, useState, type ReactNode, type RefObject } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { observeResize } from \"../../utils/observe-resize.js\";\nimport { tokenKindSeries, tokenKindTint } from \"@logicplanes/kaeso-tokens\";\nimport { Skeleton } from \"../skeleton/skeleton.js\";\nimport { Button } from \"../button/button.js\";\nimport { englishText, useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport function wholeTicks(ticks: number[], values: number[]): number[] {\n return values.every(Number.isInteger) ? ticks.filter(Number.isInteger) : ticks;\n}\nexport const VIZ = [\n \"var(--k-viz-1)\",\n \"var(--k-viz-2)\",\n \"var(--k-viz-3)\",\n \"var(--k-viz-4)\",\n \"var(--k-viz-5)\",\n \"var(--k-viz-6)\",\n \"var(--k-viz-7)\",\n \"var(--k-viz-8)\",\n] as const;\nexport const VIZ_THIN = [\n \"var(--k-viz-thin-1)\",\n \"var(--k-viz-thin-2)\",\n \"var(--k-viz-thin-3)\",\n \"var(--k-viz-thin-4)\",\n \"var(--k-viz-thin-5)\",\n \"var(--k-viz-thin-6)\",\n \"var(--k-viz-thin-7)\",\n \"var(--k-viz-thin-8)\",\n] as const;\n\nfunction hash(s: string) {\n let h = 2166136261;\n for (let i = 0; i < s.length; i++) h = Math.imul(h ^ s.charCodeAt(i), 16777619);\n return Math.abs(h);\n}\nconst NEAR: Record<number, number> = { 1: 6, 6: 1, 2: 5, 5: 2, 3: 7, 7: 3 };\n\nexport function seriesIndex(id: string): number {\n return hash(id) % VIZ.length;\n}\n\nexport function assignSeries(ids: string[]): Map<string, number> {\n const out = new Map<string, number>();\n const used = new Set<number>();\n const clash = (k: number) => used.has(k) || (NEAR[k] !== undefined && used.has(NEAR[k]!));\n for (const id of ids) {\n if (out.has(id)) continue;\n let i = seriesIndex(id);\n if (clash(i)) {\n const keys = [...VIZ.keys()];\n i = keys.find((k) => !clash(k)) ?? keys.find((k) => !used.has(k)) ?? i;\n }\n used.add(i);\n out.set(id, i);\n }\n return out;\n}\n\nexport function seriesColors(ids: string[], thin = false): Map<string, string> {\n return new Map([...assignSeries(ids)].map(([id, i]) => [id, (thin ? VIZ_THIN : VIZ)[i]!]));\n}\n\nexport const seriesColor = (id: string, thin = false) => (thin ? VIZ_THIN : VIZ)[seriesIndex(id)]!;\n\nexport type TokenKind = keyof typeof tokenKindSeries;\nexport const tokenKindColor = (k: TokenKind, thin = false) => {\n if (tokenKindTint[k]) return \"var(--k-viz-1-soft)\";\n return (thin ? VIZ_THIN : VIZ)[tokenKindSeries[k] - 1]!;\n};\nexport const TOKEN_KIND_ORDER: TokenKind[] = [\"input\", \"cacheRead\", \"cacheWrite\", \"output\", \"reasoning\"];\nexport function tokenKindLabel(kind: TokenKind, t: UiText = englishText): string {\n switch (kind) {\n case \"input\":\n return t(\"tokenKind.input\", \"Input\");\n case \"output\":\n return t(\"tokenKind.output\", \"Output\");\n case \"cacheRead\":\n return t(\"tokenKind.cacheRead\", \"Cache read\");\n case \"cacheWrite\":\n return t(\"tokenKind.cacheWrite\", \"Cache write\");\n case \"reasoning\":\n return t(\"tokenKind.reasoning\", \"Reasoning\");\n }\n}\n\nexport function useSize<T extends HTMLElement>(): [RefObject<T | null>, { width: number; height: number }] {\n const ref = useRef<T | null>(null);\n const [size, setSize] = useState({ width: 0, height: 0 });\n useLayoutEffect(() => {\n const el = ref.current;\n if (!el) return;\n const set = () => setSize({ width: Math.round(el.clientWidth), height: Math.round(el.clientHeight) });\n set();\n return observeResize([el], set);\n }, []);\n return [ref, size];\n}\n\nconst ease = (t: number) => 1 - Math.pow(1 - t, 3);\nconst reducedMotion = () => typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\nconst mix = (from: number[], to: number[], t: number) => (t >= 1 ? to : to.map((v, i) => (from[i] ?? v) + (v - (from[i] ?? v)) * ease(t)));\n\nexport function tweens(from: number[], to: number[]): boolean {\n return from.length === to.length && from.some((v) => v !== 0) && to.some((v) => v !== 0) && from.some((v, i) => v !== to[i]) && !reducedMotion();\n}\n\nexport function useTweened(values: number[], still = false): number[] {\n const key = values.join(\",\");\n const [tween, setTween] = useState({ key, from: values, to: values, t: 1, still });\n let current = tween;\n if (tween.key !== key || tween.still !== still) {\n const drawn = mix(tween.from, tween.to, tween.t);\n const animate = !still && !tween.still && tweens(drawn, values);\n current = animate ? { key, from: drawn, to: values, t: 0, still } : { key, from: values, to: values, t: 1, still };\n setTween(current);\n }\n const running = current.t < 1;\n useEffect(() => {\n if (!running) return;\n const start = performance.now();\n let raf = 0;\n const step = () => {\n const t = Math.max(0, Math.min(1, (performance.now() - start) / 240));\n setTween((s) => (s.key === key ? { ...s, t } : s));\n if (t < 1) raf = requestAnimationFrame(step);\n };\n raf = requestAnimationFrame(step);\n return () => cancelAnimationFrame(raf);\n }, [key, running]);\n return mix(current.from, current.to, current.t);\n}\n\nexport function useTweenedScale(values: number[], top: number, still = false): { values: number[]; top: number } {\n const any = values.some((v) => v !== 0);\n const drawn = useTweened(any ? [...values, top] : values, still);\n return any ? { values: drawn.slice(0, -1), top: drawn[drawn.length - 1] ?? top } : { values: drawn, top };\n}\n\nexport interface ChartState {\n loading?: boolean | undefined;\n error?: ReactNode | undefined;\n onRetry?: (() => void) | undefined;\n empty?: boolean | undefined;\n emptyText?: ReactNode | undefined;\n}\n\nexport interface TableData {\n columns: string[];\n rows: (string | number)[][];\n}\n\nexport function ChartFrame({\n label,\n height,\n children,\n table,\n legend,\n state = {},\n className,\n toggle = true,\n}: {\n label: string;\n height: number;\n children: ReactNode;\n table?: TableData | undefined;\n legend?: ReactNode | undefined;\n state?: ChartState | undefined;\n className?: string | undefined;\n toggle?: boolean | undefined;\n}) {\n const [asTable, setAsTable] = useState(false);\n const t = useUiText();\n return (\n <figure className={cn(\"flex min-w-0 flex-col gap-12\", className)} aria-label={label}>\n {state.error ? (\n <div className=\"flex flex-col items-center justify-center gap-8 text-center\" style={{ height }}>\n <p className=\"text-body text-fg-secondary\">{t(\"chartFrame.loadFailed\", \"Couldn't load this chart\")}</p>\n {state.onRetry && (\n <Button size=\"sm\" onClick={state.onRetry}>\n {t(\"chartFrame.tryAgain\", \"Try again\")}\n </Button>\n )}\n </div>\n ) : asTable && table ? (\n <div className=\"overflow-auto scrollbar-quiet\" style={{ minHeight: height }}>\n <DataTablePlain table={table} />\n </div>\n ) : (\n <div className=\"relative\" style={{ height }}>\n {children}\n {state.loading && <Skeleton className=\"absolute inset-x-0 bottom-0 h-2 rounded-pill\" />}\n {state.empty && !state.loading && (\n <div className=\"absolute inset-0 flex items-center justify-center text-body text-fg-secondary\">\n {state.emptyText ?? t(\"chartFrame.noData\", \"No data for this period\")}\n </div>\n )}\n </div>\n )}\n {(legend || (toggle && table)) && (\n <div className=\"flex flex-wrap items-center gap-12\">\n <div className=\"min-w-0 flex-1\">{!asTable && legend}</div>\n {toggle && table && (\n <button\n type=\"button\"\n onClick={() => setAsTable((v) => !v)}\n aria-pressed={asTable}\n className=\"relative inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring tap-target\"\n >\n {asTable ? t(\"chartFrame.viewAsChart\", \"View as chart\") : t(\"chartFrame.viewAsTable\", \"View as table\")}\n </button>\n )}\n </div>\n )}\n {table && !asTable && (\n <div className=\"sr-only\">\n <DataTablePlain table={table} caption={label} />\n </div>\n )}\n </figure>\n );\n}\n\nfunction DataTablePlain({ table, caption }: { table: TableData; caption?: string | undefined }) {\n return (\n <table className=\"w-full text-body\">\n {caption && <caption className=\"sr-only\">{caption}</caption>}\n <thead>\n <tr className=\"hairline-b-strong\">\n {table.columns.map((c, i) => (\n <th key={c} scope=\"col\" className={cn(\"h-36 px-12 text-caption font-medium text-fg-secondary first:pl-0\", i > 0 ? \"text-right\" : \"text-left\")}>\n {c}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {table.rows.map((r, i) => (\n <tr key={i} className=\"hairline-b\">\n {r.map((v, j) => (\n <td key={j} className={cn(\"h-36 px-12 first:pl-0\", j > 0 ? \"text-right tabular\" : \"text-left\")}>\n {v}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n}\n\nexport interface LegendItem {\n id: string;\n label: ReactNode;\n color: string;\n value?: ReactNode | undefined;\n}\n\nexport function Swatch({ color, shape = \"square\", off }: { color: string; shape?: \"square\" | \"line\" | undefined; off?: boolean | undefined }) {\n return (\n <span\n aria-hidden\n className={cn(\"shrink-0 transition-control\", shape === \"line\" ? \"h-2 w-12 rounded-pill\" : \"size-10 rounded-bar\", off && \"opacity-30\")}\n style={{ background: color }}\n />\n );\n}\nif (process.env.NODE_ENV !== \"production\") Swatch.displayName = \"Swatch\";\n\nexport const tickLabel = (format: (v: number) => string) => (v: number) => format(v).replace(/[.,]00(?=\\D*$)/, \"\");\n\nexport function readableTicks(scale: { ticks: (count: number) => number[]; domain: () => number[] }, label: (v: number) => string, count = 4): number[] {\n for (let n = count; n >= 1; n--) {\n const ticks = scale.ticks(n);\n if (new Set(ticks.map(label)).size === ticks.length) return ticks;\n }\n const [lo = 0, hi = 0] = scale.domain();\n return label(lo) === label(hi) ? [lo] : [lo, hi];\n}\n\nexport type AxisDate = Date | string;\n\nfunction dayNumber(d: AxisDate): number {\n if (d instanceof Date) return Number.isNaN(d.getTime()) ? NaN : Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()) / 86_400_000;\n const m = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(d);\n return m ? Date.UTC(Number(m[1]), Number(m[2]) - 1, Number(m[3])) / 86_400_000 : NaN;\n}\nconst yearOfDay = (n: number) => new Date(n * 86_400_000).getUTCFullYear();\n\nexport function yearStarts(dates: readonly AxisDate[]): number[] {\n const days = dates.map(dayNumber);\n const out: number[] = [];\n days.forEach((d, i) => {\n const prev = i > 0 ? days[i - 1]! : days.length > 1 ? 2 * d - days[1]! : NaN;\n if (Number.isFinite(d) && Number.isFinite(prev) && yearOfDay(d) !== yearOfDay(prev)) out.push(i);\n });\n return out;\n}\n\nconst WIDE = /[\\p{Script=Han}\\p{Script=Hiragana}\\p{Script=Katakana}\\p{Script=Hangul}\\u3000-\\u303f\\uff00-\\uffef]/u;\n\nexport function labelWidth(label: string): number {\n let em = 0;\n for (const ch of label) em += WIDE.test(ch) ? 1 : /\\p{Lu}/u.test(ch) ? 0.8 : /\\p{Ll}/u.test(ch) ? 0.6 : /\\p{Nd}/u.test(ch) ? 0.66 : /\\s/.test(ch) ? 0.3 : 0.4;\n return em * AXIS.label.fontSize;\n}\n\nconst LABEL_GAP = 8;\n\nexport function placeTimeLabels(\n ticks: { key: number; at: number; label: string }[],\n right: number,\n): { key: number; x: number; anchor: \"start\" | \"middle\" | \"end\"; label: string }[] {\n const placed = ticks.map((t) => {\n const width = labelWidth(t.label);\n const anchor: \"start\" | \"middle\" | \"end\" = t.at - width / 2 < 0 ? \"start\" : t.at + width / 2 > right ? \"end\" : \"middle\";\n const x = anchor === \"start\" ? Math.max(t.at, 0) : t.at;\n const left = anchor === \"start\" ? x : anchor === \"end\" ? x - width : x - width / 2;\n return { key: t.key, x, anchor, label: t.label, left, right: left + width };\n });\n const clear = (a: { right: number } | undefined, b: { left: number } | undefined) => !a || !b || a.right + LABEL_GAP <= b.left;\n if (placed.length > 2 && !clear(placed[0], placed[1])) placed.splice(1, 1);\n if (placed.length > 2 && !clear(placed[placed.length - 2], placed[placed.length - 1])) placed.splice(placed.length - 2, 1);\n const kept: typeof placed = [];\n for (const l of placed) if (clear(kept[kept.length - 1], l)) kept.push(l);\n return kept.map(({ key, x, anchor, label }) => ({ key, x, anchor, label }));\n}\n\nexport function axisLabelIndexes(\n labels: string[],\n step: number,\n edges: { start: number; end: number } = { start: Infinity, end: Infinity },\n dates?: readonly AxisDate[] | undefined,\n): number[] {\n const n = labels.length;\n if (n === 0) return [];\n const fits = (i: number) => labelWidth(labels[i]!) / 2 <= Math.min(edges.start + i * step, edges.end + (n - 1 - i) * step) + 1e-6;\n const room = Math.max(48, Math.max(...labels.map(labelWidth)) + 16);\n const every = step > 0 ? Math.max(1, Math.ceil(room / step - 1e-6)) : n;\n const starts = dates && dates.length === n ? yearStarts(dates) : [];\n let stride = every;\n for (let s = every; every > 1 && s <= every * 2; s++) {\n if (starts.every((i) => (i - starts[0]!) % s === 0)) {\n stride = s;\n break;\n }\n }\n const score = (p: number) => [\n starts.filter((i) => i % stride === p && fits(i)).length,\n (n - 1) % stride === p && fits(n - 1) ? 1 : 0,\n p === 0 && fits(0) ? 1 : 0,\n n - 1 - ((n - 1 - p) % stride),\n ];\n let best = 0;\n for (let p = 1; p < Math.min(stride, n); p++) {\n const a = score(p);\n const b = score(best);\n const k = a.findIndex((v, j) => v !== b[j]);\n if (k >= 0 && a[k]! > b[k]!) best = p;\n }\n const out: number[] = [];\n for (let i = best; i < n; i += stride) if (fits(i)) out.push(i);\n return out;\n}\n\nexport function Legend({\n items,\n hidden,\n onToggle,\n onHover,\n shape = \"square\",\n}: {\n items: LegendItem[];\n hidden?: Set<string> | undefined;\n onToggle?: ((id: string) => void) | undefined;\n onHover?: ((id: string | null) => void) | undefined;\n shape?: \"square\" | \"line\" | undefined;\n}) {\n const t = useUiText();\n return (\n <ul className=\"flex flex-wrap items-center gap-4\" aria-label={t(\"chartLegend.label\", \"Legend\")}>\n {items.map((it) => {\n const off = hidden?.has(it.id);\n const Comp = onToggle ? \"button\" : \"span\";\n return (\n <li key={it.id}>\n <Comp\n {...(onToggle ? { type: \"button\" as const, \"aria-pressed\": !off, onClick: () => onToggle(it.id) } : {})}\n onMouseEnter={() => onHover?.(it.id)}\n onMouseLeave={() => onHover?.(null)}\n onFocus={() => onHover?.(it.id)}\n onBlur={() => onHover?.(null)}\n className={cn(\n \"inline-flex h-28 items-center gap-8 rounded-pill px-10 text-small font-medium transition-control\",\n onToggle && \"relative cursor-pointer hover:bg-fill-1 focus-ring tap-target\",\n off ? \"text-fg-tertiary\" : \"text-fg\",\n )}\n >\n <Swatch color={it.color} shape={shape} off={off} />\n {it.label}\n {it.value !== undefined && <span className=\"text-fg-secondary tabular\">{it.value}</span>}\n </Comp>\n </li>\n );\n })}\n </ul>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Legend.displayName = \"Legend\";\n\nexport interface TooltipRow {\n id: string;\n label: ReactNode;\n color: string;\n value: ReactNode;\n share?: ReactNode | undefined;\n}\n\nexport function ChartTooltip({\n x,\n xLeft = x,\n y,\n width,\n heading,\n rows,\n visible,\n}: {\n x: number;\n xLeft?: number | undefined;\n y: number;\n width: number;\n heading: ReactNode;\n rows: TooltipRow[];\n visible: boolean;\n}) {\n const el = useRef<HTMLDivElement | null>(null);\n const [own, setOwn] = useState(0);\n useLayoutEffect(() => {\n const w = el.current?.offsetWidth ?? 0;\n if (w !== own) setOwn(w);\n }, [own, heading, rows, visible]);\n const flip = x > width / 2;\n const wanted = flip ? xLeft - 16 - own : x + 16;\n const left = own ? Math.round(Math.max(0, Math.min(wanted, width - own))) : undefined;\n return (\n <div\n ref={el}\n role=\"presentation\"\n aria-hidden\n className={cn(\n \"pointer-events-none absolute z-10 w-max min-w-200 max-w-360 rounded-tooltip bg-raised p-10 text-small shadow-raised opacity-motion\",\n visible && own ? \"opacity-100\" : \"opacity-0\",\n )}\n style={{\n ...(left !== undefined ? { left } : flip ? { right: Math.round(width - xLeft + 16) } : { left: Math.round(x + 16) }),\n top: Math.round(Math.max(0, y - 24)),\n }}\n >\n <div className=\"mb-6 text-caption font-medium text-fg tabular\">{heading}</div>\n <div className=\"flex flex-col gap-4\">\n {rows.map((r) => (\n <div key={r.id} className=\"flex items-center gap-8\">\n <Swatch color={r.color} />\n <span className=\"min-w-0 flex-1 truncate pr-12 text-fg-secondary\">{r.label}</span>\n <span className=\"font-medium text-fg tabular\">{r.value}</span>\n {r.share !== undefined && <span className=\"w-40 text-right text-fg-tertiary tabular\">{r.share}</span>}\n </div>\n ))}\n </div>\n </div>\n );\n}\nif (process.env.NODE_ENV !== \"production\") ChartTooltip.displayName = \"ChartTooltip\";\n\nexport const AXIS = {\n grid: { stroke: \"var(--k-line)\", strokeDasharray: \"3 3\", strokeWidth: 1 },\n baseline: { stroke: \"var(--k-line-strong)\", strokeWidth: 1 },\n label: { fill: \"var(--k-text-tertiary)\", fontSize: 12, fontWeight: 500, style: { fontVariantNumeric: \"tabular-nums\" as const } },\n};\n\nexport const KAESO_CHARTS_VARIANTS = {\n chrome: { default: { classes: \"\" } },\n} as const;\nexport const KAESO_CHARTS_DEFAULT_VARIANTS = { chrome: \"default\" } as const;\n\nexport function chartKeyIndex(\n key: string,\n index: number | null,\n count: number,\n { vertical = false, start = count - 1 }: { vertical?: boolean | undefined; start?: number | undefined } = {},\n): number | null | undefined {\n if (count <= 0) return undefined;\n const back = vertical ? \"ArrowUp\" : \"ArrowLeft\";\n const forward = vertical ? \"ArrowDown\" : \"ArrowRight\";\n if (key === back) return index === null ? start : Math.max(0, index - 1);\n if (key === forward) return index === null ? start : Math.min(count - 1, index + 1);\n if (key === \"Home\") return 0;\n if (key === \"End\") return count - 1;\n if (key === \"Escape\") return index === null ? undefined : null;\n return undefined;\n}\n\nexport function useChartKeys(count: number, options: { vertical?: boolean | undefined; start?: number | undefined } = {}) {\n const [index, setIndex] = useState<number | null>(null);\n const start = options.start ?? count - 1;\n const props = {\n tabIndex: count > 0 ? 0 : -1,\n onFocus: (e: React.FocusEvent<HTMLElement>) => {\n if (e.target !== e.currentTarget) return;\n let keyboard = true;\n try {\n keyboard = e.currentTarget.matches(\":focus-visible\");\n } catch {}\n if (keyboard && !document.documentElement.hasAttribute(\"data-k-pointer\")) setIndex(Math.max(0, start));\n },\n onBlur: () => setIndex(null),\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => {\n const next = chartKeyIndex(e.key, index, count, { vertical: !!options.vertical, start });\n if (next === undefined) return;\n e.preventDefault();\n if (next === null) e.stopPropagation();\n setIndex(next);\n },\n };\n return { index: index !== null && index < count ? index : null, props };\n}\n\nexport function ChartLive({ children }: { children?: ReactNode | undefined }) {\n return (\n <div className=\"sr-only\" aria-live=\"polite\" aria-atomic>\n {children}\n </div>\n );\n}\nif (process.env.NODE_ENV !== \"production\") ChartLive.displayName = \"ChartLive\";\n\nexport const liveLine = (heading: ReactNode, rows: { label: ReactNode; value: ReactNode }[], t: UiText = englishText) =>\n t(\"chart.liveLine\", \"{heading}: {values}\", {\n heading: String(heading),\n values: rows.map((r) => t(\"chart.liveValue\", \"{label} {value}\", { label: String(r.label), value: String(r.value) })).join(t(\"chart.listSeparator\", \", \")),\n });\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { i as e } from "./context-BELWW79w.js";
3
3
  import { i as t } from "./popover-BE7VO-a4.js";
4
- import { t as n } from "./calendar-B5SSTE56.js";
5
- import { t as r } from "./iso-field-CznqNVrH.js";
4
+ import { t as n } from "./calendar-CN3YJi2k.js";
5
+ import { t as r } from "./iso-field-1qmg7TP8.js";
6
6
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
7
7
  //#region src/components/date-picker/date-popup.tsx
8
8
  function o({ date: o, onDateChange: s, onClose: c, weekStartsOn: l, disabledDays: u }) {
@@ -32,4 +32,4 @@ function o({ date: o, onDateChange: s, onClose: c, weekStartsOn: l, disabledDays
32
32
  //#endregion
33
33
  export { o as DatePopup };
34
34
 
35
- //# sourceMappingURL=date-popup-Er1oQwtU.js.map
35
+ //# sourceMappingURL=date-popup-B-6xhb-1.js.map