@quillsql/react 2.10.28 → 2.10.30

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 (75) hide show
  1. package/dist/cjs/Chart.js +5 -4
  2. package/dist/cjs/ChartBuilder.js +10 -5
  3. package/dist/cjs/Dashboard.d.ts +3 -1
  4. package/dist/cjs/Dashboard.d.ts.map +1 -1
  5. package/dist/cjs/Dashboard.js +3 -10
  6. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  7. package/dist/cjs/ReportBuilder.js +1 -5
  8. package/dist/cjs/SQLEditor.d.ts +1 -5
  9. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  10. package/dist/cjs/SQLEditor.js +14 -13
  11. package/dist/cjs/components/Chart/ChartSkeleton.d.ts +4 -1
  12. package/dist/cjs/components/Chart/ChartSkeleton.d.ts.map +1 -1
  13. package/dist/cjs/components/Dashboard/DataLoader.d.ts +1 -1
  14. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  15. package/dist/cjs/components/Dashboard/DataLoader.js +7 -2
  16. package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -1
  17. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  18. package/dist/cjs/components/Dashboard/TableComponent.js +28 -57
  19. package/dist/cjs/components/QuillTable.d.ts +3 -0
  20. package/dist/cjs/components/QuillTable.d.ts.map +1 -0
  21. package/dist/cjs/{Table.js → components/QuillTable.js} +53 -206
  22. package/dist/cjs/components/UiComponents.d.ts +8 -2
  23. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  24. package/dist/cjs/components/UiComponents.js +3 -1
  25. package/dist/cjs/hooks/useFormat.d.ts +3 -1
  26. package/dist/cjs/hooks/useFormat.d.ts.map +1 -1
  27. package/dist/cjs/hooks/useFormat.js +13 -12
  28. package/dist/cjs/index.d.ts +1 -1
  29. package/dist/cjs/index.d.ts.map +1 -1
  30. package/dist/cjs/index.js +3 -3
  31. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  32. package/dist/cjs/utils/dataFetcher.js +15 -5
  33. package/dist/cjs/utils/valueFormatter.d.ts +5 -0
  34. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  35. package/dist/cjs/utils/valueFormatter.js +59 -30
  36. package/dist/esm/Chart.js +5 -4
  37. package/dist/esm/ChartBuilder.js +10 -5
  38. package/dist/esm/Dashboard.d.ts +3 -1
  39. package/dist/esm/Dashboard.d.ts.map +1 -1
  40. package/dist/esm/Dashboard.js +3 -10
  41. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  42. package/dist/esm/ReportBuilder.js +1 -5
  43. package/dist/esm/SQLEditor.d.ts +1 -5
  44. package/dist/esm/SQLEditor.d.ts.map +1 -1
  45. package/dist/esm/SQLEditor.js +14 -13
  46. package/dist/esm/components/Chart/ChartSkeleton.d.ts +4 -1
  47. package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +1 -1
  48. package/dist/esm/components/Dashboard/DataLoader.d.ts +1 -1
  49. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  50. package/dist/esm/components/Dashboard/DataLoader.js +9 -4
  51. package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -1
  52. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  53. package/dist/esm/components/Dashboard/TableComponent.js +25 -57
  54. package/dist/esm/components/QuillTable.d.ts +3 -0
  55. package/dist/esm/components/QuillTable.d.ts.map +1 -0
  56. package/dist/esm/{Table.js → components/QuillTable.js} +52 -204
  57. package/dist/esm/components/UiComponents.d.ts +8 -2
  58. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  59. package/dist/esm/components/UiComponents.js +1 -0
  60. package/dist/esm/hooks/useFormat.d.ts +3 -1
  61. package/dist/esm/hooks/useFormat.d.ts.map +1 -1
  62. package/dist/esm/hooks/useFormat.js +13 -12
  63. package/dist/esm/index.d.ts +1 -1
  64. package/dist/esm/index.d.ts.map +1 -1
  65. package/dist/esm/index.js +1 -1
  66. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  67. package/dist/esm/utils/dataFetcher.js +15 -5
  68. package/dist/esm/utils/valueFormatter.d.ts +5 -0
  69. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  70. package/dist/esm/utils/valueFormatter.js +57 -29
  71. package/package.json +1 -1
  72. package/dist/cjs/Table.d.ts +0 -39
  73. package/dist/cjs/Table.d.ts.map +0 -1
  74. package/dist/esm/Table.d.ts +0 -39
  75. package/dist/esm/Table.d.ts.map +0 -1
