@quillsql/react 2.8.6 → 2.8.8

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 (82) hide show
  1. package/dist/AddToDashboardModal.js +181 -146
  2. package/dist/BarList.js +44 -36
  3. package/dist/Chart.js +132 -99
  4. package/dist/ChartBuilder.js +89 -80
  5. package/dist/ChartEditor.js +21 -14
  6. package/dist/Context.js +57 -52
  7. package/dist/Dashboard.js +213 -180
  8. package/dist/Dashboard.js.map +1 -1
  9. package/dist/DateRangePicker/Calendar.js +46 -41
  10. package/dist/DateRangePicker/DateRangePicker.js +61 -32
  11. package/dist/DateRangePicker/DateRangePickerButton.js +17 -14
  12. package/dist/DateRangePicker/dateRangePickerUtils.js +90 -76
  13. package/dist/DateRangePicker/dateRangePickerUtils.js.map +1 -1
  14. package/dist/DateRangePicker/index.js +9 -1
  15. package/dist/PieChart.js +70 -35
  16. package/dist/QuillProvider.js +7 -4
  17. package/dist/ReportBuilder.js +129 -120
  18. package/dist/SQLEditor.js +65 -56
  19. package/dist/Table.d.ts.map +1 -1
  20. package/dist/Table.js +71 -60
  21. package/dist/Table.js.map +1 -1
  22. package/dist/TableChart.js +45 -17
  23. package/dist/assets/ArrowDownHeadIcon.js +6 -3
  24. package/dist/assets/ArrowDownIcon.js +6 -3
  25. package/dist/assets/ArrowDownRightIcon.js +6 -3
  26. package/dist/assets/ArrowLeftHeadIcon.js +6 -3
  27. package/dist/assets/ArrowRightHeadIcon.js +6 -3
  28. package/dist/assets/ArrowRightIcon.js +6 -3
  29. package/dist/assets/ArrowUpHeadIcon.js +6 -3
  30. package/dist/assets/ArrowUpIcon.js +6 -3
  31. package/dist/assets/ArrowUpRightIcon.js +6 -3
  32. package/dist/assets/CalendarIcon.js +6 -3
  33. package/dist/assets/CalendarNormalIcon.js +6 -3
  34. package/dist/assets/DoubleArrowLeftHeadIcon.js +6 -3
  35. package/dist/assets/DoubleArrowRightHeadIcon.js +6 -3
  36. package/dist/assets/ExclamationFilledIcon.js +6 -3
  37. package/dist/assets/FilterIcon.js +6 -3
  38. package/dist/assets/LoadingSpinner.js +6 -3
  39. package/dist/assets/RefreshIcon.js +6 -3
  40. package/dist/assets/SearchIcon.js +6 -3
  41. package/dist/assets/UpLeftArrowsIcon.js +6 -3
  42. package/dist/assets/XCircleIcon.js +6 -3
  43. package/dist/assets/XIcon.js +6 -3
  44. package/dist/assets/index.js +49 -21
  45. package/dist/components/BigModal/BigModal.js +39 -13
  46. package/dist/components/Dropdown/Dropdown.js +53 -24
  47. package/dist/components/Dropdown/DropdownItem.js +35 -9
  48. package/dist/components/Dropdown/index.js +11 -2
  49. package/dist/components/Modal/Modal.js +39 -13
  50. package/dist/components/Modal/index.js +9 -1
  51. package/dist/components/QuillCard.js +13 -8
  52. package/dist/components/SqlTextEditor.js +11 -4
  53. package/dist/components/SqlTextEditor.js.map +1 -0
  54. package/dist/components/UiComponents.js +51 -37
  55. package/dist/components/selectUtils.js +17 -6
  56. package/dist/contexts/BaseColorContext.js +6 -3
  57. package/dist/contexts/HoveredValueContext.js +6 -3
  58. package/dist/contexts/RootStylesContext.js +6 -3
  59. package/dist/contexts/SelectedValueContext.js +6 -3
  60. package/dist/contexts/index.js +15 -4
  61. package/dist/hooks/index.js +15 -4
  62. package/dist/hooks/useDashboard.js +17 -11
  63. package/dist/hooks/useDashboard.js.map +1 -0
  64. package/dist/hooks/useInternalState.js +6 -3
  65. package/dist/hooks/useOnClickOutside.js +6 -3
  66. package/dist/hooks/useOnWindowResize.js +7 -4
  67. package/dist/hooks/useQuill.js +16 -11
  68. package/dist/hooks/useSelectOnKeyDown.js +7 -4
  69. package/dist/index.js +33 -13
  70. package/dist/index.js.map +1 -1
  71. package/dist/internals/ReportBuilder/PivotList.js +20 -14
  72. package/dist/internals/ReportBuilder/PivotModal.js +92 -84
  73. package/dist/internals/ReportBuilder/PivotModal.spec.js +73 -70
  74. package/dist/lib/font.js +6 -2
  75. package/dist/lib/index.js +20 -3
  76. package/dist/lib/inputTypes.js +3 -1
  77. package/dist/lib/utils.js +19 -8
  78. package/dist/utils/aggregate.js +35 -28
  79. package/dist/utils/colorToHex.js +5 -1
  80. package/dist/utils/dataFetcher.js +8 -2
  81. package/dist/utils/downloadCSV.js +6 -1
  82. package/package.json +2 -1
