@quillsql/react 2.13.47 → 2.13.48

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 (85) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +41 -21
  3. package/dist/cjs/ChartBuilder.d.ts +1 -0
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +18 -7
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +2 -1
  8. package/dist/cjs/Context.d.ts +111 -38
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +155 -42
  11. package/dist/cjs/Dashboard.d.ts.map +1 -1
  12. package/dist/cjs/Dashboard.js +17 -3
  13. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  14. package/dist/cjs/ReportBuilder.js +6 -4
  15. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  16. package/dist/cjs/SQLEditor.js +1 -0
  17. package/dist/cjs/Table.d.ts.map +1 -1
  18. package/dist/cjs/Table.js +71 -13
  19. package/dist/cjs/components/Chart/GaugeChart.js +1 -1
  20. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  21. package/dist/cjs/components/Dashboard/DataLoader.js +72 -53
  22. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  23. package/dist/cjs/components/QuillTable.js +59 -61
  24. package/dist/cjs/components/UiComponents.d.ts +1 -1
  25. package/dist/cjs/hooks/useDashboard.d.ts +2 -2
  26. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  27. package/dist/cjs/hooks/useDashboard.js +74 -21
  28. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  29. package/dist/cjs/hooks/useExport.js +9 -5
  30. package/dist/cjs/hooks/useQuill.d.ts +1 -0
  31. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  32. package/dist/cjs/hooks/useQuill.js +15 -3
  33. package/dist/cjs/hooks/useReport.d.ts +2 -2
  34. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  35. package/dist/cjs/hooks/useReport.js +3 -4
  36. package/dist/cjs/utils/paginationProcessing.d.ts +1 -0
  37. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -1
  38. package/dist/cjs/utils/paginationProcessing.js +6 -1
  39. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  40. package/dist/cjs/utils/pivotConstructor.js +3 -1
  41. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  42. package/dist/cjs/utils/tableProcessing.js +1 -0
  43. package/dist/esm/Chart.d.ts.map +1 -1
  44. package/dist/esm/Chart.js +44 -24
  45. package/dist/esm/ChartBuilder.d.ts +1 -0
  46. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  47. package/dist/esm/ChartBuilder.js +18 -7
  48. package/dist/esm/ChartEditor.d.ts.map +1 -1
  49. package/dist/esm/ChartEditor.js +2 -1
  50. package/dist/esm/Context.d.ts +111 -38
  51. package/dist/esm/Context.d.ts.map +1 -1
  52. package/dist/esm/Context.js +156 -43
  53. package/dist/esm/Dashboard.d.ts.map +1 -1
  54. package/dist/esm/Dashboard.js +17 -3
  55. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  56. package/dist/esm/ReportBuilder.js +7 -5
  57. package/dist/esm/SQLEditor.d.ts.map +1 -1
  58. package/dist/esm/SQLEditor.js +1 -0
  59. package/dist/esm/Table.d.ts.map +1 -1
  60. package/dist/esm/Table.js +73 -15
  61. package/dist/esm/components/Chart/GaugeChart.js +1 -1
  62. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  63. package/dist/esm/components/Dashboard/DataLoader.js +72 -53
  64. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  65. package/dist/esm/components/QuillTable.js +59 -61
  66. package/dist/esm/components/UiComponents.d.ts +1 -1
  67. package/dist/esm/hooks/useDashboard.d.ts +2 -2
  68. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  69. package/dist/esm/hooks/useDashboard.js +75 -22
  70. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  71. package/dist/esm/hooks/useExport.js +9 -5
  72. package/dist/esm/hooks/useQuill.d.ts +1 -0
  73. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  74. package/dist/esm/hooks/useQuill.js +15 -3
  75. package/dist/esm/hooks/useReport.d.ts +2 -2
  76. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  77. package/dist/esm/hooks/useReport.js +3 -4
  78. package/dist/esm/utils/paginationProcessing.d.ts +1 -0
  79. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -1
  80. package/dist/esm/utils/paginationProcessing.js +5 -0
  81. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  82. package/dist/esm/utils/pivotConstructor.js +3 -1
  83. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  84. package/dist/esm/utils/tableProcessing.js +1 -0
  85. package/package.json +1 -1
