@quillsql/react 1.6.9 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/lib/AddToDashboardModal.js +249 -369
  2. package/lib/AddToDashboardModal.js.map +1 -1
  3. package/lib/BarList.js +92 -109
  4. package/lib/BarList.js.map +1 -1
  5. package/lib/Chart.js +378 -491
  6. package/lib/Chart.js.map +1 -1
  7. package/lib/Context.d.ts +3 -3
  8. package/lib/Context.js +94 -96
  9. package/lib/Context.js.map +1 -1
  10. package/lib/Dashboard.js +200 -217
  11. package/lib/Dashboard.js.map +1 -1
  12. package/lib/DateRangePicker/Calendar.js +87 -91
  13. package/lib/DateRangePicker/Calendar.js.map +1 -1
  14. package/lib/DateRangePicker/DateRangePicker.js +70 -68
  15. package/lib/DateRangePicker/DateRangePicker.js.map +1 -1
  16. package/lib/DateRangePicker/DateRangePickerButton.js +46 -57
  17. package/lib/DateRangePicker/DateRangePickerButton.js.map +1 -1
  18. package/lib/DateRangePicker/dateRangePickerUtils.js +105 -99
  19. package/lib/DateRangePicker/dateRangePickerUtils.js.map +1 -1
  20. package/lib/DateRangePicker/index.js +8 -1
  21. package/lib/DateRangePicker/index.js.map +1 -1
  22. package/lib/PieChart.js +221 -225
  23. package/lib/PieChart.js.map +1 -1
  24. package/lib/QuillProvider.d.ts +2 -1
  25. package/lib/QuillProvider.js +8 -18
  26. package/lib/QuillProvider.js.map +1 -1
  27. package/lib/ReportBuilder.d.ts +1 -1
  28. package/lib/ReportBuilder.js +430 -526
  29. package/lib/ReportBuilder.js.map +1 -1
  30. package/lib/SQLEditor.js +183 -268
  31. package/lib/SQLEditor.js.map +1 -1
  32. package/lib/Table.js +213 -256
  33. package/lib/Table.js.map +1 -1
  34. package/lib/TableChart.js +76 -75
  35. package/lib/TableChart.js.map +1 -1
  36. package/lib/assets/ArrowDownHeadIcon.js +5 -28
  37. package/lib/assets/ArrowDownHeadIcon.js.map +1 -1
  38. package/lib/assets/ArrowDownIcon.js +5 -28
  39. package/lib/assets/ArrowDownIcon.js.map +1 -1
  40. package/lib/assets/ArrowDownRightIcon.js +5 -28
  41. package/lib/assets/ArrowDownRightIcon.js.map +1 -1
  42. package/lib/assets/ArrowLeftHeadIcon.js +5 -28
  43. package/lib/assets/ArrowLeftHeadIcon.js.map +1 -1
  44. package/lib/assets/ArrowRightHeadIcon.js +5 -28
  45. package/lib/assets/ArrowRightHeadIcon.js.map +1 -1
  46. package/lib/assets/ArrowRightIcon.js +5 -28
  47. package/lib/assets/ArrowRightIcon.js.map +1 -1
  48. package/lib/assets/ArrowUpHeadIcon.js +5 -28
  49. package/lib/assets/ArrowUpHeadIcon.js.map +1 -1
  50. package/lib/assets/ArrowUpIcon.js +5 -28
  51. package/lib/assets/ArrowUpIcon.js.map +1 -1
  52. package/lib/assets/ArrowUpRightIcon.js +5 -28
  53. package/lib/assets/ArrowUpRightIcon.js.map +1 -1
  54. package/lib/assets/CalendarIcon.js +5 -28
  55. package/lib/assets/CalendarIcon.js.map +1 -1
  56. package/lib/assets/DoubleArrowLeftHeadIcon.js +5 -28
  57. package/lib/assets/DoubleArrowLeftHeadIcon.js.map +1 -1
  58. package/lib/assets/DoubleArrowRightHeadIcon.js +5 -28
  59. package/lib/assets/DoubleArrowRightHeadIcon.js.map +1 -1
  60. package/lib/assets/ExclamationFilledIcon.js +5 -28
  61. package/lib/assets/ExclamationFilledIcon.js.map +1 -1
  62. package/lib/assets/LoadingSpinner.js +5 -28
  63. package/lib/assets/LoadingSpinner.js.map +1 -1
  64. package/lib/assets/SearchIcon.js +5 -28
  65. package/lib/assets/SearchIcon.js.map +1 -1
  66. package/lib/assets/XCircleIcon.js +5 -28
  67. package/lib/assets/XCircleIcon.js.map +1 -1
  68. package/lib/assets/index.js +38 -16
  69. package/lib/assets/index.js.map +1 -1
  70. package/lib/components/BigModal/BigModal.js +45 -43
  71. package/lib/components/BigModal/BigModal.js.map +1 -1
  72. package/lib/components/Dropdown/Dropdown.js +57 -53
  73. package/lib/components/Dropdown/Dropdown.js.map +1 -1
  74. package/lib/components/Dropdown/DropdownItem.js +43 -40
  75. package/lib/components/Dropdown/DropdownItem.js.map +1 -1
  76. package/lib/components/Dropdown/index.js +10 -2
  77. package/lib/components/Dropdown/index.js.map +1 -1
  78. package/lib/components/Modal/Modal.js +45 -43
  79. package/lib/components/Modal/Modal.js.map +1 -1
  80. package/lib/components/Modal/index.js +8 -1
  81. package/lib/components/Modal/index.js.map +1 -1
  82. package/lib/components/selectUtils.js +20 -15
  83. package/lib/components/selectUtils.js.map +1 -1
  84. package/lib/contexts/BaseColorContext.js +5 -3
  85. package/lib/contexts/BaseColorContext.js.map +1 -1
  86. package/lib/contexts/HoveredValueContext.js +5 -3
  87. package/lib/contexts/HoveredValueContext.js.map +1 -1
  88. package/lib/contexts/RootStylesContext.js +5 -3
  89. package/lib/contexts/RootStylesContext.js.map +1 -1
  90. package/lib/contexts/SelectedValueContext.js +5 -3
  91. package/lib/contexts/SelectedValueContext.js.map +1 -1
  92. package/lib/contexts/index.js +14 -4
  93. package/lib/contexts/index.js.map +1 -1
  94. package/lib/hooks/index.js +14 -4
  95. package/lib/hooks/index.js.map +1 -1
  96. package/lib/hooks/useInternalState.js +9 -7
  97. package/lib/hooks/useInternalState.js.map +1 -1
  98. package/lib/hooks/useOnClickOutside.js +8 -6
  99. package/lib/hooks/useOnClickOutside.js.map +1 -1
  100. package/lib/hooks/useOnWindowResize.js +9 -7
  101. package/lib/hooks/useOnWindowResize.js.map +1 -1
  102. package/lib/hooks/useQuill.js +60 -111
  103. package/lib/hooks/useQuill.js.map +1 -1
  104. package/lib/hooks/useSelectOnKeyDown.js +17 -15
  105. package/lib/hooks/useSelectOnKeyDown.js.map +1 -1
  106. package/lib/index.js +22 -8
  107. package/lib/index.js.map +1 -1
  108. package/package.json +9 -2
  109. package/rollup.config.ts +21 -0
  110. package/src/AddToDashboardModal.tsx +10 -3
  111. package/src/Chart.tsx +66 -195
  112. package/src/Context.tsx +10 -27
  113. package/src/Dashboard.tsx +40 -23
  114. package/src/QuillProvider.tsx +3 -0
  115. package/src/ReportBuilder.tsx +10 -5
  116. package/src/SQLEditor.tsx +9 -4
  117. package/src/Table.tsx +0 -1
  118. package/src/hooks/useQuill.ts +2 -1
  119. package/lib/AddToDashboardButton.d.ts +0 -1
  120. package/lib/AddToDashboardButton.js +0 -2
  121. package/lib/AddToDashboardButton.js.map +0 -1
  122. package/lib/AppContext.d.ts +0 -29
  123. package/lib/AppContext.js +0 -94
  124. package/lib/AppContext.js.map +0 -1
  125. package/lib/Button.d.ts +0 -26
  126. package/lib/Button.js +0 -151
  127. package/lib/Button.js.map +0 -1
  128. package/lib/ContextProvider.d.ts +0 -28
  129. package/lib/ContextProvider.js +0 -93
  130. package/lib/ContextProvider.js.map +0 -1
  131. package/lib/DateRangePicker.d.ts +0 -32
  132. package/lib/DateRangePicker.js +0 -105
  133. package/lib/DateRangePicker.js.map +0 -1
  134. package/lib/Dialog.d.ts +0 -68
  135. package/lib/Dialog.js +0 -407
  136. package/lib/Dialog.js.map +0 -1
  137. package/lib/Portal.d.ts +0 -32
  138. package/lib/Portal.js +0 -171
  139. package/lib/Portal.js.map +0 -1
  140. package/lib/Props.d.ts +0 -0
  141. package/lib/Props.js +0 -2
  142. package/lib/Props.js.map +0 -1
  143. package/lib/components/BigModal/Modal.d.ts +0 -14
  144. package/lib/components/BigModal/Modal.js +0 -109
  145. package/lib/components/BigModal/Modal.js.map +0 -1
  146. package/lib/components/Modal/Dropdown/Dropdown.d.ts +0 -12
  147. package/lib/components/Modal/Dropdown/Dropdown.js +0 -52
  148. package/lib/components/Modal/Dropdown/Dropdown.js.map +0 -1
  149. package/lib/components/Modal/Dropdown/DropdownItem.d.ts +0 -8
  150. package/lib/components/Modal/Dropdown/DropdownItem.js +0 -51
  151. package/lib/components/Modal/Dropdown/DropdownItem.js.map +0 -1
  152. package/lib/components/Modal/Dropdown/index.d.ts +0 -2
  153. package/lib/components/Modal/Dropdown/index.js +0 -3
  154. package/lib/components/Modal/Dropdown/index.js.map +0 -1
  155. package/lib/hooks/useSyncRefs.d.ts +0 -5
  156. package/lib/hooks/useSyncRefs.js +0 -38
  157. package/lib/hooks/useSyncRefs.js.map +0 -1
  158. package/lib/lib/colorClassNames.d.ts +0 -19
  159. package/lib/lib/colorClassNames.js +0 -3175
  160. package/lib/lib/colorClassNames.js.map +0 -1
  161. package/lib/lib/constants.d.ts +0 -16
  162. package/lib/lib/constants.js +0 -47
  163. package/lib/lib/constants.js.map +0 -1
  164. package/lib/lib/font.d.ts +0 -13
  165. package/lib/lib/font.js +0 -14
  166. package/lib/lib/font.js.map +0 -1
  167. package/lib/lib/hexColors.d.ts +0 -3
  168. package/lib/lib/hexColors.js +0 -29
  169. package/lib/lib/hexColors.js.map +0 -1
  170. package/lib/lib/index.d.ts +0 -3
  171. package/lib/lib/index.js +0 -4
  172. package/lib/lib/index.js.map +0 -1
  173. package/lib/lib/inputTypes.d.ts +0 -20
  174. package/lib/lib/inputTypes.js +0 -56
  175. package/lib/lib/inputTypes.js.map +0 -1
  176. package/lib/lib/shape.d.ts +0 -73
  177. package/lib/lib/shape.js +0 -74
  178. package/lib/lib/shape.js.map +0 -1
  179. package/lib/lib/sizing.d.ts +0 -46
  180. package/lib/lib/sizing.js +0 -43
  181. package/lib/lib/sizing.js.map +0 -1
  182. package/lib/lib/spacing.d.ts +0 -264
  183. package/lib/lib/spacing.js +0 -265
  184. package/lib/lib/spacing.js.map +0 -1
  185. package/lib/lib/theme.d.ts +0 -22
  186. package/lib/lib/theme.js +0 -46
  187. package/lib/lib/theme.js.map +0 -1
  188. package/lib/lib/utils.d.ts +0 -9
  189. package/lib/lib/utils.js +0 -40
  190. package/lib/lib/utils.js.map +0 -1
  191. package/lib/styles.css +0 -15795
  192. package/lib/types/Props.d.ts +0 -0
  193. package/lib/types/Props.js +0 -2
  194. package/lib/types/Props.js.map +0 -1
  195. package/lib/types.d.ts +0 -27
  196. package/lib/types.js +0 -6
  197. package/lib/types.js.map +0 -1
  198. package/src/lib/font.ts +0 -14
  199. package/src/lib/index.ts +0 -3
  200. package/src/lib/inputTypes.ts +0 -81
  201. package/src/lib/utils.tsx +0 -46