@@ -1,68 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SpecialTable = void 0;
4
3
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- /* eslint-disable @typescript-eslint/ban-ts-comment */
6
- // @ts-nocheck
7
4
  const react_1 = require("react");
8
- const Context_1 = require("./Context");
9
- const dataFetcher_1 = require("./utils/dataFetcher");
10
- const valueFormatter_1 = require("./utils/valueFormatter");
11
- const merge_1 = require("./utils/merge");
12
- const useExport_1 = require("./hooks/useExport");
13
- const Table = ({ chartId, columns, rows, containerStyle, csvFilename, showDownloadCsvButton, LoadingComponent, loading, height, }) => {
14
- const { dispatch, dashboard } = (0, react_1.useContext)(Context_1.DashboardContext);
15
- const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
16
- const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
17
- const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
18
- if (!chartId && rows && columns) {
19
- return ((0, jsx_runtime_1.jsx)(SpecialTable, { showDownloadCsvButton: showDownloadCsvButton, csvFilename: csvFilename || 'table', columns: columns, rows: rows ?? [], height: containerStyle?.height || height || '100%', theme: theme, containerStyle: containerStyle, LoadingComponent: LoadingComponent, loading: loading }));
20
- }
21
- return ((0, jsx_runtime_1.jsx)(ChartUpdater, { showDownloadCsvButton: showDownloadCsvButton, dispatch: dispatch, dashboard: dashboard, chartId: chartId, containerStyle: containerStyle, dashboardFilters: dashboardFilters, client: client, theme: theme, csvFilename: csvFilename, LoadingComponent: LoadingComponent }));
22
- };
23
- const compareValues = (a, b, column) => {
24
- const valueA = a[column];
25
- const valueB = b[column];
26
- // Null checks
27
- if (valueA === null && valueB === null) {
28
- return 0; // Both values are null, consider them equal
29
- }
30
- else if (valueA === null) {
31
- return -1; // ValueA is null, consider it smaller
32
- }
33
- else if (valueB === null) {
34
- return 1; // ValueB is null, consider it smaller
35
- }
36
- // For numbers
37
- if (!isNaN(valueA) && !isNaN(valueB)) {
38
- return valueA - valueB;
39
- }
40
- // For dates
41
- if (new Date(valueA) !== 'Invalid Date' &&
42
- !isNaN(new Date(valueA)) &&
43
- new Date(valueB) !== 'Invalid Date' &&
44
- !isNaN(new Date(valueB))) {
45
- return new Date(valueA) - new Date(valueB);
46
- }
47
- // For strings
48
- return valueA.localeCompare(valueB);
49
- };
50
- function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingComponent, theme, showDownloadCsvButton = true, csvFilename, DownloadCSVButtonComponent, AddToDashboardButtonComponent, }) {
5
+ const UiComponents_1 = require("./UiComponents");
6
+ const useExport_1 = require("../hooks/useExport");
7
+ const valueFormatter_1 = require("../utils/valueFormatter");
8
+ const Context_1 = require("../Context");
9
+ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}), }) {
51
10
  const [activeRows, setActiveRows] = (0, react_1.useState)([]);
52
11
  const [page, setPage] = (0, react_1.useState)(1);
53
12
  const [maxPage, setMaxPage] = (0, react_1.useState)(1);
54
13
  const [sortColumn, setSortColumn] = (0, react_1.useState)(null);
55
14
  const [sortDirection, setSortDirection] = (0, react_1.useState)('desc');
15
+ const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
16
+ const [isFormatting, setIsFormatting] = (0, react_1.useState)(false);
17
+ const formattedRows = (0, react_1.useMemo)(() => {
18
+ setIsFormatting(true);
19
+ return rows.map((row) => {
20
+ return columns.reduce((formattedRow, column) => {
21
+ // Apply the format function to each field in the row
22
+ const formattedValue = (0, valueFormatter_1.quillFormat)({
23
+ value: row[column.field],
24
+ format: column.format,
25
+ });
26
+ formattedRow[column.field] = formattedValue;
27
+ return formattedRow;
28
+ }, {});
29
+ });
30
+ }, [rows]);
56
31
  const { downloadCSV } = (0, useExport_1.useExport)({
57
- rows,
32
+ rows: formattedRows,
58
33
  fields: columns,
59
- name: csvFilename,
34
+ name: downloadFileName,
60
35
  });
61
36
  (0, react_1.useEffect)(() => {
62
- const sortedRows = [...rows];
37
+ const sortedRows = [...formattedRows];
63
38
  if (sortColumn) {
64
39
  sortedRows.sort((a, b) => {
65
- const result = compareValues(a, b, sortColumn);
40
+ const result = (0, valueFormatter_1.compareValues)(a, b, sortColumn);
66
41
  return sortDirection === 'asc' ? result : -result;
67
42
  });
68
43
  }
@@ -72,7 +47,8 @@ function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingC
72
47
  setMaxPage(Math.ceil(sortedRows.length / 10));
73
48
  }
74
49
  setActiveRows(sortedRows.slice(start, end));
75
- }, [page, rows, sortColumn, sortDirection]);
50
+ setIsFormatting(false);
51
+ }, [page, formattedRows, sortColumn, sortDirection]);
76
52
  const increasePage = () => {
77
53
  if (page === maxPage) {
78
54
  return;
@@ -94,70 +70,40 @@ function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingC
94
70
  setSortDirection('desc');
95
71
  }
96
72
  };
