@flikk/ui 1.0.0-beta.8 → 1.0.0-beta.9

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 (122) hide show
  1. package/dist/components/ai/ApprovalCard/ApprovalCard.js +1 -1
  2. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +2 -2
  3. package/dist/components/ai/PromptInput/PromptInput.js +2 -2
  4. package/dist/components/ai/PromptInput/PromptInput.theme.js +1 -1
  5. package/dist/components/ai/PromptSuggestions/PromptSuggestion.theme.js +1 -1
  6. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +6 -6
  7. package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +4 -4
  8. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.js +2 -2
  9. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +6 -6
  10. package/dist/components/charts/ActivityRings/ActivityRings.js +1 -1
  11. package/dist/components/charts/ActivityRings/ActivityRings.theme.js +2 -2
  12. package/dist/components/charts/BarChart/BarChart.js +3 -3
  13. package/dist/components/charts/ChartContainer.js +1 -1
  14. package/dist/components/charts/ComboChart/ComboChart.js +2 -2
  15. package/dist/components/charts/DonutChart/DonutChart.theme.js +1 -1
  16. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.js +1 -1
  17. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.theme.js +1 -1
  18. package/dist/components/charts/FunnelChart/FunnelChart.js +7 -7
  19. package/dist/components/charts/Heatmap/Heatmap.theme.js +1 -1
  20. package/dist/components/charts/Heatmap/HeatmapCell.js +1 -1
  21. package/dist/components/charts/Heatmap/HeatmapLegend.js +1 -1
  22. package/dist/components/charts/RadarChart/RadarChart.theme.js +2 -2
  23. package/dist/components/charts/ScatterPlot/ScatterPlot.js +1 -1
  24. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +2 -2
  25. package/dist/components/charts/StackedBarChart/StackedBarChart.js +2 -2
  26. package/dist/components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js +1 -1
  27. package/dist/components/charts/shared/ChartLegend/ChartLegendContent.js +1 -1
  28. package/dist/components/charts/shared/ChartText/ChartText.js +1 -1
  29. package/dist/components/charts/shared/ChartText/ChartText.theme.js +1 -1
  30. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +4 -4
  31. package/dist/components/core/Alert/Alert.theme.js +1 -1
  32. package/dist/components/core/AlertDialog/AlertDialog.js +1 -1
  33. package/dist/components/core/Avatar/Avatar.theme.js +5 -5
  34. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +1 -1
  35. package/dist/components/core/Badge/Badge.theme.js +2 -2
  36. package/dist/components/core/Breadcrumbs/Breadcrumbs.js +1 -1
  37. package/dist/components/core/Button/Button.theme.js +6 -6
  38. package/dist/components/core/ButtonGroup/ButtonGroup.theme.js +1 -1
  39. package/dist/components/core/Calendar/Calendar.js +1 -1
  40. package/dist/components/core/Calendar/Calendar.theme.js +5 -5
  41. package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +1 -1
  42. package/dist/components/core/Card/Card.theme.js +2 -2
  43. package/dist/components/core/CommandPalette/CommandItem.js +1 -1
  44. package/dist/components/core/CommandPalette/CommandPalette.theme.js +3 -3
  45. package/dist/components/core/ContextMenu/ContextMenu.theme.js +3 -3
  46. package/dist/components/core/ContextMenu/ContextMenuItem.js +1 -1
  47. package/dist/components/core/Drawer/Drawer.theme.js +2 -2
  48. package/dist/components/core/Dropdown/Dropdown.theme.js +1 -1
  49. package/dist/components/core/Empty/Empty.theme.js +2 -2
  50. package/dist/components/core/Kbd/Kbd.theme.js +3 -3
  51. package/dist/components/core/Loader/Loader.theme.js +1 -1
  52. package/dist/components/core/MenuItem/MenuItem.theme.js +2 -2
  53. package/dist/components/core/Message/Message.js +1 -1
  54. package/dist/components/core/Message/Message.theme.js +4 -4
  55. package/dist/components/core/Modal/Modal.theme.js +2 -2
  56. package/dist/components/core/NavItem/NavItem.js +1 -1
  57. package/dist/components/core/NavItem/NavItem.theme.js +1 -1
  58. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +2 -2
  59. package/dist/components/core/PageHeading/PageHeading.theme.js +1 -1
  60. package/dist/components/core/Pagination/Pagination.theme.js +2 -2
  61. package/dist/components/core/Pill/Pill.theme.js +3 -3
  62. package/dist/components/core/Progress/Progress.theme.js +2 -2
  63. package/dist/components/core/Segmented/Segmented.theme.js +3 -3
  64. package/dist/components/core/Sidebar/SidebarNavGroup.js +1 -1
  65. package/dist/components/core/Tabs/Tabs.theme.js +2 -2
  66. package/dist/components/core/Tag/Tag.theme.js +2 -2
  67. package/dist/components/core/Toast/Toast.theme.js +4 -4
  68. package/dist/components/core/Tooltip/Tooltip.theme.js +1 -1
  69. package/dist/components/core/Tree/Tree.theme.js +1 -1
  70. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +2 -2
  71. package/dist/components/data-display/Feed/Feed.js +1 -1
  72. package/dist/components/data-display/Feed/Feed.theme.js +2 -2
  73. package/dist/components/data-display/GanttChart/GanttChart.theme.js +2 -2
  74. package/dist/components/data-display/GanttChart/GanttChartPanel.js +1 -1
  75. package/dist/components/data-display/GanttChart/GanttMilestone.js +2 -2
  76. package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +1 -1
  77. package/dist/components/data-display/GanttChart/GanttTaskBar.js +2 -2
  78. package/dist/components/data-display/KPI/KPI.js +1 -1
  79. package/dist/components/data-display/KPI/KPI.theme.js +7 -7
  80. package/dist/components/data-display/Metric/Metric.js +1 -1
  81. package/dist/components/data-display/Metric/Metric.theme.js +7 -7
  82. package/dist/components/data-display/Table/Table.theme.js +3 -3
  83. package/dist/components/data-display/Table/TableActionsMenu.js +1 -1
  84. package/dist/components/data-display/Table/TableColumnManager.js +1 -1
  85. package/dist/components/data-display/Table/TableFilter.js +3 -3
  86. package/dist/components/data-display/Table/TableHeader.js +1 -1
  87. package/dist/components/data-display/Table/TablePagination.js +1 -1
  88. package/dist/components/data-display/Table/TableSelectionHeader.js +1 -1
  89. package/dist/components/effects/CustomCursor/CustomCursor.js +1 -1
  90. package/dist/components/effects/CustomCursor/CustomCursor.theme.js +1 -1
  91. package/dist/components/effects/StickyScroll/StickyScroll.js +1 -1
  92. package/dist/components/forms/Checkbox/Checkbox.theme.js +3 -3
  93. package/dist/components/forms/ColorPicker/ColorPicker.js +1 -1
  94. package/dist/components/forms/ColorPicker/ColorPicker.theme.js +1 -1
  95. package/dist/components/forms/ColorPicker/ColorPickerInput.js +7 -7
  96. package/dist/components/forms/CronInput/CronInput.js +1 -1
  97. package/dist/components/forms/CronInput/CronInput.theme.js +8 -8
  98. package/dist/components/forms/DatePicker/DatePicker.theme.js +1 -1
  99. package/dist/components/forms/DatePicker/DatePickerContent.js +1 -1
  100. package/dist/components/forms/FileUpload/FileUpload.js +2 -2
  101. package/dist/components/forms/FileUpload/FileUpload.theme.js +4 -4
  102. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  103. package/dist/components/forms/Input/Input.theme.js +1 -1
  104. package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
  105. package/dist/components/forms/InputOTP/InputOTP.theme.js +1 -1
  106. package/dist/components/forms/InputTag/InputTag.js +1 -1
  107. package/dist/components/forms/Mention/Mention.theme.js +3 -3
  108. package/dist/components/forms/Radio/Radio.theme.js +3 -3
  109. package/dist/components/forms/RichTextEditor/RichTextEditor.js +2 -2
  110. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +1 -1
  111. package/dist/components/forms/Select/Select.theme.js +1 -1
  112. package/dist/components/forms/Signature/Signature.theme.js +1 -1
  113. package/dist/components/forms/Slider/Slider.theme.js +3 -3
  114. package/dist/components/forms/Switch/Switch.theme.js +1 -1
  115. package/dist/components/forms/TimePicker/TimePicker.theme.js +2 -2
  116. package/dist/components/forms/TransferList/TransferList.js +2 -2
  117. package/dist/components/forms/TransferList/TransferList.theme.js +6 -6
  118. package/dist/components/forms/forms.theme.js +6 -6
  119. package/dist/components/layout/FormLayout/FormLayout.theme.js +4 -4
  120. package/dist/styles.css +1 -1
  121. package/package.json +1 -1
  122. package/src/styles/theme.css +0 -17
