@sero-ai/ui 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/.turbo/turbo-build.log +628 -615
  2. package/.turbo/turbo-test.log +18 -0
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/dist/components/ai-elements/agent.cjs +6 -6
  5. package/dist/components/ai-elements/agent.js +6 -6
  6. package/dist/components/ai-elements/artifact.cjs +2 -2
  7. package/dist/components/ai-elements/artifact.js +2 -2
  8. package/dist/components/ai-elements/attachments.cjs +2 -2
  9. package/dist/components/ai-elements/attachments.js +2 -2
  10. package/dist/components/ai-elements/chain-of-thought.cjs +2 -2
  11. package/dist/components/ai-elements/chain-of-thought.js +2 -2
  12. package/dist/components/ai-elements/code-block.cjs +7 -5
  13. package/dist/components/ai-elements/code-block.d.cts +2 -1
  14. package/dist/components/ai-elements/code-block.d.ts +2 -1
  15. package/dist/components/ai-elements/code-block.js +7 -5
  16. package/dist/components/ai-elements/commit.cjs +2 -2
  17. package/dist/components/ai-elements/commit.js +2 -2
  18. package/dist/components/ai-elements/confirmation.cjs +1 -1
  19. package/dist/components/ai-elements/confirmation.js +1 -1
  20. package/dist/components/ai-elements/conversation.cjs +2 -2
  21. package/dist/components/ai-elements/conversation.js +2 -2
  22. package/dist/components/ai-elements/environment-variables.cjs +3 -3
  23. package/dist/components/ai-elements/environment-variables.js +3 -3
  24. package/dist/components/ai-elements/file-tree.cjs +1 -1
  25. package/dist/components/ai-elements/file-tree.js +1 -1
  26. package/dist/components/ai-elements/inline-citation.cjs +3 -3
  27. package/dist/components/ai-elements/inline-citation.js +3 -3
  28. package/dist/components/ai-elements/jsx-preview.cjs +1 -1
  29. package/dist/components/ai-elements/jsx-preview.js +1 -1
  30. package/dist/components/ai-elements/message.cjs +1 -1
  31. package/dist/components/ai-elements/message.js +1 -1
  32. package/dist/components/ai-elements/package-info.cjs +4 -4
  33. package/dist/components/ai-elements/package-info.js +4 -4
  34. package/dist/components/ai-elements/prompt-input-context.cjs +2 -3
  35. package/dist/components/ai-elements/prompt-input-context.js +2 -3
  36. package/dist/components/ai-elements/queue.cjs +2 -2
  37. package/dist/components/ai-elements/queue.js +2 -2
  38. package/dist/components/ai-elements/reasoning.cjs +2 -2
  39. package/dist/components/ai-elements/reasoning.js +2 -2
  40. package/dist/components/ai-elements/sandbox.cjs +3 -3
  41. package/dist/components/ai-elements/sandbox.js +3 -3
  42. package/dist/components/ai-elements/schema-display.cjs +12 -12
  43. package/dist/components/ai-elements/schema-display.js +12 -12
  44. package/dist/components/ai-elements/speech-input.cjs +18 -2
  45. package/dist/components/ai-elements/speech-input.js +16 -0
  46. package/dist/components/ai-elements/stack-trace.cjs +1 -1
  47. package/dist/components/ai-elements/stack-trace.js +1 -1
  48. package/dist/components/ai-elements/task.cjs +3 -3
  49. package/dist/components/ai-elements/task.js +3 -3
  50. package/dist/components/ai-elements/terminal.cjs +2 -2
  51. package/dist/components/ai-elements/terminal.js +2 -2
  52. package/dist/components/ai-elements/test-results.cjs +4 -4
  53. package/dist/components/ai-elements/test-results.js +4 -4
  54. package/dist/components/ai-elements/tool.cjs +4 -4
  55. package/dist/components/ai-elements/tool.js +4 -4
  56. package/dist/components/ai-elements/transcription.cjs +1 -1
  57. package/dist/components/ai-elements/transcription.js +1 -1
  58. package/dist/components/ai-elements/web-preview.cjs +2 -2
  59. package/dist/components/ai-elements/web-preview.js +2 -2
  60. package/dist/components/context-editor/CapabilitySection.cjs +2 -2
  61. package/dist/components/context-editor/CapabilitySection.js +2 -2
  62. package/dist/components/context-editor/ContextEditor.cjs +2 -2
  63. package/dist/components/context-editor/ContextEditor.js +2 -2
  64. package/dist/components/context-editor/PresetBar.cjs +3 -3
  65. package/dist/components/context-editor/PresetBar.js +3 -3
  66. package/dist/components/context-editor/SystemPromptSection.cjs +4 -4
  67. package/dist/components/context-editor/SystemPromptSection.js +4 -4
  68. package/dist/components/context-editor/parts.cjs +6 -6
  69. package/dist/components/context-editor/parts.js +6 -6
  70. package/dist/components/dashboard/activity-list.cjs +2 -2
  71. package/dist/components/dashboard/activity-list.js +2 -2
  72. package/dist/components/dashboard/empty-state.cjs +1 -1
  73. package/dist/components/dashboard/empty-state.js +1 -1
  74. package/dist/components/dashboard/item-list.cjs +2 -2
  75. package/dist/components/dashboard/item-list.js +2 -2
  76. package/dist/components/dashboard/layout.cjs +1 -1
  77. package/dist/components/dashboard/layout.js +1 -1
  78. package/dist/components/dashboard/metric.cjs +1 -1
  79. package/dist/components/dashboard/metric.js +1 -1
  80. package/dist/components/dashboard/stale-indicator.cjs +1 -1
  81. package/dist/components/dashboard/stale-indicator.js +1 -1
  82. package/dist/components/dashboard/typography.cjs +4 -4
  83. package/dist/components/dashboard/typography.d.cts +1 -1
  84. package/dist/components/dashboard/typography.d.ts +1 -1
  85. package/dist/components/dashboard/typography.js +4 -4
  86. package/dist/components/model-selection/available-model-picker.cjs +6 -6
  87. package/dist/components/model-selection/available-model-picker.js +6 -6
  88. package/dist/components/model-selection/thinking-level-picker.cjs +1 -1
  89. package/dist/components/model-selection/thinking-level-picker.js +1 -1
  90. package/dist/components/model-selection/thinking-picker.cjs +70 -0
  91. package/dist/components/model-selection/thinking-picker.d.cts +12 -0
  92. package/dist/components/model-selection/thinking-picker.d.ts +12 -0
  93. package/dist/components/model-selection/thinking-picker.js +70 -0
  94. package/dist/components/ui/accordion.cjs +2 -2
  95. package/dist/components/ui/accordion.js +2 -2
  96. package/dist/components/ui/alert-dialog.cjs +4 -2
  97. package/dist/components/ui/alert-dialog.js +4 -2
  98. package/dist/components/ui/alert.cjs +2 -2
  99. package/dist/components/ui/alert.js +2 -2
  100. package/dist/components/ui/avatar.cjs +2 -2
  101. package/dist/components/ui/avatar.js +2 -2
  102. package/dist/components/ui/breadcrumb.cjs +1 -1
  103. package/dist/components/ui/breadcrumb.js +1 -1
  104. package/dist/components/ui/button-group.cjs +1 -1
  105. package/dist/components/ui/button-group.js +1 -1
  106. package/dist/components/ui/button.cjs +1 -1
  107. package/dist/components/ui/button.js +1 -1
  108. package/dist/components/ui/calendar.cjs +2 -2
  109. package/dist/components/ui/calendar.js +2 -2
  110. package/dist/components/ui/card.cjs +1 -1
  111. package/dist/components/ui/card.js +1 -1
  112. package/dist/components/ui/carousel.cjs +3 -2
  113. package/dist/components/ui/carousel.js +2 -1
  114. package/dist/components/ui/chart.cjs +36 -27
  115. package/dist/components/ui/chart.d.cts +21 -17
  116. package/dist/components/ui/chart.d.ts +21 -17
  117. package/dist/components/ui/chart.js +30 -21
  118. package/dist/components/ui/combobox.cjs +7 -5
  119. package/dist/components/ui/combobox.js +7 -5
  120. package/dist/components/ui/command.cjs +3 -3
  121. package/dist/components/ui/command.js +3 -3
  122. package/dist/components/ui/context-menu.cjs +10 -7
  123. package/dist/components/ui/context-menu.js +10 -7
  124. package/dist/components/ui/dialog.cjs +4 -2
  125. package/dist/components/ui/dialog.js +4 -2
  126. package/dist/components/ui/drawer.cjs +4 -2
  127. package/dist/components/ui/drawer.js +4 -2
  128. package/dist/components/ui/dropdown-menu.cjs +10 -7
  129. package/dist/components/ui/dropdown-menu.js +10 -7
  130. package/dist/components/ui/empty.cjs +2 -2
  131. package/dist/components/ui/empty.js +2 -2
  132. package/dist/components/ui/field.cjs +5 -5
  133. package/dist/components/ui/field.js +5 -5
  134. package/dist/components/ui/form.cjs +2 -2
  135. package/dist/components/ui/form.js +2 -2
  136. package/dist/components/ui/hover-card.cjs +3 -1
  137. package/dist/components/ui/hover-card.js +3 -1
  138. package/dist/components/ui/input-group.cjs +3 -3
  139. package/dist/components/ui/input-group.js +3 -3
  140. package/dist/components/ui/input-otp.cjs +1 -1
  141. package/dist/components/ui/input-otp.js +1 -1
  142. package/dist/components/ui/input.cjs +1 -1
  143. package/dist/components/ui/input.js +1 -1
  144. package/dist/components/ui/item.cjs +3 -3
  145. package/dist/components/ui/item.js +3 -3
  146. package/dist/components/ui/label.cjs +1 -1
  147. package/dist/components/ui/label.js +1 -1
  148. package/dist/components/ui/menubar.cjs +9 -7
  149. package/dist/components/ui/menubar.js +9 -7
  150. package/dist/components/ui/native-select.cjs +1 -1
  151. package/dist/components/ui/native-select.js +1 -1
  152. package/dist/components/ui/navigation-menu.cjs +2 -2
  153. package/dist/components/ui/navigation-menu.js +2 -2
  154. package/dist/components/ui/plugin-safety-disclaimer.cjs +1 -1
  155. package/dist/components/ui/plugin-safety-disclaimer.js +1 -1
  156. package/dist/components/ui/popover.cjs +4 -2
  157. package/dist/components/ui/popover.js +4 -2
  158. package/dist/components/ui/select.cjs +5 -3
  159. package/dist/components/ui/select.js +5 -3
  160. package/dist/components/ui/sheet.cjs +4 -2
  161. package/dist/components/ui/sheet.js +4 -2
  162. package/dist/components/ui/sidebar.cjs +5 -5
  163. package/dist/components/ui/sidebar.js +5 -5
  164. package/dist/components/ui/table.cjs +2 -2
  165. package/dist/components/ui/table.js +2 -2
  166. package/dist/components/ui/tabs.cjs +1 -1
  167. package/dist/components/ui/tabs.js +1 -1
  168. package/dist/components/ui/textarea.cjs +1 -1
  169. package/dist/components/ui/textarea.js +1 -1
  170. package/dist/components/ui/toggle.cjs +1 -1
  171. package/dist/components/ui/toggle.js +1 -1
  172. package/dist/components/ui/tooltip.cjs +3 -1
  173. package/dist/components/ui/tooltip.js +3 -1
  174. package/dist/index.cjs +5 -1
  175. package/dist/index.d.cts +2 -0
  176. package/dist/index.d.ts +2 -0
  177. package/dist/index.js +5 -1
  178. package/dist/plugin-style-scope-context.cjs +10 -0
  179. package/dist/plugin-style-scope-context.d.cts +13 -0
  180. package/dist/plugin-style-scope-context.d.ts +13 -0
  181. package/dist/plugin-style-scope-context.js +10 -0
  182. package/dist/plugin-style-scope.cjs +25 -0
  183. package/dist/plugin-style-scope.d.cts +11 -0
  184. package/dist/plugin-style-scope.d.ts +11 -0
  185. package/dist/plugin-style-scope.js +25 -0
  186. package/dist/reference.cjs +15 -15
  187. package/dist/reference.js +15 -15
  188. package/dist/styles/globals.css +22 -3
  189. package/dist/styles/plugin-theme.css +80 -0
  190. package/dist/styles/plugin.css +14 -2
  191. package/package.json +2 -2
  192. package/src/components/ai-elements/agent.tsx +6 -6
  193. package/src/components/ai-elements/artifact.tsx +2 -2
  194. package/src/components/ai-elements/attachments.tsx +2 -2
  195. package/src/components/ai-elements/chain-of-thought.tsx +2 -2
  196. package/src/components/ai-elements/code-block.tsx +6 -3
  197. package/src/components/ai-elements/commit.tsx +2 -2
  198. package/src/components/ai-elements/confirmation.tsx +1 -1
  199. package/src/components/ai-elements/conversation.tsx +2 -2
  200. package/src/components/ai-elements/environment-variables.tsx +3 -3
  201. package/src/components/ai-elements/file-tree.tsx +1 -1
  202. package/src/components/ai-elements/inline-citation.tsx +3 -3
  203. package/src/components/ai-elements/jsx-preview.tsx +1 -1
  204. package/src/components/ai-elements/message.tsx +1 -1
  205. package/src/components/ai-elements/package-info.tsx +4 -4
  206. package/src/components/ai-elements/prompt-input-context.tsx +3 -2
  207. package/src/components/ai-elements/queue.tsx +2 -2
  208. package/src/components/ai-elements/reasoning.tsx +2 -2
  209. package/src/components/ai-elements/sandbox.tsx +3 -3
  210. package/src/components/ai-elements/schema-display.tsx +12 -12
  211. package/src/components/ai-elements/speech-input.tsx +17 -0
  212. package/src/components/ai-elements/stack-trace.tsx +1 -1
  213. package/src/components/ai-elements/task.tsx +3 -3
  214. package/src/components/ai-elements/terminal.tsx +2 -2
  215. package/src/components/ai-elements/test-results.tsx +4 -4
  216. package/src/components/ai-elements/tool.tsx +4 -4
  217. package/src/components/ai-elements/transcription.tsx +1 -1
  218. package/src/components/ai-elements/web-preview.tsx +2 -2
  219. package/src/components/context-editor/CapabilitySection.tsx +2 -2
  220. package/src/components/context-editor/ContextEditor.tsx +2 -2
  221. package/src/components/context-editor/PresetBar.tsx +3 -3
  222. package/src/components/context-editor/SystemPromptSection.tsx +4 -4
  223. package/src/components/context-editor/parts.tsx +6 -6
  224. package/src/components/dashboard/activity-list.tsx +2 -2
  225. package/src/components/dashboard/empty-state.tsx +1 -1
  226. package/src/components/dashboard/item-list.tsx +2 -2
  227. package/src/components/dashboard/layout.tsx +1 -1
  228. package/src/components/dashboard/metric.tsx +1 -1
  229. package/src/components/dashboard/stale-indicator.tsx +1 -1
  230. package/src/components/dashboard/typography.tsx +5 -5
  231. package/src/components/model-selection/available-model-picker.tsx +7 -7
  232. package/src/components/model-selection/thinking-level-picker.tsx +1 -1
  233. package/src/components/model-selection/thinking-picker.tsx +90 -0
  234. package/src/components/ui/accordion.tsx +2 -2
  235. package/src/components/ui/alert-dialog.tsx +4 -2
  236. package/src/components/ui/alert.tsx +2 -2
  237. package/src/components/ui/avatar.tsx +2 -2
  238. package/src/components/ui/breadcrumb.tsx +1 -1
  239. package/src/components/ui/button-group.tsx +1 -1
  240. package/src/components/ui/button.tsx +1 -1
  241. package/src/components/ui/calendar.tsx +3 -3
  242. package/src/components/ui/card.tsx +1 -1
  243. package/src/components/ui/carousel.tsx +2 -1
  244. package/src/components/ui/chart.tsx +54 -36
  245. package/src/components/ui/combobox.tsx +7 -5
  246. package/src/components/ui/command.tsx +3 -3
  247. package/src/components/ui/context-menu.tsx +10 -7
  248. package/src/components/ui/dialog.tsx +4 -2
  249. package/src/components/ui/drawer.tsx +4 -2
  250. package/src/components/ui/dropdown-menu.tsx +10 -7
  251. package/src/components/ui/empty.tsx +2 -2
  252. package/src/components/ui/field.tsx +5 -5
  253. package/src/components/ui/form.tsx +2 -2
  254. package/src/components/ui/hover-card.tsx +3 -1
  255. package/src/components/ui/input-group.tsx +3 -3
  256. package/src/components/ui/input-otp.tsx +1 -1
  257. package/src/components/ui/input.tsx +1 -1
  258. package/src/components/ui/item.tsx +3 -3
  259. package/src/components/ui/label.tsx +1 -1
  260. package/src/components/ui/menubar.tsx +9 -7
  261. package/src/components/ui/native-select.tsx +1 -1
  262. package/src/components/ui/navigation-menu.tsx +2 -2
  263. package/src/components/ui/plugin-safety-disclaimer.tsx +1 -1
  264. package/src/components/ui/popover.tsx +4 -2
  265. package/src/components/ui/select.tsx +5 -3
  266. package/src/components/ui/sheet.tsx +4 -2
  267. package/src/components/ui/sidebar.tsx +5 -5
  268. package/src/components/ui/table.tsx +2 -2
  269. package/src/components/ui/tabs.tsx +1 -1
  270. package/src/components/ui/textarea.tsx +1 -1
  271. package/src/components/ui/toggle.tsx +1 -1
  272. package/src/components/ui/tooltip.tsx +3 -1
  273. package/src/index.ts +2 -0
  274. package/src/plugin-style-scope-context.ts +21 -0
  275. package/src/plugin-style-scope.test.tsx +38 -0
  276. package/src/plugin-style-scope.tsx +35 -0
  277. package/src/styles/globals.css +22 -3
  278. package/src/styles/plugin-theme.css +80 -0
  279. package/src/styles/plugin.css +14 -2
