@flipdish/ui-library 0.4.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/components/molecules/EmptyState/index.cjs +1 -1
  2. package/dist/components/molecules/EmptyState/index.cjs.map +1 -1
  3. package/dist/components/molecules/EmptyState/index.js +1 -1
  4. package/dist/components/molecules/EmptyState/index.js.map +1 -1
  5. package/dist/components/molecules/ProgressSteps/index.cjs.map +1 -1
  6. package/dist/components/molecules/ProgressSteps/index.d.ts.map +1 -1
  7. package/dist/components/molecules/ProgressSteps/index.js.map +1 -1
  8. package/dist/components/organisms/ActivityFeed/index.d.ts +1 -2
  9. package/dist/components/organisms/ActivityFeed/index.d.ts.map +1 -1
  10. package/dist/components/organisms/Calendar/index.cjs +16 -6
  11. package/dist/components/organisms/Calendar/index.cjs.map +1 -1
  12. package/dist/components/organisms/Calendar/index.d.ts +8 -2
  13. package/dist/components/organisms/Calendar/index.d.ts.map +1 -1
  14. package/dist/components/organisms/Calendar/index.js +16 -6
  15. package/dist/components/organisms/Calendar/index.js.map +1 -1
  16. package/dist/components/organisms/Charts/components/activity-gauge.cjs.map +1 -1
  17. package/dist/components/organisms/Charts/components/activity-gauge.d.ts.map +1 -1
  18. package/dist/components/organisms/Charts/components/activity-gauge.js.map +1 -1
  19. package/dist/components/organisms/Charts/components/metrics.cjs +127 -0
  20. package/dist/components/organisms/Charts/components/metrics.cjs.map +1 -0
  21. package/dist/components/organisms/Charts/components/metrics.d.ts +13 -2
  22. package/dist/components/organisms/Charts/components/metrics.d.ts.map +1 -1
  23. package/dist/components/organisms/Charts/components/metrics.js +116 -0
  24. package/dist/components/organisms/Charts/components/metrics.js.map +1 -0
  25. package/dist/components/organisms/Charts/components/pie-chart.cjs +35 -69
  26. package/dist/components/organisms/Charts/components/pie-chart.cjs.map +1 -1
  27. package/dist/components/organisms/Charts/components/pie-chart.d.ts +45 -33
  28. package/dist/components/organisms/Charts/components/pie-chart.d.ts.map +1 -1
  29. package/dist/components/organisms/Charts/components/pie-chart.js +30 -66
  30. package/dist/components/organisms/Charts/components/pie-chart.js.map +1 -1
  31. package/dist/components/organisms/Charts/components/radar-chart.cjs.map +1 -1
  32. package/dist/components/organisms/Charts/components/radar-chart.d.ts.map +1 -1
  33. package/dist/components/organisms/Charts/components/radar-chart.js.map +1 -1
  34. package/dist/components/organisms/Charts/index.cjs +17 -4
  35. package/dist/components/organisms/Charts/index.cjs.map +1 -1
  36. package/dist/components/organisms/Charts/index.d.ts +1 -0
  37. package/dist/components/organisms/Charts/index.d.ts.map +1 -1
  38. package/dist/components/organisms/Charts/index.js +2 -1
  39. package/dist/components/organisms/Charts/index.js.map +1 -1
  40. package/dist/components/organisms/ColorPicker/index.d.ts +1 -1
  41. package/dist/components/organisms/ColorPicker/index.d.ts.map +1 -1
  42. package/dist/components/organisms/CommandMenu/commandMenu.utils.cjs +1 -0
  43. package/dist/components/organisms/CommandMenu/commandMenu.utils.cjs.map +1 -1
  44. package/dist/components/organisms/CommandMenu/commandMenu.utils.d.ts +1 -1
  45. package/dist/components/organisms/CommandMenu/commandMenu.utils.d.ts.map +1 -1
  46. package/dist/components/organisms/CommandMenu/commandMenu.utils.js +1 -0
  47. package/dist/components/organisms/CommandMenu/commandMenu.utils.js.map +1 -1
  48. package/dist/components/organisms/CommandMenu/index.cjs +2 -2
  49. package/dist/components/organisms/CommandMenu/index.cjs.map +1 -1
  50. package/dist/components/organisms/CommandMenu/index.d.ts +1 -1
  51. package/dist/components/organisms/CommandMenu/index.d.ts.map +1 -1
  52. package/dist/components/organisms/CommandMenu/index.js +2 -2
  53. package/dist/components/organisms/CommandMenu/index.js.map +1 -1
  54. package/dist/components/organisms/DatePicker/components/date-range-picker.cjs +82 -0
  55. package/dist/components/organisms/DatePicker/components/date-range-picker.cjs.map +1 -0
  56. package/dist/components/organisms/DatePicker/components/date-range-picker.js +80 -0
  57. package/dist/components/organisms/DatePicker/components/date-range-picker.js.map +1 -0
  58. package/dist/components/organisms/DatePicker/components/range-calendar.cjs +8 -0
  59. package/dist/components/organisms/DatePicker/components/range-calendar.cjs.map +1 -1
  60. package/dist/components/organisms/DatePicker/components/range-calendar.js +8 -1
  61. package/dist/components/organisms/DatePicker/components/range-calendar.js.map +1 -1
  62. package/dist/components/organisms/DatePicker/index.cjs +8 -0
  63. package/dist/components/organisms/DatePicker/index.cjs.map +1 -1
  64. package/dist/components/organisms/DatePicker/index.d.ts +8 -1
  65. package/dist/components/organisms/DatePicker/index.d.ts.map +1 -1
  66. package/dist/components/organisms/DatePicker/index.js +7 -0
  67. package/dist/components/organisms/DatePicker/index.js.map +1 -1
  68. package/dist/components/organisms/FileUpload/index.cjs +1 -1
  69. package/dist/components/organisms/FileUpload/index.cjs.map +1 -1
  70. package/dist/components/organisms/FileUpload/index.js +1 -1
  71. package/dist/components/organisms/FileUpload/index.js.map +1 -1
  72. package/dist/components/organisms/FilterBar/components/filter-dropdown-menu.cjs +1 -1
  73. package/dist/components/organisms/FilterBar/components/filter-dropdown-menu.cjs.map +1 -1
  74. package/dist/components/organisms/FilterBar/components/filter-dropdown-menu.js +1 -1
  75. package/dist/components/organisms/FilterBar/components/filter-dropdown-menu.js.map +1 -1
  76. package/dist/components/organisms/FilterBar/index.cjs +1 -1
  77. package/dist/components/organisms/FilterBar/index.cjs.map +1 -1
  78. package/dist/components/organisms/FilterBar/index.d.ts +1 -0
  79. package/dist/components/organisms/FilterBar/index.d.ts.map +1 -1
  80. package/dist/components/organisms/FilterBar/index.js +1 -1
  81. package/dist/components/organisms/FilterBar/index.js.map +1 -1
  82. package/dist/components/organisms/GradientPicker/index.cjs +1 -1
  83. package/dist/components/organisms/GradientPicker/index.cjs.map +1 -1
  84. package/dist/components/organisms/GradientPicker/index.js +1 -1
  85. package/dist/components/organisms/GradientPicker/index.js.map +1 -1
  86. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs +5 -21
  87. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs.map +1 -1
  88. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.d.ts +28 -4
  89. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.d.ts.map +1 -1
  90. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js +6 -22
  91. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js.map +1 -1
  92. package/dist/components/organisms/HeaderNavigation/components/nav-item.cjs +1 -1
  93. package/dist/components/organisms/HeaderNavigation/components/nav-item.cjs.map +1 -1
  94. package/dist/components/organisms/HeaderNavigation/components/nav-item.js +1 -1
  95. package/dist/components/organisms/HeaderNavigation/components/nav-item.js.map +1 -1
  96. package/dist/components/organisms/HeaderNavigation/index.cjs +6 -4
  97. package/dist/components/organisms/HeaderNavigation/index.cjs.map +1 -1
  98. package/dist/components/organisms/HeaderNavigation/index.d.ts +23 -3
  99. package/dist/components/organisms/HeaderNavigation/index.d.ts.map +1 -1
  100. package/dist/components/organisms/HeaderNavigation/index.js +6 -6
  101. package/dist/components/organisms/HeaderNavigation/index.js.map +1 -1
  102. package/dist/components/organisms/ImagePicker/imagePicker.utils.cjs +1 -1
  103. package/dist/components/organisms/ImagePicker/imagePicker.utils.cjs.map +1 -1
  104. package/dist/components/organisms/ImagePicker/imagePicker.utils.js +1 -1
  105. package/dist/components/organisms/ImagePicker/imagePicker.utils.js.map +1 -1
  106. package/dist/components/organisms/Messaging/index.cjs +1 -1
  107. package/dist/components/organisms/Messaging/index.cjs.map +1 -1
  108. package/dist/components/organisms/Messaging/index.d.ts +1 -1
  109. package/dist/components/organisms/Messaging/index.d.ts.map +1 -1
  110. package/dist/components/organisms/Messaging/index.js +1 -1
  111. package/dist/components/organisms/Messaging/index.js.map +1 -1
  112. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs +14 -24
  113. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs.map +1 -1
  114. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.d.ts +49 -4
  115. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.d.ts.map +1 -1
  116. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js +16 -26
  117. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js.map +1 -1
  118. package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs +1 -1
  119. package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs.map +1 -1
  120. package/dist/components/organisms/SidebarNavigation/components/nav-item.js +1 -1
  121. package/dist/components/organisms/SidebarNavigation/components/nav-item.js.map +1 -1
  122. package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.cjs +2 -2
  123. package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.cjs.map +1 -1
  124. package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.d.ts +4 -1
  125. package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.d.ts.map +1 -1
  126. package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.js +2 -2
  127. package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.js.map +1 -1
  128. package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.cjs +3 -2
  129. package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.cjs.map +1 -1
  130. package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.d.ts +6 -1
  131. package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.d.ts.map +1 -1
  132. package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.js +3 -2
  133. package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.js.map +1 -1
  134. package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.cjs +2 -2
  135. package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.cjs.map +1 -1
  136. package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.d.ts +6 -1
  137. package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.d.ts.map +1 -1
  138. package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.js +2 -2
  139. package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.js.map +1 -1
  140. package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.cjs +2 -2
  141. package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.cjs.map +1 -1
  142. package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.d.ts +5 -5
  143. package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.d.ts.map +1 -1
  144. package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.js +2 -2
  145. package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.js.map +1 -1
  146. package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.cjs +6 -8
  147. package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.cjs.map +1 -1
  148. package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.d.ts +4 -1
  149. package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.d.ts.map +1 -1
  150. package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.js +8 -10
  151. package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.js.map +1 -1
  152. package/dist/components/organisms/SidebarNavigation/index.cjs +10 -5
  153. package/dist/components/organisms/SidebarNavigation/index.cjs.map +1 -1
  154. package/dist/components/organisms/SidebarNavigation/index.d.ts +7 -5
  155. package/dist/components/organisms/SidebarNavigation/index.d.ts.map +1 -1
  156. package/dist/components/organisms/SidebarNavigation/index.js +7 -5
  157. package/dist/components/organisms/SidebarNavigation/index.js.map +1 -1
  158. package/dist/components/organisms/SlideoutMenu/index.d.ts +2 -2
  159. package/dist/components/organisms/SlideoutMenu/index.d.ts.map +1 -1
  160. package/dist/components/organisms/TextEditor/components/text-editor-toolbar.d.ts +1 -1
  161. package/dist/components/organisms/TextEditor/components/text-editor-toolbar.d.ts.map +1 -1
  162. package/dist/components/organisms/TextEditor/index.cjs +2 -2
  163. package/dist/components/organisms/TextEditor/index.cjs.map +1 -1
  164. package/dist/components/organisms/TextEditor/index.js +2 -2
  165. package/dist/components/organisms/TextEditor/index.js.map +1 -1
  166. package/dist/components/organisms/TreeView/index.cjs +1 -1
  167. package/dist/components/organisms/TreeView/index.cjs.map +1 -1
  168. package/dist/components/organisms/TreeView/index.d.ts +2 -2
  169. package/dist/components/organisms/TreeView/index.d.ts.map +1 -1
  170. package/dist/components/organisms/TreeView/index.js +1 -1
  171. package/dist/components/organisms/TreeView/index.js.map +1 -1
  172. package/dist/components/organisms/TreeView/treeView.utils.cjs +2 -0
  173. package/dist/components/organisms/TreeView/treeView.utils.cjs.map +1 -1
  174. package/dist/components/organisms/TreeView/treeView.utils.d.ts.map +1 -1
  175. package/dist/components/organisms/TreeView/treeView.utils.js +2 -0
  176. package/dist/components/organisms/TreeView/treeView.utils.js.map +1 -1
  177. package/dist/components/organisms/VideoPlayer/index.d.ts +1 -2
  178. package/dist/components/organisms/VideoPlayer/index.d.ts.map +1 -1
  179. package/dist/providers/UIProvider/index.cjs +8 -16
  180. package/dist/providers/UIProvider/index.cjs.map +1 -1
  181. package/dist/providers/UIProvider/index.d.ts +13 -13
  182. package/dist/providers/UIProvider/index.d.ts.map +1 -1
  183. package/dist/providers/UIProvider/index.js +8 -16
  184. package/dist/providers/UIProvider/index.js.map +1 -1
  185. package/package.json +1 -1