@@ -9,7 +9,7 @@ import { cn } from '../../../utils/cn.js';
9
9
  const ApprovalCard = ({ title, subtitle, variant = "default", riskLevel = "medium", onApprove, onDeny, children, isApproving = false, className, }) => {
10
10
  const riskColor = approvalCardTheme.badgeColors[riskLevel];
11
11
  const riskIcon = riskLevel === "critical" || riskLevel === "high" ? (jsx(ExclamationTriangleIcon, { className: "" })) : (jsx(CheckCircleIcon, { className: "" }));
12
- return (jsxs(Card, { className: cn(approvalCardTheme.baseStyle, approvalCardTheme.variants[variant], className), children: [jsx(Card.Header, { children: jsx("div", { className: "flex flex-col items-start", children: jsxs(Badge, { variant: "outline", color: riskColor, size: "sm", iconStart: riskIcon, className: "font-semibold shadow", children: [riskLevel.toUpperCase(), " RISK"] }) }) }), jsxs(Card.Content, { className: "space-y-3", children: [jsxs("div", { className: "space-y-1", children: [jsx(Card.Title, { className: "text-base", children: title }), subtitle && (jsx("p", { className: "text-sm text-[var(--color-text-secondary)]", children: subtitle }))] }), children && (jsx("div", { className: "bg-[var(--color-background-secondary)] rounded-md p-3 text-xs font-mono border border-[var(--color-border)] overflow-x-auto", children: children }))] }), jsxs(Card.Footer, { className: "justify-end gap-2 mt-3", children: [jsx(Button, { variant: "outline", color: "neutral", size: "sm", onClick: onDeny, children: "Deny" }), jsx(Button, { color: riskColor, size: "sm", state: isApproving ? "loading" : "default", onClick: onApprove, children: "Approve" })] })] }));
12
+ return (jsxs(Card, { className: cn(approvalCardTheme.baseStyle, approvalCardTheme.variants[variant], className), children: [jsx(Card.Header, { children: jsx("div", { className: "flex flex-col items-start", children: jsxs(Badge, { variant: "outline", color: riskColor, size: "sm", iconStart: riskIcon, className: "font-semibold shadow", children: [riskLevel.toUpperCase(), " RISK"] }) }) }), jsxs(Card.Content, { className: "space-y-3", children: [jsxs("div", { className: "space-y-1", children: [jsx(Card.Title, { className: "text-lg", children: title }), subtitle && (jsx("p", { className: "text-base text-[var(--color-text-secondary)]", children: subtitle }))] }), children && (jsx("div", { className: "bg-[var(--color-background-secondary)] rounded-md p-3 text-sm font-mono border border-[var(--color-border)] overflow-x-auto", children: children }))] }), jsxs(Card.Footer, { className: "justify-end gap-2 mt-3", children: [jsx(Button, { variant: "outline", color: "neutral", size: "sm", onClick: onDeny, children: "Deny" }), jsx(Button, { color: riskColor, size: "sm", state: isApproving ? "loading" : "default", onClick: onApprove, children: "Approve" })] })] }));
13
13
  };
14
14
 
15
15
  export { ApprovalCard };
@@ -3,8 +3,8 @@ const codeBlockTheme = {
3
3
  header: "flex items-center justify-between px-3 py-1.5 bg-[var(--color-background-secondary)] border-b border-[var(--color-border)]",
4
4
  headerLeft: "flex items-center gap-2 min-w-0 flex-1 ",
5
5
  headerRight: "flex items-center gap-2 flex-shrink-0",
6
- filename: "text-sm font-medium text-[var(--color-text-secondary)] truncate",
7
- languageLabel: "text-xs uppercase tracking-wider font-semibold text-[var(--color-text-muted)]",
6
+ filename: "text-base font-medium text-[var(--color-text-secondary)] truncate",
7
+ languageLabel: "text-sm uppercase tracking-wider font-semibold text-[var(--color-text-muted)]",
8
8
  codeWrapper: "overflow-x-auto",
9
9
  lineNumber: "text-[var(--color-text-muted)] select-none text-right tabular-nums min-w-[2.5rem] pr-4 opacity-50",
10
10
  highlightedLine: " -mx-4 px-4 bg-[var(--color-primary-50)] border-l-2 border-l-[var(--color-primary)] dark:bg-neutral-400/5 dark:border-l-neutral-200",
@@ -453,7 +453,7 @@ className, textareaClassName, footerClassName, theme = {},
453
453
  if (e.target.files)
454
454
  processFiles(e.target.files);
455
455
  e.target.value = "";
456
- }, className: "sr-only", "aria-label": "Attach files" }), jsxs("div", { className: cn("relative", mergedTheme.baseStyle, mergedTheme.stateStyle, variant === "simple" ? "p-3 rounded-full pl-5" : ""), onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [jsx(AnimatePresence, { children: isDragOver && enableDropzone && (jsxs(motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.2 }, className: mergedTheme.dropzoneStyle, children: [jsx(CloudArrowUpIcon, { className: "size-8 text-[var(--color-primary)]" }), jsx("p", { className: "text-sm font-medium text-[var(--color-primary)]", children: dropzoneText })] })) }), currentAttachments.length > 0 && (jsx("div", { className: "flex flex-wrap gap-2 py-2 px-1", children: currentAttachments.map((attachment) => {
456
+ }, className: "sr-only", "aria-label": "Attach files" }), jsxs("div", { className: cn("relative", mergedTheme.baseStyle, mergedTheme.stateStyle, variant === "simple" ? "p-3 rounded-full pl-5" : ""), onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [jsx(AnimatePresence, { children: isDragOver && enableDropzone && (jsxs(motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.2 }, className: mergedTheme.dropzoneStyle, children: [jsx(CloudArrowUpIcon, { className: "size-8 text-[var(--color-primary)]" }), jsx("p", { className: "text-base font-medium text-[var(--color-primary)]", children: dropzoneText })] })) }), currentAttachments.length > 0 && (jsx("div", { className: "flex flex-wrap gap-2 py-2 px-1", children: currentAttachments.map((attachment) => {
457
457
  var _a;
458
458
  return (jsxs("div", { className: "relative group rounded-lg border border-[var(--color-border)] bg-white", children: [attachment.type === "image" ? (attachment.isCompressing ? (jsx("div", { className: "size-12 flex items-center justify-center bg-gray-100 rounded-lg", children: jsx("div", { className: "w-4 h-4 border-2 border-gray-300 border-t-[var(--color-primary)] rounded-full animate-spin" }) })) : (jsx("img", { src: attachment.previewUrl, alt: attachment.file.name, className: "size-12 object-cover rounded-lg" }))) : (jsxs("div", { className: "size-12 flex flex-col items-center justify-center text-center p-1 rounded-lg", children: [jsx(DocumentIcon, { className: "w-5 h-5 text-[var(--color-text-muted)]" }), jsx("span", { className: "text-[10px] text-[var(--color-text-secondary)] truncate w-full", children: (_a = attachment.file.name.split(".").pop()) === null || _a === void 0 ? void 0 : _a.toUpperCase() })] })), jsx("button", { onClick: () => removeAttachment(attachment.id), className: "absolute -top-1.5 -right-1.5 size-5 rounded-full bg-[var(--color-danger)] text-[var(--color-danger-contrast)] flex items-center justify-center opacity-0 translate-y-1 group-hover:translate-y-0 group-hover:opacity-100 transition-all duration-300 ease-in-out cursor-pointer shadow-md", "aria-label": `Remove ${attachment.file.name}`, children: jsx(XMarkIcon, { className: "size-3", strokeWidth: 3 }) })] }, attachment.id));
459
459
  }) })), jsxs("div", { className: cn("flex gap-2", variant === "simple" ? "items-end" : "items-start"), children: [jsx(Textarea, { ref: textareaRef, id: id, unstyled: true, value: currentValue, onChange: handleChange, onKeyDown: handleKeyDown, onPaste: handlePaste, placeholder: placeholder, disabled: isDisabled, maxLength: maxLength, rows: rows, "aria-label": ariaLabel || "Prompt input", "aria-describedby": helperTextId, "aria-invalid": isInvalid, "aria-disabled": isDisabled, className: cn(mergedTheme.textareaStyle, variant === "simple" && "!w-auto flex-1 min-w-0 justify-center", textareaClassName), style: {
@@ -478,7 +478,7 @@ className, textareaClassName, footerClassName, theme = {},
478
478
  fileInputRef.current.click();
479
479
  }
480
480
  onAttachmentClick === null || onAttachmentClick === void 0 ? void 0 : onAttachmentClick();
481
- }, children: "Upload PDF" }, "upload-pdf")] })] })), showSettingsButton && (jsx(Button, { iconOnly: true, variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0.5", onClick: onSettingsClick, "aria-label": "Open settings", disabled: isDisabled, children: jsx(AdjustmentsHorizontalIcon, { className: "size-4 text-[var(--color-text-muted)]", strokeWidth: 2 }) })), showVoiceButton && (jsxs(Button, { variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0", onClick: onVoiceClick, "aria-label": "Voice input", disabled: isDisabled, children: [jsx(MicrophoneIcon, { className: "size-4", strokeWidth: 2 }), " Voice"] })), showModelSelector && (jsxs(Dropdown, { selectionMode: "single", selectedKeys: isModelControlled ? [controlledModel] : internalModel, onSelectionChange: handleModelChange, children: [jsx(Dropdown.Trigger, { children: jsxs(Button, { variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0", "aria-label": "Select AI model", disabled: isDisabled, children: [modelMap[currentModel] || "Select Model", jsx(ChevronDownIcon, { className: "size-3 opacity-80", strokeWidth: 2 })] }) }), jsx(Dropdown.Menu, { children: models.map((model) => (jsxs(Dropdown.Item, { itemKey: model.key, children: [model.icon && (jsx("span", { className: "mr-2", children: model.icon })), model.label] }, model.key))) })] }))] }), jsx("div", { children: jsx(Button, { iconOnly: true, className: cn(mergedTheme.submitButtonStyle), size: "sm", variant: "outline", color: "neutral", onClick: handleSubmit, disabled: !canSubmit, state: isLoading ? "loading" : "default", "aria-label": submitButtonLabel, title: submitShortcut ? `Submit (${submitShortcut})` : undefined, children: submitButtonIcon }) })] }))] }), displayHelperText && (jsx("div", { id: helperTextId, className: cn("mt-1 text-xs", isInvalid
481
+ }, children: "Upload PDF" }, "upload-pdf")] })] })), showSettingsButton && (jsx(Button, { iconOnly: true, variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0.5", onClick: onSettingsClick, "aria-label": "Open settings", disabled: isDisabled, children: jsx(AdjustmentsHorizontalIcon, { className: "size-4 text-[var(--color-text-muted)]", strokeWidth: 2 }) })), showVoiceButton && (jsxs(Button, { variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0", onClick: onVoiceClick, "aria-label": "Voice input", disabled: isDisabled, children: [jsx(MicrophoneIcon, { className: "size-4", strokeWidth: 2 }), " Voice"] })), showModelSelector && (jsxs(Dropdown, { selectionMode: "single", selectedKeys: isModelControlled ? [controlledModel] : internalModel, onSelectionChange: handleModelChange, children: [jsx(Dropdown.Trigger, { children: jsxs(Button, { variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0", "aria-label": "Select AI model", disabled: isDisabled, children: [modelMap[currentModel] || "Select Model", jsx(ChevronDownIcon, { className: "size-3 opacity-80", strokeWidth: 2 })] }) }), jsx(Dropdown.Menu, { children: models.map((model) => (jsxs(Dropdown.Item, { itemKey: model.key, children: [model.icon && (jsx("span", { className: "mr-2", children: model.icon })), model.label] }, model.key))) })] }))] }), jsx("div", { children: jsx(Button, { iconOnly: true, className: cn(mergedTheme.submitButtonStyle), size: "sm", variant: "outline", color: "neutral", onClick: handleSubmit, disabled: !canSubmit, state: isLoading ? "loading" : "default", "aria-label": submitButtonLabel, title: submitShortcut ? `Submit (${submitShortcut})` : undefined, children: submitButtonIcon }) })] }))] }), displayHelperText && (jsx("div", { id: helperTextId, className: cn("mt-1 text-sm", isInvalid
482
482
  ? "text-[var(--color-danger)]"
483
483
  : "text-[var(--color-text-muted)]"), role: isInvalid ? "alert" : undefined, "aria-live": isInvalid ? "polite" : undefined, children: displayHelperText }))] }));