package/dist/PieChart.js CHANGED
@@ -1,9 +1,35 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
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]; } };
7
+ }
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;
24
+ };
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");
2
28
  /* eslint-disable @typescript-eslint/ban-ts-comment */
3
29
  /* eslint-disable react/display-name */
4
30
  // @ts-nocheck
5
- import React, { useRef, useState, useEffect } from 'react';
6
- import { Pie, PieChart, ResponsiveContainer, Tooltip, Legend } from 'recharts';
31
+ const react_1 = __importStar(require("react"));
32
+ const recharts_1 = require("recharts");
7
33
  // const data = [
8
34
  // {
9
35
  // name: 'Project Nile',
@@ -103,8 +129,8 @@ import { Pie, PieChart, ResponsiveContainer, Tooltip, Legend } from 'recharts';
103
129
  // },
104
130
  // ];
105
131
  const useOnWindowResize = (handler, initialWindowSize) => {
106
- const [windowSize, setWindowSize] = useState(initialWindowSize);
107
- useEffect(() => {
132
+ const [windowSize, setWindowSize] = (0, react_1.useState)(initialWindowSize);
133
+ (0, react_1.useEffect)(() => {
108
134
  const handleResize = () => {
109
135
  setWindowSize(window.innerWidth);
110
136
  handler();
@@ -115,7 +141,7 @@ const useOnWindowResize = (handler, initialWindowSize) => {
115
141
  }, [handler, windowSize]);
116
142
  };
117
143
  const ChartLegend = (categories, colors) => {
118
- const legendRef = useRef(null);
144
+ const legendRef = (0, react_1.useRef)(null);
119
145
  // useOnWindowResize(() => {
120
146
  // const calculateHeight = (height: number | undefined) =>
121
147
  // height
@@ -123,7 +149,7 @@ const ChartLegend = (categories, colors) => {
123
149
  // : 60; // default height
124
150
  // setLegendHeight(calculateHeight(legendRef.current?.clientHeight));
125
151
  // });
126
- return (_jsx("div", { 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
127
153
  // @ts-ignore
128
154
  , {
129
155
  // @ts-ignore
@@ -183,8 +209,10 @@ const alignItemsValues = [
183
209
  'baseline',
184
210
  'stretch',
185
211
  ];
186
- export const defaultValueFormatter = (value) => (value * 1).toFixed(1) + '%';
187
- export const sumNumericArray = (arr) => arr.reduce((prefixSum, num) => prefixSum + num, 0);
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;
188
216
  // export const parseData = (data: any[], colors: any[]) =>
189
217
  // data.map((dataPoint: any, idx: number) => {
190
218
  // const baseColor = idx < colors.length ? colors[idx] : BaseColors.Gray;
@@ -196,7 +224,7 @@ export const sumNumericArray = (arr) => arr.reduce((prefixSum, num) => prefixSum
196
224
  // };
197
225
  // });
198
226
  // @ts-ignore
199
- export const parseData = (data, colors, categoryKey, valueKey) => {
227
+ const parseData = (data, colors, categoryKey, valueKey) => {
200
228
  const maxItems = 20;
201
229
  const slicedData = data.slice(0, maxItems);
202
230
  let totalValue = slicedData.reduce((acc, dataPoint) => acc + Number(dataPoint[valueKey]), 0);
@@ -228,11 +256,13 @@ export const parseData = (data, colors, categoryKey, valueKey) => {
228
256
  }
229
257
  return parsedData;
230
258
  };
231
- const calculateDefaultLabel = (data, category) => sumNumericArray(data.map(dataPoint => dataPoint[category]));
232
- export const parseLabelInput = (labelInput, valueFormatter, data, category) => labelInput
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
233
262
  ? labelInput
234
263
  : valueFormatter(calculateDefaultLabel(data, category));
235
- export const ChartTooltipFrame = ({ children, theme, }) => (_jsx("div", { style: {
264
+ exports.parseLabelInput = parseLabelInput;
265
+ const ChartTooltipFrame = ({ children, theme, }) => ((0, jsx_runtime_1.jsx)("div", { style: {
236
266
  borderStyle: 'solid',
237
267
  borderColor: theme?.borderColor || '#E5E7EB',
238
268
  borderWidth: 1,
@@ -241,20 +271,21 @@ export const ChartTooltipFrame = ({ children, theme, }) => (_jsx("div", { style:
241
271
  borderRadius: '6px',
242
272
  boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
243
273
  }, children: children }));
244
- export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div", { style: {
274
+ exports.ChartTooltipFrame = ChartTooltipFrame;
275
+ const ChartTooltipRow = ({ value, name, color, theme, }) => ((0, jsx_runtime_1.jsxs)("div", { style: {
245
276
  display: 'flex',
246
277
  alignItems: 'center',
247
278
  justifyContent: 'space-between',
248
279
  minWidth: 120,
249
280
  // minHeight: 27,
250
281
  // margin: '0 2rem',
251
- }, children: [_jsxs("div", { style: {
282
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
252
283
  display: 'flex',
253
284
  alignItems: 'center',
254
285
  justifyContent: 'space-between',
255
286
  // margin: '0 0.5rem',
256
287
  // minWidth: 120,
257
- }, children: [_jsx("span", { style: {
288
+ }, children: [(0, jsx_runtime_1.jsx)("span", { style: {
258
289
  background: color,
259
290
  borderWidth: 2,
260
291
  borderStyle: 'solid',
@@ -264,7 +295,7 @@ export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div",
264
295
  boxShadow: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
265
296
  borderRadius: '9999px',
266
297
  marginRight: 5,
267
- } }), _jsx("p", {
298
+ } }), (0, jsx_runtime_1.jsx)("p", {
268
299
  // className={twMerge(
269
300
  // 'font-medium tabular-nums text-right whitespace-nowrap',
270
301
  // 'text-[#212121] !important'
@@ -278,7 +309,7 @@ export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div",
278
309
  paddingBottom: 2,
279
310
  fontSize: theme?.fontSizeSmall || '14px',
280
311
  fontWeight: theme?.fontWeightMedium || '500',
281
- }, children: value })] }), _jsx("p", { style: {
312
+ }, children: value })] }), (0, jsx_runtime_1.jsx)("p", { style: {
282
313
  marginTop: 0,
283
314
  marginBottom: 0,
284
315
  fontFamily: theme?.fontFamily,
@@ -290,10 +321,11 @@ export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div",
290
321
  fontSize: theme?.fontSizeSmall || '14px',
291
322
  fontWeight: theme?.fontWeightNormal || '400',
292
323
  }, children: name })] }));
293
- export const DonutChartTooltip = ({ active, payload, valueFormatter, theme, }) => {
324
+ exports.ChartTooltipRow = ChartTooltipRow;
325
+ const DonutChartTooltip = ({ active, payload, valueFormatter, theme, }) => {
294
326
  if (active && payload[0]) {
295
327
  const payloadRow = payload[0];
296
- return (_jsx(ChartTooltipFrame, { theme: theme, children: _jsx("div", {
328
+ return ((0, jsx_runtime_1.jsx)(exports.ChartTooltipFrame, { theme: theme, children: (0, jsx_runtime_1.jsx)("div", {
297
329
  // style={{ transform: 'translateX(-120px)' }}
298
330
  // className={twMerge('qq-px-4', 'qq-py-2')}
299
331
  style: {
@@ -301,12 +333,13 @@ export const DonutChartTooltip = ({ active, payload, valueFormatter, theme, }) =
301
333
  paddingRight: '1rem',
302
334
  paddingTop: '8px',
303
335
  paddingBottom: '8px',
304
- }, 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 }) }) }));
305
337
  }
306
338
  return null;
307
339
  };
340
+ exports.DonutChartTooltip = DonutChartTooltip;
308
341
  // @ts-ignore
309
- export function findComplementaryAndAnalogousColors(color1, color2) {
342
+ function findComplementaryAndAnalogousColors(color1, color2) {
310
343
  // Calculate the hue of the first color
311
344
  const color1HSL = rgbToHsl(hexToRgb(color1));
312
345
  const color2HSL = rgbToHsl(hexToRgb(color2));
@@ -345,6 +378,7 @@ export function findComplementaryAndAnalogousColors(color1, color2) {
345
378
  // rgbToHex(analogousColor2),
346
379
  ];
347
380
  }
381
+ exports.findComplementaryAndAnalogousColors = findComplementaryAndAnalogousColors;
348
382
  // @ts-ignore
349
383
  function hexToRgb(hex) {
350
384
  const r = parseInt(hex.substring(1, 3), 16);
@@ -468,12 +502,12 @@ function generateGradientSteps(color1, color2, n) {
468
502
  }
469
503
  return gradientSteps;
470
504
  }
471
- const PieChartWrapper = React.forwardRef((props, ref) => {
472
- const { category = 'pct_of_the_total', index = 'status', data, colors = [], variant = 'donut', valueFormatter = defaultValueFormatter, label, showLabel = true, showAnimation = true, showTooltip = true, className, containerStyle, theme, ...other } = props;
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;
473
507
  const isDonut = variant == 'donut';
474
- const parsedLabelInput = parseLabelInput(label, valueFormatter, data, category);
508
+ const parsedLabelInput = (0, exports.parseLabelInput)(label, valueFormatter, data, category);
475
509
  if (!data || data.length === 0) {
476
- return (_jsx("div", { style: {
510
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
477
511
  display: 'flex',
478
512
  flex: '1 0 auto',
479
513
  height: '100%',
@@ -488,7 +522,7 @@ const PieChartWrapper = React.forwardRef((props, ref) => {
488
522
  // data.length,
489
523
  // findComplementaryAndAnalogousColors(colors[0], colors[1])
490
524
  // );
491
- return (_jsx("div", { ref: ref, style: {
525
+ return ((0, jsx_runtime_1.jsx)("div", { ref: ref, style: {
492
526
  ...containerStyle,
493
527
  width: '100%',
494
528
  // height: '100%',
@@ -496,32 +530,32 @@ const PieChartWrapper = React.forwardRef((props, ref) => {
496
530
  flexDirection: 'row',
497
531
  alignItems: 'center',
498
532
  boxSizing: 'content-box',
499
- }, ...other, children: _jsx(ResponsiveContainer, { width: "100%", height: "100%", children: _jsxs(PieChart, { children: [_jsx(Pie
533
+ }, ...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
500
534
  // style={{ transform: 'translateX(-120px)' }}
501
535
  , {
502
536
  // style={{ transform: 'translateX(-120px)' }}
503
- data: parseData(data, colors.length >= data.length
537
+ data: (0, exports.parseData)(data, colors.length >= data.length
504
538
  ? colors
505
539
  : generateColorGradientSteps(Math.min(21, data.length), [
506
540
  ...findComplementaryAndAnalogousColors(colors[0], colors[1]),
507
541
  ...colors.slice(2),
508
- ]), 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: {
542
+ ]), 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: {
509
543
  outline: 'none',
510
- }, content: ({ active, payload }) => (_jsx(DonutChartTooltip, { active: active, payload: payload, valueFormatter: valueFormatter, theme: theme })) })] }) }) }));
544
+ }, content: ({ active, payload }) => ((0, jsx_runtime_1.jsx)(exports.DonutChartTooltip, { active: active, payload: payload, valueFormatter: valueFormatter, theme: theme })) })] }) }) }));
511
545
  });
512
546
  function Legend2({ payload, colors }) {
513
- return (_jsx("div", { children: payload.map((item, idx) => {
547
+ return ((0, jsx_runtime_1.jsx)("div", { children: payload.map((item, idx) => {
514
548
  if (idx > 9) {
515
549
  return null;
516
550
  }
517
- return (_jsxs("div", { children: [_jsx("div", { style: {
551
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
518
552
  height: 8,
519
553
  width: 8,
520
554
  borderRadius: 8,
521
555
  background: colors[idx],
522
556
  marginRight: 8,
523
557
  marginTop: 2,
524
- } }), _jsx("div", { style: {
558
+ } }), (0, jsx_runtime_1.jsx)("div", { style: {
525
559
  whiteSpace: 'nowrap',
526
560
  overflow: 'hidden',
527
561
  textOverflow: 'ellipsis',
@@ -530,4 +564,5 @@ function Legend2({ payload, colors }) {
530
564
  }, children: item.value })] }, item.value));
531
565
  }) }));
532
566
  }
533
- export default PieChartWrapper;
567
+ exports.default = PieChartWrapper;
568
+ //# sourceMappingURL=PieChart.js.map
@@ -1,5 +1,7 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ContextProvider } from './Context';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const Context_1 = require("./Context");
3
5
  const defaultTheme = {
4
6
  fontFamily: 'Inter; Helvetica',
5
7
  backgroundColor: '#FFFFFF',
@@ -25,6 +27,7 @@ const defaultTheme = {
25
27
  loadingStateBackgroundColor: '#F9F9FA',
26
28
  };
27
29
  const QuillProvider = ({ organizationId, publicKey, queryEndpoint, queryHeaders, environment, children, theme = defaultTheme, withCredentials = false, }) => {
28
- return (_jsx(ContextProvider, { initialTheme: theme, publicKey: publicKey, environment: environment, customerId: organizationId, queryEndpoint: queryEndpoint, queryHeaders: queryHeaders, withCredentials: withCredentials, children: children }));
30
+ return ((0, jsx_runtime_1.jsx)(Context_1.ContextProvider, { initialTheme: theme, publicKey: publicKey, environment: environment, customerId: organizationId, queryEndpoint: queryEndpoint, queryHeaders: queryHeaders, withCredentials: withCredentials, children: children }));
29
31
  };
30
- export default QuillProvider;
32
+ exports.default = QuillProvider;
33
+ //# sourceMappingURL=QuillProvider.js.map