@salesmind-ai/design-system 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/README.md +2 -0
  2. package/dist/Anton-Regular-MLEXVTB2.woff2 +0 -0
  3. package/dist/admin/index.cjs +5 -61
  4. package/dist/admin/index.css +0 -3918
  5. package/dist/admin/index.css.map +1 -1
  6. package/dist/admin/index.d.cts +1 -422
  7. package/dist/admin/index.d.ts +1 -422
  8. package/dist/admin/index.js +1 -5
  9. package/dist/blog/index.cjs +13 -34
  10. package/dist/blog/index.css +0 -579
  11. package/dist/blog/index.css.map +1 -1
  12. package/dist/blog/index.d.cts +1 -54
  13. package/dist/blog/index.d.ts +1 -54
  14. package/dist/blog/index.js +5 -6
  15. package/dist/charts/index.cjs +0 -46
  16. package/dist/charts/index.d.cts +1 -452
  17. package/dist/charts/index.d.ts +1 -452
  18. package/dist/charts/index.js +1 -3
  19. package/dist/{chunk-HDVAMYSG.js → chunk-27Y5ESMM.js} +7 -2
  20. package/dist/chunk-27Y5ESMM.js.map +1 -0
  21. package/dist/{chunk-YTYDQBVY.cjs → chunk-2VVRZBUR.cjs} +4 -4
  22. package/dist/{chunk-GQELL2MF.cjs → chunk-3NS6X2R4.cjs} +20 -203
  23. package/dist/chunk-3NS6X2R4.cjs.map +1 -0
  24. package/dist/{chunk-XEX2AEZK.cjs → chunk-65DTHLVX.cjs} +66 -186
  25. package/dist/chunk-65DTHLVX.cjs.map +1 -0
  26. package/dist/{chunk-QALDZ7WQ.js → chunk-6BUS7RMS.js} +21 -198
  27. package/dist/chunk-6BUS7RMS.js.map +1 -0
  28. package/dist/{chunk-BJZ2DKS5.cjs → chunk-6QIQCUYC.cjs} +11 -10
  29. package/dist/chunk-6QIQCUYC.cjs.map +1 -0
  30. package/dist/{chunk-H2Y6BSTL.cjs → chunk-7EUR3AKV.cjs} +1 -1
  31. package/dist/chunk-7EUR3AKV.cjs.map +1 -0
  32. package/dist/{chunk-VFJZQQZU.js → chunk-AMNY5TS3.js} +11 -10
  33. package/dist/chunk-AMNY5TS3.js.map +1 -0
  34. package/dist/{chunk-YJ6C3EKW.js → chunk-CLXLQCNQ.js} +52 -168
  35. package/dist/chunk-CLXLQCNQ.js.map +1 -0
  36. package/dist/{chunk-H2KQ3WSH.cjs → chunk-CVLD5RQK.cjs} +12 -14
  37. package/dist/chunk-CVLD5RQK.cjs.map +1 -0
  38. package/dist/chunk-EPD4ZEPY.cjs +344 -0
  39. package/dist/chunk-EPD4ZEPY.cjs.map +1 -0
  40. package/dist/chunk-FXYOSA4E.cjs +118 -0
  41. package/dist/chunk-FXYOSA4E.cjs.map +1 -0
  42. package/dist/{chunk-ECXBTUH6.cjs → chunk-GPHQGLR5.cjs} +27 -204
  43. package/dist/chunk-GPHQGLR5.cjs.map +1 -0
  44. package/dist/{chunk-Y26OHHMX.js → chunk-HHQ6J7B6.js} +513 -888
  45. package/dist/chunk-HHQ6J7B6.js.map +1 -0
  46. package/dist/chunk-JPUJWI7F.cjs +73 -0
  47. package/dist/chunk-JPUJWI7F.cjs.map +1 -0
  48. package/dist/{chunk-6UNG76Y2.js → chunk-K526GN7P.js} +2 -2
  49. package/dist/{chunk-SICKWUWB.js → chunk-KJHPOB3J.js} +1 -1
  50. package/dist/chunk-KJHPOB3J.js.map +1 -0
  51. package/dist/chunk-KXVFFEGD.js +60 -0
  52. package/dist/chunk-KXVFFEGD.js.map +1 -0
  53. package/dist/chunk-LQB7QLD3.js +288 -0
  54. package/dist/chunk-LQB7QLD3.js.map +1 -0
  55. package/dist/chunk-LUD52ZJF.cjs +726 -0
  56. package/dist/chunk-LUD52ZJF.cjs.map +1 -0
  57. package/dist/{chunk-7UZ5DETZ.js → chunk-MBAG654R.js} +4 -216
  58. package/dist/chunk-MBAG654R.js.map +1 -0
  59. package/dist/chunk-OMP6FAZ6.cjs +183 -0
  60. package/dist/chunk-OMP6FAZ6.cjs.map +1 -0
  61. package/dist/{chunk-WYH4TKS5.js → chunk-PBYRTNQ5.js} +6 -8
  62. package/dist/chunk-PBYRTNQ5.js.map +1 -0
  63. package/dist/chunk-PYREXCZK.js +679 -0
  64. package/dist/chunk-PYREXCZK.js.map +1 -0
  65. package/dist/{chunk-6D22TFLA.cjs → chunk-R3ZECV5P.cjs} +9 -4
  66. package/dist/chunk-R3ZECV5P.cjs.map +1 -0
  67. package/dist/{chunk-P5BOFE5A.js → chunk-RSLA2FJN.js} +28 -183
  68. package/dist/chunk-RSLA2FJN.js.map +1 -0
  69. package/dist/chunk-S46SKHMD.js +173 -0
  70. package/dist/chunk-S46SKHMD.js.map +1 -0
  71. package/dist/chunk-SFXTB7JL.js +190 -0
  72. package/dist/chunk-SFXTB7JL.js.map +1 -0
  73. package/dist/chunk-SGYXYMKZ.cjs +214 -0
  74. package/dist/chunk-SGYXYMKZ.cjs.map +1 -0
  75. package/dist/chunk-UGKYP6F3.cjs +296 -0
  76. package/dist/chunk-UGKYP6F3.cjs.map +1 -0
  77. package/dist/chunk-WB6XDNU7.js +115 -0
  78. package/dist/chunk-WB6XDNU7.js.map +1 -0
  79. package/dist/{chunk-LTPTW2US.cjs → chunk-WE4QIIVN.cjs} +592 -974
  80. package/dist/chunk-WE4QIIVN.cjs.map +1 -0
  81. package/dist/core/index.cjs +144 -626
  82. package/dist/core/index.css +178 -3567
  83. package/dist/core/index.css.map +1 -1
  84. package/dist/core/index.d.cts +940 -902
  85. package/dist/core/index.d.ts +940 -902
  86. package/dist/core/index.js +6 -12
  87. package/dist/i18n/index.cjs +54 -49
  88. package/dist/i18n/index.d.cts +46 -11
  89. package/dist/i18n/index.d.ts +46 -11
  90. package/dist/i18n/index.js +2 -1
  91. package/dist/index-BJ8rBqrO.d.cts +1100 -0
  92. package/dist/index-BxMqCbqE.d.ts +1100 -0
  93. package/dist/index.cjs +507 -1001
  94. package/dist/index.cjs.map +1 -1
  95. package/dist/index.css +6057 -16713
  96. package/dist/index.css.map +1 -1
  97. package/dist/index.d.cts +306 -21
  98. package/dist/index.d.ts +306 -21
  99. package/dist/index.js +274 -39
  100. package/dist/index.js.map +1 -1
  101. package/dist/marketing/index.cjs +33 -76
  102. package/dist/marketing/index.css +1896 -3234
  103. package/dist/marketing/index.css.map +1 -1
  104. package/dist/marketing/index.d.cts +3 -1351
  105. package/dist/marketing/index.d.ts +3 -1351
  106. package/dist/marketing/index.js +5 -8
  107. package/dist/motion/index.cjs +3 -20
  108. package/dist/motion/index.css +0 -580
  109. package/dist/motion/index.css.map +1 -1
  110. package/dist/motion/index.d.cts +1 -37
  111. package/dist/motion/index.d.ts +1 -37
  112. package/dist/motion/index.js +1 -2
  113. package/dist/nav/index.cjs +10 -35
  114. package/dist/nav/index.css +28 -580
  115. package/dist/nav/index.css.map +1 -1
  116. package/dist/nav/index.d.cts +2 -60
  117. package/dist/nav/index.d.ts +2 -60
  118. package/dist/nav/index.js +1 -2
  119. package/dist/report/index.cjs +1166 -175
  120. package/dist/report/index.cjs.map +1 -1
  121. package/dist/report/index.d.cts +208 -5
  122. package/dist/report/index.d.ts +208 -5
  123. package/dist/report/index.js +1141 -3
  124. package/dist/report/index.js.map +1 -1
  125. package/dist/sections/index.cjs +8 -10
  126. package/dist/sections/index.cjs.map +1 -1
  127. package/dist/sections/index.css +0 -206
  128. package/dist/sections/index.css.map +1 -1
  129. package/dist/sections/index.js +2 -4
  130. package/dist/sections/index.js.map +1 -1
  131. package/dist/social-media/index.cjs +4 -0
  132. package/dist/social-media/index.cjs.map +1 -0
  133. package/dist/social-media/index.d.cts +2 -0
  134. package/dist/social-media/index.d.ts +2 -0
  135. package/dist/social-media/index.js +3 -0
  136. package/dist/social-media/index.js.map +1 -0
  137. package/dist/social-proof/index.cjs +4 -36
  138. package/dist/social-proof/index.css +3 -1106
  139. package/dist/social-proof/index.css.map +1 -1
  140. package/dist/social-proof/index.d.cts +26 -171
  141. package/dist/social-proof/index.d.ts +26 -171
  142. package/dist/social-proof/index.js +1 -5
  143. package/dist/styles/styles.css +657 -2990
  144. package/dist/theme/index.cjs +12 -16
  145. package/dist/theme/index.css +1 -245
  146. package/dist/theme/index.css.map +1 -1
  147. package/dist/theme/index.d.cts +4 -1
  148. package/dist/theme/index.d.ts +4 -1
  149. package/dist/theme/index.js +2 -2
  150. package/dist/web/client/index.cjs +10 -10
  151. package/dist/web/client/index.css +118 -0
  152. package/dist/web/client/index.css.map +1 -1
  153. package/dist/web/client/index.js +2 -2
  154. package/dist/web/index.cjs +10 -10
  155. package/dist/web/index.css +118 -0
  156. package/dist/web/index.css.map +1 -1
  157. package/dist/web/index.js +2 -2
  158. package/package.json +10 -4
  159. package/dist/AppearancePanel-UT57J69V.d.cts +0 -51
  160. package/dist/AppearancePanel-UT57J69V.d.ts +0 -51
  161. package/dist/ExportMenu-A2TLFiVv.d.cts +0 -311
  162. package/dist/ExportMenu-C8qck5AT.d.ts +0 -311
  163. package/dist/Select-BdZmK0Lt.d.cts +0 -66
  164. package/dist/Select-BdZmK0Lt.d.ts +0 -66
  165. package/dist/chart-types-BGVVO-zl.d.cts +0 -208
  166. package/dist/chart-types-BGVVO-zl.d.ts +0 -208
  167. package/dist/charts/index.css +0 -1167
  168. package/dist/charts/index.css.map +0 -1
  169. package/dist/chunk-3BAQDW3V.cjs +0 -1207
  170. package/dist/chunk-3BAQDW3V.cjs.map +0 -1
  171. package/dist/chunk-3NKRFUAR.js +0 -37
  172. package/dist/chunk-3NKRFUAR.js.map +0 -1
  173. package/dist/chunk-3TGSIILM.cjs +0 -201
  174. package/dist/chunk-3TGSIILM.cjs.map +0 -1
  175. package/dist/chunk-4GM5BGBN.cjs +0 -801
  176. package/dist/chunk-4GM5BGBN.cjs.map +0 -1
  177. package/dist/chunk-5LA3T22E.cjs +0 -562
  178. package/dist/chunk-5LA3T22E.cjs.map +0 -1
  179. package/dist/chunk-5SN66B2X.js +0 -2542
  180. package/dist/chunk-5SN66B2X.js.map +0 -1
  181. package/dist/chunk-6D22TFLA.cjs.map +0 -1
  182. package/dist/chunk-6H4DSTXR.js +0 -786
  183. package/dist/chunk-6H4DSTXR.js.map +0 -1
  184. package/dist/chunk-6HKQ5ILL.cjs +0 -1624
  185. package/dist/chunk-6HKQ5ILL.cjs.map +0 -1
  186. package/dist/chunk-7PX2AZ6Y.js +0 -39
  187. package/dist/chunk-7PX2AZ6Y.js.map +0 -1
  188. package/dist/chunk-7UZ5DETZ.js.map +0 -1
  189. package/dist/chunk-B6AVAX4F.js +0 -1415
  190. package/dist/chunk-B6AVAX4F.js.map +0 -1
  191. package/dist/chunk-BJZ2DKS5.cjs.map +0 -1
  192. package/dist/chunk-BUTQSDQH.js +0 -200
  193. package/dist/chunk-BUTQSDQH.js.map +0 -1
  194. package/dist/chunk-C2BCDNAV.js +0 -24
  195. package/dist/chunk-C2BCDNAV.js.map +0 -1
  196. package/dist/chunk-CJ2MKVAF.cjs +0 -46
  197. package/dist/chunk-CJ2MKVAF.cjs.map +0 -1
  198. package/dist/chunk-E7D6EKJ4.cjs +0 -44
  199. package/dist/chunk-E7D6EKJ4.cjs.map +0 -1
  200. package/dist/chunk-ECXBTUH6.cjs.map +0 -1
  201. package/dist/chunk-FAFAP4L5.js +0 -183
  202. package/dist/chunk-FAFAP4L5.js.map +0 -1
  203. package/dist/chunk-G2XGBO5V.cjs +0 -2565
  204. package/dist/chunk-G2XGBO5V.cjs.map +0 -1
  205. package/dist/chunk-GQELL2MF.cjs.map +0 -1
  206. package/dist/chunk-H2KQ3WSH.cjs.map +0 -1
  207. package/dist/chunk-H2Y6BSTL.cjs.map +0 -1
  208. package/dist/chunk-HCZW5AJN.cjs +0 -234
  209. package/dist/chunk-HCZW5AJN.cjs.map +0 -1
  210. package/dist/chunk-HDVAMYSG.js.map +0 -1
  211. package/dist/chunk-HN4PHABT.js +0 -126
  212. package/dist/chunk-HN4PHABT.js.map +0 -1
  213. package/dist/chunk-LTPTW2US.cjs.map +0 -1
  214. package/dist/chunk-MDB2WCRQ.cjs +0 -137
  215. package/dist/chunk-MDB2WCRQ.cjs.map +0 -1
  216. package/dist/chunk-MQRB634A.cjs +0 -34
  217. package/dist/chunk-MQRB634A.cjs.map +0 -1
  218. package/dist/chunk-NN3TUHIH.js +0 -28
  219. package/dist/chunk-NN3TUHIH.js.map +0 -1
  220. package/dist/chunk-OWS2KAXZ.js +0 -701
  221. package/dist/chunk-OWS2KAXZ.js.map +0 -1
  222. package/dist/chunk-P5BOFE5A.js.map +0 -1
  223. package/dist/chunk-PUPSK3DI.cjs +0 -216
  224. package/dist/chunk-PUPSK3DI.cjs.map +0 -1
  225. package/dist/chunk-Q2MFGYTE.cjs +0 -1449
  226. package/dist/chunk-Q2MFGYTE.cjs.map +0 -1
  227. package/dist/chunk-Q75DBVDY.cjs +0 -68
  228. package/dist/chunk-Q75DBVDY.cjs.map +0 -1
  229. package/dist/chunk-QALDZ7WQ.js.map +0 -1
  230. package/dist/chunk-QWE2RNCS.js +0 -1195
  231. package/dist/chunk-QWE2RNCS.js.map +0 -1
  232. package/dist/chunk-RQUFZAZ7.js +0 -1608
  233. package/dist/chunk-RQUFZAZ7.js.map +0 -1
  234. package/dist/chunk-SICKWUWB.js.map +0 -1
  235. package/dist/chunk-TCFC7XTB.js +0 -212
  236. package/dist/chunk-TCFC7XTB.js.map +0 -1
  237. package/dist/chunk-UTVXGAQP.cjs +0 -2437
  238. package/dist/chunk-UTVXGAQP.cjs.map +0 -1
  239. package/dist/chunk-UVEMY3FQ.cjs +0 -717
  240. package/dist/chunk-UVEMY3FQ.cjs.map +0 -1
  241. package/dist/chunk-VFJZQQZU.js.map +0 -1
  242. package/dist/chunk-WH7PYHZY.cjs +0 -35
  243. package/dist/chunk-WH7PYHZY.cjs.map +0 -1
  244. package/dist/chunk-WYH4TKS5.js.map +0 -1
  245. package/dist/chunk-XEX2AEZK.cjs.map +0 -1
  246. package/dist/chunk-XPTVHPCN.js +0 -2320
  247. package/dist/chunk-XPTVHPCN.js.map +0 -1
  248. package/dist/chunk-XWPDRMZG.js +0 -62
  249. package/dist/chunk-XWPDRMZG.js.map +0 -1
  250. package/dist/chunk-Y26OHHMX.js.map +0 -1
  251. package/dist/chunk-YJ6C3EKW.js.map +0 -1
  252. package/dist/motion-C651Ry6d.d.cts +0 -832
  253. package/dist/motion-C651Ry6d.d.ts +0 -832
  254. package/dist/report/index.css +0 -1239
  255. package/dist/report/index.css.map +0 -1
  256. /package/dist/{chunk-6UNG76Y2.js.map → chunk-2VVRZBUR.cjs.map} +0 -0
  257. /package/dist/{chunk-YTYDQBVY.cjs.map → chunk-K526GN7P.js.map} +0 -0