484
484
  });
@@ -1,6 +1,6 @@
1
1
  const promptInputTheme = {
2
2
  baseStyle: "rounded-[var(--card-radius)] border-[1px] border-[var(--color-border)] flex flex-col gap-2 shadow-real-md p-4 outline-2 outline-[var(--color-border)]/30 bg-white dark:bg-[var(--color-background-secondary)] ",
3
- textareaStyle: "w-full bg-transparent text-sm text-[var(--color-text-primary)] placeholder:text-[var(--color-text-placeholder)] focus:outline-none resize-none overflow-y-auto transition-[height] duration-200 ease-in-out",
3
+ textareaStyle: "w-full bg-transparent text-base text-[var(--color-text-primary)] placeholder:text-[var(--color-text-placeholder)] focus:outline-none resize-none overflow-y-auto transition-[height] duration-200 ease-in-out",
4
4
  footerStyle: "flex justify-between items-end",
5
5
  actionsStyle: "flex gap-1",
6
6
  submitButtonStyle: "rounded-full",
@@ -2,7 +2,7 @@ const promptSuggestionTheme = {
2
2
  baseStyle: "inline-flex items-center gap-2 py-2 px-3.5 rounded-full " +
3
3
  "bg-white dark:bg-[var(--color-background)] " +
4
4
  "border border-[var(--color-border)] " +
5
- "text-sm font-medium text-[var(--color-text-primary)] " +
5
+ "text-base font-medium text-[var(--color-text-primary)] " +
6
6
  "cursor-pointer transition-all duration-300 " +
7
7
  "hover:bg-[var(--color-background-secondary)] dark:hover:bg-[var(--color-background-secondary)] " +
8
8
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]",
@@ -49,7 +49,7 @@ const MarkdownRenderer = ({ content, options = {}, isStreaming = false, animated
49
49
  return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx(Prism, { style: syntaxTheme === 'dark' ? oneDark : oneLight, language: language, PreTag: "div", className: "rounded-lg my-3", ...props, children: String(children).replace(/\n$/, '') }) }));
50
50
  }
51
51
  // Inline code
52
- return (jsx("code", { className: "bg-[var(--color-background-tertiary)] text-[var(--color-primary)] px-1.5 py-0.5 rounded text-sm font-mono", ...props, children: children }));
52
+ return (jsx("code", { className: "bg-[var(--color-background-tertiary)] text-[var(--color-primary)] px-1.5 py-0.5 rounded text-base font-mono", ...props, children: children }));
53
53
  },
54
54
  // Paragraphs
55
55
  p({ children }) {
@@ -60,19 +60,19 @@ const MarkdownRenderer = ({ content, options = {}, isStreaming = false, animated
60
60
  return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h1", { className: "text-2xl font-bold mb-4 text-[var(--color-text-primary)] border-b border-[var(--color-border)] pb-2", children: children }) }));
61
61
  },
62
62
  h2({ children }) {
63
- return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h2", { className: "text-xl font-bold mb-3 text-[var(--color-text-primary)] border-b border-[var(--color-border)] pb-2", children: children }) }));
63
+ return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h2", { className: "text-2xl font-bold mb-3 text-[var(--color-text-primary)] border-b border-[var(--color-border)] pb-2", children: children }) }));
64
64
  },
65
65
  h3({ children }) {
66
- return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h3", { className: "text-lg font-semibold mb-2 text-[var(--color-text-primary)]", children: children }) }));
66
+ return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h3", { className: "text-xl font-semibold mb-2 text-[var(--color-text-primary)]", children: children }) }));
67
67
  },
68
68
  h4({ children }) {
69
- return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h4", { className: "text-base font-semibold mb-2 text-[var(--color-text-primary)]", children: children }) }));
69
+ return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h4", { className: "text-lg font-semibold mb-2 text-[var(--color-text-primary)]", children: children }) }));
70
70
  },
71
71
  h5({ children }) {
72
- return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h5", { className: "text-sm font-semibold mb-2 text-[var(--color-text-primary)]", children: children }) }));
72
+ return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h5", { className: "text-base font-semibold mb-2 text-[var(--color-text-primary)]", children: children }) }));
73
73
  },
74
74
  h6({ children }) {
75
- return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h6", { className: "text-sm font-semibold mb-2 text-[var(--color-text-secondary)]", children: children }) }));
75
+ return (jsx(AnimatedBlock, { animate: shouldAnimate, children: jsx("h6", { className: "text-base font-semibold mb-2 text-[var(--color-text-secondary)]", children: children }) }));
76
76
  },
77
77
  // Lists
78
78
  ul({ children }) {
@@ -1,9 +1,9 @@
1
1
  const streamingResponseTheme = {
2
2
  errorContainerStyle: "flex items-start gap-3 rounded-[var(--radius-base)] border border-[var(--color-danger-200)] bg-[var(--color-danger-50)] px-4 py-3",
3
- errorTitleStyle: "text-sm font-medium text-[var(--color-danger)]",
4
- errorMessageStyle: "text-sm text-[var(--color-text-secondary)] mt-1",
5
- errorRetryButtonStyle: "mt-2 text-sm font-medium text-[var(--color-danger)] hover:text-[var(--color-danger-700)] transition-colors",
6
- loadingContainerStyle: "flex items-center gap-2 text-[var(--color-text-placeholder)] text-sm",
3
+ errorTitleStyle: "text-base font-medium text-[var(--color-danger)]",
4
+ errorMessageStyle: "text-base text-[var(--color-text-secondary)] mt-1",
5
+ errorRetryButtonStyle: "mt-2 text-base font-medium text-[var(--color-danger)] hover:text-[var(--color-danger-700)] transition-colors",
6
+ loadingContainerStyle: "flex items-center gap-2 text-[var(--color-text-placeholder)] text-base",
7
7
  loadingDotStyle: "w-1.5 h-1.5 rounded-full bg-current animate-pulse",
8
8
  };
9
9
 
@@ -7,12 +7,12 @@ const thinkingIndicatorTheme = {
7
7
  sm: {
8
8
  container: "py-1",
9
9
  dot: "size-1",
10
- label: "text-xs",
10
+ label: "text-sm",
11
11
  },
12
12
  md: {
13
13
  container: "py-1",
14
14
  dot: "size-1.5",
15
- label: "text-sm",
15
+ label: "text-base",
16
16
  },
17
17
  },
18
18
  };
@@ -8,19 +8,19 @@ const tokenCounterTheme = {
8
8
  progressBarStyle: "h-full bg-[var(--color-primary)] transition-all duration-200",
9
9
  sizes: {
10
10
  sm: {
11
- container: "text-xs",
11
+ container: "text-sm",
12
12
  icon: "size-3",
13
- text: "text-xs",
13
+ text: "text-sm",
14
14
  },
15
15
  md: {
16
- container: "text-sm",
16
+ container: "text-base",
17
17
  icon: "size-4",
18
- text: "text-sm",
18
+ text: "text-base",
19
19
  },
20
20
  lg: {
21
- container: "text-base",
21
+ container: "text-lg",
22
22
  icon: "size-5",
23
- text: "text-base",
23
+ text: "text-lg",
24
24
  },
25
25
  },
26
26
  };
@@ -83,7 +83,7 @@ const ActivityRings = ({ rings, centerLabel, centerSuffix, size = ACTIVITY_RINGS
83
83
  }
84
84
  // Early return for invalid configuration
85
85
  if (!Array.isArray(rings) || rings.length === 0) {
86
- return (jsxs("div", { className: cn("flex items-center justify-center p-6 border border-[var(--color-border)] rounded-lg", className), role: "alert", ...props, children: [jsx(ExclamationTriangleIcon, { className: "size-5 text-[var(--color-danger)] mr-2" }), jsx("span", { className: "text-sm text-[var(--color-text-secondary)]", children: "Invalid ActivityRings: rings array is required" })] }));
86
+ return (jsxs("div", { className: cn("flex items-center justify-center p-6 border border-[var(--color-border)] rounded-lg", className), role: "alert", ...props, children: [jsx(ExclamationTriangleIcon, { className: "size-5 text-[var(--color-danger)] mr-2" }), jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: "Invalid ActivityRings: rings array is required" })] }));
87
87
  }
88
88
  // State for controlling initial animation
89
89
  const [hasAnimated, setHasAnimated] = useState(false);
@@ -18,8 +18,8 @@ const activityRingsTheme = {
18
18
  ],
19
19
  },
