@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/cjs/Table.js CHANGED
@@ -11,6 +11,7 @@ const Filter_1 = require("./models/Filter");
11
11
  const paginationProcessing_1 = require("./utils/paginationProcessing");
12
12
  const DataLoader_1 = __importDefault(require("./components/Dashboard/DataLoader"));
13
13
  const TableComponent_1 = __importDefault(require("./components/Dashboard/TableComponent"));
14
+ const useDashboard_1 = require("./hooks/useDashboard");
14
15
  /**
15
16
  * ### Quill Table
16
17
  *
@@ -45,16 +46,16 @@ const TableComponent_1 = __importDefault(require("./components/Dashboard/TableCo
45
46
  const Table = ({ TableComponent = TableComponent_1.default, ...props }) => {
46
47
  const data = props;
47
48
  const [dashboard] = (0, react_1.useContext)(Context_1.DashboardContext);
48
- const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
49
- const [client] = (0, react_1.useContext)(Context_1.ClientContext);
50
- const { reports,
51
- // reportsDispatch,
52
- // fetchIndividualReport
53
- } = (0, react_1.useContext)(Context_1.ReportsContext);
54
- const report = (0, react_1.useMemo)(() => reports[props.reportId ?? ''], [reports, props.reportId]);
55
- const {
56
- // reportFiltersDispatch,
57
- reportFilters } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
49
+ const { dashboardFilters, dashboardCustomFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
50
+ const [client, clientLoading] = (0, react_1.useContext)(Context_1.ClientContext);
51
+ const [schemaData] = (0, react_1.useContext)(Context_1.SchemaDataContext);
52
+ const { allReportsById } = (0, useDashboard_1.useAllReports)();
53
+ const [loading, setLoading] = (0, react_1.useState)(false);
54
+ const report = (0, react_1.useMemo)(() => {
55
+ return props.reportId ? allReportsById[props.reportId] : null;
56
+ }, [allReportsById[props.reportId ?? '']]);
57
+ const { reportFilters, customReportFilters, reportFiltersDispatch, } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
58
+ const { reports, fetchIndividualReport, reportsDispatch, } = (0, react_1.useContext)(Context_1.ReportsContext);
58
59
  const specificReportFilters = (0, react_1.useMemo)(() => {
59
60
  return Object.values(reportFilters[props.reportId ?? ''] ??
60
61
  (dashboard[report?.dashboardName ?? '']?.[report?.id ?? '']
@@ -66,16 +67,73 @@ const Table = ({ TableComponent = TableComponent_1.default, ...props }) => {
66
67
  // return specificReportFilters.find((f) => f.filterType === 'date_range');
67
68
  // }, [specificReportFilters]);
68
69
  const userFilters = (0, react_1.useMemo)(() => {
69
- return props.filters?.filter((f) => f.filterType !== Filter_1.FilterType.Date);
70
+ return (props.filters?.filter((f) => f.filterType !== Filter_1.FilterType.Date)?.map(Filter_1.convertCustomFilter) ?? []).concat(customReportFilters[props.reportId ?? ''] ?? dashboardCustomFilters[report?.dashboardName ?? ''] ?? []);
70
71
  }, [props.filters]);
72
+ const fetchReportHelper = async () => {
73
+ if (!client || !props.reportId) {
74
+ return;
75
+ }
76
+ setLoading(true);
77
+ try {
78
+ await fetchIndividualReport({
79
+ reportId: props.reportId,
80
+ initiator: 'Table',
81
+ fetchRows: false,
82
+ dashboardFilters: specificReportFilters,
83
+ customFilters: customReportFilters[props.reportId] ?? dashboardCustomFilters[report?.dashboardName ?? ''],
84
+ // dateBucket,
85
+ customFields: schemaData.customFields,
86
+ });
87
+ }
88
+ catch (error) {
89
+ console.log('Error fetching chart: ' + error);
90
+ }
91
+ finally {
92
+ setLoading(false);
93
+ }
94
+ };
95
+ // TODO: move this into a hook for all report scope operations
96
+ (0, react_1.useEffect)(() => {
97
+ if (props.reportId === undefined || props.reportId === '' || clientLoading) {
98
+ return;
99
+ }
100
+ if (report) {
101
+ if (dashboardFilters[report.dashboardName]) {
102
+ reportFiltersDispatch({
103
+ type: 'ADD_REPORT_FILTERS',
104
+ id: props.reportId,
105
+ data: Object.values(dashboardFilters[report.dashboardName] ?? {}).map((f) => ({
106
+ filter: f.filter,
107
+ loading: false,
108
+ }))
109
+ });
110
+ }
111
+ reportsDispatch({
112
+ type: 'ADD_REPORT',
113
+ id: props.reportId,
114
+ data: report,
115
+ });
116
+ setLoading(false);
117
+ }
118
+ else if (!reports[props.reportId]) {
119
+ fetchReportHelper();
120
+ return;
121
+ }
122
+ setLoading(false);
123
+ }, [
124
+ !!report,
125
+ dashboardFilters,
126
+ clientLoading,
127
+ !reports[props.reportId ?? ''],
128
+ ]);
71
129
  const [page, setPage] = (0, react_1.useState)(0);
72
130
  if ('rows' in data && 'columns' in data) {
73
- return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { 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 }));
131
+ return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { 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 }));
74
132
  }
75
133
  if (!client || !report) {
76
134
  return null;
77
135
  }
78
- return ((0, jsx_runtime_1.jsx)(DataLoader_1.default, { item: report, filters: specificReportFilters, userFilters: userFilters?.map(Filter_1.convertCustomFilter), additionalProcessing: {
136
+ return ((0, jsx_runtime_1.jsx)(DataLoader_1.default, { item: report, filters: specificReportFilters, userFilters: userFilters, additionalProcessing: {
79
137
  page: paginationProcessing_1.DEFAULT_PAGINATION,
80
138
  }, children: ({ isLoading, error, onPageChange, onSortChange, data, rowCount, rowCountIsLoading, }) => (0, jsx_runtime_1.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 }) }));
81
139
  };
@@ -43,7 +43,7 @@ const react_1 = require("react");
43
43
  require("d3-transition");
44
44
  const axisFormatter_1 = require("../../utils/axisFormatter");
45
45
  function GaugeChart({ data, xAxisField, xAxisFormat, containerStyle, colors, isAnimationActive = true, }) {
46
- const percentage = parseFloat(data[0][xAxisField]) || 0;
46
+ const percentage = parseFloat(data[0]?.[xAxisField]) || 0;
47
47
  const normalizedPercentage = ['whole_number', 'two_decimal_places'].includes(xAxisFormat)
48
48
  ? Math.max(Math.min(percentage / 100, 1), 0)
49
49
  : 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"}
@@ -104,42 +104,63 @@ function userFilterValuesEquivalent(filters1, filters2) {
104
104
  }
105
105
  return true;
106
106
  }
107
- function tenantsEquivalent(tenants1, tenants2) {
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 ((typeof tenants1[0] === 'string' && typeof tenants2[0] === 'string') ||
121
- (typeof tenants1[0] === 'number' && typeof tenants2[0] === 'number')) {
122
- return (0, fast_deep_equal_1.default)(tenants1, tenants2);
123
- }
124
- if ((typeof tenants1[0] === 'string' && typeof tenants2[0] !== 'string') ||
125
- (typeof tenants1[0] === 'number' && typeof tenants2[0] !== 'number')) {
126
- return false;
127
- }
128
- const mappedTenants1 = tenants1.reduce((acc, tenant) => {
129
- acc[tenant.tenantField] = tenant.tenantIds;
130
- return acc;
131
- }, {});
132
- const mappedTenants2 = tenants2.reduce((acc, tenant) => {
133
- acc[tenant.tenantField] = tenant.tenantIds;
134
- return acc;
135
- }, {});
136
- for (const key in mappedTenants1) {
137
- if (!(0, fast_deep_equal_1.default)(mappedTenants1[key], mappedTenants2[key])) {
138
- return false;
139
- }
140
- }
141
- return true;
142
- }
107
+ // function tenantsEquivalent(
108
+ // tenants1:
109
+ // | { tenantField: string; tenantIds: (string | number)[] }[]
110
+ // | (string | number)[],
111
+ // tenants2:
112
+ // | { tenantField: string; tenantIds: (string | number)[] }[]
113
+ // | (string | number)[],
114
+ // ): boolean {
115
+ // if (!tenants1 && !tenants2) {
116
+ // return true;
117
+ // }
118
+ // if (tenants1?.length !== tenants2?.length) {
119
+ // return false;
120
+ // }
121
+ // if (!tenants1 || !tenants2) {
122
+ // return false;
123
+ // }
124
+ // // The two tenant arrays aren't necessarily in the same order
125
+ // // we can build two dictionaries of [foreignKey, tenantIds] and compare them
126
+ // // if they are arrays of strings or numbers, we can just compare them directly
127
+ // if (
128
+ // (typeof tenants1[0] === 'string' && typeof tenants2[0] === 'string') ||
129
+ // (typeof tenants1[0] === 'number' && typeof tenants2[0] === 'number')
130
+ // ) {
131
+ // return equal(tenants1, tenants2);
132
+ // }
133
+ // if (
134
+ // (typeof tenants1[0] === 'string' && typeof tenants2[0] !== 'string') ||
135
+ // (typeof tenants1[0] === 'number' && typeof tenants2[0] !== 'number')
136
+ // ) {
137
+ // return false;
138
+ // }
139
+ // const mappedTenants1 = (
140
+ // tenants1 as { tenantField: string; tenantIds: (string | number)[] }[]
141
+ // ).reduce(
142
+ // (acc, tenant) => {
143
+ // acc[tenant.tenantField] = tenant.tenantIds;
144
+ // return acc;
145
+ // },
146
+ // {} as { [key: string]: (string | number)[] },
147
+ // );
148
+ // const mappedTenants2 = (
149
+ // tenants2 as { tenantField: string; tenantIds: (string | number)[] }[]
150
+ // ).reduce(
151
+ // (acc, tenant) => {
152
+ // acc[tenant.tenantField] = tenant.tenantIds;
153
+ // return acc;
154
+ // },
155
+ // {} as { [key: string]: (string | number)[] },
156
+ // );
157
+ // for (const key in mappedTenants1) {
158
+ // if (!equal(mappedTenants1[key], mappedTenants2[key])) {
159
+ // return false;
160
+ // }
161
+ // }
162
+ // return true;
163
+ // }
143
164
  function customFieldsEquivalent(customFields1, customFields2) {
144
165
  return (0, fast_deep_equal_1.default)(customFields1, customFields2);
145
166
  }
@@ -304,17 +325,15 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
304
325
  });
305
326
  }
306
327
  else {
307
- if (isPivotPagination) {
308
- reportsDispatch({
309
- type: 'UPDATE_REPORT',
310
- id: item.id,
311
- data: {
312
- [isPivotPagination ? 'pivotRows' : 'rows']: updatedRows,
313
- loadingRows: false,
314
- filtersApplied: userFilters,
315
- },
316
- });
317
- }
328
+ reportsDispatch({
329
+ type: 'UPDATE_REPORT',
330
+ id: item.id,
331
+ data: {
332
+ [isPivotPagination ? 'pivotRows' : 'rows']: updatedRows,
333
+ loadingRows: false,
334
+ filtersApplied: userFilters,
335
+ },
336
+ });
318
337
  }
319
338
  setAdditionalProcessing(updatedProcessing);
320
339
  }
@@ -411,9 +430,9 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
411
430
  if (schemaData.isSchemaLoading ||
412
431
  (filterValuesEquivalent(previousFilters.current ?? contextFilters, filters) &&
413
432
  userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
414
- tenantsEquivalent(previousTenants.current ?? [], tenants ?? []) &&
433
+ // tenantsEquivalent(previousTenants.current ?? [], tenants ?? []) &&
415
434
  customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
416
- ((dashboardName ? dashboard : reports)[item.id]?.rows?.length || rowsAbortController.current))) {
435
+ ((dashboardName ? dashboard : reports)[item.id]?.rows !== undefined || rowsAbortController.current))) {
417
436
  if (!rowsAbortController.current && !schemaData.isSchemaLoading)
418
437
  setLoading(false);
419
438
  return;
@@ -428,7 +447,7 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
428
447
  filters,
429
448
  userFilters,
430
449
  item.id,
431
- tenants,
450
+ // tenants,
432
451
  schemaData.customFields,
433
452
  schemaData.isSchemaLoading,
434
453
  ]);
@@ -571,10 +590,10 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
571
590
  // previousFilters.current ?? contextFilters,
572
591
  previousFilters.current ?? [], filters) &&
573
592
  userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
574
- tenantsEquivalent(tenants ?? [], previousTenants.current ?? []) &&
593
+ // tenantsEquivalent(tenants ?? [], previousTenants.current ?? []) &&
575
594
  previousDateBucket.current === dateBucket &&
576
595
  customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
577
- ((dashboardName ? dashboard : reports)[item.id]?.rows?.length || fetchReportAbortController.current))) {
596
+ ((dashboardName ? dashboard : reports)[item.id]?.rows?.length !== undefined || fetchReportAbortController.current))) {
578
597
  if (!fetchReportAbortController.current && !schemaData.isSchemaLoading)
579
598
  setLoading(false);
580
599
  return;
@@ -590,7 +609,7 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
590
609
  userFilters,
591
610
  item.id,
592
611
  dateBucket,
593
- tenants,
612
+ // tenants,
594
613
  schemaData.customFields,
595
614
  schemaData.isSchemaLoading,
596
615
  ]);
@@ -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"}
@@ -112,7 +112,7 @@ function QuillTable({ rows, rowCount, rowCountIsLoading, columns, isLoading, cur
112
112
  }, className: className, children: (0, jsx_runtime_1.jsx)("div", { style: {
113
113
  height: '100%',
114
114
  width: '100%',
115
- overflow: 'flex',
115
+ overflow: 'auto',
116
116
  borderRadius: 6,
117
117
  border: '1px solid #E7E7E7',
118
118
  padding: 0,
@@ -127,68 +127,66 @@ function QuillTable({ rows, rowCount, rowCountIsLoading, columns, isLoading, cur
127
127
  width: '100%',
128
128
  height: '100%',
129
129
  minHeight: '260px',
130
- }, children: [(0, jsx_runtime_1.jsx)("div", { className: "thead-container", style: {
131
- width: '100%',
132
- background: 'white',
133
- }, children: (0, jsx_runtime_1.jsx)("div", { className: "thead", children: (0, jsx_runtime_1.jsx)("div", { role: "row", className: "tr", style: {
134
- display: 'flex',
135
- flex: '1 0 auto',
136
- minWidth: '100px',
137
- boxSizing: 'border-box',
138
- marginBottom: '-1px',
139
- }, children: columns &&
140
- columns.map((column, index) => ((0, jsx_runtime_1.jsxs)("div", { onClick: (e) => {
141
- toggleSort(column);
142
- e.stopPropagation();
143
- }, style: {
144
- boxSizing: 'border-box',
145
- flex: '150 0 auto',
146
- minWidth: '50px',
147
- width: '150px',
148
- position: 'relative',
149
- cursor: 'pointer',
150
- background: 'rgb(249, 250, 251)',
151
- borderRight: index + 1 === columns.length
152
- ? '0px solid #E7E7E7'
153
- : '1px solid #E7E7E7',
154
- borderBottom: '1px solid #E7E7E7',
155
- whiteSpace: 'nowrap',
156
- alignItems: 'center',
157
- overflowX: 'visible',
158
- margin: '0px',
159
- textOverflow: 'ellipsis',
160
- minHeight: '36px',
161
- userSelect: 'none',
162
- paddingLeft: 16,
163
- paddingRight: 16,
130
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { overflow: 'auto', flexGrow: 1 }, children: (0, jsx_runtime_1.jsxs)("div", { style: { minWidth: '100%', display: 'inline-block' }, children: [(0, jsx_runtime_1.jsx)("div", { className: "thead", style: {
131
+ position: 'sticky',
132
+ top: 0,
133
+ zIndex: 1,
134
+ background: 'white',
135
+ }, children: (0, jsx_runtime_1.jsx)("div", { role: "row", className: "tr", style: {
164
136
  display: 'flex',
165
- flexDirection: 'row',
166
- justifyContent: 'space-between',
167
- }, children: [(0, jsx_runtime_1.jsx)("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown", style: {
168
- // fontFamily:
169
- // 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',
170
- WebkitTapHighlightColor: 'transparent',
171
- fontFamily: theme?.fontFamily,
172
- // color: 'rgb(55, 65, 81)',
173
- color: theme?.primaryTextColor,
174
- textDecoration: 'none',
175
- fontSize: theme?.fontSizeSmall || '14px',
176
- fontWeight: theme?.fontWeightMedium || '500',
177
- lineHeight: '20px', // 1.25rem * 16px = 20px
178
- textOverflow: 'ellipsis',
137
+ flex: '1 0 auto',
138
+ minWidth: '100px',
139
+ boxSizing: 'border-box',
140
+ marginBottom: '-1px', // avoid double border
141
+ }, children: columns &&
142
+ columns.map((column, index) => ((0, jsx_runtime_1.jsxs)("div", { onClick: (e) => {
143
+ toggleSort(column);
144
+ e.stopPropagation();
145
+ }, style: {
146
+ boxSizing: 'border-box',
147
+ flex: '150 0 auto',
148
+ minWidth: '50px',
149
+ width: '150px',
150
+ position: 'relative',
151
+ cursor: 'pointer',
152
+ background: 'rgb(249, 250, 251)',
153
+ borderRight: index + 1 === columns.length
154
+ ? '0px solid #E7E7E7'
155
+ : '1px solid #E7E7E7',
156
+ borderBottom: '1px solid #E7E7E7',
179
157
  whiteSpace: 'nowrap',
180
- overflow: 'hidden',
181
- }, children: hideLabels || !column.label
182
- ? column.field
183
- : column.label }), column.field === sortColumn && ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.primaryTextColor, height: "14px", width: "14px", style: {
184
- transform: sortDirection === 'desc'
185
- ? 'rotate(180deg)'
186
- : undefined,
187
- }, children: (0, jsx_runtime_1.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))) }) }) }), (0, jsx_runtime_1.jsx)("div", { style: {
188
- overflow: 'auto',
189
- flexGrow: 1,
190
- position: 'relative',
191
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: { minWidth: '100%' }, children: [(isPaginating || isLoading) && ((0, jsx_runtime_1.jsx)("div", { className: className, style: { position: 'absolute', width: '100%' }, children: (0, jsx_runtime_1.jsx)(LoadingComponent, {}) })), (activeRows && activeRows.length === 0) ||
158
+ alignItems: 'center',
159
+ overflowX: 'visible',
160
+ margin: '0px',
161
+ textOverflow: 'ellipsis',
162
+ minHeight: '36px',
163
+ userSelect: 'none',
164
+ paddingLeft: 16,
165
+ paddingRight: 16,
166
+ display: 'flex',
167
+ flexDirection: 'row',
168
+ justifyContent: 'space-between',
169
+ }, children: [(0, jsx_runtime_1.jsx)("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown", style: {
170
+ // fontFamily:
171
+ // 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',
172
+ WebkitTapHighlightColor: 'transparent',
173
+ fontFamily: theme?.fontFamily,
174
+ // color: 'rgb(55, 65, 81)',
175
+ color: theme?.primaryTextColor,
176
+ textDecoration: 'none',
177
+ fontSize: theme?.fontSizeSmall || '14px',
178
+ fontWeight: theme?.fontWeightMedium || '500',
179
+ lineHeight: '20px', // 1.25rem * 16px = 20px
180
+ textOverflow: 'ellipsis',
181
+ whiteSpace: 'nowrap',
182
+ overflow: 'hidden',
183
+ }, children: hideLabels || !column.label
184
+ ? column.field
185
+ : column.label }), column.field === sortColumn && ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.primaryTextColor, height: "14px", width: "14px", style: {
186
+ transform: sortDirection === 'desc'
187
+ ? 'rotate(180deg)'
188
+ : undefined,
189
+ }, children: (0, jsx_runtime_1.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) && ((0, jsx_runtime_1.jsx)("div", { className: className, style: { position: 'absolute', width: '100%' }, children: (0, jsx_runtime_1.jsx)(LoadingComponent, {}) })), (activeRows && activeRows.length === 0) ||
192
190
  (columns && columns.length === 0) ? ((0, jsx_runtime_1.jsx)("div", { style: {
193
191
  padding: '30px 0',
194
192
  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"}