package/lib/PieChart.js CHANGED
@@ -1,40 +1,35 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
24
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
25
- if (ar || !(i in from)) {
26
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
27
- ar[i] = from[i];
28
- }
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
29
7
  }
30
- return to.concat(ar || Array.prototype.slice.call(from));
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
31
24
  };
32
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.findComplementaryAndAnalogousColors = exports.DonutChartTooltip = exports.ChartTooltipRow = exports.ChartTooltipFrame = exports.parseLabelInput = exports.parseData = exports.sumNumericArray = exports.defaultValueFormatter = void 0;
27
+ const jsx_runtime_1 = require("react/jsx-runtime");
33
28
  /* eslint-disable @typescript-eslint/ban-ts-comment */
34
29
  /* eslint-disable react/display-name */
35
30
  // @ts-nocheck
36
- import React, { useRef, useState, useEffect } from 'react';
37
- import { Pie, PieChart, ResponsiveContainer, Tooltip, Legend } from 'recharts';
31
+ const react_1 = __importStar(require("react"));
32
+ const recharts_1 = require("recharts");
38
33
  // const data = [
39
34
  // {
40
35
  // name: 'Project Nile',
@@ -133,20 +128,20 @@ import { Pie, PieChart, ResponsiveContainer, Tooltip, Legend } from 'recharts';
133
128
  // pct_of_the_total: 0.00522734435854761,