20
20
  centerText: {
21
- label: "text-xl font-semibold text-[var(--color-text-primary)]",
22
- suffix: "text-sm font-normal text-[var(--color-text-secondary)]/80",
21
+ label: "text-2xl font-semibold text-[var(--color-text-primary)]",
22
+ suffix: "text-base font-normal text-[var(--color-text-secondary)]/80",
23
23
  },
24
24
  };
25
25
 
@@ -89,9 +89,9 @@ className, title, description, enableKeyboardNavigation = BAR_CHART_DEFAULTS.ena
89
89
  });
90
90
  // Early return for invalid data with error message
91
91
  if (!isValid) {
92
- return (jsxs("div", { className: cn("chart-container flex flex-col items-center justify-center p-6 border border-border rounded-lg text-xl", className), role: "alert", "aria-live": "polite", ...props, children: [jsxs("div", { className: "flex flex-col items-center gap-4 mb-1", children: [jsx(ExclamationTriangleIcon, { className: "size-6 text-[var(--color-danger)]" }), jsx("div", { className: "text-sm font-semibold text-[var(--color-text-secondary)]", children: "Invalid Chart Data" })] }), jsx("p", { className: "text-sm text-[var(--color-text-secondary)]/70 mb-2", children: ((_b = validation.errors[0]) === null || _b === void 0 ? void 0 : _b.message) ||
92
+ return (jsxs("div", { className: cn("chart-container flex flex-col items-center justify-center p-6 border border-border rounded-lg text-2xl", className), role: "alert", "aria-live": "polite", ...props, children: [jsxs("div", { className: "flex flex-col items-center gap-4 mb-1", children: [jsx(ExclamationTriangleIcon, { className: "size-6 text-[var(--color-danger)]" }), jsx("div", { className: "text-base font-semibold text-[var(--color-text-secondary)]", children: "Invalid Chart Data" })] }), jsx("p", { className: "text-base text-[var(--color-text-secondary)]/70 mb-2", children: ((_b = validation.errors[0]) === null || _b === void 0 ? void 0 : _b.message) ||
93
93
  "Unable to render chart due to data validation errors" }), process.env.NODE_ENV === "development" &&
94
- validation.errors.length > 1 && (jsxs("details", { className: "text-xs text-warning-500", children: [jsxs("summary", { className: "cursor-pointer", children: ["Show all errors (", validation.errors.length, ")"] }), jsx("ul", { className: "mt-2 text-left", children: validation.errors.map((error, index) => (jsxs("li", { children: ["\u2022 ", error.message] }, index))) })] }))] }));
94
+ validation.errors.length > 1 && (jsxs("details", { className: "text-sm text-warning-500", children: [jsxs("summary", { className: "cursor-pointer", children: ["Show all errors (", validation.errors.length, ")"] }), jsx("ul", { className: "mt-2 text-left", children: validation.errors.map((error, index) => (jsxs("li", { children: ["\u2022 ", error.message] }, index))) })] }))] }));
95
95
  }
96
96
  // Early return for empty data
97
97
  if (!sanitizedData || sanitizedData.length === 0) {
@@ -415,7 +415,7 @@ className, title, description, enableKeyboardNavigation = BAR_CHART_DEFAULTS.ena
415
415
  }
416
416
  : undefined }, keyIndex));
417
417
  };