97
- if (loading) {
73
+ if (loading || isFormatting) {
98
74
  return ((0, jsx_runtime_1.jsx)("div", { style: {
99
- ...containerStyle,
100
- // paddingLeft: 25,
101
- // paddingRight: 25,
102
- // borderRadius: 8,
103
- // marginTop: 25,
104
- // overflow: 'visible',
75
+ height: '100%',
105
76
  width: '100%',
106
- height: height || '100%',
107
77
  display: 'flex',
108
78
  flexDirection: 'column',
109
- // overflow: 'hidden',
110
- // @ts-ignore
111
- // boxShadow: 'rgba(231, 231, 231, 0.5) 0px 1px 2px 0px',
112
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
113
- height: '100%',
114
- overflow: 'auto',
115
- borderRadius: 6,
116
- border: '1px solid rgb(229, 231, 235)',
117
- padding: 0,
118
- margin: 0,
119
- // border: 'none',
120
- boxSizing: 'border-box',
121
- outline: 'none',
122
- display: 'flex',
123
- flexDirection: 'column',
124
- justifyContent: 'center',
125
- alignItems: 'center',
126
- // maxHeight: 600,
127
- }, children: [LoadingComponent && (0, jsx_runtime_1.jsx)(LoadingComponent, {}), !LoadingComponent && ((0, jsx_runtime_1.jsxs)("svg", { width: "24", height: "24", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 6)", stroke: theme?.primaryTextColor || '#364153', fill: "none", transform: "rotate(-90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), (0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 1 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", stroke: '#ADB1B9', fill: "none", transform: "rotate(90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] }))] }) }));
79
+ justifyContent: 'center',
80
+ alignItems: 'center',
81
+ ...containerStyle,
82
+ }, children: (0, jsx_runtime_1.jsx)(LoadingComponent, {}) }));
128
83
  }
129
84
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
130
- ...containerStyle,
131
- // paddingLeft: 25,
132
- // paddingRight: 25,
133
- // borderRadius: 8,
134
- // marginTop: 25,
85
+ width: '100%',
86
+ height: '100%',
135
87
  overflow: 'visible',
136
- height: height,
137
88
  display: 'flex',
138
89
  flexDirection: 'column',
139
- // overflow: 'hidden',
140
- // @ts-ignore
141
- // boxShadow: 'rgba(231, 231, 231, 0.5) 0px 1px 2px 0px',
90
+ ...containerStyle,
142
91
  }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
143
92
  height: '100%',