@@ -1,786 +0,0 @@
1
- import { ReportModeProvider, useReportMode, INSIGHT_TYPE_CONTRACTS, useDataState } from './chunk-B6AVAX4F.js';
2
- import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuItem, DropdownMenuSeparator } from './chunk-FAFAP4L5.js';
3
- import React4 from 'react';
4
- import clsx2 from 'clsx';
5
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
-
7
- var ReportShell = React4.forwardRef(
8
- ({
9
- title,
10
- subtitle,
11
- mode = "executive",
12
- brand,
13
- onModeChange,
14
- children,
15
- actions,
16
- className,
17
- ...props
18
- }, ref) => {
19
- return /* @__PURE__ */ jsx(ReportModeProvider, { mode, onModeChange, children: /* @__PURE__ */ jsxs(
20
- "div",
21
- {
22
- ref,
23
- className: clsx2("ds-report-shell", className),
24
- "data-mode": mode,
25
- "data-brand": brand,
26
- ...props,
27
- children: [
28
- (title || subtitle || actions) && /* @__PURE__ */ jsxs("header", { className: "ds-report-shell__header", children: [
29
- /* @__PURE__ */ jsxs("div", { className: "ds-report-shell__header-content", children: [
30
- title && /* @__PURE__ */ jsx("h1", { className: "ds-report-shell__title", children: title }),
31
- subtitle && /* @__PURE__ */ jsx("p", { className: "ds-report-shell__subtitle", children: subtitle })
32
- ] }),
33
- actions && /* @__PURE__ */ jsx("div", { className: "ds-report-shell__actions", children: actions })
34
- ] }),
35
- /* @__PURE__ */ jsx("main", { className: "ds-report-shell__content", children })
36
- ]
37
- }
38
- ) });
39
- }
40
- );
41
- ReportShell.displayName = "ReportShell";
42
- var ExecutiveThesis = React4.forwardRef(
43
- ({ thesis, context, metric, aiGenerated, className, ...props }, ref) => {
44
- const { features } = useReportMode();
45
- return /* @__PURE__ */ jsxs(
46
- "section",
47
- {
48
- ref,
49
- className: clsx2("ds-executive-thesis", className),
50
- "aria-labelledby": "executive-thesis-title",
51
- ...props,
52
- children: [
53
- /* @__PURE__ */ jsxs("div", { className: "ds-executive-thesis__content", children: [
54
- /* @__PURE__ */ jsxs("h2", { id: "executive-thesis-title", className: "ds-executive-thesis__title", children: [
55
- "Key Finding",
56
- aiGenerated && features.showConfidenceScores && /* @__PURE__ */ jsx("span", { className: "ds-executive-thesis__ai-badge", children: "AI Generated" })
57
- ] }),
58
- /* @__PURE__ */ jsx("p", { className: "ds-executive-thesis__thesis", children: thesis }),
59
- context && /* @__PURE__ */ jsx("p", { className: "ds-executive-thesis__context", children: context })
60
- ] }),
61
- metric && /* @__PURE__ */ jsxs("div", { className: "ds-executive-thesis__metric", children: [
62
- /* @__PURE__ */ jsx("span", { className: "ds-executive-thesis__metric-label", children: metric.label }),
63
- /* @__PURE__ */ jsxs(
64
- "span",
65
- {
66
- className: clsx2(
67
- "ds-executive-thesis__metric-value",
68
- metric.trend && `ds-executive-thesis__metric-value--${metric.trend}`
69
- ),
70
- children: [
71
- metric.trend === "up" && "\u2191 ",
72
- metric.trend === "down" && "\u2193 ",
73
- metric.value
74
- ]
75
- }
76
- )
77
- ] })
78
- ]
79
- }
80
- );
81
- }
82
- );
83
- ExecutiveThesis.displayName = "ExecutiveThesis";
84
- var InsightBlock = React4.forwardRef(
85
- ({ type, headline, description, confidence, methodology, children, className, ...props }, ref) => {
86
- const { features } = useReportMode();
87
- const contract = INSIGHT_TYPE_CONTRACTS[type];
88
- const getConfidenceClass = () => {
89
- if (confidence === void 0) return "";
90
- if (confidence >= 90) return "ds-insight-block--confidence-high";
91
- if (confidence >= 70) return "ds-insight-block--confidence-moderate";
92
- if (confidence >= 50) return "ds-insight-block--confidence-low";
93
- return "ds-insight-block--confidence-insufficient";
94
- };
95
- return /* @__PURE__ */ jsxs(
96
- "section",
97
- {
98
- ref,
99
- className: clsx2("ds-insight-block", getConfidenceClass(), className),
100
- "data-insight-type": type,
101
- "aria-labelledby": `insight-${type}-title`,
102
- ...props,
103
- children: [
104
- /* @__PURE__ */ jsxs("header", { className: "ds-insight-block__header", children: [
105
- /* @__PURE__ */ jsxs("div", { className: "ds-insight-block__meta", children: [
106
- /* @__PURE__ */ jsx("span", { className: "ds-insight-block__type", children: type.replace(/-/g, " ") }),
107
- features.showConfidenceScores && confidence !== void 0 && /* @__PURE__ */ jsxs("span", { className: "ds-insight-block__confidence", children: [
108
- confidence,
109
- "% confidence"
110
- ] })
111
- ] }),
112
- /* @__PURE__ */ jsx("h3", { id: `insight-${type}-title`, className: "ds-insight-block__headline", children: headline }),
113
- description && /* @__PURE__ */ jsx("p", { className: "ds-insight-block__description", children: description })
114
- ] }),
115
- /* @__PURE__ */ jsx("div", { className: "ds-insight-block__evidence", children }),
116
- features.showMethodology && methodology && /* @__PURE__ */ jsxs("footer", { className: "ds-insight-block__methodology", children: [
117
- /* @__PURE__ */ jsx("h4", { className: "ds-insight-block__methodology-title", children: "Methodology" }),
118
- /* @__PURE__ */ jsx("p", { className: "ds-insight-block__methodology-text", children: methodology }),
119
- contract && /* @__PURE__ */ jsxs("p", { className: "ds-insight-block__methodology-contract", children: [
120
- "Min sample: ",
121
- contract.minSampleSize,
122
- " | Allowed charts:",
123
- " ",
124
- contract.allowedCharts.join(", ")
125
- ] })
126
- ] })
127
- ]
128
- }
129
- );
130
- }
131
- );
132
- InsightBlock.displayName = "InsightBlock";
133
- var EvidenceGroup = React4.forwardRef(
134
- ({ title, layout = "row", columns = 2, children, className, ...props }, ref) => {
135
- const childCount = React4.Children.count(children);
136
- if (childCount > 3) {
137
- console.warn(
138
- `EvidenceGroup: Maximum 3 charts allowed per insight block (received ${childCount}). This violates composition rule R6.`
139
- );
140
- }
141
- return /* @__PURE__ */ jsxs(
142
- "div",
143
- {
144
- ref,
145
- className: clsx2(
146
- "ds-evidence-group",
147
- `ds-evidence-group--${layout}`,
148
- layout === "grid" && `ds-evidence-group--cols-${columns}`,
149
- className
150
- ),
151
- role: "group",
152
- "aria-label": title || "Evidence charts",
153
- ...props,
154
- children: [
155
- title && /* @__PURE__ */ jsx("h4", { className: "ds-evidence-group__title", children: title }),
156
- /* @__PURE__ */ jsx("div", { className: "ds-evidence-group__content", children })
157
- ]
158
- }
159
- );
160
- }
161
- );
162
- EvidenceGroup.displayName = "EvidenceGroup";
163
- var MethodologyNote = React4.forwardRef(
164
- ({ children, sampleSize, sources, calculation, forceShow = false, className, labels, ...props }, ref) => {
165
- const titleText = labels?.title ?? "Methodology";
166
- const sampleSizeLabel = labels?.sampleSize ?? "Sample Size";
167
- const dataSourcesLabel = labels?.dataSources ?? "Data Sources";
168
- const calculationLabel = labels?.calculation ?? "Calculation";
169
- const { features } = useReportMode();
170
- const shouldShow = forceShow || features.showMethodology || sampleSize !== void 0 && sampleSize < 100;
171
- if (!shouldShow) {
172
- return null;
173
- }
174
- return /* @__PURE__ */ jsxs(
175
- "aside",
176
- {
177
- ref,
178
- className: clsx2("ds-methodology-note", className),
179
- "aria-label": titleText,
180
- ...props,
181
- children: [
182
- /* @__PURE__ */ jsxs("div", { className: "ds-methodology-note__header", children: [
183
- /* @__PURE__ */ jsxs(
184
- "svg",
185
- {
186
- className: "ds-methodology-note__icon",
187
- width: "16",
188
- height: "16",
189
- viewBox: "0 0 24 24",
190
- fill: "none",
191
- stroke: "currentColor",
192
- strokeWidth: "2",
193
- children: [
194
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
195
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
196
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
197
- ]
198
- }
199
- ),
200
- /* @__PURE__ */ jsx("span", { className: "ds-methodology-note__title", children: titleText })
201
- ] }),
202
- /* @__PURE__ */ jsx("div", { className: "ds-methodology-note__content", children }),
203
- (sources || calculation || sampleSize !== void 0) && /* @__PURE__ */ jsxs("dl", { className: "ds-methodology-note__details", children: [
204
- sampleSize !== void 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
205
- /* @__PURE__ */ jsx("dt", { children: sampleSizeLabel }),
206
- /* @__PURE__ */ jsxs("dd", { children: [
207
- "n=",
208
- sampleSize.toLocaleString()
209
- ] })
210
- ] }),
211
- sources && sources.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
212
- /* @__PURE__ */ jsx("dt", { children: dataSourcesLabel }),
213
- /* @__PURE__ */ jsx("dd", { children: sources.join(", ") })
214
- ] }),
215
- calculation && /* @__PURE__ */ jsxs(Fragment, { children: [
216
- /* @__PURE__ */ jsx("dt", { children: calculationLabel }),
217
- /* @__PURE__ */ jsx("dd", { children: calculation })
218
- ] })
219
- ] })
220
- ]
221
- }
222
- );
223
- }
224
- );
225
- MethodologyNote.displayName = "MethodologyNote";
226
- var CaveatBlock = React4.forwardRef(
227
- ({
228
- title = "Important Caveat",
229
- children,
230
- severity = "warning",
231
- confidence,
232
- forceShow = false,
233
- className,
234
- ...props
235
- }, ref) => {
236
- const { features } = useReportMode();
237
- const shouldShow = forceShow || features.showMethodology || confidence !== void 0 && confidence < 70;
238
- if (!shouldShow) {
239
- return null;
240
- }
241
- const renderIcon = () => {
242
- if (severity === "critical") {
243
- return /* @__PURE__ */ jsxs(
244
- "svg",
245
- {
246
- width: "18",
247
- height: "18",
248
- viewBox: "0 0 24 24",
249
- fill: "none",
250
- stroke: "currentColor",
251
- strokeWidth: "2",
252
- children: [
253
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
254
- /* @__PURE__ */ jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
255
- /* @__PURE__ */ jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
256
- ]
257
- }
258
- );
259
- }
260
- if (severity === "info") {
261
- return /* @__PURE__ */ jsxs(
262
- "svg",
263
- {
264
- width: "18",
265
- height: "18",
266
- viewBox: "0 0 24 24",
267
- fill: "none",
268
- stroke: "currentColor",
269
- strokeWidth: "2",
270
- children: [
271
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
272
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
273
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
274
- ]
275
- }
276
- );
277
- }
278
- return /* @__PURE__ */ jsxs(
279
- "svg",
280
- {
281
- width: "18",
282
- height: "18",
283
- viewBox: "0 0 24 24",
284
- fill: "none",
285
- stroke: "currentColor",
286
- strokeWidth: "2",
287
- children: [
288
- /* @__PURE__ */ jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
289
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
290
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
291
- ]
292
- }
293
- );
294
- };
295
- return /* @__PURE__ */ jsxs(
296
- "aside",
297
- {
298
- ref,
299
- className: clsx2("ds-caveat-block", `ds-caveat-block--${severity}`, className),
300
- role: "note",
301
- "aria-label": title,
302
- ...props,
303
- children: [
304
- /* @__PURE__ */ jsxs("div", { className: "ds-caveat-block__header", children: [
305
- /* @__PURE__ */ jsx("span", { className: "ds-caveat-block__icon", children: renderIcon() }),
306
- /* @__PURE__ */ jsx("span", { className: "ds-caveat-block__title", children: title }),
307
- confidence !== void 0 && /* @__PURE__ */ jsxs("span", { className: "ds-caveat-block__confidence", children: [
308
- confidence,
309
- "% confidence"
310
- ] })
311
- ] }),
312
- /* @__PURE__ */ jsx("div", { className: "ds-caveat-block__content", children })
313
- ]
314
- }
315
- );
316
- }
317
- );
318
- CaveatBlock.displayName = "CaveatBlock";
319
- var KeyMetric = React4.forwardRef(
320
- ({
321
- title,
322
- value,
323
- prefix,
324
- suffix,
325
- trend,
326
- secondary,
327
- sampleSize,
328
- confidence,
329
- onClick,
330
- loading,
331
- size = "md",
332
- className,
333
- ...props
334
- }, ref) => {
335
- const { features } = useReportMode();
336
- const { isValid } = useDataState({
337
- sampleSize: sampleSize ?? 100,
338
- requiredSize: 30
339
- });
340
- const isClickable = onClick && !loading;
341
- const formatValue = (val) => {
342
- if (typeof val === "number") {
343
- return val.toLocaleString();
344
- }
345
- return val;
346
- };
347
- const getTrendIcon = (direction) => {
348
- switch (direction) {
349
- case "up":
350
- return "\u2191";
351
- case "down":
352
- return "\u2193";
353
- default:
354
- return "\u2192";
355
- }
356
- };
357
- const Component = isClickable ? "button" : "div";
358
- return /* @__PURE__ */ jsxs(
359
- Component,
360
- {
361
- ref,
362
- className: clsx2(
363
- "ds-key-metric",
364
- `ds-key-metric--${size}`,
365
- loading && "ds-key-metric--loading",
366
- isClickable && "ds-key-metric--clickable",
367
- !isValid && "ds-key-metric--invalid",
368
- className
369
- ),
370
- onClick: isClickable ? onClick : void 0,
371
- type: isClickable ? "button" : void 0,
372
- ...props,
373
- children: [
374
- /* @__PURE__ */ jsxs("div", { className: "ds-key-metric__header", children: [
375
- /* @__PURE__ */ jsx("span", { className: "ds-key-metric__title", children: title }),
376
- features.showConfidenceScores && confidence !== void 0 && /* @__PURE__ */ jsxs("span", { className: "ds-key-metric__confidence", children: [
377
- confidence,
378
- "%"
379
- ] })
380
- ] }),
381
- /* @__PURE__ */ jsxs("div", { className: "ds-key-metric__value-row", children: [
382
- /* @__PURE__ */ jsxs("span", { className: "ds-key-metric__value", children: [
383
- prefix && /* @__PURE__ */ jsx("span", { className: "ds-key-metric__prefix", children: prefix }),
384
- loading ? "\u2014" : formatValue(value),
385
- suffix && /* @__PURE__ */ jsx("span", { className: "ds-key-metric__suffix", children: suffix })
386
- ] }),
387
- trend && /* @__PURE__ */ jsxs(
388
- "span",
389
- {
390
- className: clsx2("ds-key-metric__trend", `ds-key-metric__trend--${trend.direction}`),
391
- children: [
392
- /* @__PURE__ */ jsx("span", { className: "ds-key-metric__trend-icon", children: getTrendIcon(trend.direction) }),
393
- /* @__PURE__ */ jsxs("span", { className: "ds-key-metric__trend-value", children: [
394
- Math.abs(trend.value),
395
- "%"
396
- ] }),
397
- trend.label && /* @__PURE__ */ jsx("span", { className: "ds-key-metric__trend-label", children: trend.label })
398
- ]
399
- }
400
- )
401
- ] }),
402
- secondary && /* @__PURE__ */ jsxs("div", { className: "ds-key-metric__secondary", children: [
403
- /* @__PURE__ */ jsxs("span", { className: "ds-key-metric__secondary-label", children: [
404
- secondary.label,
405
- ":"
406
- ] }),
407
- /* @__PURE__ */ jsx("span", { className: "ds-key-metric__secondary-value", children: formatValue(secondary.value) })
408
- ] }),
409
- features.showMethodology && sampleSize !== void 0 && /* @__PURE__ */ jsxs("div", { className: "ds-key-metric__sample", children: [
410
- "n=",
411
- sampleSize.toLocaleString()
412
- ] })
413
- ]
414
- }
415
- );
416
- }
417
- );
418
- KeyMetric.displayName = "KeyMetric";
419
- var TrendIndicator = React4.forwardRef(
420
- ({
421
- value,
422
- direction: directionOverride,
423
- positiveIsGood = true,
424
- showIcon = true,
425
- showPercent = true,
426
- size = "md",
427
- className,
428
- ...props
429
- }, ref) => {
430
- const direction = directionOverride ?? (value > 0 ? "up" : value < 0 ? "down" : "neutral");
431
- const isGood = positiveIsGood ? direction === "up" : direction === "down";
432
- const isBad = positiveIsGood ? direction === "down" : direction === "up";
433
- const getIcon = () => {
434
- switch (direction) {
435
- case "up":
436
- return /* @__PURE__ */ jsx(
437
- "svg",
438
- {
439
- width: "12",
440
- height: "12",
441
- viewBox: "0 0 24 24",
442
- fill: "none",
443
- stroke: "currentColor",
444
- strokeWidth: "3",
445
- children: /* @__PURE__ */ jsx("polyline", { points: "18,15 12,9 6,15" })
446
- }
447
- );
448
- case "down":
449
- return /* @__PURE__ */ jsx(
450
- "svg",
451
- {
452
- width: "12",
453
- height: "12",
454
- viewBox: "0 0 24 24",
455
- fill: "none",
456
- stroke: "currentColor",
457
- strokeWidth: "3",
458
- children: /* @__PURE__ */ jsx("polyline", { points: "6,9 12,15 18,9" })
459
- }
460
- );
461
- default:
462
- return /* @__PURE__ */ jsx(
463
- "svg",
464
- {
465
- width: "12",
466
- height: "12",
467
- viewBox: "0 0 24 24",
468
- fill: "none",
469
- stroke: "currentColor",
470
- strokeWidth: "3",
471
- children: /* @__PURE__ */ jsx("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
472
- }
473
- );
474
- }
475
- };
476
- return /* @__PURE__ */ jsxs(
477
- "span",
478
- {
479
- ref,
480
- className: clsx2(
481
- "ds-trend-indicator",
482
- `ds-trend-indicator--${size}`,
483
- `ds-trend-indicator--${direction}`,
484
- isGood && "ds-trend-indicator--good",
485
- isBad && "ds-trend-indicator--bad",
486
- className
487
- ),
488
- "aria-label": `${direction === "up" ? "Increased" : direction === "down" ? "Decreased" : "No change"} by ${Math.abs(value)}%`,
489
- ...props,
490
- children: [
491
- showIcon && /* @__PURE__ */ jsx("span", { className: "ds-trend-indicator__icon", children: getIcon() }),
492
- /* @__PURE__ */ jsxs("span", { className: "ds-trend-indicator__value", children: [
493
- value > 0 && "+",
494
- value.toFixed(1),
495
- showPercent && "%"
496
- ] })
497
- ]
498
- }
499
- );
500
- }
501
- );
502
- TrendIndicator.displayName = "TrendIndicator";
503
- var DEFAULT_OPTIONS = [
504
- { format: "pdf", label: "PDF Document", description: "Best for sharing reports" },
505
- { format: "pptx", label: "PowerPoint", description: "Editable presentation" },
506
- { format: "xlsx", label: "Excel Spreadsheet", description: "Data with charts" },
507
- { format: "csv", label: "CSV Data", description: "Raw data only" },
508
- { format: "png", label: "PNG Image", description: "Chart screenshot" },
509
- { format: "json", label: "JSON", description: "Developer format" }
510
- ];
511
- var FORMAT_ICONS = {
512
- pdf: /* @__PURE__ */ jsx(PdfIcon, {}),
513
- csv: /* @__PURE__ */ jsx(CsvIcon, {}),
514
- xlsx: /* @__PURE__ */ jsx(ExcelIcon, {}),
515
- pptx: /* @__PURE__ */ jsx(PptIcon, {}),
516
- png: /* @__PURE__ */ jsx(ImageIcon, {}),
517
- json: /* @__PURE__ */ jsx(JsonIcon, {})
518
- };
519
- function ExportMenu({
520
- options = DEFAULT_OPTIONS,
521
- onExport,
522
- isExporting = false,
523
- label = "Export",
524
- size = "md",
525
- variant = "secondary",
526
- className,
527
- disabled
528
- }) {
529
- const documentOptions = options.filter((o) => ["pdf", "pptx"].includes(o.format));
530
- const dataOptions = options.filter((o) => ["xlsx", "csv", "json"].includes(o.format));
531
- const imageOptions = options.filter((o) => ["png"].includes(o.format));
532
- return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
533
- /* @__PURE__ */ jsx(
534
- DropdownMenuTrigger,
535
- {
536
- className: clsx2(
537
- "ds-export-menu__trigger",
538
- "ds-button",
539
- `ds-button--${variant}`,
540
- `ds-button--${size}`,
541
- className
542
- ),
543
- disabled: disabled || isExporting,
544
- children: isExporting ? /* @__PURE__ */ jsxs(Fragment, { children: [
545
- /* @__PURE__ */ jsx(LoadingIcon, {}),
546
- "Exporting..."
547
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
548
- /* @__PURE__ */ jsx(ExportIcon, {}),
549
- label
550
- ] })
551
- }
552
- ),
553
- /* @__PURE__ */ jsxs(DropdownMenuContent, { side: "bottom", align: "end", sideOffset: 4, children: [
554
- documentOptions.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
555
- /* @__PURE__ */ jsx(DropdownMenuLabel, { children: "Documents" }),
556
- documentOptions.map((option) => /* @__PURE__ */ jsxs(
557
- DropdownMenuItem,
558
- {
559
- disabled: option.disabled,
560
- onClick: () => onExport(option.format),
561
- children: [
562
- /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-icon", children: FORMAT_ICONS[option.format] }),
563
- /* @__PURE__ */ jsxs("span", { className: "ds-export-menu__item-content", children: [
564
- /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-label", children: option.label }),
565
- option.description && /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-description", children: option.description })
566
- ] })
567
- ]
568
- },
569
- option.format
570
- ))
571
- ] }),
572
- documentOptions.length > 0 && dataOptions.length > 0 && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
573
- dataOptions.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
574
- /* @__PURE__ */ jsx(DropdownMenuLabel, { children: "Data" }),
575
- dataOptions.map((option) => /* @__PURE__ */ jsxs(
576
- DropdownMenuItem,
577
- {
578
- disabled: option.disabled,
579
- onClick: () => onExport(option.format),
580
- children: [
581
- /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-icon", children: FORMAT_ICONS[option.format] }),
582
- /* @__PURE__ */ jsxs("span", { className: "ds-export-menu__item-content", children: [
583
- /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-label", children: option.label }),
584
- option.description && /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-description", children: option.description })
585
- ] })
586
- ]
587
- },
588
- option.format
589
- ))
590
- ] }),
591
- imageOptions.length > 0 && (dataOptions.length > 0 || documentOptions.length > 0) && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
592
- imageOptions.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
593
- /* @__PURE__ */ jsx(DropdownMenuLabel, { children: "Image" }),
594
- imageOptions.map((option) => /* @__PURE__ */ jsxs(
595
- DropdownMenuItem,
596
- {
597
- disabled: option.disabled,
598
- onClick: () => onExport(option.format),
599
- children: [
600
- /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-icon", children: FORMAT_ICONS[option.format] }),
601
- /* @__PURE__ */ jsxs("span", { className: "ds-export-menu__item-content", children: [
602
- /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-label", children: option.label }),
603
- option.description && /* @__PURE__ */ jsx("span", { className: "ds-export-menu__item-description", children: option.description })
604
- ] })
605
- ]
606
- },
607
- option.format
608
- ))
609
- ] })
610
- ] })
611
- ] });
612
- }
613
- ExportMenu.displayName = "ExportMenu";
614
- function ExportIcon() {
615
- return /* @__PURE__ */ jsxs(
616
- "svg",
617
- {
618
- xmlns: "http://www.w3.org/2000/svg",
619
- width: "16",
620
- height: "16",
621
- viewBox: "0 0 24 24",
622
- fill: "none",
623
- stroke: "currentColor",
624
- strokeWidth: "2",
625
- strokeLinecap: "round",
626
- strokeLinejoin: "round",
627
- children: [
628
- /* @__PURE__ */ jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
629
- /* @__PURE__ */ jsx("polyline", { points: "17 8 12 3 7 8" }),
630
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "3", x2: "12", y2: "15" })
631
- ]
632
- }
633
- );
634
- }
635
- function LoadingIcon() {
636
- return /* @__PURE__ */ jsx(
637
- "svg",
638
- {
639
- className: "ds-export-menu__loading-icon",
640
- xmlns: "http://www.w3.org/2000/svg",
641
- width: "16",
642
- height: "16",
643
- viewBox: "0 0 24 24",
644
- fill: "none",
645
- stroke: "currentColor",
646
- strokeWidth: "2",
647
- strokeLinecap: "round",
648
- strokeLinejoin: "round",
649
- children: /* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
650
- }
651
- );
652
- }
653
- function PdfIcon() {
654
- return /* @__PURE__ */ jsxs(
655
- "svg",
656
- {
657
- xmlns: "http://www.w3.org/2000/svg",
658
- width: "16",
659
- height: "16",
660
- viewBox: "0 0 24 24",
661
- fill: "none",
662
- stroke: "currentColor",
663
- strokeWidth: "2",
664
- strokeLinecap: "round",
665
- strokeLinejoin: "round",
666
- children: [
667
- /* @__PURE__ */ jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
668
- /* @__PURE__ */ jsx("polyline", { points: "14 2 14 8 20 8" }),
669
- /* @__PURE__ */ jsx("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
670
- /* @__PURE__ */ jsx("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
671
- /* @__PURE__ */ jsx("polyline", { points: "10 9 9 9 8 9" })
672
- ]
673
- }
674
- );
675
- }
676
- function CsvIcon() {
677
- return /* @__PURE__ */ jsxs(
678
- "svg",
679
- {
680
- xmlns: "http://www.w3.org/2000/svg",
681
- width: "16",
682
- height: "16",
683
- viewBox: "0 0 24 24",
684
- fill: "none",
685
- stroke: "currentColor",
686
- strokeWidth: "2",
687
- strokeLinecap: "round",
688
- strokeLinejoin: "round",
689
- children: [
690
- /* @__PURE__ */ jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
691
- /* @__PURE__ */ jsx("polyline", { points: "14 2 14 8 20 8" }),
692
- /* @__PURE__ */ jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13" }),
693
- /* @__PURE__ */ jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17" })
694
- ]
695
- }
696
- );
697
- }
698
- function ExcelIcon() {
699
- return /* @__PURE__ */ jsxs(
700
- "svg",
701
- {
702
- xmlns: "http://www.w3.org/2000/svg",
703
- width: "16",
704
- height: "16",
705
- viewBox: "0 0 24 24",
706
- fill: "none",
707
- stroke: "currentColor",
708
- strokeWidth: "2",
709
- strokeLinecap: "round",
710
- strokeLinejoin: "round",
711
- children: [
712
- /* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
713
- /* @__PURE__ */ jsx("path", { d: "M3 9h18" }),
714
- /* @__PURE__ */ jsx("path", { d: "M3 15h18" }),
715
- /* @__PURE__ */ jsx("path", { d: "M9 3v18" }),
716
- /* @__PURE__ */ jsx("path", { d: "M15 3v18" })
717
- ]
718
- }
719
- );
720
- }
721
- function PptIcon() {
722
- return /* @__PURE__ */ jsxs(
723
- "svg",
724
- {
725
- xmlns: "http://www.w3.org/2000/svg",
726
- width: "16",
727
- height: "16",
728
- viewBox: "0 0 24 24",
729
- fill: "none",
730
- stroke: "currentColor",
731
- strokeWidth: "2",
732
- strokeLinecap: "round",
733
- strokeLinejoin: "round",
734
- children: [
735
- /* @__PURE__ */ jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2" }),
736
- /* @__PURE__ */ jsx("line", { x1: "8", y1: "21", x2: "16", y2: "21" }),
737
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "17", x2: "12", y2: "21" })
738
- ]
739
- }
740
- );
741
- }
742
- function ImageIcon() {
743
- return /* @__PURE__ */ jsxs(
744
- "svg",
745
- {
746
- xmlns: "http://www.w3.org/2000/svg",
747
- width: "16",
748
- height: "16",
749
- viewBox: "0 0 24 24",
750
- fill: "none",
751
- stroke: "currentColor",
752
- strokeWidth: "2",
753
- strokeLinecap: "round",
754
- strokeLinejoin: "round",
755
- children: [
756
- /* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
757
- /* @__PURE__ */ jsx("circle", { cx: "8.5", cy: "8.5", r: "1.5" }),
758
- /* @__PURE__ */ jsx("path", { d: "m21 15-5-5L5 21" })
759
- ]
760
- }
761
- );
762
- }
763
- function JsonIcon() {
764
- return /* @__PURE__ */ jsxs(
765
- "svg",
766
- {
767
- xmlns: "http://www.w3.org/2000/svg",
768
- width: "16",
769
- height: "16",
770
- viewBox: "0 0 24 24",
771
- fill: "none",
772
- stroke: "currentColor",
773
- strokeWidth: "2",
774
- strokeLinecap: "round",
775
- strokeLinejoin: "round",
776
- children: [
777
- /* @__PURE__ */ jsx("path", { d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5a2 2 0 0 0 2 2h1" }),
778
- /* @__PURE__ */ jsx("path", { d: "M16 21h1a2 2 0 0 0 2-2v-5a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1" })
779
- ]
780
- }
781
- );
782
- }
783
-
784
- export { CaveatBlock, EvidenceGroup, ExecutiveThesis, ExportMenu, InsightBlock, KeyMetric, MethodologyNote, ReportShell, TrendIndicator };
785
- //# sourceMappingURL=out.js.map
786
- //# sourceMappingURL=chunk-6H4DSTXR.js.map