418
- return (jsx(ChartErrorBoundary, { className: className, showErrorDetails: process.env.NODE_ENV === "development", children: jsxs("div", { ref: containerRef, className: cn("chart-container w-full h-full", darkMode && "dark", className), ...chartAccessibilityProps, onMouseEnter: handleMouseInteraction, onMouseMove: handleMouseInteraction, ...props, children: [descriptionProps && jsx("div", { ...descriptionProps }), showValidationWarnings && hasWarnings && (jsxs("div", { className: "absolute top-2 left-2 right-2 z-10 p-2 bg-[var(--color-warning-50)] border border-[var(--color-warning-200)] rounded text-xs text-[var(--color-warning)] shadow-sm", children: [jsx("strong", { children: "Chart Warnings:" }), jsx("ul", { className: "mt-1", children: validation.warnings
418
+ return (jsx(ChartErrorBoundary, { className: className, showErrorDetails: process.env.NODE_ENV === "development", children: jsxs("div", { ref: containerRef, className: cn("chart-container w-full h-full", darkMode && "dark", className), ...chartAccessibilityProps, onMouseEnter: handleMouseInteraction, onMouseMove: handleMouseInteraction, ...props, children: [descriptionProps && jsx("div", { ...descriptionProps }), showValidationWarnings && hasWarnings && (jsxs("div", { className: "absolute top-2 left-2 right-2 z-10 p-2 bg-[var(--color-warning-50)] border border-[var(--color-warning-200)] rounded text-sm text-[var(--color-warning)] shadow-sm", children: [jsx("strong", { children: "Chart Warnings:" }), jsx("ul", { className: "mt-1", children: validation.warnings
419
419
  .filter((warning) => !warning.message.includes("has no valid numeric values"))
420
420
  .map((warning, index) => (jsxs("li", { children: ["\u2022 ", warning.message] }, index))) }), validation.warnings.some((warning) => warning.message.includes("has no valid numeric values")) && (jsx("div", { className: "mt-2 pt-2 border-t border-[var(--color-warning-200)]", children: jsx("span", { className: "text-[var(--color-warning)]", children: "\u2139\uFE0F Null/undefined values are handled by using averages from other data points" }) }))] })), jsxs("svg", { width: "100%", height: "100%", viewBox: `0 0 ${dimensions.width} ${dimensions.height}`, children: [jsx("defs", { children: jsxs("pattern", { id: "diagonalHatch", patternUnits: "userSpaceOnUse", width: "8", height: "8", children: [jsx("rect", { width: "8", height: "8", fill: "var(--color-neutral-50)" }), jsx("path", { d: "M-2,2 l4,-4\n M0,8 l8,-8\n M6,10 l4,-4", style: { stroke: "black", strokeWidth: 4, opacity: 0.1 } })] }) }), jsx(HorizontalGrid, { show: showGrid, x: margin.left, y: margin.top, width: innerWidth, height: innerHeight, lineCount: 5 }), jsx(YAxis, { show: showYAxis, min: minValue, max: maxValue, x: margin.left, y: margin.top, height: innerHeight, showGrid: false, gridWidth: innerWidth, tickFormatter: (value) => {
421
421
  if (Math.abs(value) >= 1000)
@@ -34,7 +34,7 @@ function ChartContainer({ data, config, className, children, minHeight = 200, wi
34
34
  minHeight: typeof minHeight === 'number' ? `${minHeight}px` : minHeight
35
35
  }),
36
36
  };
37
- return (jsx(ChartContext.Provider, { value: { data: data || [], config: safeConfig }, children: jsx("div", { className: cn("flex aspect-auto justify-center text-xs",
37
+ return (jsx(ChartContext.Provider, { value: { data: data || [], config: safeConfig }, children: jsx("div", { className: cn("flex aspect-auto justify-center text-sm",
38
38
  // Add w-full as default if no width class is specified
39
39
  !hasWidthClass && "w-full", className), style: inlineStyles, ...props, children: children }) }));
40
40
  }
@@ -129,7 +129,7 @@ className, title, description, enableKeyboardNavigation = COMBO_CHART_DEFAULTS.e
129
129
  });
130
130
  // Early return for invalid data with error message
131
131
  if (!isValid) {
132
- return (jsxs("div", { className: cn("chart-container flex flex-col items-center justify-center p-6 border border-border rounded-lg text-xl", className), role: "alert", "aria-live": "polite", ...props, children: [jsxs("div", { className: "flex flex-col items-center gap-4 mb-1", children: [jsx(ExclamationTriangleIcon, { className: "size-6 text-[var(--color-danger)]" }), jsx("div", { className: "text-sm font-semibold text-[var(--color-text-secondary)]", children: "Invalid Chart Data" })] }), jsx("p", { className: "text-sm text-[var(--color-text-secondary)]/70 mb-2", children: "Unable to render chart due to data validation errors" })] }));
132
+ return (jsxs("div", { className: cn("chart-container flex flex-col items-center justify-center p-6 border border-border rounded-lg text-2xl", className), role: "alert", "aria-live": "polite", ...props, children: [jsxs("div", { className: "flex flex-col items-center gap-4 mb-1", children: [jsx(ExclamationTriangleIcon, { className: "size-6 text-[var(--color-danger)]" }), jsx("div", { className: "text-base font-semibold text-[var(--color-text-secondary)]", children: "Invalid Chart Data" })] }), jsx("p", { className: "text-base text-[var(--color-text-secondary)]/70 mb-2", children: "Unable to render chart due to data validation errors" })] }));
133
133
  }
134
134
  // Early return for empty data
135
135
  if (!sanitizedData || sanitizedData.length === 0) {
@@ -141,7 +141,7 @@ className, title, description, enableKeyboardNavigation = COMBO_CHART_DEFAULTS.e
141
141
  lineSeries.forEach((key) => {
142
142
  config[key];
143
143
  });
144
- return (jsxs(ChartContainer, { data: sanitizedData, config: config, scales: scales, showGrid: showGrid, showXAxis: showXAxis, showYAxis: showYAxis, categoryGap: categoryGap, className: className, title: title, description: description, enableKeyboardNavigation: enableKeyboardNavigation, chartType: "combo", ...props, children: [jsx(ComboChartRenderers, { barKeys: barSeries, lineKeys: lineSeries, stacked: stacked, barRadius: resolvedBarRadius, dotRadius: resolvedDotRadius, gap: gap, categoryGap: categoryGap, strokeWidth: strokeWidth, curved: curved, curveType: curveType, showDots: showDots }), showValidationWarnings && hasWarnings && (jsx("foreignObject", { x: "0", y: "0", width: "100%", height: "50", children: jsxs("div", { className: "p-2 bg-[var(--color-warning-50)] border border-[var(--color-warning-200)] rounded text-xs text-[var(--color-warning)] shadow-sm", children: [jsx("strong", { children: "Chart Warnings:" }), " Some data validation warnings occurred."] }) })), children] }));
144
+ return (jsxs(ChartContainer, { data: sanitizedData, config: config, scales: scales, showGrid: showGrid, showXAxis: showXAxis, showYAxis: showYAxis, categoryGap: categoryGap, className: className, title: title, description: description, enableKeyboardNavigation: enableKeyboardNavigation, chartType: "combo", ...props, children: [jsx(ComboChartRenderers, { barKeys: barSeries, lineKeys: lineSeries, stacked: stacked, barRadius: resolvedBarRadius, dotRadius: resolvedDotRadius, gap: gap, categoryGap: categoryGap, strokeWidth: strokeWidth, curved: curved, curveType: curveType, showDots: showDots }), showValidationWarnings && hasWarnings && (jsx("foreignObject", { x: "0", y: "0", width: "100%", height: "50", children: jsxs("div", { className: "p-2 bg-[var(--color-warning-50)] border border-[var(--color-warning-200)] rounded text-sm text-[var(--color-warning)] shadow-sm", children: [jsx("strong", { children: "Chart Warnings:" }), " Some data validation warnings occurred."] }) })), children] }));
145
145
  };
146
146
 
147
147
  export { ComboChart };
@@ -11,7 +11,7 @@ const donutChartTheme = {
11
11
  // Text styling
12
12
  text: {
13
13
  label: "text-2xl font-bold text-[var(--color-text-primary)] transition-colors duration-300 tracking-tight",
14
- subtitle: "text-sm text-[var(--color-text-secondary)] mt-1 transition-colors duration-300",
14
+ subtitle: "text-base text-[var(--color-text-secondary)] mt-1 transition-colors duration-300",
15
15
  },
16
16
  // Default color palette (CSS variables for dark mode support)
17
17
  // Note: These are resolved at runtime via getComputedStyle
@@ -243,7 +243,7 @@ const MultiSegmentDonutChart = ({ data, size = 200, thickness = 4, segmentGap =
243
243
  }) }));
244
244
  };
245
245
  if (!data || data.length === 0) {
246
- return (jsx("div", { className: cn(theme.baseStyle, className), style: { width: containerSize, height: containerSize }, children: jsx("div", { className: "text-sm text-[var(--color-text-secondary)]", children: "No data" }) }));
246
+ return (jsx("div", { className: cn(theme.baseStyle, className), style: { width: containerSize, height: containerSize }, children: jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: "No data" }) }));
247
247
  }
248
248
  return (jsxs("div", { className: cn("flex gap-4 items-center", getLayoutClasses(), className), children: [jsxs(motion.div, { className: cn(theme.baseStyle), style: { width: containerSize, height: containerSize }, role: "img", "aria-label": `Donut chart with ${segments.length} segments`, ...restProps, children: [jsxs("svg", { viewBox: `0 0 ${svgSize} ${svgSize}`, width: "100%", height: "100%", className: "overflow-visible relative z-10", children: [jsx("circle", { cx: center, cy: center, r: radius, fill: "none", stroke: "#000000", strokeWidth: strokeWidth > 2 ? strokeWidth - 2 : 1, opacity: 0.03 }), segments.map((segment, index) => roundedCaps ? (jsx(AnimatedStrokeSegment, { center: center, radius: radius, strokeWidth: strokeWidth, startAngle: segment.startAngle, endAngle: segment.endAngle, color: segment.color, delay: segment.animationDelay, shouldAnimate: showAnimation && hasAnimated, shouldReduceMotion: shouldReduceMotion, isHovered: hoveredSegment === index, isFaded: hoveredSegment !== null && hoveredSegment !== index, onMouseEnter: () => handleSegmentMouseEnter(index), onMouseLeave: handleSegmentMouseLeave, onClick: () => handleSegmentClick(index), clickable: !!onSegmentClick }, `segment-${index}`)) : (jsx(AnimatedSegment, { center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: segment.startAngle, endAngle: segment.endAngle, color: segment.color, delay: segment.animationDelay, duration: segment.animationDuration, shouldAnimate: showAnimation && hasAnimated, shouldReduceMotion: shouldReduceMotion, isHovered: hoveredSegment === index, isFaded: hoveredSegment !== null && hoveredSegment !== index, onMouseEnter: () => handleSegmentMouseEnter(index), onMouseLeave: handleSegmentMouseLeave, onClick: () => handleSegmentClick(index), clickable: !!onSegmentClick }, `segment-${index}`)))] }), centerContent && (jsx("div", { className: cn(theme.centerContent), children: centerContent }))] }), renderLegend()] }));
249
249
  };
@@ -8,7 +8,7 @@ const multiSegmentDonutChartTheme = {
8
8
  track: "text-[var(--color-border)]",
9
9
  // Legend styling
10
10
  legend: {
11
- container: "flex flex-col gap-2 text-sm",
11
+ container: "flex flex-col gap-2 text-base",
12
12
  item: "flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity",
13
13
  label: "text-[var(--color-text-primary)] font-medium",
14
14
  value: "text-[var(--color-text-secondary)] ml-auto",
@@ -72,7 +72,7 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
72
72
  const containerWidth = typeof width === "number" ? `${width}px` : width;
73
73
  // Return empty state if no valid data
74
74
  if (stages.length === 0) {
75
- return (jsx("div", { className: cn(theme.baseStyle, className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": "Empty funnel chart - no data available", ...props, children: jsx("div", { className: "flex items-center justify-center h-full text-[var(--color-text-muted)] text-sm", children: "No data available" }) }));
75
+ return (jsx("div", { className: cn(theme.baseStyle, className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": "Empty funnel chart - no data available", ...props, children: jsx("div", { className: "flex items-center justify-center h-full text-[var(--color-text-muted)] text-base", children: "No data available" }) }));
76
76
  }
77
77
  const viewBoxWidth = 150;
78
78
  const viewBoxHeight = 100;
@@ -356,9 +356,9 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
356
356
  animate: "visible",
357
357
  custom: index,
358
358
  }
359
- : {}), children: [jsx("div", { className: cn("text-sm font-semibold whitespace-nowrap", labelPosition === "inside"
359
+ : {}), children: [jsx("div", { className: cn("text-base font-semibold whitespace-nowrap", labelPosition === "inside"
360
360
  ? "text-white drop-shadow-md"
361
- : "text-[var(--color-text-primary)]"), children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: cn("text-xs whitespace-nowrap", labelPosition === "inside"
361
+ : "text-[var(--color-text-primary)]"), children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: cn("text-sm whitespace-nowrap", labelPosition === "inside"
362
362
  ? "text-white/90 drop-shadow-md"
363
363
  : "text-[var(--color-text-secondary)]"), children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " • ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
364
364
  }), orientation === "vertical" &&
@@ -376,7 +376,7 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
376
376
  animate: "visible",
377
377
  custom: index,
378
378
  }
379
- : {}), children: [jsx("div", { className: "text-sm font-semibold text-white drop-shadow-md whitespace-nowrap text-center", children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: "text-xs text-white/90 drop-shadow-md whitespace-nowrap text-center", children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " • ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
379
+ : {}), children: [jsx("div", { className: "text-base font-semibold text-white drop-shadow-md whitespace-nowrap text-center", children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: "text-sm text-white/90 drop-shadow-md whitespace-nowrap text-center", children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " • ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
380
380
  }), orientation === "horizontal" &&
381
381
  showDropoff &&
382
382
  stages.map((stage, index) => {
@@ -394,7 +394,7 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
394
394
  animate: "visible",
395
395
  custom: index,
396
396
  }
397
- : {}), children: jsxs("span", { className: "text-xs text-[var(--color-danger)] font-medium", children: ["-", stage.dropoff.toFixed(1), "%"] }) }, `dropoff-${stage.name}`));
397
+ : {}), children: jsxs("span", { className: "text-sm text-[var(--color-danger)] font-medium", children: ["-", stage.dropoff.toFixed(1), "%"] }) }, `dropoff-${stage.name}`));
398
398
  }), orientation === "vertical" &&
399
399
  showDropoff &&
400
400
  stages.map((stage, index) => {
@@ -411,7 +411,7 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
411
411
  animate: "visible",
412
412
  custom: index,
413
413
  }
414
- : {}), children: jsxs("span", { className: "text-xs text-[var(--color-danger)] font-medium", children: ["-", stage.dropoff.toFixed(1), "%"] }) }, `dropoff-${stage.name}`));
414
+ : {}), children: jsxs("span", { className: "text-sm text-[var(--color-danger)] font-medium", children: ["-", stage.dropoff.toFixed(1), "%"] }) }, `dropoff-${stage.name}`));
415
415
  }), orientation === "horizontal" &&
416
416
  showConversionRate &&
417
417
  stages.map((stage, index) => {
@@ -455,7 +455,7 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
455
455
  initial: "hidden",
456
456
  animate: "visible",
457
457
  }
458
- : {}), children: [jsx("div", { className: "text-xs text-[var(--color-text-secondary)] mb-1", children: "Overall Conversion" }), jsxs("div", { className: "text-lg font-bold text-[var(--color-text-primary)]", children: [overallConversion, "%"] }), jsxs("div", { className: "text-xs text-[var(--color-text-muted)] mt-1", children: [formatDisplayValue(stages[0].value), " \u2192", " ", formatDisplayValue(stages[stages.length - 1].value)] })] })), jsx(ChartTooltip, { active: !!tooltipData, position: tooltipData ? { x: tooltipData.x, y: tooltipData.y } : { x: 0, y: 0 }, tooltipRef: tooltipRef, content: tooltipData === null || tooltipData === void 0 ? void 0 : tooltipData.content, chartType: "area" })] }));
458
+ : {}), children: [jsx("div", { className: "text-sm text-[var(--color-text-secondary)] mb-1", children: "Overall Conversion" }), jsxs("div", { className: "text-xl font-bold text-[var(--color-text-primary)]", children: [overallConversion, "%"] }), jsxs("div", { className: "text-sm text-[var(--color-text-muted)] mt-1", children: [formatDisplayValue(stages[0].value), " \u2192", " ", formatDisplayValue(stages[stages.length - 1].value)] })] })), jsx(ChartTooltip, { active: !!tooltipData, position: tooltipData ? { x: tooltipData.x, y: tooltipData.y } : { x: 0, y: 0 }, tooltipRef: tooltipRef, content: tooltipData === null || tooltipData === void 0 ? void 0 : tooltipData.content, chartType: "area" })] }));
459
459
  };