@@ -0,0 +1,116 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { ArrowDownRight, TrendDown01, ArrowDown, ArrowUpRight, TrendUp01, ArrowUp, Eye, Zap } from '@flipdish/ui-icons';
3
+ import { FeaturedIcon } from '@flipdish/ui-library/components/atoms/FeaturedIcon';
4
+ import { Dropdown } from '@flipdish/ui-library/components/molecules/Dropdown';
5
+ import { cx } from '@flipdish/ui-library/utilities/cx';
6
+ import { useId } from 'react';
7
+ import { AreaChart, Area, ResponsiveContainer } from 'recharts';
8
+
9
+ const ActionsDropdown = ({ actions }) => (jsxs(Dropdown.Root, { children: [jsx(Dropdown.DotsButton, {}), jsx(Dropdown.Popover, { className: "w-min", children: jsx(Dropdown.Menu, { children: actions.map(({ id, label, icon, onPress }) => (jsx(Dropdown.Item, { icon: icon, onAction: onPress, children: jsx("span", { className: "pr-4", children: label }) }, id))) }) })] }));
10
+ const MetricChangeIndicator = ({ type, trend, value, className }) => {
11
+ const icons = {
12
+ positive: {
13
+ simple: ArrowUp,
14
+ trend: TrendUp01,
15
+ modern: ArrowUpRight,
16
+ },
17
+ negative: {
18
+ simple: ArrowDown,
19
+ trend: TrendDown01,
20
+ modern: ArrowDownRight,
21
+ },
22
+ };
23
+ const Icon = icons[trend][type];
24
+ return (jsxs("div", { className: cx('flex items-center', type === 'simple' ? 'gap-0.5' : 'gap-1', type === 'modern' && 'rounded-md bg-primary py-0.5 pr-2 pl-1.5 shadow-xs ring-1 ring-primary ring-inset', className), children: [jsx(Icon, { className: cx('stroke-[3px] text-fg-success-secondary', type === 'modern' ? 'size-3' : 'size-4', trend === 'negative' ? 'text-fg-error-secondary' : 'text-fg-success-secondary') }), jsx("span", { className: cx('text-sm font-medium text-secondary', type === 'modern' ? 'text-secondary' : trend === 'negative' ? 'text-error-primary' : 'text-success-primary'), children: value })] }));
25
+ };
26
+ const MetricsSimple = ({ title = '2,000', subtitle = 'View 24 hours', type, trend, change, dropdownActions, footer, className, }) => {
27
+ return (jsxs("div", { className: cx('rounded-xl bg-primary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsxs("div", { className: "relative flex flex-col gap-2 px-4 py-5 md:px-5", children: [jsx("h3", { className: "text-sm font-medium text-tertiary", children: subtitle }), jsxs("div", { className: "flex items-end gap-4", children: [jsx("p", { className: "flex-1 text-display-sm font-semibold text-primary", children: title }), jsx(MetricChangeIndicator, { type: type, trend: trend, value: change })] }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end border-t border-secondary p-4 md:px-5", children: footer })] }));
28
+ };
29
+ const MetricsIcon01 = ({ icon = TrendUp01, title = '2,000', subtitle = 'View 24 hours', change = '100%', changeTrend = 'positive', dropdownActions, footer, className, }) => {
30
+ return (jsxs("div", { className: cx('rounded-xl bg-primary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsxs("div", { className: "relative flex flex-col gap-4 px-4 py-5 md:gap-5 md:px-5", children: [jsx(FeaturedIcon, { color: changeTrend === 'positive' ? 'success' : 'error', theme: "light", icon: icon, size: "lg" }), jsxs("div", { className: "flex flex-col gap-2", children: [jsx("h3", { className: "text-sm font-medium text-tertiary", children: subtitle }), jsxs("div", { className: "flex items-end gap-4", children: [jsx("p", { className: "flex-1 text-display-sm font-semibold text-primary", children: title }), jsx(MetricChangeIndicator, { type: "modern", trend: changeTrend, value: change })] })] }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end border-t border-secondary p-4 md:px-5", children: footer })] }));
31
+ };
32
+ const MetricsIcon02 = ({ icon = Zap, title = '2,000', subtitle = 'View 24 hours', change = '100%', changeTrend = 'positive', changeDescription = 'vs last month', dropdownActions, footer, className, }) => {
33
+ return (jsxs("div", { className: cx('rounded-xl bg-primary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsxs("div", { className: "relative flex flex-col gap-4 px-4 py-5 md:gap-5 md:px-5", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsx(FeaturedIcon, { color: "brand", theme: "light", size: "lg", icon: icon }), jsx("h3", { className: "text-md font-semibold text-primary", children: subtitle })] }), jsxs("div", { className: "flex flex-col gap-3", children: [jsx("p", { className: "flex-1 text-display-sm font-semibold text-primary", children: title }), jsxs("div", { className: "flex gap-2", children: [jsx(MetricChangeIndicator, { type: "simple", trend: changeTrend, value: change }), changeDescription && jsx("span", { className: "text-sm font-medium text-tertiary", children: changeDescription })] })] }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end border-t border-secondary p-4 md:px-5", children: footer })] }));
34
+ };
35
+ const MetricsIcon03 = ({ icon = TrendUp01, title = '2,000', subtitle = 'View 24 hours', change = '100%', changeTrend = 'positive', dropdownActions, className, footer, }) => {
36
+ return (jsxs("div", { className: cx('rounded-xl bg-primary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsxs("div", { className: "relative flex flex-col gap-4 px-4 py-5 md:gap-5 md:px-5", children: [jsx(FeaturedIcon, { color: "gray", theme: "modern", icon: icon || TrendUp01, size: "lg" }), jsxs("div", { className: "flex flex-col gap-2", children: [jsx("h3", { className: "text-sm font-semibold text-tertiary", children: subtitle }), jsxs("div", { className: "flex flex-wrap items-center gap-3 lg:gap-4", children: [jsx("p", { className: "flex-1 text-display-sm font-semibold text-primary", children: title }), jsxs("div", { className: "flex gap-2", children: [jsx(MetricChangeIndicator, { type: "trend", trend: changeTrend, value: change }), jsx("span", { className: "text-sm font-medium text-tertiary", children: "vs last month" })] })] })] }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end border-t border-secondary p-3 pr-4 md:p-4 md:pr-5", children: footer })] }));
37
+ };
38
+ const MetricsIcon04 = ({ icon = TrendUp01, title = '2,000', subtitle = 'View 24 hours', change = '100%', changeTrend = 'positive', dropdownActions, footer, className, }) => {
39
+ return (jsxs("div", { className: cx('min-w-70 rounded-xl bg-primary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsxs("div", { className: "relative flex flex-col gap-4 px-4 py-5 md:flex-row md:px-5", children: [jsx(FeaturedIcon, { color: "gray", theme: "modern", icon: icon, size: "md" }), jsxs("div", { className: "flex w-full flex-col gap-2", children: [jsx("h3", { className: "text-sm font-semibold text-tertiary", children: subtitle }), jsxs("div", { className: "flex w-full flex-wrap items-center justify-between gap-4", children: [jsx("p", { className: "flex-1 text-display-sm font-semibold text-primary", children: title }), jsx(MetricChangeIndicator, { type: "modern", trend: changeTrend, value: change })] })] }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end border-t border-secondary p-3 pr-4 md:p-4 md:pr-5", children: footer })] }));
40
+ };
41
+ const CustomizedDot = (props) => {
42
+ if (!props.payload?.highlight) {
43
+ return null;
44
+ }
45
+ const size = 20;
46
+ return (
47
+ // biome-ignore lint/a11y/noSvgWithoutTitle: we don't need a title for this svg
48
+ jsxs("svg", { x: Number(props.cx) - size / 2, y: Number(props.cy) - size / 2, width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: cx('text-fg-success-secondary', props.dotColor), children: [jsx("rect", { x: "1.75", y: "1.625", width: "17.25", height: "17.25", rx: "8.625", className: "stroke-current", strokeOpacity: 0.2, strokeWidth: "2" }), jsx("rect", { x: "6.125", y: "6", width: "8.5", height: "8.5", rx: "4.25", className: "fill-bg-primary stroke-current", strokeWidth: "2" })] }));
49
+ };
50
+ const lineData = [
51
+ { value: 10 },
52
+ { value: 15 },
53
+ { value: 12 },
54
+ { value: 20 },
55
+ { value: 18 },
56
+ { value: 25 },
57
+ { value: 30 },
58
+ { value: 28 },
59
+ { value: 32 },
60
+ { value: 35 },
61
+ { value: 40, highlight: true },
62
+ { value: 32 },
63
+ { value: 40 },
64
+ { value: 50 },
65
+ { value: 55 },
66
+ ];
67
+ const MetricsChart01 = ({ title = '2,000', subtitle = 'View 24 hours', change = '100%', changeDescription = 'vs last month', dropdownActions, chartData = lineData, trend = 'positive', footer, className, }) => {
68
+ const id = useId();
69
+ const chartColor = trend === 'positive' ? 'text-fg-success-secondary' : 'text-fg-error-secondary';
70
+ return (jsxs("div", { className: cx('rounded-xl bg-primary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsxs("div", { className: "relative flex flex-col gap-5 px-4 py-5 md:px-5", children: [jsx("h3", { className: "text-md font-semibold text-primary", children: subtitle }), jsxs("div", { className: "flex items-end justify-between gap-4", children: [jsxs("div", { className: "flex flex-col gap-3", children: [jsx("p", { className: "flex-1 text-display-sm font-semibold text-primary", children: title }), jsxs("div", { className: "flex gap-2", children: [jsx(MetricChangeIndicator, { type: "simple", trend: trend, value: change }), jsx("span", { className: "text-sm font-medium text-tertiary", children: changeDescription })] })] }), jsxs(AreaChart, { height: 56, width: 112, data: chartData, margin: {
71
+ left: 0,
72
+ right: 0,
73
+ top: 0,
74
+ bottom: 0,
75
+ }, children: [jsx("defs", { children: jsxs("linearGradient", { id: `gradient-${id}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [jsx("stop", { offset: "5%", stopColor: "currentColor", className: chartColor, stopOpacity: "1" }), jsx("stop", { offset: "95%", stopColor: "currentColor", className: chartColor, stopOpacity: "0" })] }) }), jsx(Area, { isAnimationActive: false, className: chartColor, dataKey: "value", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: `url(#gradient-${id})`, fillOpacity: 0.2, dot: jsx(CustomizedDot, { dotColor: chartColor }), activeDot: false })] })] }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end border-t border-secondary p-4 md:px-5", children: footer })] }));
76
+ };
77
+ const lineData2 = [
78
+ { a: 10, b: 0 },
79
+ { a: 5, b: 30 },
80
+ { a: 30, b: 20 },
81
+ { a: 20, b: 35 },
82
+ ];
83
+ const MetricsChart02 = ({ icon = Eye, title = '2,000', subtitle = 'View 24 hours', change = '100%', changeTrend = 'positive', dropdownActions, footer, className, }) => {
84
+ const id = useId();
85
+ const chartColor = changeTrend === 'positive' ? 'text-fg-success-secondary' : 'text-fg-error-secondary';
86
+ return (jsxs("div", { className: cx('rounded-xl bg-primary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsxs("div", { className: "relative flex flex-col gap-4 px-4 py-5 md:gap-5 md:px-5", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsx(FeaturedIcon, { color: "gray", theme: "modern", size: "lg", icon: icon }), jsx("h3", { className: "text-md font-semibold text-primary", children: subtitle })] }), jsxs("div", { className: "flex items-end justify-between gap-4", children: [jsxs("div", { className: "flex items-start gap-2", children: [jsx("p", { className: "flex-1 text-display-sm font-semibold text-primary lg:text-display-md", children: title }), jsx(MetricChangeIndicator, { type: "trend", trend: changeTrend, value: change })] }), jsxs(AreaChart, { height: 56, width: 128, data: lineData2, margin: {
87
+ left: 0,
88
+ right: 0,
89
+ top: 0,
90
+ bottom: 0,
91
+ }, children: [jsx("defs", { children: jsxs("linearGradient", { id: `gradient-${id}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [jsx("stop", { offset: "5%", stopColor: "currentColor", className: chartColor, stopOpacity: "1" }), jsx("stop", { offset: "95%", stopColor: "currentColor", className: chartColor, stopOpacity: "0" })] }) }), jsx(Area, { className: chartColor, dataKey: "a", type: "monotone", strokeWidth: 0, fill: "currentColor", fillOpacity: 0.2, isAnimationActive: false, activeDot: false }), jsx(Area, { dataKey: "b", type: "monotone", strokeWidth: 0, fill: `url(#gradient-${id})`, fillOpacity: 0.2, isAnimationActive: false, activeDot: false })] })] }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end border-t border-secondary p-3 pr-4 md:p-4 md:pr-5", children: footer })] }));
92
+ };
93
+ const lineData3 = [{ value: 0 }, { value: 9 }, { value: 6 }, { value: 15 }];
94
+ const MetricsChart03 = ({ title = '2,000', subtitle = 'View 24 hours', type = 'trend', change, changeTrend, changeDescription, chartColor, chartAreaFill, chartCurveType, chartData = lineData3, dropdownActions, footer, className, }) => {
95
+ const id = useId();
96
+ chartColor = chartColor ?? (changeTrend === 'positive' ? 'text-fg-success-secondary' : 'text-fg-error-secondary');
97
+ return (jsxs("div", { className: cx('rounded-xl bg-primary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsxs("div", { className: "relative flex flex-col gap-4 px-4 py-5 md:gap-5 md:px-5", children: [jsxs("div", { className: "flex flex-col gap-2", children: [jsx("h3", { className: "text-sm font-medium text-tertiary", children: subtitle }), jsxs("div", { className: "flex items-center gap-4", children: [jsx("p", { className: "flex-1 text-display-sm font-semibold text-primary", children: title }), jsxs("div", { className: "flex gap-2", children: [jsx(MetricChangeIndicator, { type: type, trend: changeTrend, value: change }), changeDescription && jsx("span", { className: "text-sm font-medium text-tertiary", children: changeDescription })] })] })] }), jsx(ResponsiveContainer, { initialDimension: { width: 1, height: 1 }, height: 72, children: jsxs(AreaChart, { data: chartData, margin: {
98
+ left: 0,
99
+ right: 0,
100
+ top: 0,
101
+ bottom: 0,
102
+ }, children: [jsx("defs", { children: jsxs("linearGradient", { id: `gradient-${id}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [jsx("stop", { offset: "5%", stopColor: "currentColor", className: chartColor, stopOpacity: "1" }), jsx("stop", { offset: "95%", stopColor: "currentColor", className: chartColor, stopOpacity: "0" })] }) }), jsx(Area, { isAnimationActive: false, className: chartColor, dataKey: "value", type: chartCurveType || 'monotone', stroke: "currentColor", strokeWidth: 2, fill: chartAreaFill || `url(#gradient-${id})`, fillOpacity: 0.2, activeDot: false })] }) }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end border-t border-secondary p-3 pr-4 md:p-4 md:pr-5", children: footer })] }));
103
+ };
104
+ const MetricsChart04 = ({ title, subtitle, type = 'trend', change, changeTrend, changeDescription, chartColor = 'text-fg-success-secondary', chartAreaFill, chartCurveType, chartData = lineData3, dropdownActions, footer, className, }) => {
105
+ const id = useId();
106
+ chartColor = chartColor ?? (changeTrend === 'positive' ? 'text-fg-success-secondary' : 'text-fg-error-secondary');
107
+ return (jsxs("div", { className: cx('flex flex-col overflow-hidden rounded-xl bg-secondary shadow-xs ring-1 ring-secondary ring-inset', className), children: [jsx("div", { className: "mb-0.5 px-4 pt-3 pb-2 md:px-5", children: jsx("h3", { className: "text-sm font-semibold text-primary", children: subtitle }) }), jsxs("div", { className: "relative flex flex-col gap-4 rounded-xl bg-primary px-4 py-5 shadow-xs ring-1 ring-secondary ring-inset md:gap-5 md:px-5", children: [jsx("div", { className: "flex flex-col gap-2", children: jsxs("div", { className: "flex items-center gap-3", children: [jsx("p", { className: "text-display-sm font-semibold text-primary", children: title }), jsxs("div", { className: "flex gap-2", children: [jsx(MetricChangeIndicator, { type: type, trend: changeTrend, value: change }), changeDescription && jsx("span", { className: "text-sm font-medium text-tertiary", children: changeDescription })] })] }) }), jsx(ResponsiveContainer, { initialDimension: { width: 1, height: 1 }, height: 56, children: jsxs(AreaChart, { data: chartData, margin: {
108
+ left: 0,
109
+ right: 0,
110
+ top: 0,
111
+ bottom: 0,
112
+ }, className: chartColor, children: [jsx("defs", { children: jsxs("linearGradient", { id: `gradient-${id}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [jsx("stop", { offset: "5%", stopColor: "currentColor", className: chartColor, stopOpacity: "1" }), jsx("stop", { offset: "95%", stopColor: "currentColor", className: chartColor, stopOpacity: "0" })] }) }), jsx(Area, { isAnimationActive: false, className: chartColor, dataKey: "value", type: chartCurveType || 'monotone', stroke: "currentColor", strokeWidth: 2, fill: chartAreaFill || `url(#gradient-${id})`, fillOpacity: 0.2, activeDot: false })] }) }), dropdownActions && dropdownActions.length > 0 && (jsx("div", { className: "absolute top-4 right-4 md:top-5 md:right-5", children: jsx(ActionsDropdown, { actions: dropdownActions }) }))] }), footer && jsx("div", { className: "flex items-center justify-end py-3 pr-4 pl-3 md:pr-5 md:pl-4", children: footer })] }));
113
+ };
114
+
115
+ export { MetricChangeIndicator, MetricsChart01, MetricsChart02, MetricsChart03, MetricsChart04, MetricsIcon01, MetricsIcon02, MetricsIcon03, MetricsIcon04, MetricsSimple };
116
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sources":["../../../../../src/components/organisms/Charts/components/metrics.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -2,79 +2,45 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var cx = require('@flipdish/ui-library/utilities/cx');
5
+ var recharts = require('recharts');
6
+ var chartsBase = require('./charts-base.cjs');
5
7
 
6
- /**
7
- * Selects evenly spaced items from an array. Used for rendering
8
- * certain number of x-axis labels.
9
- * @param dataArray - The array of items to select from.
10
- * @param count - The number of items to select.
11
- * @returns The selected items.
12
- */
13
- const selectEvenlySpacedItems = (dataArray, count) => {
14
- if (!dataArray || dataArray.length === 0) {
15
- return [];
16
- }
17
- const selectedItems = [];
18
- if (dataArray.length === 1) {
19
- for (let i = 0; i < count; i++) {
20
- selectedItems.push(dataArray[0]);
21
- }
22
- return selectedItems;
23
- }
24
- for (let i = 0; i < count; i++) {
25
- const targetIndex = Math.round((i * (dataArray.length - 1)) / (count - 1));
26
- const boundedIndex = Math.max(0, Math.min(targetIndex, dataArray.length - 1));
27
- selectedItems.push(dataArray[boundedIndex]);
28
- }
29
- return selectedItems;
8
+ const defaultData = [
9
+ { name: 'Series 1', value: 200, className: 'text-utility-brand-600' },
10
+ { name: 'Series 2', value: 350, className: 'text-utility-brand-500' },
11
+ { name: 'Series 3', value: 100, className: 'text-utility-brand-400' },
12
+ { name: 'Series 4', value: 120, className: 'text-utility-brand-300' },
13
+ { name: 'Series 5', value: 230, className: 'text-utility-neutral-200' },
14
+ ];
15
+ const sizeConfig = {
16
+ xxs: { height: 120, maxWidthClassName: 'max-w-52.5', innerRadius: 30, outerRadius: 60 },
17
+ xs: { height: 160, maxWidthClassName: 'max-w-62.5', innerRadius: 40, outerRadius: 80 },
18
+ sm: { height: 200, maxWidthClassName: 'max-w-72.5', innerRadius: 50, outerRadius: 100 },
19
+ md: { height: 240, maxWidthClassName: 'max-w-96', innerRadius: 60, outerRadius: 120 },
20
+ lg: { height: 280, maxWidthClassName: 'max-w-96', innerRadius: 70, outerRadius: 140 },
30
21
  };
31
22
  /**
32
- * Renders the legend content for a chart.
33
- * @param reversed - Whether to reverse the payload.
34
- * @param payload - The payload of the legend.
35
- * @param align - The alignment of the legend.
36
- * @param layout - The layout of the legend.
37
- * @param className - The class name of the legend.
38
- * @returns The legend content.
23
+ * Plots each row as a slice of a donut, sized by its share of the total — here,
24
+ * five tokenised series. Pick a `size` preset for the footprint and colour each
25
+ * slice with a semantic `text-utility-*` token. Use it to show the composition
26
+ * of a whole when a handful of parts matter.
27
+ *
28
+ * @summary donut showing each part's share of a whole
39
29
  */
40
- const ChartLegendContent = ({ reversed, payload, align, layout, className, }) => {
41
- payload = reversed ? [...(payload ?? [])].reverse() : payload;
42
- return (jsxRuntime.jsx("ul", { className: cx.cx('flex', layout === 'vertical'
43
- ? `flex-col gap-1 pl-4 ${align === 'center' ? 'items-center' : align === 'right' ? 'items-start' : 'items-start'}`
44
- : `flex-row gap-3 ${align === 'center' ? 'justify-center' : align === 'right' ? 'justify-end' : 'justify-start'}`, className), children: payload?.map((entry, index) => (
45
- // biome-ignore lint/suspicious/noArrayIndexKey: we need to use the index as the key because the payload is an array of objects
46
- jsxRuntime.jsxs("li", { className: "flex items-center gap-2 text-sm text-tertiary", children: [jsxRuntime.jsx("span", { className: cx.cx('block size-2 rounded-full bg-current ring-[0.5px] ring-black/10 ring-inset', entry.payload?.className) }), entry.value] }, index))) }));
47
- };
48
- const ChartTooltipContent = ({ active, payload, label, isRadialChart, isPieChart, formatter, labelFormatter }) => {
49
- const canRender = active && payload && payload.length;
50
- if (!canRender) {
51
- return null;
52
- }
53
- const isSingleDataPoint = payload.length === 1;
54
- // If it's a single data point, we use the value as the title and
55
- // the name as the secondary title.
56
- let title = isSingleDataPoint ? (isRadialChart ? payload[0].value : isPieChart ? payload[0].value : payload[0].value) : label;
57
- let secondaryTitle = isSingleDataPoint ? (isRadialChart ? payload[0].payload.name : isPieChart ? payload[0].name : label) : payload;
58
- title =
59
- isSingleDataPoint && formatter
60
- ? formatter(title, payload?.[0].name || label, payload[0], 0, payload)
61
- : labelFormatter
62
- ? labelFormatter(title, payload)
63
- : title;
64
- secondaryTitle = isSingleDataPoint && labelFormatter ? labelFormatter(secondaryTitle, payload) : secondaryTitle;
65
- return (jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 rounded-lg bg-primary-solid px-3 py-2 shadow-lg", children: [jsxRuntime.jsx("p", { className: "text-xs font-semibold text-white", children: title }), !secondaryTitle ? null : Array.isArray(secondaryTitle) ? (jsxRuntime.jsx("div", { children: secondaryTitle.map((entry, index) => (
66
- // biome-ignore lint/suspicious/noArrayIndexKey: we need to use the index as the key because the secondaryTitle is an array of objects
67
- jsxRuntime.jsx("p", { className: cx.cx('text-xs text-tooltip-supporting-text'), children: `${entry.name}: ${formatter ? formatter(entry.value, entry.name, entry, index, entry.payload) : entry.value}` }, index))) })) : (jsxRuntime.jsx("p", { className: "text-xs text-tooltip-supporting-text", children: secondaryTitle }))] }));
68
- };
69
- const ChartActiveDot = ({ cx = 0, cy = 0 }) => {
70
- const size = 12;
71
- return (
72
- // biome-ignore lint/a11y/noSvgWithoutTitle: this is an icon
73
- jsxRuntime.jsx("svg", { x: cx - size / 2, y: cy - size / 2, width: size, height: size, viewBox: "0 0 12 12", fill: "none", children: jsxRuntime.jsx("rect", { x: "2", y: "2", width: "8", height: "8", rx: "6", className: "fill-bg-primary stroke-utility-brand-600", strokeWidth: "2" }) }));
30
+ const PieChart = ({ data = defaultData, size = 'xs', showLegend = true, showTooltip = true, valueFormatter, className }) => {
31
+ const config = sizeConfig[size];
32
+ return (jsxRuntime.jsx(recharts.ResponsiveContainer, { initialDimension: { width: 1, height: 1 }, height: config.height, className: cx.cx(config.maxWidthClassName, className), children: jsxRuntime.jsxs(recharts.PieChart, { className: "text-tertiary [&_.recharts-text]:text-xs", margin: { left: 0, right: 0, top: 0, bottom: 0 }, children: [showLegend && jsxRuntime.jsx(recharts.Legend, { verticalAlign: "top", align: "right", layout: "vertical", content: jsxRuntime.jsx(chartsBase.ChartLegendContent, {}) }), showTooltip && jsxRuntime.jsx(recharts.Tooltip, { content: jsxRuntime.jsx(chartsBase.ChartTooltipContent, { isPieChart: true }), formatter: valueFormatter }), jsxRuntime.jsx(recharts.Pie, { isAnimationActive: false, startAngle: -270, endAngle: -630, stroke: "none", data: data, dataKey: "value", nameKey: "name", fill: "currentColor", innerRadius: config.innerRadius, outerRadius: config.outerRadius })] }) }));
74
33
  };
34
+ const PieChartXxs = (props) => jsxRuntime.jsx(PieChart, { ...props, size: "xxs" });
35
+ const PieChartXs = (props) => jsxRuntime.jsx(PieChart, { ...props, size: "xs" });
36
+ const PieChartSm = (props) => jsxRuntime.jsx(PieChart, { ...props, size: "sm" });
37
+ const PieChartMd = (props) => jsxRuntime.jsx(PieChart, { ...props, size: "md" });
38
+ const PieChartLg = (props) => jsxRuntime.jsx(PieChart, { ...props, size: "lg" });
75
39
 
76
- exports.ChartActiveDot = ChartActiveDot;
77
- exports.ChartLegendContent = ChartLegendContent;
78
- exports.ChartTooltipContent = ChartTooltipContent;
79
- exports.selectEvenlySpacedItems = selectEvenlySpacedItems;
40
+ exports.PieChart = PieChart;
41
+ exports.PieChartLg = PieChartLg;
42
+ exports.PieChartMd = PieChartMd;
43
+ exports.PieChartSm = PieChartSm;
44
+ exports.PieChartXs = PieChartXs;
45
+ exports.PieChartXxs = PieChartXxs;
80
46
  //# sourceMappingURL=pie-chart.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pie-chart.cjs","sources":["../../../../../src/components/organisms/Charts/components/pie-chart.tsx"],"sourcesContent":[null],"names":["_jsx","cx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"pie-chart.cjs","sources":["../../../../../src/components/organisms/Charts/components/pie-chart.tsx"],"sourcesContent":[null],"names":["_jsx","ResponsiveContainer","cx","_jsxs","RechartsPieChart","Legend","ChartLegendContent","Tooltip","ChartTooltipContent","Pie"],"mappings":";;;;;;;AA6CA,MAAM,WAAW,GAAuB;IACtC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACrE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACrE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACrE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACrE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,0BAA0B,EAAE;CACxE;AAED,MAAM,UAAU,GAAkH;AAChI,IAAA,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;AACvF,IAAA,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;AACtF,IAAA,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;AACvF,IAAA,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;AACrF,IAAA,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;CACtF;AAED;;;;;;;AAOG;AACI,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,WAAW,EAAE,IAAI,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,cAAc,EAAE,SAAS,EAAiB,KAAI;AAC/I,IAAA,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;AAE/B,IAAA,QACEA,cAAA,CAACC,4BAAmB,EAAA,EAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAEC,KAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAA,QAAA,EACvIC,eAAA,CAACC,iBAAgB,EAAA,EAAC,SAAS,EAAC,0CAA0C,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aACpH,UAAU,IAAIJ,cAAA,CAACK,eAAM,IAAC,aAAa,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,OAAO,EAAEL,cAAA,CAACM,6BAAkB,EAAA,EAAA,CAAG,EAAA,CAAI,EAE7G,WAAW,IAAIN,cAAA,CAACO,gBAAO,IAAC,OAAO,EAAEP,cAAA,CAACQ,8BAAmB,IAAC,UAAU,EAAA,IAAA,EAAA,CAAG,EAAE,SAAS,EAAE,cAAc,EAAA,CAAI,EAEnGR,cAAA,CAACS,YAAG,EAAA,EACF,iBAAiB,EAAE,KAAK,EACxB,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,IAAI,EACd,MAAM,EAAC,MAAM,EACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAC,OAAO,EACf,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,cAAc,EACnB,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,WAAW,EAAE,MAAM,CAAC,WAAW,EAAA,CAC/B,CAAA,EAAA,CACe,EAAA,CACC;AAE1B;AAEO,MAAM,WAAW,GAAG,CAAC,KAAkC,KAAKT,cAAA,CAAC,QAAQ,OAAK,KAAK,EAAE,IAAI,EAAC,KAAK;AAC3F,MAAM,UAAU,GAAG,CAAC,KAAkC,KAAKA,cAAA,CAAC,QAAQ,OAAK,KAAK,EAAE,IAAI,EAAC,IAAI;AACzF,MAAM,UAAU,GAAG,CAAC,KAAkC,KAAKA,cAAA,CAAC,QAAQ,OAAK,KAAK,EAAE,IAAI,EAAC,IAAI;AACzF,MAAM,UAAU,GAAG,CAAC,KAAkC,KAAKA,cAAA,CAAC,QAAQ,OAAK,KAAK,EAAE,IAAI,EAAC,IAAI;AACzF,MAAM,UAAU,GAAG,CAAC,KAAkC,KAAKA,cAAA,CAAC,QAAQ,OAAK,KAAK,EAAE,IAAI,EAAC,IAAI;;;;;;;;;"}
@@ -1,38 +1,50 @@
1
- import type { TooltipProps } from 'recharts';
2
- import type { Props as LegendContentProps } from 'recharts/types/component/DefaultLegendContent';
3
- import type { NameType, ValueType } from 'recharts/types/component/DefaultTooltipContent';
4
- import type { Props as DotProps } from 'recharts/types/shape/Dot';
5
- /**
6
- * Selects evenly spaced items from an array. Used for rendering
7
- * certain number of x-axis labels.
8
- * @param dataArray - The array of items to select from.
9
- * @param count - The number of items to select.
10
- * @returns The selected items.
11
- */
12
- export declare const selectEvenlySpacedItems: <T extends readonly unknown[]>(dataArray: T, count: number) => Array<T[number]>;
13
- /**
14
- * Renders the legend content for a chart.
15
- * @param reversed - Whether to reverse the payload.
16
- * @param payload - The payload of the legend.
17
- * @param align - The alignment of the legend.
18
- * @param layout - The layout of the legend.
19
- * @param className - The class name of the legend.
20
- * @returns The legend content.
21
- */
22
- export declare const ChartLegendContent: ({ reversed, payload, align, layout, className, }: LegendContentProps & {
23
- reversed?: boolean;
1
+ type ChartValueFormatter = (value: any) => string;
2
+ export interface PieChartDataItem {
3
+ /** Display name shown in the legend and tooltip. */
4
+ name: string;
5
+ /** Numeric value determining this slice's share of the whole. */
6
+ value: number;
7
+ /** Tailwind `text-*` utility controlling the slice colour. */
24
8
  className?: string;
25
- }) => import("react").JSX.Element;
26
- interface ChartTooltipContentProps extends TooltipProps<ValueType, NameType> {
27
- isRadialChart?: boolean;
28
- isPieChart?: boolean;
29
- label?: string;
30
- payload?: any;
31
9
  }
32
- export declare const ChartTooltipContent: ({ active, payload, label, isRadialChart, isPieChart, formatter, labelFormatter }: ChartTooltipContentProps) => import("react").JSX.Element | null;
33
- interface ChartActiveDotProps extends DotProps {
34
- payload?: any;
10
+ /** Preset radii and footprint for the pie. */
11
+ export type PieChartSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
12
+ export interface PieChartProps {
13
+ /** Slices to plot. Each slice's share is its `value` over the total. */
14
+ data?: PieChartDataItem[];
15
+ /**
16
+ * Preset that controls the chart height and inner/outer radii.
17
+ * @default 'xs'
18
+ */
19
+ size?: PieChartSize;
20
+ /**
21
+ * Whether to render the legend.
22
+ * @default true
23
+ */
24
+ showLegend?: boolean;
25
+ /**
26
+ * Whether to render the tooltip on hover.
27
+ * @default true
28
+ */
29
+ showTooltip?: boolean;
30
+ /** Formats the tooltip value. Defaults to the raw value. */
31
+ valueFormatter?: ChartValueFormatter;
32
+ /** Additional class name for the chart container. */
33
+ className?: string;
35
34
  }
36
- export declare const ChartActiveDot: ({ cx, cy }: ChartActiveDotProps) => import("react").JSX.Element;
35
+ /**
36
+ * Plots each row as a slice of a donut, sized by its share of the total — here,
37
+ * five tokenised series. Pick a `size` preset for the footprint and colour each
38
+ * slice with a semantic `text-utility-*` token. Use it to show the composition
39
+ * of a whole when a handful of parts matter.
40
+ *
41
+ * @summary donut showing each part's share of a whole
42
+ */
43
+ export declare const PieChart: ({ data, size, showLegend, showTooltip, valueFormatter, className }: PieChartProps) => import("react").JSX.Element;
44
+ export declare const PieChartXxs: (props: Omit<PieChartProps, "size">) => import("react").JSX.Element;
45
+ export declare const PieChartXs: (props: Omit<PieChartProps, "size">) => import("react").JSX.Element;
46
+ export declare const PieChartSm: (props: Omit<PieChartProps, "size">) => import("react").JSX.Element;
47
+ export declare const PieChartMd: (props: Omit<PieChartProps, "size">) => import("react").JSX.Element;
48
+ export declare const PieChartLg: (props: Omit<PieChartProps, "size">) => import("react").JSX.Element;
37
49
  export {};
38
50
  //# sourceMappingURL=pie-chart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pie-chart.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Charts/components/pie-chart.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,IAAI,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,MAAM,KAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAqBlH,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,kDAMhC,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,gCA2BjE,CAAC;AAEF,UAAU,wBAAyB,SAAQ,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,GAAI,kFAAkF,wBAAwB,uCAwC7I,CAAC;AAEF,UAAU,mBAAoB,SAAQ,QAAQ;IAG5C,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,eAAO,MAAM,cAAc,GAAI,YAAoB,mBAAmB,gCASrE,CAAC"}
1
+ {"version":3,"file":"pie-chart.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Charts/components/pie-chart.tsx"],"names":[],"mappings":"AAOA,KAAK,mBAAmB,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,oEAAuG,aAAa,gCAyB5I,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,gCAAuC,CAAC;AACtG,eAAO,MAAM,UAAU,GAAI,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,gCAAsC,CAAC;AACpG,eAAO,MAAM,UAAU,GAAI,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,gCAAsC,CAAC;AACpG,eAAO,MAAM,UAAU,GAAI,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,gCAAsC,CAAC;AACpG,eAAO,MAAM,UAAU,GAAI,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,gCAAsC,CAAC"}
@@ -1,75 +1,39 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { cx } from '@flipdish/ui-library/utilities/cx';
3
+ import { ResponsiveContainer, PieChart as PieChart$1, Legend, Tooltip, Pie } from 'recharts';
4
+ import { ChartLegendContent, ChartTooltipContent } from './charts-base.js';
3
5
 
4
- /**
5
- * Selects evenly spaced items from an array. Used for rendering
6
- * certain number of x-axis labels.
7
- * @param dataArray - The array of items to select from.
8
- * @param count - The number of items to select.
9
- * @returns The selected items.
10
- */
11
- const selectEvenlySpacedItems = (dataArray, count) => {
12
- if (!dataArray || dataArray.length === 0) {
13
- return [];
14
- }
15
- const selectedItems = [];
16
- if (dataArray.length === 1) {
17
- for (let i = 0; i < count; i++) {
18
- selectedItems.push(dataArray[0]);
19
- }
20
- return selectedItems;
21
- }
22
- for (let i = 0; i < count; i++) {
23
- const targetIndex = Math.round((i * (dataArray.length - 1)) / (count - 1));
24
- const boundedIndex = Math.max(0, Math.min(targetIndex, dataArray.length - 1));
25
- selectedItems.push(dataArray[boundedIndex]);
26
- }
27
- return selectedItems;
6
+ const defaultData = [
7
+ { name: 'Series 1', value: 200, className: 'text-utility-brand-600' },
8
+ { name: 'Series 2', value: 350, className: 'text-utility-brand-500' },
9
+ { name: 'Series 3', value: 100, className: 'text-utility-brand-400' },
10
+ { name: 'Series 4', value: 120, className: 'text-utility-brand-300' },
11
+ { name: 'Series 5', value: 230, className: 'text-utility-neutral-200' },
12
+ ];
13
+ const sizeConfig = {
14
+ xxs: { height: 120, maxWidthClassName: 'max-w-52.5', innerRadius: 30, outerRadius: 60 },
15
+ xs: { height: 160, maxWidthClassName: 'max-w-62.5', innerRadius: 40, outerRadius: 80 },
16
+ sm: { height: 200, maxWidthClassName: 'max-w-72.5', innerRadius: 50, outerRadius: 100 },
17
+ md: { height: 240, maxWidthClassName: 'max-w-96', innerRadius: 60, outerRadius: 120 },
18
+ lg: { height: 280, maxWidthClassName: 'max-w-96', innerRadius: 70, outerRadius: 140 },
28
19
  };
29
20
  /**
30
- * Renders the legend content for a chart.
31
- * @param reversed - Whether to reverse the payload.
32
- * @param payload - The payload of the legend.
33
- * @param align - The alignment of the legend.
34
- * @param layout - The layout of the legend.
35
- * @param className - The class name of the legend.
36
- * @returns The legend content.
21
+ * Plots each row as a slice of a donut, sized by its share of the total — here,
22
+ * five tokenised series. Pick a `size` preset for the footprint and colour each
23
+ * slice with a semantic `text-utility-*` token. Use it to show the composition
24
+ * of a whole when a handful of parts matter.
25
+ *
26
+ * @summary donut showing each part's share of a whole
37
27
  */
38
- const ChartLegendContent = ({ reversed, payload, align, layout, className, }) => {
39
- payload = reversed ? [...(payload ?? [])].reverse() : payload;
40
- return (jsx("ul", { className: cx('flex', layout === 'vertical'
41
- ? `flex-col gap-1 pl-4 ${align === 'center' ? 'items-center' : align === 'right' ? 'items-start' : 'items-start'}`
42
- : `flex-row gap-3 ${align === 'center' ? 'justify-center' : align === 'right' ? 'justify-end' : 'justify-start'}`, className), children: payload?.map((entry, index) => (
43
- // biome-ignore lint/suspicious/noArrayIndexKey: we need to use the index as the key because the payload is an array of objects
44
- jsxs("li", { className: "flex items-center gap-2 text-sm text-tertiary", children: [jsx("span", { className: cx('block size-2 rounded-full bg-current ring-[0.5px] ring-black/10 ring-inset', entry.payload?.className) }), entry.value] }, index))) }));
45
- };
46
- const ChartTooltipContent = ({ active, payload, label, isRadialChart, isPieChart, formatter, labelFormatter }) => {
47
- const canRender = active && payload && payload.length;
48
- if (!canRender) {
49
- return null;
50
- }
51
- const isSingleDataPoint = payload.length === 1;
52
- // If it's a single data point, we use the value as the title and
53
- // the name as the secondary title.
54
- let title = isSingleDataPoint ? (isRadialChart ? payload[0].value : isPieChart ? payload[0].value : payload[0].value) : label;
55
- let secondaryTitle = isSingleDataPoint ? (isRadialChart ? payload[0].payload.name : isPieChart ? payload[0].name : label) : payload;
56
- title =
57
- isSingleDataPoint && formatter
58
- ? formatter(title, payload?.[0].name || label, payload[0], 0, payload)
59
- : labelFormatter
60
- ? labelFormatter(title, payload)
61
- : title;
62
- secondaryTitle = isSingleDataPoint && labelFormatter ? labelFormatter(secondaryTitle, payload) : secondaryTitle;
63
- return (jsxs("div", { className: "flex flex-col gap-0.5 rounded-lg bg-primary-solid px-3 py-2 shadow-lg", children: [jsx("p", { className: "text-xs font-semibold text-white", children: title }), !secondaryTitle ? null : Array.isArray(secondaryTitle) ? (jsx("div", { children: secondaryTitle.map((entry, index) => (
64
- // biome-ignore lint/suspicious/noArrayIndexKey: we need to use the index as the key because the secondaryTitle is an array of objects
65
- jsx("p", { className: cx('text-xs text-tooltip-supporting-text'), children: `${entry.name}: ${formatter ? formatter(entry.value, entry.name, entry, index, entry.payload) : entry.value}` }, index))) })) : (jsx("p", { className: "text-xs text-tooltip-supporting-text", children: secondaryTitle }))] }));
66
- };
67
- const ChartActiveDot = ({ cx = 0, cy = 0 }) => {
68
- const size = 12;
69
- return (
70
- // biome-ignore lint/a11y/noSvgWithoutTitle: this is an icon
71
- jsx("svg", { x: cx - size / 2, y: cy - size / 2, width: size, height: size, viewBox: "0 0 12 12", fill: "none", children: jsx("rect", { x: "2", y: "2", width: "8", height: "8", rx: "6", className: "fill-bg-primary stroke-utility-brand-600", strokeWidth: "2" }) }));
28
+ const PieChart = ({ data = defaultData, size = 'xs', showLegend = true, showTooltip = true, valueFormatter, className }) => {
29
+ const config = sizeConfig[size];
30
+ return (jsx(ResponsiveContainer, { initialDimension: { width: 1, height: 1 }, height: config.height, className: cx(config.maxWidthClassName, className), children: jsxs(PieChart$1, { className: "text-tertiary [&_.recharts-text]:text-xs", margin: { left: 0, right: 0, top: 0, bottom: 0 }, children: [showLegend && jsx(Legend, { verticalAlign: "top", align: "right", layout: "vertical", content: jsx(ChartLegendContent, {}) }), showTooltip && jsx(Tooltip, { content: jsx(ChartTooltipContent, { isPieChart: true }), formatter: valueFormatter }), jsx(Pie, { isAnimationActive: false, startAngle: -270, endAngle: -630, stroke: "none", data: data, dataKey: "value", nameKey: "name", fill: "currentColor", innerRadius: config.innerRadius, outerRadius: config.outerRadius })] }) }));
72
31
  };
32
+ const PieChartXxs = (props) => jsx(PieChart, { ...props, size: "xxs" });
33
+ const PieChartXs = (props) => jsx(PieChart, { ...props, size: "xs" });
34
+ const PieChartSm = (props) => jsx(PieChart, { ...props, size: "sm" });
35
+ const PieChartMd = (props) => jsx(PieChart, { ...props, size: "md" });
36
+ const PieChartLg = (props) => jsx(PieChart, { ...props, size: "lg" });
73
37
 
74
- export { ChartActiveDot, ChartLegendContent, ChartTooltipContent, selectEvenlySpacedItems };
38
+ export { PieChart, PieChartLg, PieChartMd, PieChartSm, PieChartXs, PieChartXxs };
75
39
  //# sourceMappingURL=pie-chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pie-chart.js","sources":["../../../../../src/components/organisms/Charts/components/pie-chart.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"pie-chart.js","sources":["../../../../../src/components/organisms/Charts/components/pie-chart.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","RechartsPieChart"],"mappings":"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"}