@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
@@ -1,7 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
1
3
  // @ts-nocheck
2
- import { expect } from 'chai';
3
- import { generatePivotTable } from './PivotModal';
4
- import { subMonths } from 'date-fns';
4
+ const chai_1 = require("chai");
5
+ const PivotModal_1 = require("./PivotModal");
6
+ const date_fns_1 = require("date-fns");
5
7
  describe('PivotModal', function () {
6
8
  describe('generatePivotTable', function () {
7
9
  context('non date pivots', function () {
@@ -25,36 +27,36 @@ describe('PivotModal', function () {
25
27
  { merchant: 'm2', amount: 8, user_name: 'u2' },
26
28
  ];
27
29
  it('should return empty table with no data', function () {
28
- const table = generatePivotTable(rowPivot, [], [new Date(), subMonths(new Date(), 3)]);
29
- expect(table.columns.length).to.equal(2);
30
- expect(table.rows.length).to.equal(0);
30
+ const table = (0, PivotModal_1.generatePivotTable)(rowPivot, [], [new Date(), (0, date_fns_1.subMonths)(new Date(), 3)]);
31
+ (0, chai_1.expect)(table.columns.length).to.equal(2);
32
+ (0, chai_1.expect)(table.rows.length).to.equal(0);
31
33
  });
32
34
  it('should combine values based on row pivot', function () {
33
- const table = generatePivotTable(rowPivot, rows, [
35
+ const table = (0, PivotModal_1.generatePivotTable)(rowPivot, rows, [
34
36
  new Date(),
35
- subMonths(new Date(), 3),
37
+ (0, date_fns_1.subMonths)(new Date(), 3),
36
38
  ]);
37
- expect(table.columns.length).to.equal(2);
38
- expect(table.columns[0].field).to.equal('merchant');
39
- expect(table.columns[1].field).to.equal('amount');
40
- expect(table.rows.length).to.equal(2);
41
- expect(table.rows[0].amount).to.equal(12);
42
- expect(table.rows[1].amount).to.equal(21);
39
+ (0, chai_1.expect)(table.columns.length).to.equal(2);
40
+ (0, chai_1.expect)(table.columns[0].field).to.equal('merchant');
41
+ (0, chai_1.expect)(table.columns[1].field).to.equal('amount');
42
+ (0, chai_1.expect)(table.rows.length).to.equal(2);
43
+ (0, chai_1.expect)(table.rows[0].amount).to.equal(12);
44
+ (0, chai_1.expect)(table.rows[1].amount).to.equal(21);
43
45
  });
44
46
  it('should combine values based on row and column pivots', function () {
45
- const table = generatePivotTable(rowColumnPivot, rows, [
47
+ const table = (0, PivotModal_1.generatePivotTable)(rowColumnPivot, rows, [
46
48
  new Date(),
47
- subMonths(new Date(), 3),
49
+ (0, date_fns_1.subMonths)(new Date(), 3),
48
50
  ]);
49
- expect(table.columns.length).to.equal(3);
50
- expect(table.columns[0].field).to.equal('merchant');
51
- expect(table.columns[1].field).to.equal('u1');
52
- expect(table.columns[2].field).to.equal('u2');
53
- expect(table.rows.length).to.equal(2);
54
- expect(table.rows[0].u1).to.equal(8);
55
- expect(table.rows[0].u2).to.equal(4);
56
- expect(table.rows[1].u1).to.equal(6);
57
- expect(table.rows[1].u2).to.equal(15);
51
+ (0, chai_1.expect)(table.columns.length).to.equal(3);
52
+ (0, chai_1.expect)(table.columns[0].field).to.equal('merchant');
53
+ (0, chai_1.expect)(table.columns[1].field).to.equal('u1');
54
+ (0, chai_1.expect)(table.columns[2].field).to.equal('u2');
55
+ (0, chai_1.expect)(table.rows.length).to.equal(2);
56
+ (0, chai_1.expect)(table.rows[0].u1).to.equal(8);
57
+ (0, chai_1.expect)(table.rows[0].u2).to.equal(4);
58
+ (0, chai_1.expect)(table.rows[1].u1).to.equal(6);
59
+ (0, chai_1.expect)(table.rows[1].u2).to.equal(15);
58
60
  });
59
61
  });
60
62
  context('date pivots', function () {
@@ -102,17 +104,17 @@ describe('PivotModal', function () {
102
104
  valueField: 'amount',
103
105
  aggregationType: 'sum',
104
106
  };
105
- const table = generatePivotTable(pivot, rows, [
107
+ const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
106
108
  new Date('October 10, 2023 00:00:00'),
107
109
  new Date('October 15, 2023 00:00:00'),
108
110
  ]);
109
- expect(table.columns.length).to.equal(2);
110
- expect(table.columns[0].field).to.equal('date');
111
- expect(table.columns[1].field).to.equal('amount');
112
- expect(table.rows.length).to.equal(6);
113
- expect(table.rows[3].amount).to.equal(9);
114
- expect(table.rows[4].amount).to.equal(17);
115
- expect(table.rows[5].amount).to.equal(0);
111
+ (0, chai_1.expect)(table.columns.length).to.equal(2);
112
+ (0, chai_1.expect)(table.columns[0].field).to.equal('date');
113
+ (0, chai_1.expect)(table.columns[1].field).to.equal('amount');
114
+ (0, chai_1.expect)(table.rows.length).to.equal(6);
115
+ (0, chai_1.expect)(table.rows[3].amount).to.equal(9);
116
+ (0, chai_1.expect)(table.rows[4].amount).to.equal(17);
117
+ (0, chai_1.expect)(table.rows[5].amount).to.equal(0);
116
118
  });
117
119
  it('should handle a row timestamp pivot', function () {
118
120
  const pivot = {
@@ -121,17 +123,17 @@ describe('PivotModal', function () {
121
123
  valueField: 'amount',
122
124
  aggregationType: 'sum',
123
125
  };
124
- const table = generatePivotTable(pivot, rows, [
126
+ const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
125
127
  new Date('October 10, 2023 00:00:00').getTime(),
126
128
  new Date('October 15, 2023 00:00:00').getTime(),
127
129
  ]);
128
- expect(table.columns.length).to.equal(2);
129
- expect(table.columns[0].field).to.equal('date');
130
- expect(table.columns[1].field).to.equal('amount');
131
- expect(table.rows.length).to.equal(6);
132
- expect(table.rows[3].amount).to.equal(9);
133
- expect(table.rows[4].amount).to.equal(17);
134
- expect(table.rows[5].amount).to.equal(0);
130
+ (0, chai_1.expect)(table.columns.length).to.equal(2);
131
+ (0, chai_1.expect)(table.columns[0].field).to.equal('date');
132
+ (0, chai_1.expect)(table.columns[1].field).to.equal('amount');
133
+ (0, chai_1.expect)(table.rows.length).to.equal(6);
134
+ (0, chai_1.expect)(table.rows[3].amount).to.equal(9);
135
+ (0, chai_1.expect)(table.rows[4].amount).to.equal(17);
136
+ (0, chai_1.expect)(table.rows[5].amount).to.equal(0);
135
137
  });
136
138
  it('should handle a string row pivot with a date column pivot', function () {
137
139
  const pivot = {
@@ -142,20 +144,20 @@ describe('PivotModal', function () {
142
144
  rowField: 'user_name',
143
145
  rowFieldType: 'varchar',
144
146
  };
145
- const table = generatePivotTable(pivot, rows, [
147
+ const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
146
148
  new Date('October 10, 2023 00:00:00'),
147
149
  new Date('October 15, 2023 00:00:00'),
148
150
  ]);
149
- expect(table.columns.length).to.equal(7);
150
- expect(table.columns[0].field).to.equal('user_name');
151
- expect(table.rows.length).to.equal(2);
151
+ (0, chai_1.expect)(table.columns.length).to.equal(7);
152
+ (0, chai_1.expect)(table.columns[0].field).to.equal('user_name');
153
+ (0, chai_1.expect)(table.rows.length).to.equal(2);
152
154
  // u1
153
- expect(table.rows[0].user_name).to.equal('u1');
154
- expect(Object.values(table.rows[0])[4]).to.equal(9);
155
- expect(Object.values(table.rows[0])[5]).to.equal(11);
155
+ (0, chai_1.expect)(table.rows[0].user_name).to.equal('u1');
156
+ (0, chai_1.expect)(Object.values(table.rows[0])[4]).to.equal(9);
157
+ (0, chai_1.expect)(Object.values(table.rows[0])[5]).to.equal(11);
156
158
  // u2
157
- expect(table.rows[1].user_name).to.equal('u2');
158
- expect(Object.values(table.rows[1])[5]).to.equal(6);
159
+ (0, chai_1.expect)(table.rows[1].user_name).to.equal('u2');
160
+ (0, chai_1.expect)(Object.values(table.rows[1])[5]).to.equal(6);
159
161
  });
160
162
  it('should handle a date row pivot with a string column pivot', function () {
161
163
  const pivot = {
@@ -166,23 +168,23 @@ describe('PivotModal', function () {
166
168
  columnField: 'user_name',
167
169
  columnFieldType: 'varchar',
168
170
  };
169
- const table = generatePivotTable(pivot, rows, [
171
+ const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
170
172
  new Date('October 10, 2023 00:00:00'),
171
173
  new Date('October 15, 2023 00:00:00'),
172
174
  ]);
173
- expect(table.columns.length).to.equal(3);
174
- expect(table.columns[0].field).to.equal('date');
175
- expect(table.columns[1].field).to.equal('u1');
176
- expect(table.columns[2].field).to.equal('u2');
177
- expect(table.rows.length).to.equal(6);
175
+ (0, chai_1.expect)(table.columns.length).to.equal(3);
176
+ (0, chai_1.expect)(table.columns[0].field).to.equal('date');
177
+ (0, chai_1.expect)(table.columns[1].field).to.equal('u1');
178
+ (0, chai_1.expect)(table.columns[2].field).to.equal('u2');
179
+ (0, chai_1.expect)(table.rows.length).to.equal(6);
178
180
  // day without transactions
179
- expect(table.rows[2].u1).to.equal(0);
180
- expect(table.rows[2].u2).to.equal(0);
181
+ (0, chai_1.expect)(table.rows[2].u1).to.equal(0);
182
+ (0, chai_1.expect)(table.rows[2].u2).to.equal(0);
181
183
  // days with transactions
182
- expect(table.rows[3].u1).to.equal(9);
183
- expect(table.rows[3].u2).to.equal(0);
184
- expect(table.rows[4].u1).to.equal(11);
185
- expect(table.rows[4].u2).to.equal(6);
184
+ (0, chai_1.expect)(table.rows[3].u1).to.equal(9);
185
+ (0, chai_1.expect)(table.rows[3].u2).to.equal(0);
186
+ (0, chai_1.expect)(table.rows[4].u1).to.equal(11);
187
+ (0, chai_1.expect)(table.rows[4].u2).to.equal(6);
186
188
  });
187
189
  it('should handle a date row pivot with a date column pivot', function () {
188
190
  const pivot = {
@@ -193,19 +195,20 @@ describe('PivotModal', function () {
193
195
  rowField: 'created_at',
194
196
  rowFieldType: 'date',
195
197
  };
196
- const table = generatePivotTable(pivot, rows, [
198
+ const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
197
199
  new Date('October 10, 2023 00:00:00'),
198
200
  new Date('October 15, 2023 00:00:00'),
199
201
  ]);
200
202
  console.log(table);
201
- expect(table.columns.length).to.equal(7);
202
- expect(table.columns[0].field).to.equal('created_at');
203
- expect(table.rows.length).to.equal(6);
204
- expect(Object.values(table.rows[3])[4]).to.equal(1);
205
- expect(Object.values(table.rows[3])[5]).to.equal(2);
206
- expect(Object.values(table.rows[4])[4]).to.equal(1);
207
- expect(Object.values(table.rows[4])[5]).to.equal(1);
203
+ (0, chai_1.expect)(table.columns.length).to.equal(7);
204
+ (0, chai_1.expect)(table.columns[0].field).to.equal('created_at');
205
+ (0, chai_1.expect)(table.rows.length).to.equal(6);
206
+ (0, chai_1.expect)(Object.values(table.rows[3])[4]).to.equal(1);
207
+ (0, chai_1.expect)(Object.values(table.rows[3])[5]).to.equal(2);
208
+ (0, chai_1.expect)(Object.values(table.rows[4])[4]).to.equal(1);
209
+ (0, chai_1.expect)(Object.values(table.rows[4])[5]).to.equal(1);
208
210
  });
209
211
  });
210
212
  });
211
213
  });
214
+ //# sourceMappingURL=PivotModal.spec.js.map
package/dist/lib/font.js CHANGED
@@ -1,4 +1,7 @@
1
- export const fontSize = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fontWeight = exports.fontSize = void 0;
4
+ exports.fontSize = {
2
5
  xs: 'qq-text-xs',
3
6
  sm: 'qq-text-sm',
4
7
  md: 'qq-text-base',
@@ -6,8 +9,9 @@ export const fontSize = {
6
9
  xl: 'qq-text-xl',
7
10
  threeXl: 'qq-text-3xl',
8
11
  };
9
- export const fontWeight = {
12
+ exports.fontWeight = {
10
13
  sm: 'qq-font-normal',
11
14
  md: 'qq-font-medium',
12
15
  lg: 'qq-font-semibold',
13
16
  };
17
+ //# sourceMappingURL=font.js.map
package/dist/lib/index.js CHANGED
@@ -1,3 +1,20 @@
1
- export * from './inputTypes';
2
- export * from './font';
3
- export * from './utils';
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./inputTypes"), exports);
18
+ __exportStar(require("./font"), exports);
19
+ __exportStar(require("./utils"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
1
3
  const iconVariantValues = [
2
4
  'simple',
3
5
  'light',
@@ -52,4 +54,4 @@ const alignItemsValues = [
52
54
  'baseline',
53
55
  'stretch',
54
56
  ];
55
- export {};
57
+ //# sourceMappingURL=inputTypes.js.map
package/dist/lib/utils.js CHANGED
@@ -1,13 +1,19 @@
1
- export const defaultValueFormatter = (value) => value.toString();
2
- export const sumNumericArray = (arr) => arr.reduce((prefixSum, num) => prefixSum + num, 0);
3
- export const removeValueFromArray = (value, array) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeRefs = exports.stringEndsWithNumber = exports.stringIsNumeric = exports.isValueInArray = exports.removeValueFromArray = exports.sumNumericArray = exports.defaultValueFormatter = void 0;
4
+ const defaultValueFormatter = (value) => value.toString();
5
+ exports.defaultValueFormatter = defaultValueFormatter;
6
+ const sumNumericArray = (arr) => arr.reduce((prefixSum, num) => prefixSum + num, 0);
7
+ exports.sumNumericArray = sumNumericArray;
8
+ const removeValueFromArray = (value, array) => {
4
9
  const index = array.indexOf(value);
5
10
  if (index > -1) {
6
11
  array.splice(index, 1);
7
12
  }
8
13
  return array;
9
14
  };
10
- export const isValueInArray = (value, array) => {
15
+ exports.removeValueFromArray = removeValueFromArray;
16
+ const isValueInArray = (value, array) => {
11
17
  for (let i = 0; i < array.length; i++) {
12
18
  if (array[i] === value) {
13
19
  return true;
@@ -15,13 +21,16 @@ export const isValueInArray = (value, array) => {
15
21
  }
16
22
  return false;
17
23
  };
18
- export const stringIsNumeric = (str) => {
24
+ exports.isValueInArray = isValueInArray;
25
+ const stringIsNumeric = (str) => {
19
26
  return !isNaN(Number(str)) && str !== undefined;
20
27
  };
21
- export const stringEndsWithNumber = (str) => {
22
- return stringIsNumeric(str.split('-').pop());
28
+ exports.stringIsNumeric = stringIsNumeric;
29
+ const stringEndsWithNumber = (str) => {
30
+ return (0, exports.stringIsNumeric)(str.split('-').pop());
23
31
  };
24
- export function mergeRefs(refs) {
32
+ exports.stringEndsWithNumber = stringEndsWithNumber;
33
+ function mergeRefs(refs) {
25
34
  return value => {
26
35
  refs.forEach(ref => {
27
36
  if (typeof ref === 'function') {
@@ -33,3 +42,5 @@ export function mergeRefs(refs) {
33
42
  });
34
43
  };
35
44
  }
45
+ exports.mergeRefs = mergeRefs;
46
+ //# sourceMappingURL=utils.js.map
@@ -1,7 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aggregate = exports.aggregate2 = exports.whatIsProbablyTheType = void 0;
1
4
  // @ts-nocheck
2
- import { getPostgresBasicType } from '../ReportBuilder';
3
- import { COMPARISON_OPTIONS } from '../Dashboard';
4
- import { add, sub, startOfWeek, startOfDay, startOfMonth, startOfYear, parse, } from 'date-fns';
5
+ const ReportBuilder_1 = require("../ReportBuilder");
6
+ const Dashboard_1 = require("../Dashboard");
7
+ const date_fns_1 = require("date-fns");
5
8
  function findTimePeriod(dateFilter) {
6
9
  if (!dateFilter) {
7
10
  return null;
@@ -50,7 +53,7 @@ function findTimePeriod(dateFilter) {
50
53
  else
51
54
  return 'year';
52
55
  }
53
- export function whatIsProbablyTheType(data, fieldName) {
56
+ function whatIsProbablyTheType(data, fieldName) {
54
57
  const counts = {
55
58
  date: 0,
56
59
  number: 0,
@@ -84,14 +87,15 @@ export function whatIsProbablyTheType(data, fieldName) {
84
87
  const maxType = Object.keys(counts).reduce((a, b) => counts[a] > counts[b] ? a : b);
85
88
  return maxType;
86
89
  }
87
- export function aggregate2(dashboardItem, bucketFields, dateFilter) {
90
+ exports.whatIsProbablyTheType = whatIsProbablyTheType;
91
+ function aggregate2(dashboardItem, bucketFields, dateFilter) {
88
92
  const timePeriod = findTimePeriod(dateFilter);
89
93
  const rows = dashboardItem.rows;
90
94
  const xAxisLabel = timePeriod;
91
95
  const xAxisField = timePeriod;
92
96
  if (!bucketFields.length || !rows.length)
93
97
  return { ...dashboardItem, bucketedRows: [] };
94
- if (getPostgresBasicType(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'string') {
98
+ if ((0, ReportBuilder_1.getPostgresBasicType)(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'string') {
95
99
  const stringField = bucketFields[0].field;
96
100
  const aggregation = {};
97
101
  // let aggregatedArray;
@@ -122,7 +126,7 @@ export function aggregate2(dashboardItem, bucketFields, dateFilter) {
122
126
  bucketedRows: aggregatedArray,
123
127
  };
124
128
  }
125
- else if (getPostgresBasicType(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'date') {
129
+ else if ((0, ReportBuilder_1.getPostgresBasicType)(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'date') {
126
130
  const dateField = bucketFields[0].field;
127
131
  let xAxisFormat;
128
132
  switch (timePeriod) {
@@ -196,7 +200,8 @@ export function aggregate2(dashboardItem, bucketFields, dateFilter) {
196
200
  return dashboardItem;
197
201
  }
198
202
  }
199
- export function aggregate(dashboardItem, bucketFields, dateFilter) {
203
+ exports.aggregate2 = aggregate2;
204
+ function aggregate(dashboardItem, bucketFields, dateFilter) {
200
205
  const timePeriod = dateFilter && Object.keys(dateFilter).length
201
206
  ? findTimePeriod(dateFilter)
202
207
  : 'month';
@@ -211,7 +216,7 @@ export function aggregate(dashboardItem, bucketFields, dateFilter) {
211
216
  //TODO: allow comparison for nonbucketed
212
217
  return { ...dashboardItem, bucketedRows: [] };
213
218
  }
214
- if (getPostgresBasicType(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'string') {
219
+ if ((0, ReportBuilder_1.getPostgresBasicType)(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'string') {
215
220
  const stringField = bucketFields[0].field;
216
221
  const aggregation = {};
217
222
  rows.forEach(row => {
@@ -240,7 +245,7 @@ export function aggregate(dashboardItem, bucketFields, dateFilter) {
240
245
  bucketedRows: aggregatedArray,
241
246
  };
242
247
  }
243
- else if (getPostgresBasicType(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'date') {
248
+ else if ((0, ReportBuilder_1.getPostgresBasicType)(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'date') {
244
249
  const dateField = bucketFields[0].field;
245
250
  let interval;
246
251
  let xAxisFormat;
@@ -268,19 +273,19 @@ export function aggregate(dashboardItem, bucketFields, dateFilter) {
268
273
  let formattedDate;
269
274
  switch (timePeriod) {
270
275
  case 'day': {
271
- formattedDate = startOfDay(firstEntryDate);
276
+ formattedDate = (0, date_fns_1.startOfDay)(firstEntryDate);
272
277
  break;
273
278
  }
274
279
  case 'week': {
275
- formattedDate = startOfWeek(firstEntryDate, { weekStartsOn: 1 });
280
+ formattedDate = (0, date_fns_1.startOfWeek)(firstEntryDate, { weekStartsOn: 1 });
276
281
  break;
277
282
  }
278
283
  case 'month': {
279
- formattedDate = startOfMonth(firstEntryDate);
284
+ formattedDate = (0, date_fns_1.startOfMonth)(firstEntryDate);
280
285
  break;
281
286
  }
282
287
  case 'year': {
283
- formattedDate = startOfYear(firstEntryDate);
288
+ formattedDate = (0, date_fns_1.startOfYear)(firstEntryDate);
284
289
  break;
285
290
  }
286
291
  default:
@@ -293,27 +298,27 @@ export function aggregate(dashboardItem, bucketFields, dateFilter) {
293
298
  dashboardItem.yAxisFields.forEach(yAxisField => {
294
299
  aggregation[iteratedDate][yAxisField.field] = 0;
295
300
  });
296
- iteratedDate = add(iteratedDate, interval);
301
+ iteratedDate = (0, date_fns_1.add)(iteratedDate, interval);
297
302
  }
298
303
  // TODO MAKE WORK WITH MULTIPLE Y AXIS FIELDS
299
304
  rows.forEach(row => {
300
- const date = parse(row[dateField], 'yyyy-MM-dd', new Date());
305
+ const date = (0, date_fns_1.parse)(row[dateField], 'yyyy-MM-dd', new Date());
301
306
  let formattedDate;
302
307
  switch (timePeriod) {
303
308
  case 'day': {
304
- formattedDate = startOfDay(date);
309
+ formattedDate = (0, date_fns_1.startOfDay)(date);
305
310
  break;
306
311
  }
307
312
  case 'week': {
308
- formattedDate = startOfWeek(date, { weekStartsOn: 1 });
313
+ formattedDate = (0, date_fns_1.startOfWeek)(date, { weekStartsOn: 1 });
309
314
  break;
310
315
  }
311
316
  case 'month': {
312
- formattedDate = startOfMonth(date);
317
+ formattedDate = (0, date_fns_1.startOfMonth)(date);
313
318
  break;
314
319
  }
315
320
  case 'year': {
316
- formattedDate = startOfYear(date);
321
+ formattedDate = (0, date_fns_1.startOfYear)(date);
317
322
  break;
318
323
  }
319
324
  default:
@@ -343,35 +348,35 @@ export function aggregate(dashboardItem, bucketFields, dateFilter) {
343
348
  dateFilter.comparison &&
344
349
  dateFilter.comparisonRange.value !== 'NO_COMPARISON' &&
345
350
  dashboardItem.compareRows) {
346
- const offset = COMPARISON_OPTIONS.find(option => {
351
+ const offset = Dashboard_1.COMPARISON_OPTIONS.find(option => {
347
352
  return option.value === dateFilter.comparisonRange.value;
348
353
  })?.offset;
349
354
  aggregatedArray.forEach(row => {
350
355
  dashboardItem.yAxisFields.forEach(yAxisField => {
351
356
  row[yAxisField.field + '2'] = 0;
352
357
  });
353
- row[xAxisField + '2'] = sub(new Date(row[timePeriod]), offset).toISOString();
358
+ row[xAxisField + '2'] = (0, date_fns_1.sub)(new Date(row[timePeriod]), offset).toISOString();
354
359
  });
355
360
  compareRows.sort((a, b) => new Date(a[dateField]) - new Date(b[dateField]));
356
361
  compareRows.forEach((row, index) => {
357
- let date = parse(row[dateField], 'yyyy-MM-dd', new Date());
358
- date = add(date, offset);
362
+ let date = (0, date_fns_1.parse)(row[dateField], 'yyyy-MM-dd', new Date());
363
+ date = (0, date_fns_1.add)(date, offset);
359
364
  let formattedDate;
360
365
  switch (timePeriod) {
361
366
  case 'day': {
362
- formattedDate = startOfDay(date);
367
+ formattedDate = (0, date_fns_1.startOfDay)(date);
363
368
  break;
364
369
  }
365
370
  case 'week': {
366
- formattedDate = startOfWeek(date, { weekStartsOn: 1 });
371
+ formattedDate = (0, date_fns_1.startOfWeek)(date, { weekStartsOn: 1 });
367
372
  break;
368
373
  }
369
374
  case 'month': {
370
- formattedDate = startOfMonth(date);
375
+ formattedDate = (0, date_fns_1.startOfMonth)(date);
371
376
  break;
372
377
  }
373
378
  case 'year': {
374
- formattedDate = startOfYear(date);
379
+ formattedDate = (0, date_fns_1.startOfYear)(date);
375
380
  break;
376
381
  }
377
382
  default:
@@ -421,3 +426,5 @@ export function aggregate(dashboardItem, bucketFields, dateFilter) {
421
426
  return dashboardItem;
422
427
  }
423
428
  }
429
+ exports.aggregate = aggregate;
430
+ //# sourceMappingURL=aggregate.js.map
@@ -1,4 +1,7 @@
1
- export const COLOR_TO_HEX = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COLOR_TO_HEX = void 0;
4
+ exports.COLOR_TO_HEX = {
2
5
  aliceblue: '#f0f8ff',
3
6
  antiquewhite: '#faebd7',
4
7
  aqua: '#00ffff',
@@ -141,3 +144,4 @@ export const COLOR_TO_HEX = {
141
144
  yellow: '#ffff00',
142
145
  yellowgreen: '#9acd32',
143
146
  };
147
+ //# sourceMappingURL=colorToHex.js.map
@@ -1,6 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDataFromCloud = exports.getData = void 0;
1
4
  // this function gets the data either from the self hosted endpoint or
2
5
  // our cloud server
3
- export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST') {
6
+ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST') {
4
7
  if (client.queryEndpoint) {
5
8
  // self hosted
6
9
  const resp = await fetch(client.queryEndpoint, {
@@ -26,7 +29,8 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
26
29
  return await getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method);
27
30
  }
28
31
  }
29
- export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST') {
32
+ exports.getData = getData;
33
+ async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST') {
30
34
  const environment = client?.environment;
31
35
  const resp = await fetch(`https://quill-344421.uc.r.appspot.com/${cloudQueryEndpoint}`,
32
36
  // `http://localhost:8080/${cloudQueryEndpoint}`,
@@ -56,3 +60,5 @@ export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestB
56
60
  return null;
57
61
  }
58
62
  }
63
+ exports.getDataFromCloud = getDataFromCloud;
64
+ //# sourceMappingURL=dataFetcher.js.map
@@ -1,5 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.downloadCSV = void 0;
1
4
  // @ts-nocheck
2
- export function downloadCSV(rows, filename) {
5
+ function downloadCSV(rows, filename) {
3
6
  const json = rows;
4
7
  const fields = Object.keys(json[0]);
5
8
  const csvRows = [];
@@ -22,3 +25,5 @@ export function downloadCSV(rows, filename) {
22
25
  downloadLink.click();
23
26
  document.body.removeChild(downloadLink);
24
27
  }
28
+ exports.downloadCSV = downloadCSV;
29
+ //# sourceMappingURL=downloadCSV.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.8.6",
3
+ "version": "2.8.8",
4
4
  "description": "Quill React components for building dashboards and reporting.",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -29,6 +29,7 @@
29
29
  "typescript": "^5.3.3"
30
30
  },
31
31
  "peerDependencies": {
32
+ "react": "^18.0.0",
32
33
  "react-dom": "^18.0.0"
33
34
  },
34
35
  "access": "public"