460
460
  FunnelChart.displayName = "FunnelChart";
461
461
 
@@ -10,7 +10,7 @@ const heatmapTheme = {
10
10
  // Base cell styles (individual cells add opacity via inline styles)
11
11
  cellBaseStyle: "relative w-full h-full cursor-pointer border border-transparent transition-all duration-500 animate-[flicker_0.6s_ease-out_forwards]",
12
12
  // Axis labels using CSS variables for dark mode support
13
- axisLabelStyle: "text-xs text-[var(--color-text-secondary)] font-medium select-none",
13
+ axisLabelStyle: "text-sm text-[var(--color-text-secondary)] font-medium select-none",
14
14
  // Legend using correct CSS variables
15
15
  legendStyle: "w-full space-y-1.5 mt-3",
16
16
  };
@@ -88,7 +88,7 @@ className, onClick, onHover, onMouseMove, onLeave, children, }) => {
88
88
  e.preventDefault();
89
89
  onClick(data);
90
90
  }
91
- }, children: children && (jsx("div", { className: "absolute inset-0 flex items-center justify-center text-xs font-medium text-gray-700 dark:text-gray-300", children: children })) }));
91
+ }, children: children && (jsx("div", { className: "absolute inset-0 flex items-center justify-center text-sm font-medium text-gray-700 dark:text-gray-300", children: children })) }));
92
92
  };
93
93
  const HeatmapCell = React__default.memo(HeatmapCellInner);
94
94
 
@@ -11,7 +11,7 @@ minValue = 0, maxValue = 100, labels = {
11
11
  const gradientStyle = {
12
12
  background: `linear-gradient(to right, color-mix(in srgb, ${color} 20%, transparent), ${color})`
13
13
  };
14
- return (jsxs("div", { className: cn(heatmapTheme.legendStyle, className), children: [jsx("div", { className: "w-full h-1.5 rounded-full", style: gradientStyle }), jsxs("div", { className: "flex items-center justify-between text-xs font-medium text-[var(--color-text-secondary)]", children: [jsx("div", { children: labels.min }), jsx("div", { children: labels.max })] })] }));
14
+ return (jsxs("div", { className: cn(heatmapTheme.legendStyle, className), children: [jsx("div", { className: "w-full h-1.5 rounded-full", style: gradientStyle }), jsxs("div", { className: "flex items-center justify-between text-sm font-medium text-[var(--color-text-secondary)]", children: [jsx("div", { children: labels.min }), jsx("div", { children: labels.max })] })] }));
15
15
  };
16
16
 
17
17
  export { HeatmapLegend };
@@ -13,11 +13,11 @@ const radarChartTheme = {
13
13
  // Axis spoke stroke color (gray-300 equivalent)
14
14
  axisColor: "#d1d5db",
15
15
  // Axis label classes (applied to <text> elements via className)
16
- labelStyle: "text-xs fill-[#6b7280] select-none",
16
+ labelStyle: "text-sm fill-[#6b7280] select-none",
17
17
  // Legend container
18
18
  legendStyle: "flex flex-wrap items-center justify-center gap-x-6 gap-y-2",
19
19
  // Individual legend item
20
- legendItemStyle: "flex items-center gap-2 text-sm",
20
+ legendItemStyle: "flex items-center gap-2 text-base",
21
21
  // Colored dot in legend
22
22
  legendDotStyle: "w-2.5 h-2.5 rounded-full shrink-0",
23
23
  // Legend label text
@@ -201,7 +201,7 @@ showGrid = SCATTER_PLOT_DEFAULTS.showGrid, showXAxis = SCATTER_PLOT_DEFAULTS.sho
201
201
  }
202
202
  handleMouseInteraction();
203
203
  }, onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave }, index));
204
- }), jsx(XAxis, { show: showXAxis, data: xAxisData, x: margin.left, y: margin.top + innerHeight, width: innerWidth, categoryWidth: innerWidth / (xAxisData.length - 1), categoryGap: 0, alignWithEdge: true, className: cn(axisClassName) }), xLabel && showXAxis && (jsx("text", { x: margin.left + innerWidth / 2, y: dimensions.height - 5, textAnchor: "middle", className: "text-xs fill-[var(--color-text-secondary)]", children: xLabel })), yLabel && showYAxis && (jsx("text", { x: 15, y: margin.top + innerHeight / 2, textAnchor: "middle", className: "text-xs fill-[var(--color-text-secondary)]", transform: `rotate(-90 15 ${margin.top + innerHeight / 2})`, children: yLabel }))] }), categories.length > 0 && (jsx("div", { className: theme.legendContainerStyle, children: categories.map((cat, index) => (jsxs("div", { className: theme.legendItemStyle, children: [jsx("div", { className: theme.legendDotStyle, style: { backgroundColor: getCategoryColor(chartColors, index) } }), jsx("span", { className: theme.legendLabelStyle, children: cat })] }, cat))) })), showTooltip && (jsx(ChartTooltip, { active: !!tooltipData, position: tooltipData ? { x: tooltipData.x, y: tooltipData.y } : { x: 0, y: 0 }, tooltipRef: tooltipRef, content: tooltipData === null || tooltipData === void 0 ? void 0 : tooltipData.content, chartType: "scatter" }))] }));
204
+ }), jsx(XAxis, { show: showXAxis, data: xAxisData, x: margin.left, y: margin.top + innerHeight, width: innerWidth, categoryWidth: innerWidth / (xAxisData.length - 1), categoryGap: 0, alignWithEdge: true, className: cn(axisClassName) }), xLabel && showXAxis && (jsx("text", { x: margin.left + innerWidth / 2, y: dimensions.height - 5, textAnchor: "middle", className: "text-sm fill-[var(--color-text-secondary)]", children: xLabel })), yLabel && showYAxis && (jsx("text", { x: 15, y: margin.top + innerHeight / 2, textAnchor: "middle", className: "text-sm fill-[var(--color-text-secondary)]", transform: `rotate(-90 15 ${margin.top + innerHeight / 2})`, children: yLabel }))] }), categories.length > 0 && (jsx("div", { className: theme.legendContainerStyle, children: categories.map((cat, index) => (jsxs("div", { className: theme.legendItemStyle, children: [jsx("div", { className: theme.legendDotStyle, style: { backgroundColor: getCategoryColor(chartColors, index) } }), jsx("span", { className: theme.legendLabelStyle, children: cat })] }, cat))) })), showTooltip && (jsx(ChartTooltip, { active: !!tooltipData, position: tooltipData ? { x: tooltipData.x, y: tooltipData.y } : { x: 0, y: 0 }, tooltipRef: tooltipRef, content: tooltipData === null || tooltipData === void 0 ? void 0 : tooltipData.content, chartType: "scatter" }))] }));
205
205
  };
