@quillsql/react 2.8.5 → 2.8.6

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 +64 -68
  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 +48 -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
@@ -1,39 +1,33 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getPostgresBasicType = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
2
  // @ts-nocheck
9
- const react_1 = require("react");
3
+ import { useState, useContext, useCallback, useEffect, useMemo, useRef, } from 'react';
10
4
  // import './nightOwlLight.css';
11
- const Context_1 = require("./Context");
12
- const SQLEditor_1 = require("./SQLEditor");
13
- const date_fns_1 = require("date-fns");
14
- const PivotModal_1 = require("./internals/ReportBuilder/PivotModal");
15
- const dataFetcher_1 = require("./utils/dataFetcher");
16
- const Dashboard_1 = require("./Dashboard");
17
- const dateRangePickerUtils_1 = require("./DateRangePicker/dateRangePickerUtils");
18
- const Table_1 = __importDefault(require("./Table"));
19
- const ChartBuilder_1 = __importDefault(require("./ChartBuilder"));
20
- const UiComponents_1 = require("./components/UiComponents");
21
- function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeLoading, onChangePivot, onDateFilterChange, onChangeFields, onError, TextInput = UiComponents_1.MemoizedTextInput, containerStyle, Select = UiComponents_1.MemoizedSelect, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, Header = UiComponents_1.MemoizedHeader, Label = UiComponents_1.MemoizedLabel, DeleteButton = UiComponents_1.MemoizedDeleteButton, Text = UiComponents_1.MemoizedText, Modal = UiComponents_1.MemoizedModal, Popover = UiComponents_1.MemoizedPopover, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, tagStyle, tableName, dateColumn, selectedTagBorderColor, chartBuilderEnabled = false, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, editSQLEnabled, navigateToSQLEditor, }) {
22
- const [data, setData] = (0, react_1.useState)([]);
23
- const [client, setClient] = (0, react_1.useContext)(Context_1.ClientContext);
24
- const [schema, setSchema] = (0, react_1.useContext)(Context_1.SchemaContext);
25
- const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
26
- const [columns, setColumns] = (0, react_1.useState)([]);
27
- const [fields, setFields] = (0, react_1.useState)([]);
28
- const [loading, setLoading] = (0, react_1.useState)(false);
29
- const [selectedPivot, setSelectedPivot] = (0, react_1.useState)(null);
5
+ import { ClientContext, SchemaContext, ThemeContext } from './Context';
6
+ import { convertPostgresColumn } from './SQLEditor';
7
+ import { format } from 'date-fns';
8
+ import { PivotModal, generatePivotTable, } from './internals/ReportBuilder/PivotModal';
9
+ import { getData, getDataFromCloud } from './utils/dataFetcher';
10
+ import { QuillDateRangePicker } from './Dashboard';
11
+ import { getRangeFromPreset, reportBuilderOptions, } from './DateRangePicker/dateRangePickerUtils';
12
+ import Table from './Table';
13
+ import ChartBuilder from './ChartBuilder';
14
+ import { MemoizedModal, MemoizedTextInput, MemoizedSelect, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, } from './components/UiComponents';
15
+ export default function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeLoading, onChangePivot, onDateFilterChange, onChangeFields, onError, TextInput = MemoizedTextInput, containerStyle, Select = MemoizedSelect, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, Header = MemoizedHeader, Label = MemoizedLabel, DeleteButton = MemoizedDeleteButton, Text = MemoizedText, Modal = MemoizedModal, Popover = MemoizedPopover, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, tagStyle, tableName, dateColumn, selectedTagBorderColor, chartBuilderEnabled = false, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, editSQLEnabled, navigateToSQLEditor, }) {
16
+ const [data, setData] = useState([]);
17
+ const [client, setClient] = useContext(ClientContext);
18
+ const [schema, setSchema] = useContext(SchemaContext);
19
+ const [theme] = useContext(ThemeContext);
20
+ const [columns, setColumns] = useState([]);
21
+ const [fields, setFields] = useState([]);
22
+ const [loading, setLoading] = useState(false);
23
+ const [selectedPivot, setSelectedPivot] = useState(null);
30
24
  const defaultDateRange = [null, null, null];
31
- const [dateRange, setDateRange] = (0, react_1.useState)(defaultDateRange);
32
- (0, react_1.useEffect)(() => {
25
+ const [dateRange, setDateRange] = useState(defaultDateRange);
26
+ useEffect(() => {
33
27
  let isSubscribed = true;
34
28
  async function getClient() {
35
29
  try {
36
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `client/${client.publicKey}/`, null, 'GET');
30
+ const resp = await getDataFromCloud(client, `client/${client.publicKey}/`, null, 'GET');
37
31
  if (resp) {
38
32
  setClient({ ...client, ...resp.client });
39
33
  }
@@ -49,10 +43,10 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
49
43
  isSubscribed = false;
50
44
  };
51
45
  }, []);
52
- (0, react_1.useEffect)(() => {
46
+ useEffect(() => {
53
47
  let isSubscribed = true;
54
48
  async function getSchema() {
55
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `schema2/${client.publicKey}/`, null, 'GET');
49
+ const resp = await getDataFromCloud(client, `schema2/${client.publicKey}/`, null, 'GET');
56
50
  if (isSubscribed) {
57
51
  setSchema(resp.tables);
58
52
  }
@@ -64,17 +58,17 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
64
58
  isSubscribed = false;
65
59
  };
66
60
  }, []);
67
- (0, react_1.useEffect)(() => {
61
+ useEffect(() => {
68
62
  if (onDateFilterChange) {
69
63
  onDateFilterChange(dateRange);
70
64
  }
71
65
  }, [dateRange]);
72
- (0, react_1.useEffect)(() => {
66
+ useEffect(() => {
73
67
  if (onDateFilterChange) {
74
68
  onDateFilterChange(defaultDateRange);
75
69
  }
76
70
  }, []);
77
- (0, react_1.useEffect)(() => {
71
+ useEffect(() => {
78
72
  setColumns([]);
79
73
  }, [tableName]);
80
74
  const runQuery = async (query) => {
@@ -85,7 +79,7 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
85
79
  : { query, task: 'query' },
86
80
  };
87
81
  const cloudBody = { query };
88
- const resp = await (0, dataFetcher_1.getData)(client, 'dashquery', 'same-origin', hostedBody, cloudBody);
82
+ const resp = await getData(client, 'dashquery', 'same-origin', hostedBody, cloudBody);
89
83
  if (resp && resp.errorMessage) {
90
84
  onError(resp.errorMessage);
91
85
  setData([]);
@@ -100,9 +94,9 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
100
94
  return;
101
95
  }
102
96
  setData(resp.rows);
103
- setColumns(resp.fields.map(elem => (0, SQLEditor_1.convertPostgresColumn)(elem)));
97
+ setColumns(resp.fields.map(elem => convertPostgresColumn(elem)));
104
98
  if (selectedPivot) {
105
- const { rows, columns } = (0, PivotModal_1.generatePivotTable)(selectedPivot, resp.rows, dateRange);
99
+ const { rows, columns } = generatePivotTable(selectedPivot, resp.rows, dateRange);
106
100
  if (onChangePivot) {
107
101
  onChangePivot(selectedPivot, columns, rows);
108
102
  }
@@ -112,7 +106,7 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
112
106
  onChangeData(resp.rows);
113
107
  }
114
108
  if (onChangeColumns) {
115
- onChangeColumns(resp.fields.map(elem => (0, SQLEditor_1.convertPostgresColumn)(elem)));
109
+ onChangeColumns(resp.fields.map(elem => convertPostgresColumn(elem)));
116
110
  }
117
111
  }
118
112
  setFields(resp.fields);
@@ -121,7 +115,7 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
121
115
  }
122
116
  setLoading(false);
123
117
  };
124
- (0, react_1.useEffect)(() => {
118
+ useEffect(() => {
125
119
  if (onChangeLoading) {
126
120
  onChangeLoading(loading);
127
121
  }
@@ -129,18 +123,17 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
129
123
  if (!schema || !schema.length || !tableName) {
130
124
  return null;
131
125
  }
132
- return ((0, jsx_runtime_1.jsx)(ReportingTool, { containerStyle: containerStyle, destinationDashboard: destinationDashboard, client: client, editSQLEnabled: editSQLEnabled, navigateToSQLEditor: navigateToSQLEditor, theme: theme, data: data, columns: columns, fields: fields, chartBuilderTitle: chartBuilderTitle, chartBuilderButtonLabel: chartBuilderButtonLabel, onChangeData: onChangeData, onChangeColumns: onChangeColumns, onChangePivot: onChangePivot, selectedPivot: selectedPivot, setSelectedPivot: pivot => {
126
+ return (_jsx(ReportingTool, { containerStyle: containerStyle, destinationDashboard: destinationDashboard, client: client, editSQLEnabled: editSQLEnabled, navigateToSQLEditor: navigateToSQLEditor, theme: theme, data: data, columns: columns, fields: fields, chartBuilderTitle: chartBuilderTitle, chartBuilderButtonLabel: chartBuilderButtonLabel, onChangeData: onChangeData, onChangeColumns: onChangeColumns, onChangePivot: onChangePivot, selectedPivot: selectedPivot, setSelectedPivot: pivot => {
133
127
  setSelectedPivot(pivot);
134
128
  if (onChangePivot) {
135
129
  const table = pivot
136
- ? (0, PivotModal_1.generatePivotTable)(pivot, data, dateRange)
130
+ ? generatePivotTable(pivot, data, dateRange)
137
131
  : { rows: null, columns: null };
138
132
  onChangePivot(pivot, table.columns, table.rows);
139
133
  }
140
134
  }, schema: schema, tableName: tableName, dateColumn: dateColumn, selectedTagBorderColor: selectedTagBorderColor, onChangeQuery: onChangeQuery, runQuery: runQuery, dateRange: dateRange, setDateRange: setDateRange, defaultDateRange: defaultDateRange, chartBuilderEnabled: chartBuilderEnabled, HeaderComponent: Header, LabelComponent: Label, SelectComponent: Select, TextComponent: Text, ButtonComponent: Button, SecondaryButtonComponent: SecondaryButton, ModalComponent: Modal, PopoverComponent: Popover, TextInputComponent: TextInput, tagStyle: tagStyle, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions }));
141
135
  }
142
- exports.default = ReportBuilder;
143
- function getPostgresBasicType(column) {
136
+ export function getPostgresBasicType(column) {
144
137
  let format;
145
138
  // first check if column.dataTypeID exists
146
139
  if (column.dataTypeID) {
@@ -188,7 +181,6 @@ function getPostgresBasicType(column) {
188
181
  }
189
182
  return format;
190
183
  }
191
- exports.getPostgresBasicType = getPostgresBasicType;
192
184
  const newDateWhereAST = (column, dateRange, databaseType) => {
193
185
  // all time means no filter
194
186
  if (dateRange[2] === 'at') {
@@ -196,7 +188,7 @@ const newDateWhereAST = (column, dateRange, databaseType) => {
196
188
  }
197
189
  // if using preset
198
190
  if (dateRange[2]) {
199
- const timeInterval = dateRangePickerUtils_1.reportBuilderOptions.find(elem => elem.value === dateRange[2])?.dayInterval;
191
+ const timeInterval = reportBuilderOptions.find(elem => elem.value === dateRange[2])?.dayInterval;
200
192
  switch (databaseType) {
201
193
  case 'BigQuery': {
202
194
  return {
@@ -328,11 +320,11 @@ const newDateWhereAST = (column, dateRange, databaseType) => {
328
320
  value: [
329
321
  {
330
322
  type: 'single_quote_string',
331
- value: (0, date_fns_1.format)(new Date(dateRange[0]), 'MM/dd/yyyy'),
323
+ value: format(new Date(dateRange[0]), 'MM/dd/yyyy'),
332
324
  },
333
325
  {
334
326
  type: 'single_quote_string',
335
- value: (0, date_fns_1.format)(new Date(dateRange[1]), 'MM/dd/yyyy'),
327
+ value: format(new Date(dateRange[1]), 'MM/dd/yyyy'),
336
328
  },
337
329
  ],
338
330
  },
@@ -340,11 +332,11 @@ const newDateWhereAST = (column, dateRange, databaseType) => {
340
332
  }
341
333
  };
342
334
  function ReportingTool({ schema, data, columns, runQuery, SelectComponent, ButtonComponent, SecondaryButtonComponent, editSQLEnabled, navigateToSQLEditor, onChangeQuery, onChangePivot, selectedPivot, setSelectedPivot, theme, ModalComponent, HeaderComponent, PopoverComponent, TextComponent, TextInputComponent, LabelComponent, tagStyle, tableName, dateColumn, selectedTagBorderColor, dateRange, setDateRange, defaultDateRange, chartBuilderEnabled, fields, containerStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, client, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, }) {
343
- const selectedTable = (0, react_1.useMemo)(() => schema.find(t => t.displayName === tableName), [schema, tableName]);
344
- const [selectedColumn, setSelectedColumn] = (0, react_1.useState)(schema[0].columns.find(elem => elem.name !== 'id'));
345
- const parentRef = (0, react_1.useRef)();
346
- const [filters, setFilters] = (0, react_1.useState)([]);
347
- const [AST, setAST] = (0, react_1.useState)({
335
+ const selectedTable = useMemo(() => schema.find(t => t.displayName === tableName), [schema, tableName]);
336
+ const [selectedColumn, setSelectedColumn] = useState(schema[0].columns.find(elem => elem.name !== 'id'));
337
+ const parentRef = useRef();
338
+ const [filters, setFilters] = useState([]);
339
+ const [AST, setAST] = useState({
348
340
  with: null,
349
341
  type: 'select',
350
342
  options: null,
@@ -360,32 +352,32 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
360
352
  limit: { seperator: '', value: [] },
361
353
  window: null,
362
354
  });
363
- const [ASTNoDateColumn, setASTNoDateColumn] = (0, react_1.useState)(AST);
364
- const [numberStart, setNumberStart] = (0, react_1.useState)(0);
365
- const [numberEnd, setNumberEnd] = (0, react_1.useState)(0);
366
- const [filterDateRange, setFilterDateRange] = (0, react_1.useState)((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
367
- const [computedColumns, setComputedColumns] = (0, react_1.useState)({});
368
- const [stringFilterValues, setStringFilterValues] = (0, react_1.useState)([]);
369
- const [columnType, setColumnType] = (0, react_1.useState)(getPostgresBasicType(schema[0].columns[0]));
370
- const [sqlQuery, setSqlQuery] = (0, react_1.useState)('');
371
- const [sqlQueryNoDateColumn, setSqlQueryNoDateColumn] = (0, react_1.useState)('');
372
- const [indexBeingEdited, setIndexBeingEdited] = (0, react_1.useState)(-1);
373
- const [isAddFilterModalOpen, setIsAddFilterModalOpen] = (0, react_1.useState)(false);
374
- const [isEdittingPivot, setIsEdittingPivot] = (0, react_1.useState)(false);
375
- const [isPivotModalOpen, setIsPivotModalOpen] = (0, react_1.useState)(false);
376
- const [isChartBuilderOpen, setIsChartBuilderOpen] = (0, react_1.useState)(false);
377
- const [selectedPivotIndex, setSelectedPivotIndex] = (0, react_1.useState)(-1);
378
- const [createdPivots, setCreatedPivots] = (0, react_1.useState)([]);
379
- const [recommendedPivots, setRecommendedPivots] = (0, react_1.useState)([]);
380
- const [pivotRowField, setPivotRowField] = (0, react_1.useState)(undefined);
381
- const [pivotColumnField, setPivotColumnField] = (0, react_1.useState)(undefined);
382
- const [pivotValueField, setPivotValueField] = (0, react_1.useState)(undefined);
383
- const [pivotAggregation, setPivotAggregation] = (0, react_1.useState)(undefined);
384
- const [pivotPopUpTitle, setPivotPopUpTitle] = (0, react_1.useState)('Add Pivot');
385
- (0, react_1.useEffect)(() => {
355
+ const [ASTNoDateColumn, setASTNoDateColumn] = useState(AST);
356
+ const [numberStart, setNumberStart] = useState(0);
357
+ const [numberEnd, setNumberEnd] = useState(0);
358
+ const [filterDateRange, setFilterDateRange] = useState(getRangeFromPreset('90d'));
359
+ const [computedColumns, setComputedColumns] = useState({});
360
+ const [stringFilterValues, setStringFilterValues] = useState([]);
361
+ const [columnType, setColumnType] = useState(getPostgresBasicType(schema[0].columns[0]));
362
+ const [sqlQuery, setSqlQuery] = useState('');
363
+ const [sqlQueryNoDateColumn, setSqlQueryNoDateColumn] = useState('');
364
+ const [indexBeingEdited, setIndexBeingEdited] = useState(-1);
365
+ const [isAddFilterModalOpen, setIsAddFilterModalOpen] = useState(false);
366
+ const [isEdittingPivot, setIsEdittingPivot] = useState(false);
367
+ const [isPivotModalOpen, setIsPivotModalOpen] = useState(false);
368
+ const [isChartBuilderOpen, setIsChartBuilderOpen] = useState(false);
369
+ const [selectedPivotIndex, setSelectedPivotIndex] = useState(-1);
370
+ const [createdPivots, setCreatedPivots] = useState([]);
371
+ const [recommendedPivots, setRecommendedPivots] = useState([]);
372
+ const [pivotRowField, setPivotRowField] = useState(undefined);
373
+ const [pivotColumnField, setPivotColumnField] = useState(undefined);
374
+ const [pivotValueField, setPivotValueField] = useState(undefined);
375
+ const [pivotAggregation, setPivotAggregation] = useState(undefined);
376
+ const [pivotPopUpTitle, setPivotPopUpTitle] = useState('Add Pivot');
377
+ useEffect(() => {
386
378
  setColumnType(getPostgresBasicType(selectedColumn));
387
379
  }, [selectedColumn]);
388
- (0, react_1.useEffect)(() => {
380
+ useEffect(() => {
389
381
  removePivot();
390
382
  setCreatedPivots([]);
391
383
  setRecommendedPivots([]);
@@ -398,7 +390,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
398
390
  setStringFilterValues([]);
399
391
  setNumberStart(0);
400
392
  setNumberEnd(0);
401
- setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
393
+ setFilterDateRange(getRangeFromPreset('90d'));
402
394
  return;
403
395
  }
404
396
  setSelectedColumn(matchingColumn);
@@ -416,9 +408,9 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
416
408
  setIndexBeingEdited(index);
417
409
  }
418
410
  };
419
- const selectedPivotTable = (0, react_1.useMemo)(() => {
411
+ const selectedPivotTable = useMemo(() => {
420
412
  if (selectedPivot && data) {
421
- return (0, PivotModal_1.generatePivotTable)(selectedPivot, data, dateRange);
413
+ return generatePivotTable(selectedPivot, data, dateRange);
422
414
  }
423
415
  else {
424
416
  return {};
@@ -434,7 +426,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
434
426
  const selectPivot = (pivot, index) => {
435
427
  setSelectedPivotIndex(index);
436
428
  setSelectedPivot(pivot);
437
- const pivotTable = (0, PivotModal_1.generatePivotTable)(pivot, data, dateRange);
429
+ const pivotTable = generatePivotTable(pivot, data, dateRange);
438
430
  if (onChangePivot) {
439
431
  onChangePivot(pivot, pivotTable.columns, pivotTable.rows);
440
432
  }
@@ -468,9 +460,9 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
468
460
  }
469
461
  else if (columnType === 'date') {
470
462
  const label = filterDateRange[2]
471
- ? dateRangePickerUtils_1.reportBuilderOptions.find(elem => elem.value === filterDateRange[2])
463
+ ? reportBuilderOptions.find(elem => elem.value === filterDateRange[2])
472
464
  ?.text
473
- : `${(0, date_fns_1.format)(new Date(filterDateRange[0]), 'MMM dd')} - ${(0, date_fns_1.format)(new Date(filterDateRange[1]), 'MMM dd')}`;
465
+ : `${format(new Date(filterDateRange[0]), 'MMM dd')} - ${format(new Date(filterDateRange[1]), 'MMM dd')}`;
474
466
  setFilters(filters => {
475
467
  const newFilters = [...filters];
476
468
  newFilters[index] = {
@@ -485,7 +477,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
485
477
  setStringFilterValues([]);
486
478
  setNumberStart(0);
487
479
  setNumberEnd(0);
488
- setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
480
+ setFilterDateRange(getRangeFromPreset('90d'));
489
481
  setIndexBeingEdited(-1);
490
482
  return;
491
483
  }
@@ -510,7 +502,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
510
502
  setStringFilterValues([]);
511
503
  setNumberStart(0);
512
504
  setNumberEnd(0);
513
- setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
505
+ setFilterDateRange(getRangeFromPreset('90d'));
514
506
  return;
515
507
  }
516
508
  else if (columnType === 'number') {
@@ -529,14 +521,14 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
529
521
  setStringFilterValues([]);
530
522
  setNumberStart(0);
531
523
  setNumberEnd(0);
532
- setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
524
+ setFilterDateRange(getRangeFromPreset('90d'));
533
525
  return;
534
526
  }
535
527
  else if (columnType === 'date') {
536
528
  const label = filterDateRange[2]
537
- ? dateRangePickerUtils_1.reportBuilderOptions.find(elem => elem.value === filterDateRange[2])
529
+ ? reportBuilderOptions.find(elem => elem.value === filterDateRange[2])
538
530
  ?.text
539
- : `${(0, date_fns_1.format)(new Date(filterDateRange[0]), 'MMM dd')} - ${(0, date_fns_1.format)(new Date(filterDateRange[1]), 'MMM dd')}`;
531
+ : `${format(new Date(filterDateRange[0]), 'MMM dd')} - ${format(new Date(filterDateRange[1]), 'MMM dd')}`;
540
532
  setFilters(filters => {
541
533
  return [
542
534
  ...filters,
@@ -551,7 +543,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
551
543
  setStringFilterValues([]);
552
544
  setNumberStart(0);
553
545
  setNumberEnd(0);
554
- setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
546
+ setFilterDateRange(getRangeFromPreset('90d'));
555
547
  }
556
548
  }
557
549
  };
@@ -561,7 +553,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
561
553
  runQuery(queryToUse);
562
554
  }
563
555
  };
564
- (0, react_1.useEffect)(() => {
556
+ useEffect(() => {
565
557
  // if selected table changes, clear everything
566
558
  if (selectedTable.displayName !== AST.from.table) {
567
559
  setSelectedColumn(selectedTable.columns.find(elem => elem.name !== 'id'));
@@ -669,7 +661,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
669
661
  }
670
662
  };
671
663
  // USE EFFECT HOOK THAT TRANSFORMS "FILTERS ARRAY INTO AST"
672
- (0, react_1.useEffect)(() => {
664
+ useEffect(() => {
673
665
  if (filters.length || dateRange) {
674
666
  setAST(generateNewAST(true));
675
667
  setASTNoDateColumn(generateNewAST(false));
@@ -683,7 +675,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
683
675
  });
684
676
  setIndexBeingEdited(-1);
685
677
  };
686
- const computeStats = (0, react_1.useCallback)(column => {
678
+ const computeStats = useCallback(column => {
687
679
  if ((!computedColumns[column.name] ||
688
680
  computedColumns[column.name].length === 0) &&
689
681
  data) {
@@ -721,7 +713,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
721
713
  }
722
714
  }, [data, computedColumns]);
723
715
  // Call this function whenever the selected column changes
724
- (0, react_1.useEffect)(() => {
716
+ useEffect(() => {
725
717
  computeStats(selectedColumn);
726
718
  }, [selectedColumn, data]);
727
719
  // Use the results directly in your component
@@ -736,11 +728,11 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
736
728
  // }
737
729
  // }
738
730
  // }, [AST]);
739
- (0, react_1.useEffect)(() => {
731
+ useEffect(() => {
740
732
  const getSqlQueryFromAST = async () => {
741
733
  try {
742
734
  if (AST && AST.from[0].table) {
743
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, 'sqlify', {
735
+ const resp = await getDataFromCloud(client, 'sqlify', {
744
736
  ast: AST,
745
737
  });
746
738
  const newSqlQuery = resp.query; // assuming the response contains the SQL query
@@ -757,11 +749,11 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
757
749
  };
758
750
  getSqlQueryFromAST();
759
751
  }, [AST]);
760
- (0, react_1.useEffect)(() => {
752
+ useEffect(() => {
761
753
  const getSqlQueryFromAST = async () => {
762
754
  try {
763
755
  if (ASTNoDateColumn && ASTNoDateColumn.from[0].table) {
764
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, 'sqlify', {
756
+ const resp = await getDataFromCloud(client, 'sqlify', {
765
757
  ast: ASTNoDateColumn,
766
758
  });
767
759
  const newSqlQuery = resp.query; // assuming the response contains the SQL query
@@ -779,19 +771,19 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
779
771
  if (!schema || !schema.length) {
780
772
  return null;
781
773
  }
782
- return ((0, jsx_runtime_1.jsxs)("div", { style: { fontFamily: theme?.fontFamily, ...containerStyle }, ref: parentRef, children: [(0, jsx_runtime_1.jsx)("div", { style: {
774
+ return (_jsxs("div", { style: { fontFamily: theme?.fontFamily, ...containerStyle }, ref: parentRef, children: [_jsx("div", { style: {
783
775
  display: 'flex',
784
776
  // marginLeft: '25px',
785
777
  // marginRight: '25px',
786
778
  justifyContent: 'end',
787
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: '12px' }, children: [editSQLEnabled && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => {
779
+ }, children: _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '12px' }, children: [editSQLEnabled && (_jsx(SecondaryButtonComponent, { onClick: () => {
788
780
  if (navigateToSQLEditor) {
789
781
  navigateToSQLEditor(sqlQuery);
790
782
  }
791
- }, label: "Edit Query" })), (0, jsx_runtime_1.jsx)(AddFilterModal2, { filters: filters, selectedColumn: selectedColumn, numberStart: numberStart, numberEnd: numberEnd, setDateRange: setFilterDateRange, dateRange: filterDateRange, columnStats: columnStats, stringFilterValues: stringFilterValues, setStringFilterValues: setStringFilterValues, addFilter: addFilter, parentRef: parentRef, setSelectedColumn: setSelectedColumn, setNumberStart: setNumberStart, setNumberEnd: setNumberEnd, selectedTable: selectedTable, columnType: columnType, removeFilter: removeFilter, selectFilter: selectFilter, indexBeingEdited: indexBeingEdited, updateFilter: updateFilter, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, PopoverComponent: PopoverComponent, TextInputComponent: TextInputComponent, LabelComponent: LabelComponent, tagStyle: tagStyle, theme: theme, setIsOpen: setIsAddFilterModalOpen, isOpen: isAddFilterModalOpen, selectedTagBorderColor: selectedTagBorderColor }), (0, jsx_runtime_1.jsx)(PivotModal_1.PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, selectedTable: selectedTable, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, PopoverComponent: PopoverComponent, LabelComponent: LabelComponent, HeaderComponent: HeaderComponent, TextComponent: TextComponent, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, theme: theme, data: data, parentRef: parentRef, columns: columns, setIsOpen: setIsPivotModalOpen, isOpen: isPivotModalOpen, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: removePivot, selectPivot: selectPivot, dateRange: dateRange, rightAlign: true })] }) }), (0, jsx_runtime_1.jsx)(Table_1.default, { rows: selectedPivotTable?.rows || data, columns: selectedPivotTable?.columns || columns, containerStyle: {
783
+ }, label: "Edit Query" })), _jsx(AddFilterModal2, { filters: filters, selectedColumn: selectedColumn, numberStart: numberStart, numberEnd: numberEnd, setDateRange: setFilterDateRange, dateRange: filterDateRange, columnStats: columnStats, stringFilterValues: stringFilterValues, setStringFilterValues: setStringFilterValues, addFilter: addFilter, parentRef: parentRef, setSelectedColumn: setSelectedColumn, setNumberStart: setNumberStart, setNumberEnd: setNumberEnd, selectedTable: selectedTable, columnType: columnType, removeFilter: removeFilter, selectFilter: selectFilter, indexBeingEdited: indexBeingEdited, updateFilter: updateFilter, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, PopoverComponent: PopoverComponent, TextInputComponent: TextInputComponent, LabelComponent: LabelComponent, tagStyle: tagStyle, theme: theme, setIsOpen: setIsAddFilterModalOpen, isOpen: isAddFilterModalOpen, selectedTagBorderColor: selectedTagBorderColor }), _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, selectedTable: selectedTable, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, PopoverComponent: PopoverComponent, LabelComponent: LabelComponent, HeaderComponent: HeaderComponent, TextComponent: TextComponent, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, theme: theme, data: data, parentRef: parentRef, columns: columns, setIsOpen: setIsPivotModalOpen, isOpen: isPivotModalOpen, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: removePivot, selectPivot: selectPivot, dateRange: dateRange, rightAlign: true })] }) }), _jsx(Table, { rows: selectedPivotTable?.rows || data, columns: selectedPivotTable?.columns || columns, containerStyle: {
792
784
  height: 400,
793
785
  marginTop: 10,
794
- } }), chartBuilderEnabled && columns.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
786
+ } }), chartBuilderEnabled && columns.length > 0 && (_jsxs("div", { children: [_jsx("div", { style: {
795
787
  display: 'flex',
796
788
  flexDirection: 'row',
797
789
  alignItems: 'center',
@@ -799,7 +791,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
799
791
  width: '100%',
800
792
  height: '70px',
801
793
  gap: '8px',
802
- }, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: "Add to dashboard" }) }), (0, jsx_runtime_1.jsx)(ChartBuilder_1.default, { rows: data, columns: columns, fields: fields, query: sqlQuery, queryNoDateColumn: sqlQueryNoDateColumn, pivot: selectedPivot, title: chartBuilderTitle, buttonLabel: chartBuilderButtonLabel, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, dateRange: dateRange, recommendedPivots: recommendedPivots, destinationDashboard: destinationDashboard, dateColumn: dateColumn })] }))] }));
794
+ }, children: _jsx(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: "Add to dashboard" }) }), _jsx(ChartBuilder, { rows: data, columns: columns, fields: fields, query: sqlQuery, queryNoDateColumn: sqlQueryNoDateColumn, pivot: selectedPivot, title: chartBuilderTitle, buttonLabel: chartBuilderButtonLabel, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, dateRange: dateRange, recommendedPivots: recommendedPivots, destinationDashboard: destinationDashboard, dateColumn: dateColumn })] }))] }));
803
795
  }
804
796
  function FilterTag({ Label, id, label, removeFilter, isSelected, index, setIsOpen, selectFilter, theme, tagStyle, selectedTagBorderColor, }) {
805
797
  const handleRemoveFilter = () => {
@@ -833,11 +825,11 @@ function FilterTag({ Label, id, label, removeFilter, isSelected, index, setIsOpe
833
825
  ? selectedTagBorderColor || '#B3B4BD'
834
826
  : styles.borderColor || '#EFF0FC',
835
827
  };
836
- return ((0, jsx_runtime_1.jsxs)("div", { id: id, onClick: handleSelectFilter, style: { ...styles, ...borderColor }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
828
+ return (_jsxs("div", { id: id, onClick: handleSelectFilter, style: { ...styles, ...borderColor }, children: [_jsx("div", { style: {
837
829
  textOverflow: 'ellipsis',
838
830
  whiteSpace: 'nowrap',
839
831
  overflow: 'hidden',
840
- }, children: label }), (0, jsx_runtime_1.jsx)("div", {
832
+ }, children: label }), _jsx("div", {
841
833
  // onClick={handleRemoveFilter}
842
834
  onClick: e => {
843
835
  e.stopPropagation(); // Prevents the event from bubbling up to the parent
@@ -848,19 +840,19 @@ function FilterTag({ Label, id, label, removeFilter, isSelected, index, setIsOpe
848
840
  alignItems: 'center',
849
841
  cursor: 'pointer',
850
842
  paddingLeft: '6px',
851
- }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: tagStyle?.color || theme?.primaryTextColor, height: "20", width: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) })] }));
843
+ }, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: tagStyle?.color || theme?.primaryTextColor, height: "20", width: "20", children: _jsx("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) })] }));
852
844
  }
853
845
  const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setDateRange, dateRange, columnStats, stringFilterValues, setStringFilterValues, addFilter, setSelectedColumn, setNumberStart, setNumberEnd, selectedTable, columnType, removeFilter, selectFilter, indexBeingEdited, updateFilter, SelectComponent, ButtonComponent, PopoverComponent, LabelComponent, theme, TextInputComponent, tagStyle, selectedTagBorderColor, parentRef, }) => {
854
- const [isOpen, setIsOpen] = (0, react_1.useState)(false);
855
- return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
846
+ const [isOpen, setIsOpen] = useState(false);
847
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsxs("div", { style: {
856
848
  position: 'relative',
857
849
  display: 'inline-block',
858
850
  textAlign: 'left',
859
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
851
+ }, children: [_jsx("div", { style: {
860
852
  display: 'flex',
861
853
  flexDirection: 'row',
862
854
  alignItems: 'center',
863
- }, children: filters.length > 0 && ((0, jsx_runtime_1.jsx)("span", { style: {
855
+ }, children: filters.length > 0 && (_jsx("span", { style: {
864
856
  height: 10,
865
857
  width: 10,
866
858
  backgroundColor: theme.primaryButtonColor,
@@ -868,11 +860,11 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
868
860
  position: 'absolute',
869
861
  top: -2,
870
862
  right: -2,
871
- } })) }), (0, jsx_runtime_1.jsx)(PopoverComponent, { parentRef: parentRef, label: "Add filter", style: { right: 0, minWidth: 400, overflow: 'visible' }, isOpen: isOpen, onClose: () => setIsOpen(false), title: "Add filter", setIsOpen: setIsOpen, children: (0, jsx_runtime_1.jsxs)("div", { style: {
863
+ } })) }), _jsx(PopoverComponent, { parentRef: parentRef, label: "Add filter", style: { right: 0, minWidth: 400, overflow: 'visible' }, isOpen: isOpen, onClose: () => setIsOpen(false), title: "Add filter", setIsOpen: setIsOpen, children: _jsxs("div", { style: {
872
864
  backgroundColor: 'rgb(255, 255, 255)',
873
865
  display: 'flex',
874
866
  flexDirection: 'column',
875
- }, children: [filters.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: { paddingBottom: 20 }, children: (0, jsx_runtime_1.jsx)("div", { style: {
867
+ }, children: [filters.length > 0 && (_jsx("div", { style: { paddingBottom: 20 }, children: _jsx("div", { style: {
876
868
  overflowY: 'scroll',
877
869
  maxHeight: '300px',
878
870
  display: 'flex',
@@ -880,38 +872,38 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
880
872
  flexDirection: 'row',
881
873
  flexWrap: 'wrap',
882
874
  alignItems: 'center',
883
- }, children: filters.map((elem, index) => ((0, jsx_runtime_1.jsx)(FilterTag, { id: "filter-tag", Label: LabelComponent, label: elem.tag, removeFilter: removeFilter, selectFilter: selectFilter, isSelected: index === indexBeingEdited, index: index, theme: theme, setIsOpen: setIsOpen, tagStyle: tagStyle, selectedTagBorderColor: selectedTagBorderColor }, 'filter' + index))) }) })), (0, jsx_runtime_1.jsx)(LabelComponent, { children: "Column" }), (0, jsx_runtime_1.jsx)(SelectComponent, { label: 'Column', id: "custom-select", value: selectedColumn.name, onChange: e => {
875
+ }, children: filters.map((elem, index) => (_jsx(FilterTag, { id: "filter-tag", Label: LabelComponent, label: elem.tag, removeFilter: removeFilter, selectFilter: selectFilter, isSelected: index === indexBeingEdited, index: index, theme: theme, setIsOpen: setIsOpen, tagStyle: tagStyle, selectedTagBorderColor: selectedTagBorderColor }, 'filter' + index))) }) })), _jsx(LabelComponent, { children: "Column" }), _jsx(SelectComponent, { label: 'Column', id: "custom-select", value: selectedColumn.name, onChange: e => {
884
876
  const column = selectedTable.columns.find(c => c.name === e);
885
877
  setSelectedColumn(column);
886
878
  }, options: selectedTable.columns
887
879
  .filter(elem => !(elem.name === 'id' || elem.name.endsWith('_id')))
888
880
  .map(elem => {
889
881
  return { label: elem.name, value: elem.name };
890
- }) }), columnType === 'number' && ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("div", { style: {
882
+ }) }), columnType === 'number' && (_jsx("div", { children: _jsxs("div", { style: {
891
883
  display: 'flex',
892
884
  flexDirection: 'row',
893
885
  alignItems: 'center',
894
886
  justifyContent: 'space-between',
895
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
887
+ }, children: [_jsxs("div", { style: {
896
888
  display: 'flex',
897
889
  flexDirection: 'column',
898
890
  marginTop: '20px',
899
- }, children: [(0, jsx_runtime_1.jsx)(LabelComponent, { children: "Minimum" }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: "min-input", value: numberStart, placeholder: "Minimum", onChange: value => setNumberStart(value) })] }), (0, jsx_runtime_1.jsx)("div", { style: { width: 16 } }), (0, jsx_runtime_1.jsxs)("div", { style: {
891
+ }, children: [_jsx(LabelComponent, { children: "Minimum" }), _jsx(TextInputComponent, { id: "min-input", value: numberStart, placeholder: "Minimum", onChange: value => setNumberStart(value) })] }), _jsx("div", { style: { width: 16 } }), _jsxs("div", { style: {
900
892
  display: 'flex',
901
893
  flexDirection: 'column',
902
894
  marginTop: '20px',
903
- }, children: [(0, jsx_runtime_1.jsx)(LabelComponent, { children: "Maximum" }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: "max-input", placeholder: "Maximum", value: numberEnd, onChange: value => setNumberEnd(value) })] })] }) })), columnType === 'date' && ((0, jsx_runtime_1.jsx)("div", { style: {
895
+ }, children: [_jsx(LabelComponent, { children: "Maximum" }), _jsx(TextInputComponent, { id: "max-input", placeholder: "Maximum", value: numberEnd, onChange: value => setNumberEnd(value) })] })] }) })), columnType === 'date' && (_jsx("div", { style: {
904
896
  display: 'flex',
905
897
  flexDirection: 'row',
906
898
  justifyContent: 'space-between',
907
899
  marginTop: 20,
908
- }, children: (0, jsx_runtime_1.jsx)(Dashboard_1.QuillDateRangePicker, { dateRange: dateRange ? [dateRange[0], dateRange[1]] : [null, null], label: '', onChangeDateRange: dateRange => {
900
+ }, children: _jsx(QuillDateRangePicker, { dateRange: dateRange ? [dateRange[0], dateRange[1]] : [null, null], label: '', onChangeDateRange: dateRange => {
909
901
  setDateRange([dateRange[0], dateRange[1], null]);
910
902
  }, preset: dateRange && dateRange.length === 3 && dateRange[2] !== null
911
903
  ? dateRange[2]
912
904
  : '', onChangePreset: preset => {
913
905
  if (typeof preset === 'string') {
914
- setDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)(preset));
906
+ setDateRange(getRangeFromPreset(preset));
915
907
  return;
916
908
  }
917
909
  setDateRange([
@@ -919,28 +911,28 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
919
911
  new Date(),
920
912
  preset?.value || '',
921
913
  ]);
922
- }, presetOptions: dateRangePickerUtils_1.reportBuilderOptions }) })), columnType === 'string' &&
914
+ }, presetOptions: reportBuilderOptions }) })), columnType === 'string' &&
923
915
  columnStats &&
924
- columnStats.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: {
916
+ columnStats.length > 0 && (_jsx("div", { style: {
925
917
  flex: 'flex',
926
918
  flexDirection: 'column',
927
919
  marginTop: '14px',
928
920
  overflow: 'hidden',
929
- }, children: columnStats.map(value => ((0, jsx_runtime_1.jsx)("div", { style: {
921
+ }, children: columnStats.map(value => (_jsx("div", { style: {
930
922
  display: 'flex',
931
923
  flexDirection: 'row',
932
924
  alignItems: 'center',
933
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
925
+ }, children: _jsxs("div", { style: {
934
926
  display: 'flex',
935
927
  flexDirection: 'row',
936
928
  alignItems: 'center',
937
929
  paddingTop: 6,
938
930
  paddingBottom: 6,
939
- }, children: [(0, jsx_runtime_1.jsx)(DivCheckbox, { theme: theme, checked: stringFilterValues.includes(value), onChange: () => {
931
+ }, children: [_jsx(DivCheckbox, { theme: theme, checked: stringFilterValues.includes(value), onChange: () => {
940
932
  setStringFilterValues(prev => prev.includes(value)
941
933
  ? prev.filter(v => v !== value)
942
934
  : [...prev, value]);
943
- } }), (0, jsx_runtime_1.jsx)("div", { style: {
935
+ } }), _jsx("div", { style: {
944
936
  marginLeft: 6,
945
937
  display: 'block',
946
938
  overflow: 'hidden',
@@ -948,7 +940,7 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
948
940
  whiteSpace: 'nowrap',
949
941
  color: theme?.primaryTextColor,
950
942
  fontFamily: theme?.fontFamily,
951
- }, children: value })] }, value) }, value))) })), (0, jsx_runtime_1.jsx)("div", { style: { height: 20 } }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(ButtonComponent, { id: "custom-button", onClick: () => {
943
+ }, children: value })] }, value) }, value))) })), _jsx("div", { style: { height: 20 } }), _jsx("div", { children: _jsx(ButtonComponent, { id: "custom-button", onClick: () => {
952
944
  if (columnType === 'date' && !dateRange) {
953
945
  return;
954
946
  }
@@ -957,7 +949,7 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
957
949
  return;
958
950
  }
959
951
  addFilter();
960
- }, label: indexBeingEdited > -1 ? 'Edit filter' : 'Add filter' }) })] }) })] }), (0, jsx_runtime_1.jsx)("div", { style: { height: '12px' } })] }));
952
+ }, label: indexBeingEdited > -1 ? 'Edit filter' : 'Add filter' }) })] }) })] }), _jsx("div", { style: { height: '12px' } })] }));
961
953
  };
962
954
  const DivCheckbox = ({ onChange, checked, theme }) => {
963
955
  const toggleCheckbox = () => {
@@ -981,7 +973,7 @@ const DivCheckbox = ({ onChange, checked, theme }) => {
981
973
  alignItems: 'center',
982
974
  justifyContent: 'center',
983
975
  };
984
- return ((0, jsx_runtime_1.jsx)("div", { style: style, onClick: toggleCheckbox, "aria-checked": checked,
976
+ return (_jsx("div", { style: style, onClick: toggleCheckbox, "aria-checked": checked,
985
977
  // className="shadow-sm"
986
978
  role: "checkbox", children: checked && (
987
979
  // <CheckIcon
@@ -989,5 +981,5 @@ const DivCheckbox = ({ onChange, checked, theme }) => {
989
981
  // className="text-white"
990
982
  // aria-hidden="true"
991
983
  // />
992
- (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme?.backgroundColor, height: "16", width: "16", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M19.916 4.626a.75.75 0 01.208 1.04l-9 13.5a.75.75 0 01-1.154.114l-6-6a.75.75 0 011.06-1.06l5.353 5.353 8.493-12.739a.75.75 0 011.04-.208z", clipRule: "evenodd" }) })) }));
984
+ _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme?.backgroundColor, height: "16", width: "16", children: _jsx("path", { fillRule: "evenodd", d: "M19.916 4.626a.75.75 0 01.208 1.04l-9 13.5a.75.75 0 01-1.154.114l-6-6a.75.75 0 011.06-1.06l5.353 5.353 8.493-12.739a.75.75 0 011.04-.208z", clipRule: "evenodd" }) })) }));
993
985
  };