@quillsql/react 2.8.5 → 2.8.7

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