206
206
  ScatterPlot.displayName = 'ScatterPlot';
207
207
 
@@ -4,7 +4,7 @@
4
4
  const scatterPlotTheme = {
5
5
  containerStyle: 'relative inline-flex flex-col items-center w-full',
6
6
  svgStyle: 'overflow-visible',
7
- emptyStateStyle: 'flex items-center justify-center h-full text-[var(--color-text-muted)] text-sm',
7
+ emptyStateStyle: 'flex items-center justify-center h-full text-[var(--color-text-muted)] text-base',
8
8
  // Grid styles
9
9
  gridLineStyle: 'stroke-[var(--color-border)]',
10
10
  // Axis styles
@@ -17,7 +17,7 @@ const scatterPlotTheme = {
17
17
  legendContainerStyle: 'flex flex-wrap gap-3 mt-4 justify-center',
18
18
  legendItemStyle: 'flex items-center gap-2',
19
19
  legendDotStyle: 'w-3 h-3 rounded-full',
20
- legendLabelStyle: 'text-sm text-[var(--color-text-secondary)]',
20
+ legendLabelStyle: 'text-base text-[var(--color-text-secondary)]',
21
21
  // Default category colors using CSS variables
22
22
  colors: [
23
23
  'var(--color-primary)',
@@ -65,7 +65,7 @@ className, title, description, enableKeyboardNavigation = STACKED_BAR_CHART_DEFA
65
65
  });
66
66
  // Early return for invalid data
67
67
  if (!isValid) {
68
- return (jsxs("div", { className: cn("chart-container flex flex-col items-center justify-center p-6 border border-border rounded-lg text-xl", className), role: "alert", "aria-live": "polite", ...props, children: [jsxs("div", { className: "flex flex-col items-center gap-4 mb-1", children: [jsx(ExclamationTriangleIcon, { className: "size-6 text-[var(--color-danger)]" }), jsx("div", { className: "text-sm font-semibold text-[var(--color-text-secondary)]", children: "Invalid Chart Data" })] }), jsx("p", { className: "text-sm text-[var(--color-text-secondary)]/70 mb-2", children: ((_a = validation.errors[0]) === null || _a === void 0 ? void 0 : _a.message) ||
68
+ return (jsxs("div", { className: cn("chart-container flex flex-col items-center justify-center p-6 border border-border rounded-lg text-2xl", className), role: "alert", "aria-live": "polite", ...props, children: [jsxs("div", { className: "flex flex-col items-center gap-4 mb-1", children: [jsx(ExclamationTriangleIcon, { className: "size-6 text-[var(--color-danger)]" }), jsx("div", { className: "text-base font-semibold text-[var(--color-text-secondary)]", children: "Invalid Chart Data" })] }), jsx("p", { className: "text-base text-[var(--color-text-secondary)]/70 mb-2", children: ((_a = validation.errors[0]) === null || _a === void 0 ? void 0 : _a.message) ||
69
69
  "Unable to render chart due to data validation errors" })] }));
70
70
  }
71
71
  // Early return for empty data
@@ -282,7 +282,7 @@ className, title, description, enableKeyboardNavigation = STACKED_BAR_CHART_DEFA
282
282
  } }, key));
283
283
  }) }, categoryIndex));
284
284
  };