134
129
  // },
135
130
  // ];
136
- var useOnWindowResize = function (handler, initialWindowSize) {
137
- var _a = useState(initialWindowSize), windowSize = _a[0], setWindowSize = _a[1];
138
- useEffect(function () {
139
- var handleResize = function () {
131
+ const useOnWindowResize = (handler, initialWindowSize) => {
132
+ const [windowSize, setWindowSize] = (0, react_1.useState)(initialWindowSize);
133
+ (0, react_1.useEffect)(() => {
134
+ const handleResize = () => {
140
135
  setWindowSize(window.innerWidth);
141
136
  handler();
142
137
  };
143
138
  handleResize();
144
139
  window.addEventListener('resize', handleResize);
145
- return function () { return window.removeEventListener('resize', handleResize); };
140
+ return () => window.removeEventListener('resize', handleResize);
146
141
  }, [handler, windowSize]);
147
142
  };
148
- var ChartLegend = function (categories, colors) {
149
- var legendRef = useRef(null);
143
+ const ChartLegend = (categories, colors) => {
144
+ const legendRef = (0, react_1.useRef)(null);
150
145
  // useOnWindowResize(() => {
151
146
  // const calculateHeight = (height: number | undefined) =>
152
147
  // height
@@ -154,28 +149,28 @@ var ChartLegend = function (categories, colors) {
154
149
  // : 60; // default height
155
150
  // setLegendHeight(calculateHeight(legendRef.current?.clientHeight));
156
151
  // });
157
- return (_jsx("div", __assign({ ref: legendRef, className: "qq-flex qq-items-center qq-justify-end" }, { children: _jsx(Legend
152
+ return ((0, jsx_runtime_1.jsx)("div", { ref: legendRef, className: "qq-flex qq-items-center qq-justify-end", children: (0, jsx_runtime_1.jsx)(recharts_1.Legend
158
153
  // @ts-ignore
159
154
  , {
160
155
  // @ts-ignore
161
- categories: categories, colors: colors }) })));
156
+ categories: categories, colors: colors }) }));
162
157
  };
163
- var iconVariantValues = [
158
+ const iconVariantValues = [
164
159
  'simple',
165
160
  'light',
166
161
  'shadow',
167
162
  'solid',
168
163
  'outlined',
169
164
  ];
170
- var deltaTypeValues = [
165
+ const deltaTypeValues = [
171
166
  'increase',
172
167
  'moderateIncrease',
173
168
  'decrease',
174
169
  'moderateDecrease',
175
170
  'unchanged',
176
171
  ];
177
- var sizeValues = ['xs', 'sm', 'md', 'lg', 'xl'];
178
- var colorValues = [
172
+ const sizeValues = ['xs', 'sm', 'md', 'lg', 'xl'];
173
+ const colorValues = [
179
174
  'slate',
180
175
  'gray',
181
176
  'zinc',
@@ -199,7 +194,7 @@ var colorValues = [
199
194
  'pink',
200
195
  'rose',
201
196
  ];
202
- var justifyContentValues = [
197
+ const justifyContentValues = [
203
198
  'start',
204
199
  'end',
205
200
  'center',
@@ -207,19 +202,17 @@ var justifyContentValues = [
207
202
  'around',
208
203
  'evenly',
209
204
  ];
210
- var alignItemsValues = [
205
+ const alignItemsValues = [
211
206
  'start',
212
207
  'end',
213
208
  'center',
214
209
  'baseline',
215
210
  'stretch',
216
211
  ];
217
- export var defaultValueFormatter = function (value) {
218
- return (value * 1).toFixed(1) + '%';
219
- };
220
- export var sumNumericArray = function (arr) {
221
- return arr.reduce(function (prefixSum, num) { return prefixSum + num; }, 0);
222
- };
212
+ const defaultValueFormatter = (value) => (value * 1).toFixed(1) + '%';
213
+ exports.defaultValueFormatter = defaultValueFormatter;
214
+ const sumNumericArray = (arr) => arr.reduce((prefixSum, num) => prefixSum + num, 0);
215
+ exports.sumNumericArray = sumNumericArray;
223
216
  // export const parseData = (data: any[], colors: any[]) =>
224
217
  // data.map((dataPoint: any, idx: number) => {
225
218
  // const baseColor = idx < colors.length ? colors[idx] : BaseColors.Gray;
@@ -231,112 +224,108 @@ export var sumNumericArray = function (arr) {
231
224
  // };
232
225
  // });
233
226
  // @ts-ignore
234
- export var parseData = function (data, colors, categoryKey, valueKey) {
235
- var _a;
236
- var maxItems = 20;
237
- var slicedData = data.slice(0, maxItems);
238
- var totalValue = slicedData.reduce(function (acc, dataPoint) { return acc + Number(dataPoint[valueKey]); }, 0);
227
+ const parseData = (data, colors, categoryKey, valueKey) => {
228
+ const maxItems = 20;
229
+ const slicedData = data.slice(0, maxItems);
230
+ let totalValue = slicedData.reduce((acc, dataPoint) => acc + Number(dataPoint[valueKey]), 0);
239
231
  if (totalValue !== 100) {
240
- slicedData.forEach(function (dataPoint) {
232
+ slicedData.forEach(dataPoint => {
241
233
  dataPoint[valueKey] = (Number(dataPoint[valueKey]) * 100) / totalValue;
242
234
  });
243
235
  totalValue = 100;
244
236
  }
245
- var parsedData = slicedData.map(function (dataPoint, idx) {
246
- var baseColor = idx < colors.length ? colors[idx] : colors[colors.length - 1];
247
- return __assign(__assign({}, dataPoint), { color: baseColor, fill: baseColor });
237
+ const parsedData = slicedData.map((dataPoint, idx) => {
238
+ const baseColor = idx < colors.length ? colors[idx] : colors[colors.length - 1];
239
+ return {
240
+ ...dataPoint,
241
+ color: baseColor,
242
+ fill: baseColor,
243
+ };
248
244
  });
249
245
  if (data.length > maxItems) {
250
- var otherData = data.slice(maxItems);
251
- var otherSum = otherData.reduce(function (acc, dataPoint) { return acc + Number(dataPoint[valueKey]); }, 0);
252
- var otherColor = colors[colors.length - 1];
253
- var normalizedOtherSum = (otherSum * 100) / totalValue;
254
- parsedData.push((_a = {},
255
- _a[categoryKey] = 'Other',
256
- _a[valueKey] = normalizedOtherSum,
257
- _a.color = otherColor,
258
- _a.fill = otherColor,
259
- _a));
246
+ const otherData = data.slice(maxItems);
247
+ const otherSum = otherData.reduce((acc, dataPoint) => acc + Number(dataPoint[valueKey]), 0);
248
+ const otherColor = colors[colors.length - 1];
249
+ const normalizedOtherSum = (otherSum * 100) / totalValue;
250
+ parsedData.push({
251
+ [categoryKey]: 'Other',
252
+ [valueKey]: normalizedOtherSum,
253
+ color: otherColor,
254
+ fill: otherColor,
255
+ });
260
256
  }
261
257
  return parsedData;
262
258
  };
263
- var calculateDefaultLabel = function (data, category) {
264
- return sumNumericArray(data.map(function (dataPoint) { return dataPoint[category]; }));
265
- };
266
- export var parseLabelInput = function (labelInput, valueFormatter, data, category) {
267
- return labelInput
268
- ? labelInput
269
- : valueFormatter(calculateDefaultLabel(data, category));
270
- };
271
- export var ChartTooltipFrame = function (_a) {
272
- var children = _a.children, theme = _a.theme;
273
- return (_jsx("div", __assign({ style: {
274
- borderStyle: 'solid',
275
- borderColor: (theme === null || theme === void 0 ? void 0 : theme.borderColor) || '#E5E7EB',
276
- borderWidth: 1,
277
- background: (theme === null || theme === void 0 ? void 0 : theme.backgroundColor) || '#ffffff',
278
- fontSize: (theme === null || theme === void 0 ? void 0 : theme.fontSize) || '14px',
279
- borderRadius: '6px',
280
- boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
281
- } }, { children: children })));
282
- };
283
- export var ChartTooltipRow = function (_a) {
284
- var value = _a.value, name = _a.name, color = _a.color, theme = _a.theme;
285
- return (_jsxs("div", __assign({ style: {
286
- display: 'flex',
287
- alignItems: 'center',
288
- justifyContent: 'space-between',
289
- minWidth: 120,
290
- // minHeight: 27,
291
- // margin: '0 2rem',
292
- } }, { children: [_jsxs("div", __assign({ style: {
293
- display: 'flex',
294
- alignItems: 'center',
295
- justifyContent: 'space-between',
296
- // margin: '0 0.5rem',
297
- // minWidth: 120,
298
- } }, { children: [_jsx("span", { style: {
299
- background: color,
300
- borderWidth: 2,
301
- borderStyle: 'solid',
302
- borderColor: 'white',
303
- height: '8px',
304
- width: '8px',
305
- boxShadow: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
306
- borderRadius: '9999px',
307
- marginRight: 5,
308
- } }), _jsx("p", __assign({
309
- // className={twMerge(
310
- // 'font-medium tabular-nums text-right whitespace-nowrap',
311
- // 'text-[#212121] !important'
312
- // )}
313
- style: {
314
- marginTop: 0,
315
- marginBottom: 0,
316
- fontFamily: theme === null || theme === void 0 ? void 0 : theme.fontFamily,
317
- color: theme === null || theme === void 0 ? void 0 : theme.primaryTextColor,
318
- paddingTop: 2,
319
- paddingBottom: 2,
320
- fontSize: (theme === null || theme === void 0 ? void 0 : theme.fontSizeSmall) || '14px',
321
- fontWeight: (theme === null || theme === void 0 ? void 0 : theme.fontWeightMedium) || '500',
322
- } }, { children: value }))] })), _jsx("p", __assign({ style: {
323
- marginTop: 0,
324
- marginBottom: 0,
325
- fontFamily: theme === null || theme === void 0 ? void 0 : theme.fontFamily,
326
- color: theme === null || theme === void 0 ? void 0 : theme.secondaryTextColor,
327
- whiteSpace: 'nowrap',
328
- overflow: 'hidden',
329
- textOverflow: 'ellipsis',
330
- textAlign: 'right',
331
- fontSize: (theme === null || theme === void 0 ? void 0 : theme.fontSizeSmall) || '14px',
332
- fontWeight: (theme === null || theme === void 0 ? void 0 : theme.fontWeightNormal) || '400',
333
- } }, { children: name }))] })));
334
- };
335
- export var DonutChartTooltip = function (_a) {
336
- var active = _a.active, payload = _a.payload, valueFormatter = _a.valueFormatter, theme = _a.theme;
259
+ exports.parseData = parseData;
260
+ const calculateDefaultLabel = (data, category) => (0, exports.sumNumericArray)(data.map(dataPoint => dataPoint[category]));
261
+ const parseLabelInput = (labelInput, valueFormatter, data, category) => labelInput
262
+ ? labelInput
263
+ : valueFormatter(calculateDefaultLabel(data, category));
264
+ exports.parseLabelInput = parseLabelInput;
265
+ const ChartTooltipFrame = ({ children, theme, }) => ((0, jsx_runtime_1.jsx)("div", { style: {
266
+ borderStyle: 'solid',
267
+ borderColor: theme?.borderColor || '#E5E7EB',
268
+ borderWidth: 1,
269
+ background: theme?.backgroundColor || '#ffffff',
270
+ fontSize: theme?.fontSize || '14px',
271
+ borderRadius: '6px',
272
+ boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
273
+ }, children: children }));
274
+ exports.ChartTooltipFrame = ChartTooltipFrame;
275
+ const ChartTooltipRow = ({ value, name, color, theme, }) => ((0, jsx_runtime_1.jsxs)("div", { style: {
276
+ display: 'flex',
277
+ alignItems: 'center',
278
+ justifyContent: 'space-between',
279
+ minWidth: 120,
280
+ // minHeight: 27,
281
+ // margin: '0 2rem',
282
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
283
+ display: 'flex',
284
+ alignItems: 'center',
285
+ justifyContent: 'space-between',
286
+ // margin: '0 0.5rem',
287
+ // minWidth: 120,
288
+ }, children: [(0, jsx_runtime_1.jsx)("span", { style: {
289
+ background: color,
290
+ borderWidth: 2,
291
+ borderStyle: 'solid',
292
+ borderColor: 'white',
293
+ height: '8px',
294
+ width: '8px',
295
+ boxShadow: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
296
+ borderRadius: '9999px',
297
+ marginRight: 5,
298
+ } }), (0, jsx_runtime_1.jsx)("p", {
299
+ // className={twMerge(
300
+ // 'font-medium tabular-nums text-right whitespace-nowrap',
301
+ // 'text-[#212121] !important'
302
+ // )}
303
+ style: {
304
+ marginTop: 0,
305
+ marginBottom: 0,
306
+ fontFamily: theme?.fontFamily,
307
+ color: theme?.primaryTextColor,
308
+ paddingTop: 2,
309
+ paddingBottom: 2,
310
+ fontSize: theme?.fontSizeSmall || '14px',
311
+ fontWeight: theme?.fontWeightMedium || '500',
312
+ }, children: value })] }), (0, jsx_runtime_1.jsx)("p", { style: {
313
+ marginTop: 0,
314
+ marginBottom: 0,
315
+ fontFamily: theme?.fontFamily,
316
+ color: theme?.secondaryTextColor,
317
+ whiteSpace: 'nowrap',
318
+ overflow: 'hidden',
319
+ textOverflow: 'ellipsis',
320
+ textAlign: 'right',
321
+ fontSize: theme?.fontSizeSmall || '14px',
322
+ fontWeight: theme?.fontWeightNormal || '400',
323
+ }, children: name })] }));
324
+ exports.ChartTooltipRow = ChartTooltipRow;
325
+ const DonutChartTooltip = ({ active, payload, valueFormatter, theme, }) => {
337
326
  if (active && payload[0]) {
338
- var payloadRow = payload[0];
339
- return (_jsx(ChartTooltipFrame, __assign({ theme: theme }, { children: _jsx("div", __assign({
327
+ const payloadRow = payload[0];
328
+ return ((0, jsx_runtime_1.jsx)(exports.ChartTooltipFrame, { theme: theme, children: (0, jsx_runtime_1.jsx)("div", {
340
329
  // style={{ transform: 'translateX(-120px)' }}
341
330
  // className={twMerge('qq-px-4', 'qq-py-2')}
342
331
  style: {
@@ -344,41 +333,42 @@ export var DonutChartTooltip = function (_a) {
344
333
  paddingRight: '1rem',
345
334
  paddingTop: '8px',
346
335
  paddingBottom: '8px',
347
- } }, { children: _jsx(ChartTooltipRow, { value: valueFormatter(payloadRow.value), name: payloadRow.name, color: payloadRow.payload.color, theme: theme }) })) })));
336
+ }, children: (0, jsx_runtime_1.jsx)(exports.ChartTooltipRow, { value: valueFormatter(payloadRow.value), name: payloadRow.name, color: payloadRow.payload.color, theme: theme }) }) }));
348
337
  }
349
338
  return null;
350
339
  };
340
+ exports.DonutChartTooltip = DonutChartTooltip;
351
341
  // @ts-ignore
352
- export function findComplementaryAndAnalogousColors(color1, color2) {
342
+ function findComplementaryAndAnalogousColors(color1, color2) {
353
343
  // Calculate the hue of the first color
354
- var color1HSL = rgbToHsl(hexToRgb(color1));
355
- var color2HSL = rgbToHsl(hexToRgb(color2));
356
- var color1Hue = color1HSL.h;
344
+ const color1HSL = rgbToHsl(hexToRgb(color1));
345
+ const color2HSL = rgbToHsl(hexToRgb(color2));
346
+ const color1Hue = color1HSL.h;
357
347
  // Calculate the complementary color of the first color
358
- var complementaryHue = (color1Hue + 180) % 360;
359
- var complementaryColor = hslToRgb({
348
+ const complementaryHue = (color1Hue + 180) % 360;
349
+ const complementaryColor = hslToRgb({
360
350
  h: complementaryHue,
361
351
  s: color1HSL.s,
362
352
  l: color1HSL.l,
363
353
  });
364
354
  // Find an analogous hue to the first color
365
- var analogousHue1 = (color1Hue + 30) % 360;
366
- var analogousHue2 = (color1Hue - 30 + 360) % 360;
355
+ const analogousHue1 = (color1Hue + 30) % 360;
356
+ const analogousHue2 = (color1Hue - 30 + 360) % 360;
367
357
  // Convert the analogous hues back to RGB colors
368
- var analogousColor1 = hslToRgb({
358
+ const analogousColor1 = hslToRgb({
369
359
  h: analogousHue1,
370
360
  s: color1HSL.s,
371
361
  l: color1HSL.l,
372
362
  });
373
- var analogousColor2 = hslToRgb({
363
+ const analogousColor2 = hslToRgb({
374
364
  h: analogousHue2,
375
365
  s: color1HSL.s,
376
366
  l: color1HSL.l,
377
367
  });
378
368
  // Calculate the average hue between the two colors
379
- var avgHue = (color1HSL.h + color2HSL.h) / 2;
369
+ const avgHue = (color1HSL.h + color2HSL.h) / 2;
380
370
  // Generate a new HSL object with the average hue and the same saturation and lightness as color1
381
- var analogousHsl = { h: avgHue, s: color1HSL.s, l: color1HSL.l };
371
+ const analogousHsl = { h: avgHue, s: color1HSL.s, l: color1HSL.l };
382
372
  return [
383
373
  color1,
384
374
  color2,
@@ -388,30 +378,31 @@ export function findComplementaryAndAnalogousColors(color1, color2) {
388
378
  // rgbToHex(analogousColor2),
389
379
  ];
390
380
  }
381
+ exports.findComplementaryAndAnalogousColors = findComplementaryAndAnalogousColors;
391
382
  // @ts-ignore
392
383
  function hexToRgb(hex) {
393
- var r = parseInt(hex.substring(1, 3), 16);
394
- var g = parseInt(hex.substring(3, 5), 16);
395
- var b = parseInt(hex.substring(5, 7), 16);
396
- return { r: r, g: g, b: b };
384
+ const r = parseInt(hex.substring(1, 3), 16);
385
+ const g = parseInt(hex.substring(3, 5), 16);
386
+ const b = parseInt(hex.substring(5, 7), 16);
387
+ return { r, g, b };
397
388
  }
398
389
  // @ts-ignore
399
390
  function rgbToHex(rgb) {
400
- var rHex = rgb.r.toString(16).padStart(2, '0');
401
- var gHex = rgb.g.toString(16).padStart(2, '0');
402
- var bHex = rgb.b.toString(16).padStart(2, '0');
403
- return "#".concat(rHex).concat(gHex).concat(bHex);
391
+ const rHex = rgb.r.toString(16).padStart(2, '0');
392
+ const gHex = rgb.g.toString(16).padStart(2, '0');
393
+ const bHex = rgb.b.toString(16).padStart(2, '0');
394
+ return `#${rHex}${gHex}${bHex}`;
404
395
  }
405
396
  // @ts-ignore
406
397
  function rgbToHsl(rgb) {
407
- var r = rgb.r / 255;
408
- var g = rgb.g / 255;
409
- var b = rgb.b / 255;
410
- var max = Math.max(r, g, b);
411
- var min = Math.min(r, g, b);
412
- var h = 0, s = 0, l = (max + min) / 2;
398
+ const r = rgb.r / 255;
399
+ const g = rgb.g / 255;
400
+ const b = rgb.b / 255;
401
+ const max = Math.max(r, g, b);
402
+ const min = Math.min(r, g, b);
403
+ const h = 0, s = 0, l = (max + min) / 2;
413
404
  if (max !== min) {
414
- var d = max - min;
405
+ const d = max - min;
415
406
  s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
416
407
  switch (max) {
417
408
  case r:
@@ -430,16 +421,16 @@ function rgbToHsl(rgb) {
430
421
  }
431
422
  // @ts-ignore
432
423
  function hslToRgb(hsl) {
433
- var h = hsl.h / 360;
434
- var s = hsl.s / 100;
435
- var l = hsl.l / 100;
436
- var r, g, b;
424
+ const h = hsl.h / 360;
425
+ const s = hsl.s / 100;
426
+ const l = hsl.l / 100;
427
+ let r, g, b;
437
428
  if (s === 0) {
438
429
  r = g = b = l;
439
430
  }
440
431
  else {
441
432
  // @ts-ignore
442
- var hue2rgb = function (p, q, t) {
433
+ const hue2rgb = (p, q, t) => {
443
434
  if (t < 0)
444
435
  t += 1;
445
436
  if (t > 1)
@@ -452,8 +443,8 @@ function hslToRgb(hsl) {
452
443
  return p + (q - p) * (2 / 3 - t) * 6;
453
444
  return p;
454
445
  };
455
- var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
456
- var p = 2 * l - q;
446
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
447
+ const p = 2 * l - q;
457
448
  r = hue2rgb(p, q, h + 1 / 3);
458
449
  g = hue2rgb(p, q, h);
459
450
  b = hue2rgb(p, q, h - 1 / 3);
@@ -466,21 +457,21 @@ function hslToRgb(hsl) {
466
457
  }
467
458
  // @ts-ignore
468
459
  function generateColorGradientSteps(n, colors) {
469
- var numColors = colors.length;
460
+ const numColors = colors.length;
470
461
  // If there are fewer than two colors, return the original array
471
462
  if (numColors < 2) {
472
463
  return colors;
473
464
  }
474
465
  // Initialize the output array with the first color
475
- var output = [colors[0]];
466
+ const output = [colors[0]];
476
467
  // Calculate the number of gradient steps between each pair of colors
477
- var stepsPerPair = Math.floor(n / (numColors - 1));
468
+ const stepsPerPair = Math.floor(n / (numColors - 1));
478
469
  // Generate the gradient steps for each pair of colors
479
- for (var i = 1; i < numColors; i++) {
480
- var color1 = colors[i - 1];
481
- var color2 = colors[i];
482
- var gradientSteps = generateGradientSteps(color1, color2, stepsPerPair);
483
- output.push.apply(output, gradientSteps);
470
+ for (let i = 1; i < numColors; i++) {
471
+ const color1 = colors[i - 1];
472
+ const color2 = colors[i];
473
+ const gradientSteps = generateGradientSteps(color1, color2, stepsPerPair);
474
+ output.push(...gradientSteps);
484
475
  }
485
476
  // If there are remaining steps, add the last color as a stopgap measure
486
477
  while (output.length < n) {
@@ -491,67 +482,72 @@ function generateColorGradientSteps(n, colors) {
491
482
  //@ts-ignore
492
483
  function generateGradientSteps(color1, color2, n) {
493
484
  // Convert the colors to RGB objects
494
- var rgb1 = hexToRgb(color1);
495
- var rgb2 = hexToRgb(color2);
485
+ const rgb1 = hexToRgb(color1);
486
+ const rgb2 = hexToRgb(color2);
496
487
  // Calculate the RGB color difference between the two colors
497
- var diffR = rgb2.r - rgb1.r;
498
- var diffG = rgb2.g - rgb1.g;
499
- var diffB = rgb2.b - rgb1.b;
488
+ const diffR = rgb2.r - rgb1.r;
489
+ const diffG = rgb2.g - rgb1.g;
490
+ const diffB = rgb2.b - rgb1.b;
500
491
  // Calculate the RGB gradient step size between the two colors
501
- var stepR = diffR / (n + 1);
502
- var stepG = diffG / (n + 1);
503
- var stepB = diffB / (n + 1);
492
+ const stepR = diffR / (n + 1);
493
+ const stepG = diffG / (n + 1);
494
+ const stepB = diffB / (n + 1);
504
495
  // Generate the RGB gradient steps
505
- var gradientSteps = [];
506
- for (var i = 1; i <= n; i++) {
507
- var r = Math.round(rgb1.r + stepR * i);
508
- var g = Math.round(rgb1.g + stepG * i);
509
- var b = Math.round(rgb1.b + stepB * i);
510
- gradientSteps.push(rgbToHex({ r: r, g: g, b: b }));
496
+ const gradientSteps = [];
497
+ for (let i = 1; i <= n; i++) {
498
+ const r = Math.round(rgb1.r + stepR * i);
499
+ const g = Math.round(rgb1.g + stepG * i);
500
+ const b = Math.round(rgb1.b + stepB * i);
501
+ gradientSteps.push(rgbToHex({ r, g, b }));
511
502
  }
512
503
  return gradientSteps;
513
504
  }
514
- var PieChartWrapper = React.forwardRef(function (props, ref) {
515
- var _a = props.category, category = _a === void 0 ? 'pct_of_the_total' : _a, _b = props.index, index = _b === void 0 ? 'status' : _b, data = props.data, _c = props.colors, colors = _c === void 0 ? [] : _c, _d = props.variant, variant = _d === void 0 ? 'donut' : _d, _e = props.valueFormatter, valueFormatter = _e === void 0 ? defaultValueFormatter : _e, label = props.label, _f = props.showLabel, showLabel = _f === void 0 ? true : _f, _g = props.showAnimation, showAnimation = _g === void 0 ? true : _g, _h = props.showTooltip, showTooltip = _h === void 0 ? true : _h, className = props.className, containerStyle = props.containerStyle, theme = props.theme, other = __rest(props, ["category", "index", "data", "colors", "variant", "valueFormatter", "label", "showLabel", "showAnimation", "showTooltip", "className", "containerStyle", "theme"]);
516
- var isDonut = variant == 'donut';
517
- var parsedLabelInput = parseLabelInput(label, valueFormatter, data, category);
518
- var newColors = generateColorGradientSteps(data.length, findComplementaryAndAnalogousColors(colors[0], colors[1]));
519
- return (_jsx("div", __assign({ ref: ref, style: __assign(__assign({}, containerStyle), { width: '100%',
505
+ const PieChartWrapper = react_1.default.forwardRef((props, ref) => {
506
+ const { category = 'pct_of_the_total', index = 'status', data, colors = [], variant = 'donut', valueFormatter = exports.defaultValueFormatter, label, showLabel = true, showAnimation = true, showTooltip = true, className, containerStyle, theme, ...other } = props;
507
+ const isDonut = variant == 'donut';
508
+ const parsedLabelInput = (0, exports.parseLabelInput)(label, valueFormatter, data, category);
509
+ const newColors = generateColorGradientSteps(data.length, findComplementaryAndAnalogousColors(colors[0], colors[1]));
510
+ return ((0, jsx_runtime_1.jsx)("div", { ref: ref, style: {
511
+ ...containerStyle,
512
+ width: '100%',
520
513
  // height: '100%',
521
- display: 'flex', flexDirection: 'row', alignItems: 'center', boxSizing: 'content-box' }) }, other, { children: _jsx(ResponsiveContainer, __assign({ width: "100%", height: "100%" }, { children: _jsxs(PieChart, { children: [_jsx(Pie
514
+ display: 'flex',
515
+ flexDirection: 'row',
516
+ alignItems: 'center',
517
+ boxSizing: 'content-box',
518
+ }, ...other, children: (0, jsx_runtime_1.jsx)(recharts_1.ResponsiveContainer, { width: "100%", height: "100%", children: (0, jsx_runtime_1.jsxs)(recharts_1.PieChart, { children: [(0, jsx_runtime_1.jsx)(recharts_1.Pie
522
519
  // style={{ transform: 'translateX(-120px)' }}
523
520
  , {
524
521
  // style={{ transform: 'translateX(-120px)' }}
525
- data: parseData(data, colors.length >= data.length
522
+ data: (0, exports.parseData)(data, colors.length >= data.length
526
523
  ? colors
527
- : generateColorGradientSteps(Math.min(21, data.length), __spreadArray(__spreadArray([], findComplementaryAndAnalogousColors(colors[0], colors[1]), true), colors.slice(2), true)), index, category), cx: "50%", cy: "50%", startAngle: 90, endAngle: -270, innerRadius: isDonut ? '70%' : '0%', outerRadius: "100%", paddingAngle: 0, dataKey: category, nameKey: index, isAnimationActive: true }), _jsx(Tooltip, { wrapperStyle: {
524
+ : generateColorGradientSteps(Math.min(21, data.length), [
525
+ ...findComplementaryAndAnalogousColors(colors[0], colors[1]),
526
+ ...colors.slice(2),
527
+ ]), index, category), cx: "50%", cy: "50%", startAngle: 90, endAngle: -270, innerRadius: isDonut ? '70%' : '0%', outerRadius: "100%", paddingAngle: 0, dataKey: category, nameKey: index, isAnimationActive: true }), (0, jsx_runtime_1.jsx)(recharts_1.Tooltip, { wrapperStyle: {
528
528
  outline: 'none',
529
- }, content: function (_a) {
530
- var active = _a.active, payload = _a.payload;
531
- return (_jsx(DonutChartTooltip, { active: active, payload: payload, valueFormatter: valueFormatter, theme: theme }));
532
- } })] }) })) })));
529
+ }, content: ({ active, payload }) => ((0, jsx_runtime_1.jsx)(exports.DonutChartTooltip, { active: active, payload: payload, valueFormatter: valueFormatter, theme: theme })) })] }) }) }));
533
530
  });
534
- function Legend2(_a) {
535
- var payload = _a.payload, colors = _a.colors;
536
- return (_jsx("div", { children: payload.map(function (item, idx) {
531
+ function Legend2({ payload, colors }) {
532
+ return ((0, jsx_runtime_1.jsx)("div", { children: payload.map((item, idx) => {
537
533
  if (idx > 9) {
538
534
  return null;
539
535
  }
540
- return (_jsxs("div", { children: [_jsx("div", { style: {
536
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
541
537
  height: 8,
542
538
  width: 8,
543
539
  borderRadius: 8,
544
540
  background: colors[idx],
545
541
  marginRight: 8,
546
542
  marginTop: 2,
547
- } }), _jsx("div", __assign({ style: {
543
+ } }), (0, jsx_runtime_1.jsx)("div", { style: {
548
544
  whiteSpace: 'nowrap',
549
545
  overflow: 'hidden',
550
546
  textOverflow: 'ellipsis',
551
547
  display: 'block',
552
548
  maxWidth: 120,
553
- } }, { children: item.value }))] }, item.value));
549
+ }, children: item.value })] }, item.value));
554
550
  }) }));
555
551
  }
556
- export default PieChartWrapper;
552
+ exports.default = PieChartWrapper;
557
553
  //# sourceMappingURL=PieChart.js.map