93
+ width: '100%',
144
94
  overflow: 'auto',
145
95
  borderRadius: 6,
146
96
  border: '1px solid rgb(229, 231, 235)',
147
97
  padding: 0,
148
98
  margin: 0,
149
- // border: 'none',
150
99
  boxSizing: 'border-box',
151
100
  outline: 'none',
152
- // maxHeight: 600,
153
101
  }, children: (0, jsx_runtime_1.jsxs)("div", { role: "table", className: "table", style: { minWidth: '0px', width: '100%', height: '100%' }, children: [(0, jsx_runtime_1.jsx)("div", { className: "thead", children: (0, jsx_runtime_1.jsx)("div", { role: "row", className: "tr", style: {
154
102
  display: 'flex',
155
103
  flex: '1 0 auto',
156
104
  minWidth: '100px',
157
105
  boxSizing: 'border-box',
158
- }, children: columns.map((column, index) => ((0, jsx_runtime_1.jsxs)("div", { onClick: () => toggleSort(column),
159
- // @ts-ignore
160
- style: {
106
+ }, children: columns.map((column, index) => ((0, jsx_runtime_1.jsxs)("div", { onClick: () => toggleSort(column), style: {
161
107
  boxSizing: 'border-box',
162
108
  flex: '150 0 auto',
163
109
  minWidth: '50px',
@@ -181,9 +127,7 @@ function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingC
181
127
  display: 'flex',
182
128
  flexDirection: 'row',
183
129
  justifyContent: 'space-between',
184
- }, children: [(0, jsx_runtime_1.jsx)("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown",
185
- // @ts-ignore
186
- style: {
130
+ }, children: [(0, jsx_runtime_1.jsx)("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown", style: {
187
131
  // fontFamily:
188
132
  // 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',
189
133
  WebkitTapHighlightColor: 'transparent',
@@ -201,7 +145,16 @@ function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingC
201
145
  transform: sortDirection === 'desc'
202
146
  ? 'rotate(180deg)'
203
147
  : undefined,
204
- }, 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", { role: "rowgroup", className: "tbody", children: activeRows.map((row, rowIndex) => ((0, jsx_runtime_1.jsx)("div", { role: "row", className: "tr", style: {
148
+ }, 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))) }) }), activeRows.length === 0 || columns.length === 0 ? ((0, jsx_runtime_1.jsx)("div", { style: {
149
+ paddingTop: '60px',
150
+ display: 'flex',
151
+ flex: '1 0 auto',
152
+ margin: 'auto',
153
+ justifyContent: 'center',
154
+ alignItems: 'center',
155
+ fontSize: 13,
156
+ color: theme?.secondaryTextColor || 'rgb(55, 65, 81)',
157
+ }, children: "No results returned." })) : ((0, jsx_runtime_1.jsx)("div", { role: "rowgroup", className: "tbody", children: activeRows.map((row, rowIndex) => ((0, jsx_runtime_1.jsx)("div", { role: "row", className: "tr", style: {
205
158
  display: 'flex',
206
159
  flex: '1 0 auto',
207
160
  minWidth: '100px',
@@ -248,28 +201,7 @@ function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingC
248
201
  overflow: 'hidden',
249
202
  padding: '8px 16px',
250
203
  userSelect: 'none',
251
- }, children: column.format
252
- ? (0, valueFormatter_1.valueFormatter)({
253
- value: row[column.field],
254
- field: column.field,
255
- fields: columns,
256
- })
257
- : typeof row[column.field] === 'object'
258
- ? JSON.stringify(row[column.field]).length > 55
259
- ? JSON.stringify(row[column.field]).substring(0, 52) + '...'
260
- : JSON.stringify(row[column.field])
261
- : row[column.field].length > 55
262
- ? row[column.field].substring(0, 52) + '...'
263
- : row[column.field] }) }) }, 'sqlcell' + columnIndex))) }, 'sqlrow' + rowIndex))) }), (activeRows.length === 0 || !columns.length === 0) && ((0, jsx_runtime_1.jsx)("div", { style: {
264
- paddingTop: '60px',
265
- display: 'flex',
266
- flex: '1 0 auto',
267
- margin: 'auto',
268
- justifyContent: 'center',
269
- alignItems: 'center',
270
- fontSize: 13,
271
- color: theme?.secondaryTextColor || 'rgb(55, 65, 81)',
272
- }, children: "No results found for specified time period." }))] }) }), (0, jsx_runtime_1.jsx)("div", { style: { position: 'relative' }, children: (0, jsx_runtime_1.jsx)("div", { style: {
204
+ }, children: row[column.field] }) }) }, 'sqlcell' + columnIndex))) }, 'sqlrow' + rowIndex))) }))] }) }), (0, jsx_runtime_1.jsx)("div", { style: { position: 'relative' }, children: (0, jsx_runtime_1.jsx)("div", { style: {
273
205
  display: 'flex',
274
206
  flex: '1 0 auto',
275
207
  minWidth: '100px',
@@ -293,7 +225,7 @@ function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingC
293
225
  alignItems: 'center',
294
226
  justifyContent: 'space-between',
295
227
  width: '100%',
296
- }, children: [(0, jsx_runtime_1.jsx)("button", { onClick: showDownloadCsvButton ? downloadCSV : undefined, style: {
228
+ }, children: [showDownloadCSVButton ? ((0, jsx_runtime_1.jsx)("button", { onClick: downloadCSV, style: {
297
229
  fontSize: 14,
298
230
  paddingLeft: 12,
299
231
  fontFamily: theme?.fontFamily,
@@ -302,7 +234,7 @@ function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingC
302
234
  fontWeight: 500,
303
235
  cursor: 'pointer',
304
236
  border: 'none',
305
- }, children: showDownloadCsvButton ? 'Download CSV' : '' }), (0, jsx_runtime_1.jsxs)("div", { style: {
237
+ }, children: "Download CSV" })) : ((0, jsx_runtime_1.jsx)("div", {})), (0, jsx_runtime_1.jsxs)("div", { style: {
306
238
  display: 'flex',
307
239
  flexDirection: 'row',
308
240
  alignItems: 'center',
@@ -320,89 +252,4 @@ function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingC
320
252
  background: 'transparent',
321
253
  }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.chartLabelFontFamily || theme?.fontFamily, height: "16px", width: "16px", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z", clipRule: "evenodd" }) }) }), (0, jsx_runtime_1.jsx)("div", { style: { width: 12 } })] })] }) }) })] }));
322
254
  }
323
- exports.SpecialTable = SpecialTable;
324
- const ChartUpdater = ({ chartId, containerStyle, dashboard, dispatch, client, dashboardFilters, theme, downloadCSV, csvFilename, showDownloadCsvButton = true, LoadingComponent, }) => {
325
- const [chartConfig, setChartConfig] = (0, react_1.useState)(null);
326
- const [loading, setLoading] = (0, react_1.useState)(true);
327
- (0, react_1.useEffect)(() => {
328
- let isSubscribed = true;
329
- async function getChartOptions() {
330
- if (isSubscribed) {
331
- setLoading(true);
332
- try {
333
- const hostedBody = { metadata: {
334
- dashboardItemId: chartId,
335
- orgId: client.customerId || '*',
336
- task: 'item',
337
- filters: [...Object.values(dashboardFilters)],
338
- clientId: client.publicKey,
339
- databaseType: client?.databaseType,
340
- } };
341
- const cloudBody = {
342
- id: chartId,
343
- filters: [...Object.values(dashboardFilters)],
344
- };
345
- const resp = await (0, dataFetcher_1.getData)(client, 'itempost', 'omit', hostedBody, cloudBody);
346
- if (resp && resp.name !== 'error') {
347
- if (resp.compareRows) {
348
- (0, merge_1.mergeComparisonRange)(resp);
349
- }
350
- dispatch({
351
- type: 'UPDATE_DASHBOARD_ITEM',
352
- id: chartId,
353
- data: {
354
- ...resp,
355
- filtersApplied: dashboardFilters,
356
- },
357
- });
358
- }
359
- setLoading(false);
360
- }
361
- catch (e) {
362
- console.log('Error fetching chart: ', e);
363
- setLoading(false);
364
- }
365
- }
366
- }
367
- getChartOptions();
368
- return () => {
369
- isSubscribed = false;
370
- };
371
- }, [dashboardFilters, client.customerId, chartId]);
372
- // const dateFilter = Object.values(dashboardFilters).find(
373
- // (filter) => filter.filterType == 'date_range',
374
- // );
375
- // const pivotTable = useMemo(() => {
376
- // const pivot = dashboard[chartId]?.pivot;
377
- // const data = dashboard[chartId];
378
- // return pivot && data?.rows
379
- // ? generatePivotTable(
380
- // pivot,
381
- // data.rows,
382
- // dateFilter?.startDate
383
- // ? [dateFilter?.startDate, dateFilter?.endDate, null]
384
- // : [null, null, null],
385
- // )
386
- // : null;
387
- // }, [dashboard, chartId, dateFilter]);
388
- if (!dashboard[chartId] || loading) {
389
- return ((0, jsx_runtime_1.jsx)("div", {
390
- // className="flex flex-col flex-1 h-[100%]"
391
- style: {
392
- ...containerStyle,
393
- // marginLeft: 25,
394
- // marginRight: 25,
395
- boxSizing: 'content-box',
396
- height: '100%',
397
- display: 'flex',
398
- flexDirection: 'column',
399
- flex: 1,
400
- }, children: (0, jsx_runtime_1.jsx)("div", { style: {
401
- height: containerStyle?.height || 300,
402
- width: '100%',
403
- boxSizing: 'content-box',
404
- }, children: (0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [(0, jsx_runtime_1.jsx)("rect", { width: "100%", height: "100%", fill: "#F9F9FA" }), (0, jsx_runtime_1.jsx)("defs", { fill: "#F9F9FA", children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: "skeletonGradient", x1: "0%", y1: "0%", x2: "10%", y2: "0%", gradientUnits: "userSpaceOnUse", children: [(0, jsx_runtime_1.jsx)("stop", { offset: "0%", stopColor: "rgba(255,255,255,0)" }), (0, jsx_runtime_1.jsx)("stop", { offset: "50%", stopColor: "#FEFEFE" }), (0, jsx_runtime_1.jsx)("stop", { offset: "100%", stopColor: "rgba(255,255,255,0)" }), (0, jsx_runtime_1.jsx)("animate", { attributeName: "x1", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }), (0, jsx_runtime_1.jsx)("animate", { attributeName: "x2", from: "-50%", to: "150%", dur: "2s", repeatCount: "indefinite" })] }) }), (0, jsx_runtime_1.jsx)("rect", { width: "50%", height: "100%", fill: "url(#skeletonGradient)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "x", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }) })] }) }) }));
405
- }
406
- return ((0, jsx_runtime_1.jsx)(SpecialTable, { showDownloadCsvButton: showDownloadCsvButton, csvFilename: csvFilename || dashboard[chartId].name, columns: dashboard[chartId].columns, rows: dashboard[chartId].rows ?? [], height: containerStyle?.height || '100%', theme: theme, containerStyle: containerStyle, LoadingComponent: LoadingComponent }));
407
- };
408
- exports.default = Table;
255
+ exports.default = QuillTable;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  export interface Option {
3
3
  value: string;
4
4
  label: string;
@@ -27,9 +27,12 @@ export interface ButtonComponentProps {
27
27
  export interface TableComponentProps {
28
28
  rows: any[];
29
29
  columns: any[];
30
- height: string;
30
+ containerStyle?: React.CSSProperties;
31
31
  loading?: boolean;
32
+ showDownloadCSVButton?: boolean;
33
+ downloadFileName?: string;
32
34
  LoadingComponent?: () => JSX.Element;
35
+ DownloadCSVButtonComponent?: (props: ButtonComponentProps) => JSX.Element;
33
36
  }
34
37
  export interface TextInputComponentProps {
35
38
  onChange: (e: any) => void;
@@ -121,4 +124,7 @@ export declare const MemoizedDeleteButton: ({ onClick, style }: {
121
124
  onClick: any;
122
125
  style: any;
123
126
  }) => import("react/jsx-runtime").JSX.Element;
127
+ export declare const LoadingSpinner: ({ ...props }: {
128
+ [x: string]: any;
129
+ }) => import("react/jsx-runtime").JSX.Element;
124
130
  //# sourceMappingURL=UiComponents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoizedDeleteButton = exports.MemoizedModal = exports.MemoizedPopover = exports.MemoizedText = exports.MemoizedLabel = exports.MemoizedHeader = exports.MemoizedSelect = exports.MemoizedSecondaryButton = exports.MemoizedButton = exports.MemoizedTextInput = void 0;
3
+ exports.LoadingSpinner = exports.MemoizedDeleteButton = exports.MemoizedModal = exports.MemoizedPopover = exports.MemoizedText = exports.MemoizedLabel = exports.MemoizedHeader = exports.MemoizedSelect = exports.MemoizedSecondaryButton = exports.MemoizedButton = exports.MemoizedTextInput = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  // @ts-nocheck
6
6
  const react_1 = require("react");
@@ -258,3 +258,5 @@ const MemoizedDeleteButton = ({ onClick, style }) => ((0, jsx_runtime_1.jsxs)("b
258
258
  background-color: rgba(56, 65, 81, 0.03);
259
259
  }` }), (0, jsx_runtime_1.jsx)(assets_1.XIcon, { height: "20", width: "20", fill: "#6C727F" })] }));
260
260
  exports.MemoizedDeleteButton = MemoizedDeleteButton;
261
+ const LoadingSpinner = ({ ...props }) => ((0, jsx_runtime_1.jsxs)("svg", { width: "24", height: "24", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 6)", stroke: "#364153", fill: "none", transform: "rotate(-90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), (0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 1 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", stroke: '#ADB1B9', fill: "none", transform: "rotate(90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] }));
262
+ exports.LoadingSpinner = LoadingSpinner;
@@ -1,4 +1,6 @@
1
1
  export declare const useMemoizedRows: (chartId: string) => {
2
- formattedRows: string[][];
2
+ formattedRows: {
3
+ [key: string]: string;
4
+ }[];
3
5
  };
4
6
  //# sourceMappingURL=useFormat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormat.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFormat.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,YAAa,MAAM;;CAiB9C,CAAC"}
1
+ {"version":3,"file":"useFormat.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFormat.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,YAAa,MAAM;;;;CAwB9C,CAAC"}
@@ -6,19 +6,20 @@ const useQuill_1 = require("./useQuill");
6
6
  const react_1 = require("react");
7
7
  const useMemoizedRows = (chartId) => {
8
8
  const { data } = (0, useQuill_1.useQuill)(chartId);
9
- const formattedRows = (0, react_1.useMemo)(() => {
10
- if (!data)
11
- return [];
12
- const { rows, columns } = data;
13
- return rows.map((row) => {
14
- return columns.map((column) => {
15
- return (0, valueFormatter_1.quillFormat)({
16
- value: row[column.field],
17
- format: column.format,
18
- });
9
+ if (!data)
10
+ return { formattedRows: [] };
11
+ const { rows, columns } = data;
12
+ const formattedRows = (0, react_1.useMemo)(() => rows.map((row) => {
13
+ return columns.reduce((formattedRow, column) => {
14
+ // Apply the format function to each field in the row
15
+ const formattedValue = (0, valueFormatter_1.quillFormat)({
16
+ value: row[column.field],
17
+ format: column.format,
19
18
  });
20
- });
21
- }, [data]);
19
+ formattedRow[column.field] = formattedValue;
20
+ return formattedRow;
21
+ }, {});
22
+ }), [rows]);
22
23
  return { formattedRows };
23
24
  };
24
25
  exports.useMemoizedRows = useMemoizedRows;
@@ -1,7 +1,7 @@
1
1
  export { default as Dashboard, type DashboardProps, type DashboardItemProps, type DashboardItem, type AxisFormat, } from './Dashboard';
2
2
  export { default as QuillProvider } from './QuillProvider';
3
3
  export { default as Chart } from './Chart';
4
- export { default as Table } from './Table';
4
+ export { default as QuillTable } from './components/QuillTable';
5
5
  export { default as SQLEditor, SchemaListComponent } from './SQLEditor';
6
6
  export { default as ReportBuilder } from './ReportBuilder';
7
7
  export { default as ChartBuilder } from './ChartBuilder';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,MAAM,EACN,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GACV,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,MAAM,EACN,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GACV,MAAM,mCAAmC,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ThemeContext = exports.downloadCSV = exports.useMemoizedRows = exports.useExport = exports.useQuill = exports.useDashboard = exports.format = exports.ChartEditor = exports.ChartBuilder = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
6
+ exports.ThemeContext = exports.downloadCSV = exports.useMemoizedRows = exports.useExport = exports.useQuill = exports.useDashboard = exports.format = exports.ChartEditor = exports.ChartBuilder = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.QuillTable = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
7
7
  // src/index.ts
8
8
  var Dashboard_1 = require("./Dashboard");
9
9
  Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return __importDefault(Dashboard_1).default; } });
@@ -11,8 +11,8 @@ var QuillProvider_1 = require("./QuillProvider");
11
11
  Object.defineProperty(exports, "QuillProvider", { enumerable: true, get: function () { return __importDefault(QuillProvider_1).default; } });
12
12
  var Chart_1 = require("./Chart");
13
13
  Object.defineProperty(exports, "Chart", { enumerable: true, get: function () { return __importDefault(Chart_1).default; } });
14
- var Table_1 = require("./Table");
15
- Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return __importDefault(Table_1).default; } });
14
+ var QuillTable_1 = require("./components/QuillTable");
15
+ Object.defineProperty(exports, "QuillTable", { enumerable: true, get: function () { return __importDefault(QuillTable_1).default; } });
16
16
  var SQLEditor_1 = require("./SQLEditor");
17
17
  Object.defineProperty(exports, "SQLEditor", { enumerable: true, get: function () { return __importDefault(SQLEditor_1).default; } });
18
18
  Object.defineProperty(exports, "SchemaListComponent", { enumerable: true, get: function () { return SQLEditor_1.SchemaListComponent; } });
@@ -1 +1 @@
1
- {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAqChB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBA+BhB"}
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBA8ChB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBA+BhB"}
@@ -20,11 +20,21 @@ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cl
20
20
  if (responseJson.error) {
21
21
  return { success: false, errorMessage: responseJson.error };
22
22
  }
23
- const result = {
24
- ...responseJson.data,
25
- rows: responseJson?.queries?.queryResults[0]?.rows,
26
- compareRows: responseJson?.queries?.queryResults[1]?.rows,
27
- };
23
+ let result;
24
+ if (responseJson.data?.data) {
25
+ result = {
26
+ ...responseJson.data.data,
27
+ rows: responseJson?.data.queries?.queryResults[0]?.rows,
28
+ compareRows: responseJson?.data.queries?.queryResults[1]?.rows,
29
+ };
30
+ }
31
+ else {
32
+ result = {
33
+ ...responseJson.data,
34
+ rows: responseJson?.queries?.queryResults[0]?.rows,
35
+ compareRows: responseJson?.queries?.queryResults[1]?.rows,
36
+ };
37
+ }
28
38
  return result;
29
39
  }
30
40
  else {
@@ -18,5 +18,10 @@ export declare const quillFormat: ({ value, format, }: {
18
18
  value: any;
19
19
  format: string;
20
20
  }) => string;
21
+ export declare const compareValues: (a: {
22
+ [key: string]: any;
23
+ }, b: {
24
+ [key: string]: any;
25
+ }, column: string) => number;
21
26
  export {};
22
27
  //# sourceMappingURL=valueFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA8B,KAAK,KAAG,MAwChE,CAAC;AAEF,eAAO,MAAM,WAAW;WAIf,GAAG;YACF,MAAM;MACZ,MAkCH,CAAC"}
1
+ {"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA8B,KAAK,KAAG,MAwChE,CAAC;AAEF,eAAO,MAAM,WAAW;WAIf,GAAG;YACF,MAAM;MACZ,MAoCH,CAAC;AAmJF,eAAO,MAAM,aAAa;;;;WAGhB,MAAM,KACb,MA2BF,CAAC"}