285
- return (jsx(ChartErrorBoundary, { className: className, showErrorDetails: process.env.NODE_ENV === "development", children: jsxs("div", { ref: containerRef, className: cn("chart-container w-full h-full", className), ...chartAccessibilityProps, onMouseEnter: handleMouseInteraction, onMouseMove: handleMouseInteraction, ...props, children: [descriptionProps && jsx("div", { ...descriptionProps }), showValidationWarnings && hasWarnings && (jsxs("div", { className: "absolute top-2 left-2 right-2 z-10 p-2 bg-[var(--color-warning-50)] border border-[var(--color-warning-200)] rounded text-xs text-[var(--color-warning)] shadow-sm", children: [jsx("strong", { children: "Chart Warnings:" }), jsx("ul", { className: "mt-1", children: validation.warnings.map((warning, index) => (jsxs("li", { children: ["\u2022 ", warning.message] }, index))) })] })), jsxs("svg", { width: "100%", height: "100%", viewBox: `0 0 ${dimensions.width} ${dimensions.height}`, children: [jsx(HorizontalGrid, { show: showGrid, x: margin.left, y: margin.top, width: innerWidth, height: innerHeight, lineCount: 5 }), jsx(YAxis, { show: showYAxis, min: minValue, max: maxValue, x: margin.left, y: margin.top, height: innerHeight, showGrid: false, gridWidth: innerWidth, tickFormatter: (value) => {
285
+ return (jsx(ChartErrorBoundary, { className: className, showErrorDetails: process.env.NODE_ENV === "development", children: jsxs("div", { ref: containerRef, className: cn("chart-container w-full h-full", className), ...chartAccessibilityProps, onMouseEnter: handleMouseInteraction, onMouseMove: handleMouseInteraction, ...props, children: [descriptionProps && jsx("div", { ...descriptionProps }), showValidationWarnings && hasWarnings && (jsxs("div", { className: "absolute top-2 left-2 right-2 z-10 p-2 bg-[var(--color-warning-50)] border border-[var(--color-warning-200)] rounded text-sm text-[var(--color-warning)] shadow-sm", children: [jsx("strong", { children: "Chart Warnings:" }), jsx("ul", { className: "mt-1", children: validation.warnings.map((warning, index) => (jsxs("li", { children: ["\u2022 ", warning.message] }, index))) })] })), jsxs("svg", { width: "100%", height: "100%", viewBox: `0 0 ${dimensions.width} ${dimensions.height}`, children: [jsx(HorizontalGrid, { show: showGrid, x: margin.left, y: margin.top, width: innerWidth, height: innerHeight, lineCount: 5 }), jsx(YAxis, { show: showYAxis, min: minValue, max: maxValue, x: margin.left, y: margin.top, height: innerHeight, showGrid: false, gridWidth: innerWidth, tickFormatter: (value) => {
286
286
  if (stackOffset === "expand")
287
287
  return `${value}%`;
288
288
  if (Math.abs(value) >= 1000)
@@ -39,7 +39,7 @@ class ChartErrorBoundary extends Component {
39
39
  return this.props.fallback;
40
40
  }
41
41
  // Default error UI
42
- return (jsxs("div", { className: cn("flex flex-col items-center justify-center p-6 border border-danger-200 bg-danger-50 rounded-lg text-center", this.props.className), role: "alert", "aria-live": "polite", children: [jsxs("div", { className: "flex items-center gap-2 mb-2", children: [jsx("svg", { className: "w-5 h-5 text-danger-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z" }) }), jsx("h3", { className: "text-sm font-medium text-danger-800", children: "Chart Error" })] }), jsx("p", { className: "text-sm text-danger-600 mb-3", children: "Unable to render chart due to an error" }), this.props.showErrorDetails && this.state.error && (jsxs("details", { className: "w-full", children: [jsx("summary", { className: "text-xs text-danger-500 cursor-pointer hover:text-danger-700 mb-2", children: "Show error details" }), jsxs("div", { className: "text-left bg-danger-100 p-3 rounded border text-xs font-mono text-danger-800 overflow-auto max-h-32", children: [jsx("div", { className: "font-semibold mb-1", children: "Error:" }), jsx("div", { className: "mb-2", children: this.state.error.message }), ((_a = this.state.errorInfo) === null || _a === void 0 ? void 0 : _a.componentStack) && (jsxs(Fragment, { children: [jsx("div", { className: "font-semibold mb-1", children: "Component Stack:" }), jsx("pre", { className: "whitespace-pre-wrap text-xs", children: this.state.errorInfo.componentStack })] }))] })] })), jsx("button", { onClick: () => this.setState({ hasError: false, error: undefined, errorInfo: undefined }), className: "mt-3 px-3 py-1 text-xs bg-danger-600 text-white rounded hover:bg-danger-700 transition-colors", children: "Try Again" })] }));
42
+ return (jsxs("div", { className: cn("flex flex-col items-center justify-center p-6 border border-danger-200 bg-danger-50 rounded-lg text-center", this.props.className), role: "alert", "aria-live": "polite", children: [jsxs("div", { className: "flex items-center gap-2 mb-2", children: [jsx("svg", { className: "w-5 h-5 text-danger-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z" }) }), jsx("h3", { className: "text-base font-medium text-danger-800", children: "Chart Error" })] }), jsx("p", { className: "text-base text-danger-600 mb-3", children: "Unable to render chart due to an error" }), this.props.showErrorDetails && this.state.error && (jsxs("details", { className: "w-full", children: [jsx("summary", { className: "text-sm text-danger-500 cursor-pointer hover:text-danger-700 mb-2", children: "Show error details" }), jsxs("div", { className: "text-left bg-danger-100 p-3 rounded border text-sm font-mono text-danger-800 overflow-auto max-h-32", children: [jsx("div", { className: "font-semibold mb-1", children: "Error:" }), jsx("div", { className: "mb-2", children: this.state.error.message }), ((_a = this.state.errorInfo) === null || _a === void 0 ? void 0 : _a.componentStack) && (jsxs(Fragment, { children: [jsx("div", { className: "font-semibold mb-1", children: "Component Stack:" }), jsx("pre", { className: "whitespace-pre-wrap text-sm", children: this.state.errorInfo.componentStack })] }))] })] })), jsx("button", { onClick: () => this.setState({ hasError: false, error: undefined, errorInfo: undefined }), className: "mt-3 px-3 py-1 text-sm bg-danger-600 text-white rounded hover:bg-danger-700 transition-colors", children: "Try Again" })] }));
43
43
  }
44
44
  return this.props.children;
45
45
  }
@@ -11,7 +11,7 @@ const ChartLegendContent = ({ payload = [], nameKey = 'name', className, ...prop
11
11
  return (jsx("div", { className: `flex flex-wrap gap-4 ${className || ''}`, ...props, children: payload.map((entry, index) => {
12
12
  const name = entry[nameKey] || entry.dataKey || `Series ${index + 1}`;
13
13
  const color = entry.color || '#8884d8';
14
- return (jsxs("div", { className: "flex items-center gap-2", children: [jsx("div", { className: "w-3 h-3 rounded", style: { backgroundColor: color } }), jsx("span", { className: "text-sm text-gray-600", children: name })] }, index));
14
+ return (jsxs("div", { className: "flex items-center gap-2", children: [jsx("div", { className: "w-3 h-3 rounded", style: { backgroundColor: color } }), jsx("span", { className: "text-base text-gray-600", children: name })] }, index));
15
15
  }) }));
16
16
  };
17
17
 
@@ -11,7 +11,7 @@ const ChartText = ({ children, textAnchor = "start", dominantBaseline = "auto",
11
11
  const theme = chartTextTheme;
12
12
  // Truncate text if needed
13
13
  const truncateText = (text, maxWidth) => {
14
- // Rough estimate: 6px per character for text-sm
14
+ // Rough estimate: 6px per character for text-base
15
15
  if (!maxWidth || text.length <= maxWidth / 6) {
16
16
  return text;
17
17
  }
@@ -3,7 +3,7 @@
3
3
  * Uses fixed Tailwind styling for consistency across charts
4
4
  */
5
5
  const chartTextTheme = {
6
- baseStyle: "transition-all duration-200 text-xs text-[var(--color-text-secondary)]/80 fill-[var(--color-text-secondary)]/80 font-medium select-none",
6
+ baseStyle: "transition-all duration-200 text-sm text-[var(--color-text-secondary)]/80 fill-[var(--color-text-secondary)]/80 font-medium select-none",
7
7
  };
8
8
 
9
9
  export { chartTextTheme };
@@ -5,14 +5,14 @@
5
5
  */
6
6
  const chartTooltipTheme = {
7
7
  baseStyle: "fixed z-50 text-[var(--color-text-primary)] rounded-[var(--tooltip-radius)] px-3 py-2 shadow-lg pointer-events-none glass-effect",
8
- contentStyle: "whitespace-nowrap text-sm",
8
+ contentStyle: "whitespace-nowrap text-base",
9
9
  multiSeriesContainerStyle: "text-left",
10
- categoryStyle: "text-xs font-semibold mb-1 text-[var(--color-text-primary)]",
10
+ categoryStyle: "text-sm font-semibold mb-1 text-[var(--color-text-primary)]",
11
11
  seriesContainerStyle: "space-y-0.5",
12
12
  seriesRowStyle: "flex items-center justify-between gap-3",
13
13
  dotStyle: "size-2 rounded-[calc(var(--radius-base)*0.75)]",
14
- labelStyle: "text-xs opacity-90 text-[var(--color-text-secondary)]",
15
- valueStyle: "text-xs font-semibold text-[var(--color-text-primary)]",
14
+ labelStyle: "text-sm opacity-90 text-[var(--color-text-secondary)]",
15
+ valueStyle: "text-sm font-semibold text-[var(--color-text-primary)]",
16
16
  };
17
17
 
18
18
  export { chartTooltipTheme };
@@ -6,7 +6,7 @@ import { semanticTextColors } from '../../../utils/colorUtils.js';
6
6
  */
7
7
  const alertTheme = {
8
8
  // Base styles applied to all alerts
9
- baseStyle: "relative flex items-start gap-3 rounded-[var(--alert-radius)] p-4 text-sm border border-[var(--color-border)] backdrop-blur-md bg-white dark:bg-[var(--color-background-secondary)]/80",
9
+ baseStyle: "relative flex items-start gap-3 rounded-[var(--alert-radius)] p-4 text-base border border-[var(--color-border)] backdrop-blur-md bg-white dark:bg-[var(--color-background-secondary)]/80",
10
10
  // Visual style variants (structure only, no colors)
11
11
  variants: {
12
12
  default: "",
@@ -10,7 +10,7 @@ const AlertDialog = ({ trigger, icon, title, subtitle, footer, className, }) =>
10
10
  const triggerElement = isValidElement(trigger)
11
11
  ? cloneElement(trigger, { onClick: handleOpen })
12
12
  : null;
13
- return (jsxs(Fragment, { children: [triggerElement, jsxs(Modal, { isOpen: isOpen, onClose: handleClose, size: "sm", closeOnOverlayClick: false, closeOnEsc: false, showCloseButton: false, role: "alertdialog", className: cn("!overflow-visible", className), children: [jsxs(Modal.Header, { children: [icon && (jsx("div", { className: "text-2xl rounded-full p-3 mb-3 w-fit glass-effect shadow-xl shadow-black/5", "aria-hidden": "true", children: icon })), jsx(Modal.Title, { children: title })] }), jsx(Modal.Body, { className: "pt-2", children: jsx("div", { className: "text-[var(--color-text-secondary)] text-sm", children: subtitle }) }), footer && (jsx(Modal.Footer, { className: "pb-6", children: footer(handleClose) }))] })] }));
13
+ return (jsxs(Fragment, { children: [triggerElement, jsxs(Modal, { isOpen: isOpen, onClose: handleClose, size: "sm", closeOnOverlayClick: false, closeOnEsc: false, showCloseButton: false, role: "alertdialog", className: cn("!overflow-visible", className), children: [jsxs(Modal.Header, { children: [icon && (jsx("div", { className: "text-2xl rounded-full p-3 mb-3 w-fit glass-effect shadow-xl shadow-black/5", "aria-hidden": "true", children: icon })), jsx(Modal.Title, { children: title })] }), jsx(Modal.Body, { className: "pt-2", children: jsx("div", { className: "text-[var(--color-text-secondary)] text-base", children: subtitle }) }), footer && (jsx(Modal.Footer, { className: "pb-6", children: footer(handleClose) }))] })] }));
14
14
  };
15
15
  AlertDialog.displayName = "AlertDialog";
16
16
 
@@ -6,11 +6,11 @@ const avatarTheme = {
6
6
  baseStyle: "relative inline-flex items-center justify-center overflow-hidden bg-neutral-200 text-[var(--color-text-primary)] font-semibold tracking-tighter rounded-[var(--avatar-radius)] ring-2 ring-[var(--color-primary)]/10 border border-[var(--border)] transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-2 glass-effect",
7
7
  // Size variants using CSS variables
8
8
  sizes: {
9
- xs: "size-[var(--avatar-size-xs)] text-[var(--avatar-text-xs)]",
10
- sm: "size-[var(--avatar-size-sm)] text-[var(--avatar-text-sm)]",
11
- md: "size-[var(--avatar-size-md)] text-[var(--avatar-text-md)]",
12
- lg: "size-[var(--avatar-size-lg)] text-[var(--avatar-text-lg)]",
13
- xl: "size-[var(--avatar-size-xl)] text-[var(--avatar-text-xl)]",
9
+ xs: "size-[var(--avatar-size-xs)] text-sm",
10
+ sm: "size-[var(--avatar-size-sm)] text-base",
11
+ md: "size-[var(--avatar-size-md)] text-lg",
12
+ lg: "size-[var(--avatar-size-lg)] text-xl",
13
+ xl: "size-[var(--avatar-size-xl)] text-2xl",
14
14
  },
15
15
  // Status indicator styles
16
16
  statuses: {