@@ -63,7 +63,7 @@ function Calendar({
63
63
  defaultClassNames.month_caption
64
64
  ),
65
65
  dropdowns: _utils.cn.call(void 0,
66
- "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
66
+ "w-full flex items-center text-base font-medium justify-center h-(--cell-size) gap-1.5",
67
67
  defaultClassNames.dropdowns
68
68
  ),
69
69
  dropdown_root: _utils.cn.call(void 0,
@@ -76,7 +76,7 @@ function Calendar({
76
76
  ),
77
77
  caption_label: _utils.cn.call(void 0,
78
78
  "select-none font-medium",
79
- captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
79
+ captionLayout === "label" ? "text-base" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-base h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
80
80
  defaultClassNames.caption_label
81
81
  ),
82
82
  table: "w-full border-collapse",
@@ -63,7 +63,7 @@ function Calendar({
63
63
  defaultClassNames.month_caption
64
64
  ),
65
65
  dropdowns: cn(
66
- "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
66
+ "w-full flex items-center text-base font-medium justify-center h-(--cell-size) gap-1.5",
67
67
  defaultClassNames.dropdowns
68
68
  ),
69
69
  dropdown_root: cn(
@@ -76,7 +76,7 @@ function Calendar({
76
76
  ),
77
77
  caption_label: cn(
78
78
  "select-none font-medium",
79
- captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
79
+ captionLayout === "label" ? "text-base" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-base h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
80
80
  defaultClassNames.caption_label
81
81
  ),
82
82
  table: "w-full border-collapse",
@@ -41,7 +41,7 @@ function CardDescription({ className, ...props }) {
41
41
  "div",
42
42
  {
43
43
  "data-slot": "card-description",
44
- className: _utils.cn.call(void 0, "text-muted-foreground text-sm", className),
44
+ className: _utils.cn.call(void 0, "text-muted-foreground text-base", className),
45
45
  ...props
46
46
  }
47
47
  );
@@ -41,7 +41,7 @@ function CardDescription({ className, ...props }) {
41
41
  "div",
42
42
  {
43
43
  "data-slot": "card-description",
44
- className: cn("text-muted-foreground text-sm", className),
44
+ className: cn("text-muted-foreground text-base", className),
45
45
  ...props
46
46
  }
47
47
  );
@@ -63,7 +63,8 @@ function Carousel({
63
63
  api.on("reInit", onSelect);
64
64
  api.on("select", onSelect);
65
65
  return () => {
66
- _optionalChain([api, 'optionalAccess', _5 => _5.off, 'call', _6 => _6("select", onSelect)]);
66
+ api.off("reInit", onSelect);
67
+ api.off("select", onSelect);
67
68
  };
68
69
  }, [api, onSelect]);
69
70
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -73,7 +74,7 @@ function Carousel({
73
74
  carouselRef,
74
75
  api,
75
76
  opts,
76
- orientation: orientation || (_optionalChain([opts, 'optionalAccess', _7 => _7.axis]) === "y" ? "vertical" : "horizontal"),
77
+ orientation: orientation || (_optionalChain([opts, 'optionalAccess', _5 => _5.axis]) === "y" ? "vertical" : "horizontal"),
77
78
  scrollPrev,
78
79
  scrollNext,
79
80
  canScrollPrev,
@@ -63,7 +63,8 @@ function Carousel({
63
63
  api.on("reInit", onSelect);
64
64
  api.on("select", onSelect);
65
65
  return () => {
66
- api?.off("select", onSelect);
66
+ api.off("reInit", onSelect);
67
+ api.off("select", onSelect);
67
68
  };
68
69
  }, [api, onSelect]);
69
70
  return /* @__PURE__ */ jsx(
@@ -1,11 +1,13 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _jsxruntime = require('react/jsx-runtime');
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+ var _jsxruntime = require('react/jsx-runtime');
2
3
  var _react = require('react'); var React = _interopRequireWildcard(_react);
3
4
  var _recharts = require('recharts'); var RechartsPrimitive = _interopRequireWildcard(_recharts);
4
5
  var _utils = require('../../lib/utils');
5
6
  const THEMES = { light: "", dark: ".dark" };
7
+ const INITIAL_DIMENSION = { width: 320, height: 200 };
6
8
  const ChartContext = React.createContext(null);
7
9
  function useChart() {
8
- const context = React.use(ChartContext);
10
+ const context = React.useContext(ChartContext);
9
11
  if (!context) {
10
12
  throw new Error("useChart must be used within a <ChartContainer />");
11
13
  }
@@ -16,30 +18,37 @@ function ChartContainer({
16
18
  className,
17
19
  children,
18
20
  config,
21
+ initialDimension = INITIAL_DIMENSION,
19
22
  ...props
20
23
  }) {
21
24
  const uniqueId = React.useId();
22
- const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
25
+ const chartId = `chart-${_nullishCoalesce(id, () => ( uniqueId.replace(/:/g, "")))}`;
23
26
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24
27
  "div",
25
28
  {
26
29
  "data-slot": "chart",
27
30
  "data-chart": chartId,
28
31
  className: _utils.cn.call(void 0,
29
- "[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",
32
+ "flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",
30
33
  className
31
34
  ),
32
35
  ...props,
33
36
  children: [
34
37
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChartStyle, { id: chartId, config }),
35
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RechartsPrimitive.ResponsiveContainer, { children })
38
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39
+ RechartsPrimitive.ResponsiveContainer,
40
+ {
41
+ initialDimension,
42
+ children
43
+ }
44
+ )
36
45
  ]
37
46
  }
38
47
  ) });
39
48
  }
40
49
  const ChartStyle = ({ id, config }) => {
41
50
  const colorConfig = Object.entries(config).filter(
42
- ([, config2]) => config2.theme || config2.color
51
+ ([, config2]) => _nullishCoalesce(config2.theme, () => ( config2.color))
43
52
  );
44
53
  if (!colorConfig.length) {
45
54
  return null;
@@ -52,7 +61,7 @@ const ChartStyle = ({ id, config }) => {
52
61
  ([theme, prefix]) => `
53
62
  ${prefix} [data-chart=${id}] {
54
63
  ${colorConfig.map(([key, itemConfig]) => {
55
- const color = _optionalChain([itemConfig, 'access', _ => _.theme, 'optionalAccess', _2 => _2[theme]]) || itemConfig.color;
64
+ const color = _nullishCoalesce(_optionalChain([itemConfig, 'access', _ => _.theme, 'optionalAccess', _2 => _2[theme]]), () => ( itemConfig.color));
56
65
  return color ? ` --color-${key}: ${color};` : null;
57
66
  }).join("\n")}
58
67
  }
@@ -84,9 +93,9 @@ function ChartTooltipContent({
84
93
  return null;
85
94
  }
86
95
  const [item] = payload;
87
- const key = `${labelKey || _optionalChain([item, 'optionalAccess', _4 => _4.dataKey]) || _optionalChain([item, 'optionalAccess', _5 => _5.name]) || "value"}`;
96
+ const key = `${_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(labelKey, () => ( _optionalChain([item, 'optionalAccess', _4 => _4.dataKey]))), () => ( _optionalChain([item, 'optionalAccess', _5 => _5.name]))), () => ( "value"))}`;
88
97
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
89
- const value = !labelKey && typeof label === "string" ? _optionalChain([config, 'access', _6 => _6[label], 'optionalAccess', _7 => _7.label]) || label : _optionalChain([itemConfig, 'optionalAccess', _8 => _8.label]);
98
+ const value = !labelKey && typeof label === "string" ? _nullishCoalesce(_optionalChain([config, 'access', _6 => _6[label], 'optionalAccess', _7 => _7.label]), () => ( label)) : _optionalChain([itemConfig, 'optionalAccess', _8 => _8.label]);
90
99
  if (labelFormatter) {
91
100
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _utils.cn.call(void 0, "font-medium", labelClassName), children: labelFormatter(value, payload) });
92
101
  }
@@ -111,30 +120,30 @@ function ChartTooltipContent({
111
120
  "div",
112
121
  {
113
122
  className: _utils.cn.call(void 0,
114
- "border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
123
+ "grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",
115
124
  className
116
125
  ),
117
126
  children: [
118
127
  !nestLabel ? tooltipLabel : null,
119
128
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-1.5", children: payload.filter((item) => item.type !== "none").map((item, index) => {
120
- const key = `${nameKey || item.name || item.dataKey || "value"}`;
129
+ const key = `${_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(nameKey, () => ( item.name)), () => ( item.dataKey)), () => ( "value"))}`;
121
130
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
122
- const indicatorColor = color || item.payload.fill || item.color;
131
+ const indicatorColor = _nullishCoalesce(_nullishCoalesce(color, () => ( _optionalChain([item, 'access', _10 => _10.payload, 'optionalAccess', _11 => _11.fill]))), () => ( item.color));
123
132
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
124
133
  "div",
125
134
  {
126
135
  className: _utils.cn.call(void 0,
127
- "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
136
+ "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
128
137
  indicator === "dot" && "items-center"
129
138
  ),
130
- children: formatter && _optionalChain([item, 'optionalAccess', _10 => _10.value]) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
131
- _optionalChain([itemConfig, 'optionalAccess', _11 => _11.icon]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
139
+ children: formatter && _optionalChain([item, 'optionalAccess', _12 => _12.value]) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
140
+ _optionalChain([itemConfig, 'optionalAccess', _13 => _13.icon]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
132
141
  "div",
133
142
  {
134
143
  className: _utils.cn.call(void 0,
135
144
  "shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
136
145
  {
137
- "size-2.5": indicator === "dot",
146
+ "h-2.5 w-2.5": indicator === "dot",
138
147
  "w-1": indicator === "line",
139
148
  "w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
140
149
  "my-0.5": nestLabel && indicator === "dashed"
@@ -156,15 +165,15 @@ function ChartTooltipContent({
156
165
  children: [
157
166
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-1.5", children: [
158
167
  nestLabel ? tooltipLabel : null,
159
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground", children: _optionalChain([itemConfig, 'optionalAccess', _12 => _12.label]) || item.name })
168
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground", children: _nullishCoalesce(_optionalChain([itemConfig, 'optionalAccess', _14 => _14.label]), () => ( item.name)) })
160
169
  ] }),
161
- item.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
170
+ item.value != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-mono font-medium text-foreground tabular-nums", children: typeof item.value === "number" ? item.value.toLocaleString() : String(item.value) })
162
171
  ]
163
172
  }
164
173
  )
165
174
  ] })
166
175
  },
167
- item.dataKey
176
+ index
168
177
  );
169
178
  }) })
170
179
  ]
@@ -180,7 +189,7 @@ function ChartLegendContent({
180
189
  nameKey
181
190
  }) {
182
191
  const { config } = useChart();
183
- if (!_optionalChain([payload, 'optionalAccess', _13 => _13.length])) {
192
+ if (!_optionalChain([payload, 'optionalAccess', _15 => _15.length])) {
184
193
  return null;
185
194
  }
186
195
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -191,29 +200,29 @@ function ChartLegendContent({
191
200
  verticalAlign === "top" ? "pb-3" : "pt-3",
192
201
  className
193
202
  ),
194
- children: payload.filter((item) => item.type !== "none").map((item) => {
195
- const key = `${nameKey || item.dataKey || "value"}`;
203
+ children: payload.filter((item) => item.type !== "none").map((item, index) => {
204
+ const key = `${_nullishCoalesce(_nullishCoalesce(nameKey, () => ( item.dataKey)), () => ( "value"))}`;
196
205
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
197
206
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
198
207
  "div",
199
208
  {
200
209
  className: _utils.cn.call(void 0,
201
- "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
210
+ "flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
202
211
  ),
203
212
  children: [
204
- _optionalChain([itemConfig, 'optionalAccess', _14 => _14.icon]) && !hideIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, itemConfig.icon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
213
+ _optionalChain([itemConfig, 'optionalAccess', _16 => _16.icon]) && !hideIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, itemConfig.icon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
205
214
  "div",
206
215
  {
207
- className: "size-2 shrink-0 rounded-[2px]",
216
+ className: "h-2 w-2 shrink-0 rounded-[2px]",
208
217
  style: {
209
218
  backgroundColor: item.color
210
219
  }
211
220
  }
212
221
  ),
213
- _optionalChain([itemConfig, 'optionalAccess', _15 => _15.label])
222
+ _optionalChain([itemConfig, 'optionalAccess', _17 => _17.label])
214
223
  ]
215
224
  },
216
- item.value
225
+ index
217
226
  );
218
227
  })
219
228
  }
@@ -1,26 +1,30 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import * as RechartsPrimitive from 'recharts';
4
+ import { TooltipValueType } from 'recharts';
4
5
 
5
6
  declare const THEMES: {
6
7
  readonly light: "";
7
8
  readonly dark: ".dark";
8
9
  };
9
- type ChartConfig = {
10
- [k in string]: {
11
- label?: React.ReactNode;
12
- icon?: React.ComponentType;
13
- } & ({
14
- color?: string;
15
- theme?: never;
16
- } | {
17
- color?: never;
18
- theme: Record<keyof typeof THEMES, string>;
19
- });
20
- };
21
- declare function ChartContainer({ id, className, children, config, ...props }: React.ComponentProps<"div"> & {
10
+ type TooltipNameType = number | string;
11
+ type ChartConfig = Record<string, {
12
+ label?: React.ReactNode;
13
+ icon?: React.ComponentType;
14
+ } & ({
15
+ color?: string;
16
+ theme?: never;
17
+ } | {
18
+ color?: never;
19
+ theme: Record<keyof typeof THEMES, string>;
20
+ })>;
21
+ declare function ChartContainer({ id, className, children, config, initialDimension, ...props }: React.ComponentProps<"div"> & {
22
22
  config: ChartConfig;
23
23
  children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
24
+ initialDimension?: {
25
+ width: number;
26
+ height: number;
27
+ };
24
28
  }): react_jsx_runtime.JSX.Element;
25
29
  declare const ChartStyle: ({ id, config }: {
26
30
  id: string;
@@ -33,11 +37,11 @@ declare function ChartTooltipContent({ active, payload, className, indicator, hi
33
37
  indicator?: "line" | "dot" | "dashed";
34
38
  nameKey?: string;
35
39
  labelKey?: string;
36
- }): react_jsx_runtime.JSX.Element | null;
37
- declare const ChartLegend: typeof RechartsPrimitive.Legend;
38
- declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
40
+ } & Omit<RechartsPrimitive.DefaultTooltipContentProps<TooltipValueType, TooltipNameType>, "accessibilityLayer">): react_jsx_runtime.JSX.Element | null;
41
+ declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
42
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & {
39
43
  hideIcon?: boolean;
40
44
  nameKey?: string;
41
- }): react_jsx_runtime.JSX.Element | null;
45
+ } & RechartsPrimitive.DefaultLegendContentProps): react_jsx_runtime.JSX.Element | null;
42
46
 
43
47
  export { type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
@@ -1,26 +1,30 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import * as RechartsPrimitive from 'recharts';
4
+ import { TooltipValueType } from 'recharts';
4
5
 
5
6
  declare const THEMES: {
6
7
  readonly light: "";
7
8
  readonly dark: ".dark";
8
9
  };
9
- type ChartConfig = {
10
- [k in string]: {
11
- label?: React.ReactNode;
12
- icon?: React.ComponentType;
13
- } & ({
14
- color?: string;
15
- theme?: never;
16
- } | {
17
- color?: never;
18
- theme: Record<keyof typeof THEMES, string>;
19
- });
20
- };
21
- declare function ChartContainer({ id, className, children, config, ...props }: React.ComponentProps<"div"> & {
10
+ type TooltipNameType = number | string;
11
+ type ChartConfig = Record<string, {
12
+ label?: React.ReactNode;
13
+ icon?: React.ComponentType;
14
+ } & ({
15
+ color?: string;
16
+ theme?: never;
17
+ } | {
18
+ color?: never;
19
+ theme: Record<keyof typeof THEMES, string>;
20
+ })>;
21
+ declare function ChartContainer({ id, className, children, config, initialDimension, ...props }: React.ComponentProps<"div"> & {
22
22
  config: ChartConfig;
23
23
  children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
24
+ initialDimension?: {
25
+ width: number;
26
+ height: number;
27
+ };
24
28
  }): react_jsx_runtime.JSX.Element;
25
29
  declare const ChartStyle: ({ id, config }: {
26
30
  id: string;
@@ -33,11 +37,11 @@ declare function ChartTooltipContent({ active, payload, className, indicator, hi
33
37
  indicator?: "line" | "dot" | "dashed";
34
38
  nameKey?: string;
35
39
  labelKey?: string;
36
- }): react_jsx_runtime.JSX.Element | null;
37
- declare const ChartLegend: typeof RechartsPrimitive.Legend;
38
- declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
40
+ } & Omit<RechartsPrimitive.DefaultTooltipContentProps<TooltipValueType, TooltipNameType>, "accessibilityLayer">): react_jsx_runtime.JSX.Element | null;
41
+ declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
42
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & {
39
43
  hideIcon?: boolean;
40
44
  nameKey?: string;
41
- }): react_jsx_runtime.JSX.Element | null;
45
+ } & RechartsPrimitive.DefaultLegendContentProps): react_jsx_runtime.JSX.Element | null;
42
46
 
43
47
  export { type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
@@ -1,11 +1,13 @@
1
+ "use client";
1
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
3
  import * as React from "react";
3
4
  import * as RechartsPrimitive from "recharts";
4
5
  import { cn } from "../../lib/utils";
5
6
  const THEMES = { light: "", dark: ".dark" };
7
+ const INITIAL_DIMENSION = { width: 320, height: 200 };
6
8
  const ChartContext = React.createContext(null);
7
9
  function useChart() {
8
- const context = React.use(ChartContext);
10
+ const context = React.useContext(ChartContext);
9
11
  if (!context) {
10
12
  throw new Error("useChart must be used within a <ChartContainer />");
11
13
  }
@@ -16,30 +18,37 @@ function ChartContainer({
16
18
  className,
17
19
  children,
18
20
  config,
21
+ initialDimension = INITIAL_DIMENSION,
19
22
  ...props
20
23
  }) {
21
24
  const uniqueId = React.useId();
22
- const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
25
+ const chartId = `chart-${id ?? uniqueId.replace(/:/g, "")}`;
23
26
  return /* @__PURE__ */ jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs(
24
27
  "div",
25
28
  {
26
29
  "data-slot": "chart",
27
30
  "data-chart": chartId,
28
31
  className: cn(
29
- "[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",
32
+ "flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",
30
33
  className
31
34
  ),
32
35
  ...props,
33
36
  children: [
34
37
  /* @__PURE__ */ jsx(ChartStyle, { id: chartId, config }),
35
- /* @__PURE__ */ jsx(RechartsPrimitive.ResponsiveContainer, { children })
38
+ /* @__PURE__ */ jsx(
39
+ RechartsPrimitive.ResponsiveContainer,
40
+ {
41
+ initialDimension,
42
+ children
43
+ }
44
+ )
36
45
  ]
37
46
  }
38
47
  ) });
39
48
  }
40
49
  const ChartStyle = ({ id, config }) => {
41
50
  const colorConfig = Object.entries(config).filter(
42
- ([, config2]) => config2.theme || config2.color
51
+ ([, config2]) => config2.theme ?? config2.color
43
52
  );
44
53
  if (!colorConfig.length) {
45
54
  return null;
@@ -52,7 +61,7 @@ const ChartStyle = ({ id, config }) => {
52
61
  ([theme, prefix]) => `
53
62
  ${prefix} [data-chart=${id}] {
54
63
  ${colorConfig.map(([key, itemConfig]) => {
55
- const color = itemConfig.theme?.[theme] || itemConfig.color;
64
+ const color = itemConfig.theme?.[theme] ?? itemConfig.color;
56
65
  return color ? ` --color-${key}: ${color};` : null;
57
66
  }).join("\n")}
58
67
  }
@@ -84,9 +93,9 @@ function ChartTooltipContent({
84
93
  return null;
85
94
  }
86
95
  const [item] = payload;
87
- const key = `${labelKey || item?.dataKey || item?.name || "value"}`;
96
+ const key = `${labelKey ?? item?.dataKey ?? item?.name ?? "value"}`;
88
97
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
89
- const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
98
+ const value = !labelKey && typeof label === "string" ? config[label]?.label ?? label : itemConfig?.label;
90
99
  if (labelFormatter) {
91
100
  return /* @__PURE__ */ jsx("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
92
101
  }
@@ -111,20 +120,20 @@ function ChartTooltipContent({
111
120
  "div",
112
121
  {
113
122
  className: cn(
114
- "border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
123
+ "grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",
115
124
  className
116
125
  ),
117
126
  children: [
118
127
  !nestLabel ? tooltipLabel : null,
119
128
  /* @__PURE__ */ jsx("div", { className: "grid gap-1.5", children: payload.filter((item) => item.type !== "none").map((item, index) => {
120
- const key = `${nameKey || item.name || item.dataKey || "value"}`;
129
+ const key = `${nameKey ?? item.name ?? item.dataKey ?? "value"}`;
121
130
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
122
- const indicatorColor = color || item.payload.fill || item.color;
131
+ const indicatorColor = color ?? item.payload?.fill ?? item.color;
123
132
  return /* @__PURE__ */ jsx(
124
133
  "div",
125
134
  {
126
135
  className: cn(
127
- "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
136
+ "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
128
137
  indicator === "dot" && "items-center"
129
138
  ),
130
139
  children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -134,7 +143,7 @@ function ChartTooltipContent({
134
143
  className: cn(
135
144
  "shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
136
145
  {
137
- "size-2.5": indicator === "dot",
146
+ "h-2.5 w-2.5": indicator === "dot",
138
147
  "w-1": indicator === "line",
139
148
  "w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
140
149
  "my-0.5": nestLabel && indicator === "dashed"
@@ -156,15 +165,15 @@ function ChartTooltipContent({
156
165
  children: [
157
166
  /* @__PURE__ */ jsxs("div", { className: "grid gap-1.5", children: [
158
167
  nestLabel ? tooltipLabel : null,
159
- /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
168
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: itemConfig?.label ?? item.name })
160
169
  ] }),
161
- item.value && /* @__PURE__ */ jsx("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
170
+ item.value != null && /* @__PURE__ */ jsx("span", { className: "font-mono font-medium text-foreground tabular-nums", children: typeof item.value === "number" ? item.value.toLocaleString() : String(item.value) })
162
171
  ]
163
172
  }
164
173
  )
165
174
  ] })
166
175
  },
167
- item.dataKey
176
+ index
168
177
  );
169
178
  }) })
170
179
  ]
@@ -191,20 +200,20 @@ function ChartLegendContent({
191
200
  verticalAlign === "top" ? "pb-3" : "pt-3",
192
201
  className
193
202
  ),
194
- children: payload.filter((item) => item.type !== "none").map((item) => {
195
- const key = `${nameKey || item.dataKey || "value"}`;
203
+ children: payload.filter((item) => item.type !== "none").map((item, index) => {
204
+ const key = `${nameKey ?? item.dataKey ?? "value"}`;
196
205
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
197
206
  return /* @__PURE__ */ jsxs(
198
207
  "div",
199
208
  {
200
209
  className: cn(
201
- "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
210
+ "flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
202
211
  ),
203
212
  children: [
204
213
  itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx(itemConfig.icon, {}) : /* @__PURE__ */ jsx(
205
214
  "div",
206
215
  {
207
- className: "size-2 shrink-0 rounded-[2px]",
216
+ className: "h-2 w-2 shrink-0 rounded-[2px]",
208
217
  style: {
209
218
  backgroundColor: item.color
210
219
  }
@@ -213,7 +222,7 @@ function ChartLegendContent({
213
222
  itemConfig?.label
214
223
  ]
215
224
  },
216
- item.value
225
+ index
217
226
  );
218
227
  })
219
228
  }
@@ -4,6 +4,7 @@ var _react = require('react'); var React = _interopRequireWildcard(_react);
4
4
  var _react2 = require('@base-ui/react');
5
5
  var _lucidereact = require('lucide-react');
6
6
  var _utils = require('../../lib/utils');
7
+ var _pluginstylescopecontext = require('../../plugin-style-scope-context');
7
8
  var _button = require('./button');
8
9
 
9
10
 
@@ -94,7 +95,8 @@ function ComboboxContent({
94
95
  anchor,
95
96
  ...props
96
97
  }) {
97
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.Combobox.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
98
+ const container = _pluginstylescopecontext.usePluginPortalContainer.call(void 0, );
99
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.Combobox.Portal, { container, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
98
100
  _react2.Combobox.Positioner,
99
101
  {
100
102
  side,
@@ -141,7 +143,7 @@ function ComboboxItem({
141
143
  {
142
144
  "data-slot": "combobox-item",
143
145
  className: _utils.cn.call(void 0,
144
- "data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
146
+ "data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-base outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
145
147
  className
146
148
  ),
147
149
  ...props,
@@ -178,7 +180,7 @@ function ComboboxLabel({
178
180
  {
179
181
  "data-slot": "combobox-label",
180
182
  className: _utils.cn.call(void 0,
181
- "text-muted-foreground px-2 py-1.5 text-xs pointer-coarse:px-3 pointer-coarse:py-2 pointer-coarse:text-sm",
183
+ "text-muted-foreground px-2 py-1.5 text-xs pointer-coarse:px-3 pointer-coarse:py-2 pointer-coarse:text-base",
182
184
  className
183
185
  ),
184
186
  ...props
@@ -194,7 +196,7 @@ function ComboboxEmpty({ className, ...props }) {
194
196
  {
195
197
  "data-slot": "combobox-empty",
196
198
  className: _utils.cn.call(void 0,
197
- "text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex",
199
+ "text-muted-foreground hidden w-full justify-center py-2 text-center text-base group-data-empty/combobox-content:flex",
198
200
  className
199
201
  ),
200
202
  ...props
@@ -223,7 +225,7 @@ function ComboboxChips({
223
225
  {
224
226
  "data-slot": "combobox-chips",
225
227
  className: _utils.cn.call(void 0,
226
- "dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1.5",
228
+ "dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-base shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1.5",
227
229
  className
228
230
  ),
229
231
  ...props