package/dist/esm/Table.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useContext, useMemo, useState, } from 'react';
3
- import { ClientContext, DashboardContext, DashboardFiltersContext, ReportFiltersContext, ReportsContext, } from './Context';
2
+ import { useContext, useEffect, useMemo, useState, } from 'react';
3
+ import { ClientContext, DashboardContext, DashboardFiltersContext, ReportFiltersContext, ReportsContext, SchemaDataContext, } from './Context';
4
4
  import QuillTable from './components/QuillTable';
5
5
  import { convertCustomFilter, FilterType } from './models/Filter';
6
6
  import { DEFAULT_PAGINATION, } from './utils/paginationProcessing';
7
7
  import DataLoader from './components/Dashboard/DataLoader';
8
8
  import QuillTableComponent from './components/Dashboard/TableComponent';
9
+ import { useAllReports } from './hooks/useDashboard';
9
10
  /**
10
11
  * ### Quill Table
11
12
  *
@@ -40,16 +41,16 @@ import QuillTableComponent from './components/Dashboard/TableComponent';
40
41
  const Table = ({ TableComponent = QuillTableComponent, ...props }) => {
41
42
  const data = props;
42
43
  const [dashboard] = useContext(DashboardContext);
43
- const { dashboardFilters } = useContext(DashboardFiltersContext);
44
- const [client] = useContext(ClientContext);
45
- const { reports,
46
- // reportsDispatch,
47
- // fetchIndividualReport
48
- } = useContext(ReportsContext);
49
- const report = useMemo(() => reports[props.reportId ?? ''], [reports, props.reportId]);
50
- const {
51
- // reportFiltersDispatch,
52
- reportFilters } = useContext(ReportFiltersContext);
44
+ const { dashboardFilters, dashboardCustomFilters } = useContext(DashboardFiltersContext);
45
+ const [client, clientLoading] = useContext(ClientContext);
46
+ const [schemaData] = useContext(SchemaDataContext);
47
+ const { allReportsById } = useAllReports();
48
+ const [loading, setLoading] = useState(false);
49
+ const report = useMemo(() => {
50
+ return props.reportId ? allReportsById[props.reportId] : null;
51
+ }, [allReportsById[props.reportId ?? '']]);
52
+ const { reportFilters, customReportFilters, reportFiltersDispatch, } = useContext(ReportFiltersContext);
53
+ const { reports, fetchIndividualReport, reportsDispatch, } = useContext(ReportsContext);
53
54
  const specificReportFilters = useMemo(() => {
54
55
  return Object.values(reportFilters[props.reportId ?? ''] ??
55
56
  (dashboard[report?.dashboardName ?? '']?.[report?.id ?? '']
@@ -61,16 +62,73 @@ const Table = ({ TableComponent = QuillTableComponent, ...props }) => {
61
62
  // return specificReportFilters.find((f) => f.filterType === 'date_range');
62
63
  // }, [specificReportFilters]);
63
64
  const userFilters = useMemo(() => {
64
- return props.filters?.filter((f) => f.filterType !== FilterType.Date);
65
+ return (props.filters?.filter((f) => f.filterType !== FilterType.Date)?.map(convertCustomFilter) ?? []).concat(customReportFilters[props.reportId ?? ''] ?? dashboardCustomFilters[report?.dashboardName ?? ''] ?? []);
65
66
  }, [props.filters]);
67
+ const fetchReportHelper = async () => {
68
+ if (!client || !props.reportId) {
69
+ return;
70
+ }
71
+ setLoading(true);
72
+ try {
73
+ await fetchIndividualReport({
74
+ reportId: props.reportId,
75
+ initiator: 'Table',
76
+ fetchRows: false,
77
+ dashboardFilters: specificReportFilters,
78
+ customFilters: customReportFilters[props.reportId] ?? dashboardCustomFilters[report?.dashboardName ?? ''],
79
+ // dateBucket,
80
+ customFields: schemaData.customFields,
81
+ });
82
+ }
83
+ catch (error) {
84
+ console.log('Error fetching chart: ' + error);
85
+ }
86
+ finally {
87
+ setLoading(false);
88
+ }
89
+ };
90
+ // TODO: move this into a hook for all report scope operations
91
+ useEffect(() => {
92
+ if (props.reportId === undefined || props.reportId === '' || clientLoading) {
93
+ return;
94
+ }
95
+ if (report) {
96
+ if (dashboardFilters[report.dashboardName]) {
97
+ reportFiltersDispatch({
98
+ type: 'ADD_REPORT_FILTERS',
99
+ id: props.reportId,
100
+ data: Object.values(dashboardFilters[report.dashboardName] ?? {}).map((f) => ({
101
+ filter: f.filter,
102
+ loading: false,
103
+ }))
104
+ });
105
+ }
106
+ reportsDispatch({
107
+ type: 'ADD_REPORT',
108
+ id: props.reportId,
109
+ data: report,
110
+ });
111
+ setLoading(false);
112
+ }
113
+ else if (!reports[props.reportId]) {
114
+ fetchReportHelper();
115
+ return;
116
+ }
117
+ setLoading(false);
118
+ }, [
119
+ !!report,
120
+ dashboardFilters,
121
+ clientLoading,
122
+ !reports[props.reportId ?? ''],
123
+ ]);
66
124
  const [page, setPage] = useState(0);
67
125
  if ('rows' in data && 'columns' in data) {
68
- return (_jsx(QuillTable, { hideCSVDownloadButton: data.hideCSVDownloadButton, columns: data.columns, rows: data.rows, className: data.className, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading, downloadCSV: data.downloadCSV, currentPage: page, onPageChange: setPage }));
126
+ return (_jsx(QuillTable, { hideCSVDownloadButton: data.hideCSVDownloadButton, columns: data.columns, rows: data.rows, className: data.className, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading || loading, downloadCSV: data.downloadCSV, currentPage: page, onPageChange: setPage }));
69
127
  }
70
128
  if (!client || !report) {
71
129
  return null;
72
130
  }
73
- return (_jsx(DataLoader, { item: report, filters: specificReportFilters, userFilters: userFilters?.map(convertCustomFilter), additionalProcessing: {
131
+ return (_jsx(DataLoader, { item: report, filters: specificReportFilters, userFilters: userFilters, additionalProcessing: {
74
132
  page: DEFAULT_PAGINATION,
75
133
  }, children: ({ isLoading, error, onPageChange, onSortChange, data, rowCount, rowCountIsLoading, }) => _jsx(TableComponent, { report: data, isLoading: isLoading, error: error, rowCount: rowCount ?? data?.rowCount ?? data?.rows?.length ?? 0, rowCountIsLoading: rowCountIsLoading, onPageChange: (page) => onPageChange(page), onSortChange: (sort) => onSortChange(sort), hideName: true }) }));
76
134
  };
@@ -7,7 +7,7 @@ import { useEffect, useRef, useState } from "react";
7
7
  import 'd3-transition';
8
8
  import { axisFormatter } from "../../utils/axisFormatter";
9
9
  export default function GaugeChart({ data, xAxisField, xAxisFormat, containerStyle, colors, isAnimationActive = true, }) {
10
- const percentage = parseFloat(data[0][xAxisField]) || 0;
10
+ const percentage = parseFloat(data[0]?.[xAxisField]) || 0;
11
11
  const normalizedPercentage = ['whole_number', 'two_decimal_places'].includes(xAxisFormat)
12
12
  ? Math.max(Math.min(percentage / 100, 1), 0)
13
13
  : Math.max(Math.min(percentage, 1), 0);
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4BtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AA+KF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,oBAAoB,EAAE,2BAA2B,EACjD,aAAa,EACb,gBAAgB,GACjB,EAAE;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CA8Vd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe,iHASzB;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,KACf,YAAY,CAAC;IAClB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,iBAAiB,GAClB,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;CAC9C,KAAG,GAAG,CAAC,OAiLP,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4BtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AA+KF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,oBAAoB,EAAE,2BAA2B,EACjD,aAAa,EACb,gBAAgB,GACjB,EAAE;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CA2Vd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe,iHASzB;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,KACf,YAAY,CAAC;IAClB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,iBAAiB,GAClB,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;CAC9C,KAAG,GAAG,CAAC,OAiLP,CAAC"}
@@ -97,42 +97,63 @@ function userFilterValuesEquivalent(filters1, filters2) {
97
97
  }
98
98
  return true;
99
99
  }
100
- function tenantsEquivalent(tenants1, tenants2) {
101
- if (!tenants1 && !tenants2) {
102
- return true;
103
- }
104
- if (tenants1?.length !== tenants2?.length) {
105
- return false;
106
- }
107
- if (!tenants1 || !tenants2) {
108
- return false;
109
- }
110
- // The two tenant arrays aren't necessarily in the same order
111
- // we can build two dictionaries of [foreignKey, tenantIds] and compare them
112
- // if they are arrays of strings or numbers, we can just compare them directly
113
- if ((typeof tenants1[0] === 'string' && typeof tenants2[0] === 'string') ||
114
- (typeof tenants1[0] === 'number' && typeof tenants2[0] === 'number')) {
115
- return equal(tenants1, tenants2);
116
- }
117
- if ((typeof tenants1[0] === 'string' && typeof tenants2[0] !== 'string') ||
118
- (typeof tenants1[0] === 'number' && typeof tenants2[0] !== 'number')) {
119
- return false;
120
- }
121
- const mappedTenants1 = tenants1.reduce((acc, tenant) => {
122
- acc[tenant.tenantField] = tenant.tenantIds;
123
- return acc;
124
- }, {});
125
- const mappedTenants2 = tenants2.reduce((acc, tenant) => {
126
- acc[tenant.tenantField] = tenant.tenantIds;
127
- return acc;
128
- }, {});
129
- for (const key in mappedTenants1) {
130
- if (!equal(mappedTenants1[key], mappedTenants2[key])) {
131
- return false;
132
- }
133
- }
134
- return true;
135
- }
100
+ // function tenantsEquivalent(
101
+ // tenants1:
102
+ // | { tenantField: string; tenantIds: (string | number)[] }[]
103
+ // | (string | number)[],
104
+ // tenants2:
105
+ // | { tenantField: string; tenantIds: (string | number)[] }[]
106
+ // | (string | number)[],
107
+ // ): boolean {
108
+ // if (!tenants1 && !tenants2) {
109
+ // return true;
110
+ // }
111
+ // if (tenants1?.length !== tenants2?.length) {
112
+ // return false;
113
+ // }
114
+ // if (!tenants1 || !tenants2) {
115
+ // return false;
116
+ // }
117
+ // // The two tenant arrays aren't necessarily in the same order
118
+ // // we can build two dictionaries of [foreignKey, tenantIds] and compare them
119
+ // // if they are arrays of strings or numbers, we can just compare them directly
120
+ // if (
121
+ // (typeof tenants1[0] === 'string' && typeof tenants2[0] === 'string') ||
122
+ // (typeof tenants1[0] === 'number' && typeof tenants2[0] === 'number')
123
+ // ) {
124
+ // return equal(tenants1, tenants2);
125
+ // }
126
+ // if (
127
+ // (typeof tenants1[0] === 'string' && typeof tenants2[0] !== 'string') ||
128
+ // (typeof tenants1[0] === 'number' && typeof tenants2[0] !== 'number')
129
+ // ) {
130
+ // return false;
131
+ // }
132
+ // const mappedTenants1 = (
133
+ // tenants1 as { tenantField: string; tenantIds: (string | number)[] }[]
134
+ // ).reduce(
135
+ // (acc, tenant) => {
136
+ // acc[tenant.tenantField] = tenant.tenantIds;
137
+ // return acc;
138
+ // },
139
+ // {} as { [key: string]: (string | number)[] },
140
+ // );
141
+ // const mappedTenants2 = (
142
+ // tenants2 as { tenantField: string; tenantIds: (string | number)[] }[]
143
+ // ).reduce(
144
+ // (acc, tenant) => {
145
+ // acc[tenant.tenantField] = tenant.tenantIds;
146
+ // return acc;
147
+ // },
148
+ // {} as { [key: string]: (string | number)[] },
149
+ // );
150
+ // for (const key in mappedTenants1) {
151
+ // if (!equal(mappedTenants1[key], mappedTenants2[key])) {
152
+ // return false;
153
+ // }
154
+ // }
155
+ // return true;
156
+ // }
136
157
  function customFieldsEquivalent(customFields1, customFields2) {
137
158
  return equal(customFields1, customFields2);
138
159
  }
@@ -297,17 +318,15 @@ export default function DataLoader({ item, children, filters, userFilters, addit
297
318
  });
298
319
  }
299
320
  else {
300
- if (isPivotPagination) {
301
- reportsDispatch({
302
- type: 'UPDATE_REPORT',
303
- id: item.id,
304
- data: {
305
- [isPivotPagination ? 'pivotRows' : 'rows']: updatedRows,
306
- loadingRows: false,
307
- filtersApplied: userFilters,
308
- },
309
- });
310
- }
321
+ reportsDispatch({
322
+ type: 'UPDATE_REPORT',
323
+ id: item.id,
324
+ data: {
325
+ [isPivotPagination ? 'pivotRows' : 'rows']: updatedRows,
326
+ loadingRows: false,
327
+ filtersApplied: userFilters,
328
+ },
329
+ });
311
330
  }
312
331
  setAdditionalProcessing(updatedProcessing);
313
332
  }
@@ -404,9 +423,9 @@ export default function DataLoader({ item, children, filters, userFilters, addit
404
423
  if (schemaData.isSchemaLoading ||
405
424
  (filterValuesEquivalent(previousFilters.current ?? contextFilters, filters) &&
406
425
  userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
407
- tenantsEquivalent(previousTenants.current ?? [], tenants ?? []) &&
426
+ // tenantsEquivalent(previousTenants.current ?? [], tenants ?? []) &&
408
427
  customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
409
- ((dashboardName ? dashboard : reports)[item.id]?.rows?.length || rowsAbortController.current))) {
428
+ ((dashboardName ? dashboard : reports)[item.id]?.rows !== undefined || rowsAbortController.current))) {
410
429
  if (!rowsAbortController.current && !schemaData.isSchemaLoading)
411
430
  setLoading(false);
412
431
  return;
@@ -421,7 +440,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
421
440
  filters,
422
441
  userFilters,
423
442
  item.id,
424
- tenants,
443
+ // tenants,
425
444
  schemaData.customFields,
426
445
  schemaData.isSchemaLoading,
427
446
  ]);
@@ -564,10 +583,10 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
564
583
  // previousFilters.current ?? contextFilters,
565
584
  previousFilters.current ?? [], filters) &&
566
585
  userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
567
- tenantsEquivalent(tenants ?? [], previousTenants.current ?? []) &&
586
+ // tenantsEquivalent(tenants ?? [], previousTenants.current ?? []) &&
568
587
  previousDateBucket.current === dateBucket &&
569
588
  customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
570
- ((dashboardName ? dashboard : reports)[item.id]?.rows?.length || fetchReportAbortController.current))) {
589
+ ((dashboardName ? dashboard : reports)[item.id]?.rows?.length !== undefined || fetchReportAbortController.current))) {
571
590
  if (!fetchReportAbortController.current && !schemaData.isSchemaLoading)
572
591
  setLoading(false);
573
592
  return;
@@ -583,7 +602,7 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
583
602
  userFilters,
584
603
  item.id,
585
604
  dateBucket,
586
- tenants,
605
+ // tenants,
587
606
  schemaData.customFields,
588
607
  schemaData.isSchemaLoading,
589
608
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAyB,MAAM,gBAAgB,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,qBAA4B,EAC5B,cAAc,EACd,SAAS,EACT,gBAAwC,EACxC,WAAgB,EAChB,eAA8B,EAC9B,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,EAAE,wBAAwB,2CAsf1B"}
1
+ {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAyB,MAAM,gBAAgB,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,qBAA4B,EAC5B,cAAc,EACd,SAAS,EACT,gBAAwC,EACxC,WAAgB,EAChB,eAA8B,EAC9B,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,EAAE,wBAAwB,2CA8e1B"}
@@ -109,7 +109,7 @@ export default function QuillTable({ rows, rowCount, rowCountIsLoading, columns,
109
109
  }, className: className, children: _jsx("div", { style: {
110
110
  height: '100%',
111
111
  width: '100%',
112
- overflow: 'flex',
112
+ overflow: 'auto',
113
113
  borderRadius: 6,
114
114
  border: '1px solid #E7E7E7',
115
115
  padding: 0,
@@ -124,68 +124,66 @@ export default function QuillTable({ rows, rowCount, rowCountIsLoading, columns,
124
124
  width: '100%',
125
125
  height: '100%',
126
126
  minHeight: '260px',
127
- }, children: [_jsx("div", { className: "thead-container", style: {
128
- width: '100%',
129
- background: 'white',
130
- }, children: _jsx("div", { className: "thead", children: _jsx("div", { role: "row", className: "tr", style: {
131
- display: 'flex',
132
- flex: '1 0 auto',
133
- minWidth: '100px',
134
- boxSizing: 'border-box',
135
- marginBottom: '-1px',
136
- }, children: columns &&
137
- columns.map((column, index) => (_jsxs("div", { onClick: (e) => {
138
- toggleSort(column);
139
- e.stopPropagation();
140
- }, style: {
141
- boxSizing: 'border-box',
142
- flex: '150 0 auto',
143
- minWidth: '50px',
144
- width: '150px',
145
- position: 'relative',
146
- cursor: 'pointer',
147
- background: 'rgb(249, 250, 251)',
148
- borderRight: index + 1 === columns.length
149
- ? '0px solid #E7E7E7'
150
- : '1px solid #E7E7E7',
151
- borderBottom: '1px solid #E7E7E7',
152
- whiteSpace: 'nowrap',
153
- alignItems: 'center',
154
- overflowX: 'visible',
155
- margin: '0px',
156
- textOverflow: 'ellipsis',
157
- minHeight: '36px',
158
- userSelect: 'none',
159
- paddingLeft: 16,
160
- paddingRight: 16,
127
+ }, children: [_jsx("div", { style: { overflow: 'auto', flexGrow: 1 }, children: _jsxs("div", { style: { minWidth: '100%', display: 'inline-block' }, children: [_jsx("div", { className: "thead", style: {
128
+ position: 'sticky',
129
+ top: 0,
130
+ zIndex: 1,
131
+ background: 'white',
132
+ }, children: _jsx("div", { role: "row", className: "tr", style: {
161
133
  display: 'flex',
162
- flexDirection: 'row',
163
- justifyContent: 'space-between',
164
- }, children: [_jsx("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown", style: {
165
- // fontFamily:
166
- // 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',
167
- WebkitTapHighlightColor: 'transparent',
168
- fontFamily: theme?.fontFamily,
169
- // color: 'rgb(55, 65, 81)',
170
- color: theme?.primaryTextColor,
171
- textDecoration: 'none',
172
- fontSize: theme?.fontSizeSmall || '14px',
173
- fontWeight: theme?.fontWeightMedium || '500',
174
- lineHeight: '20px', // 1.25rem * 16px = 20px
175
- textOverflow: 'ellipsis',
134
+ flex: '1 0 auto',
135
+ minWidth: '100px',
136
+ boxSizing: 'border-box',
137
+ marginBottom: '-1px', // avoid double border
138
+ }, children: columns &&
139
+ columns.map((column, index) => (_jsxs("div", { onClick: (e) => {
140
+ toggleSort(column);
141
+ e.stopPropagation();
142
+ }, style: {
143
+ boxSizing: 'border-box',
144
+ flex: '150 0 auto',
145
+ minWidth: '50px',
146
+ width: '150px',
147
+ position: 'relative',
148
+ cursor: 'pointer',
149
+ background: 'rgb(249, 250, 251)',
150
+ borderRight: index + 1 === columns.length
151
+ ? '0px solid #E7E7E7'
152
+ : '1px solid #E7E7E7',
153
+ borderBottom: '1px solid #E7E7E7',
176
154
  whiteSpace: 'nowrap',
177
- overflow: 'hidden',
178
- }, children: hideLabels || !column.label
179
- ? column.field
180
- : column.label }), column.field === sortColumn && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.primaryTextColor, height: "14px", width: "14px", style: {
181
- transform: sortDirection === 'desc'
182
- ? 'rotate(180deg)'
183
- : undefined,
184
- }, children: _jsx("path", { fillRule: "evenodd", d: "M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z", clipRule: "evenodd" }) }))] }, 'sqlcol' + index))) }) }) }), _jsx("div", { style: {
185
- overflow: 'auto',
186
- flexGrow: 1,
187
- position: 'relative',
188
- }, children: _jsxs("div", { style: { minWidth: '100%' }, children: [(isPaginating || isLoading) && (_jsx("div", { className: className, style: { position: 'absolute', width: '100%' }, children: _jsx(LoadingComponent, {}) })), (activeRows && activeRows.length === 0) ||
155
+ alignItems: 'center',
156
+ overflowX: 'visible',
157
+ margin: '0px',
158
+ textOverflow: 'ellipsis',
159
+ minHeight: '36px',
160
+ userSelect: 'none',
161
+ paddingLeft: 16,
162
+ paddingRight: 16,
163
+ display: 'flex',
164
+ flexDirection: 'row',
165
+ justifyContent: 'space-between',
166
+ }, children: [_jsx("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown", style: {
167
+ // fontFamily:
168
+ // 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',
169
+ WebkitTapHighlightColor: 'transparent',
170
+ fontFamily: theme?.fontFamily,
171
+ // color: 'rgb(55, 65, 81)',
172
+ color: theme?.primaryTextColor,
173
+ textDecoration: 'none',
174
+ fontSize: theme?.fontSizeSmall || '14px',
175
+ fontWeight: theme?.fontWeightMedium || '500',
176
+ lineHeight: '20px', // 1.25rem * 16px = 20px
177
+ textOverflow: 'ellipsis',
178
+ whiteSpace: 'nowrap',
179
+ overflow: 'hidden',
180
+ }, children: hideLabels || !column.label
181
+ ? column.field
182
+ : column.label }), column.field === sortColumn && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.primaryTextColor, height: "14px", width: "14px", style: {
183
+ transform: sortDirection === 'desc'
184
+ ? 'rotate(180deg)'
185
+ : undefined,
186
+ }, children: _jsx("path", { fillRule: "evenodd", d: "M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z", clipRule: "evenodd" }) }))] }, 'sqlcol' + index))) }) }), (isPaginating || isLoading) && (_jsx("div", { className: className, style: { position: 'absolute', width: '100%' }, children: _jsx(LoadingComponent, {}) })), (activeRows && activeRows.length === 0) ||
189
187
  (columns && columns.length === 0) ? (_jsx("div", { style: {
190
188
  padding: '30px 0',
191
189
  display: isPaginating || isLoading ? 'none' : 'flex',
@@ -231,6 +231,6 @@ export declare const QuillToolTip: ({ children, text, enabled, containerStyle, t
231
231
  containerStyle?: CSSProperties;
232
232
  textStyle?: CSSProperties;
233
233
  displayBelow?: boolean;
234
- }) => string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | null | undefined;
234
+ }) => string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
235
235
  export declare const QuillChartBuilderCheckboxComponent: ({ isChecked, label, onChange, disabled, containerStyle, }: CheckboxComponentProps) => import("react/jsx-runtime").JSX.Element;
236
236
  //# sourceMappingURL=UiComponents.d.ts.map
@@ -14,6 +14,7 @@ export declare const useDashboard: (dashboardName: string | null, customFilters?
14
14
  }, overrideFilters?: {
15
15
  filters: DashboardFilter[];
16
16
  editedFilterLabel?: string;
17
+ refetchReports?: boolean;
17
18
  }) => Promise<void>;
18
19
  setSectionOrder: (sectionOrder: {
19
20
  section: string;
@@ -53,13 +54,12 @@ export declare const useDashboards: () => {
53
54
  dashboardOwners: string[];
54
55
  dateFilter?: DashboardFilter;
55
56
  }) => Promise<void>;
56
- updateDashboard: (name: string, { newName, filters, dateFilter, customFilters, tenantKeys, sectionOrder, }: {
57
+ updateDashboard: (name: string, { newName, filters, dateFilter, customFilters, tenantKeys, }: {
57
58
  newName: string;
58
59
  filters: DashboardFilter[];
59
60
  dateFilter?: DashboardFilter;
60
61
  customFilters?: InternalFilter[];
61
62
  tenantKeys?: string[];
62
- sectionOrder: string[];
63
63
  }) => Promise<void>;
64
64
  deleteDashboard: (name: string) => Promise<void>;
65
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EACL,eAAe,EAEf,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,eAAO,MAAM,YAAY,kBACR,MAAM,GAAG,IAAI,kBACZ,cAAc,EAAE;;;;2CAyLc,MAAM;qCAvJ1B,MAAM,4CAEf;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,oBACiB;QAChB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;oCA2E0C;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAC,EAAE;CAkFtG,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBAAoB,MAAM;;;;yBAK5B,OAAO,CAAC,mBAAmB,CAAC;sBAe/B,mBAAmB;CAmB7C,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAkBzB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;uEA4BrB;QACD,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;KAC9B;4BAuDO,MAAM,8EAQT;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;QAC7B,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB;4BAkHkC,MAAM;CA+B5C,CAAC"}
1
+ {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAEL,eAAe,EAGf,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,eAAO,MAAM,YAAY,kBACR,MAAM,GAAG,IAAI,kBACZ,cAAc,EAAE;;;;2CAyLc,MAAM;qCAvJ1B,MAAM,4CAEf;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,oBACiB;QAChB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;oCA4E0C;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAC,EAAE;CAgFtG,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBAAoB,MAAM;;;;yBAK5B,OAAO,CAAC,mBAAmB,CAAC;sBAgB/B,mBAAmB;CAmB7C,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAkBzB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;uEA8BrB;QACD,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;KAC9B;4BAsDO,MAAM,gEAOT;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;QAC7B,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB;4BA+JkC,MAAM;CA+B5C,CAAC"}