@quillsql/react 2.10.16 → 2.10.18

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 (69) hide show
  1. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  2. package/dist/cjs/Dashboard.d.ts +26 -18
  3. package/dist/cjs/Dashboard.d.ts.map +1 -1
  4. package/dist/cjs/Dashboard.js +86 -478
  5. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +3 -0
  6. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  7. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +260 -0
  8. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +20 -1
  9. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  10. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +93 -4
  11. package/dist/cjs/QuillProvider.d.ts +1 -0
  12. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  13. package/dist/cjs/QuillProvider.js +1 -0
  14. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  15. package/dist/cjs/ReportBuilder.js +1 -2
  16. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  17. package/dist/cjs/components/Dashboard/DataLoader.js +11 -0
  18. package/dist/cjs/components/QuillSelect.d.ts +3 -0
  19. package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
  20. package/dist/cjs/components/QuillSelect.js +109 -0
  21. package/dist/cjs/components/UiComponents.d.ts +1 -0
  22. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  23. package/dist/cjs/index.d.ts +1 -2
  24. package/dist/cjs/index.d.ts.map +1 -1
  25. package/dist/cjs/index.js +1 -3
  26. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  27. package/dist/cjs/internals/ReportBuilder/PivotModal.js +9 -0
  28. package/dist/cjs/utils/aggregate.js +2 -2
  29. package/dist/cjs/utils/dashboard.d.ts +2 -2
  30. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  31. package/dist/cjs/utils/dashboard.js +26 -2
  32. package/dist/esm/ChartEditor.d.ts.map +1 -1
  33. package/dist/esm/Dashboard.d.ts +26 -18
  34. package/dist/esm/Dashboard.d.ts.map +1 -1
  35. package/dist/esm/Dashboard.js +84 -475
  36. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +3 -0
  37. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  38. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +256 -0
  39. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +20 -1
  40. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  41. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +91 -3
  42. package/dist/esm/QuillProvider.d.ts +1 -0
  43. package/dist/esm/QuillProvider.d.ts.map +1 -1
  44. package/dist/esm/QuillProvider.js +1 -0
  45. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  46. package/dist/esm/ReportBuilder.js +0 -1
  47. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  48. package/dist/esm/components/Dashboard/DataLoader.js +11 -0
  49. package/dist/esm/components/QuillSelect.d.ts +3 -0
  50. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  51. package/dist/esm/components/QuillSelect.js +105 -0
  52. package/dist/esm/components/UiComponents.d.ts +1 -0
  53. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  54. package/dist/esm/index.d.ts +1 -2
  55. package/dist/esm/index.d.ts.map +1 -1
  56. package/dist/esm/index.js +0 -1
  57. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  58. package/dist/esm/internals/ReportBuilder/PivotModal.js +10 -1
  59. package/dist/esm/utils/aggregate.js +1 -1
  60. package/dist/esm/utils/dashboard.d.ts +2 -2
  61. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  62. package/dist/esm/utils/dashboard.js +26 -2
  63. package/package.json +1 -1
  64. package/dist/cjs/AddToDashboardModal.d.ts +0 -82
  65. package/dist/cjs/AddToDashboardModal.d.ts.map +0 -1
  66. package/dist/cjs/AddToDashboardModal.js +0 -1469
  67. package/dist/esm/AddToDashboardModal.d.ts +0 -82
  68. package/dist/esm/AddToDashboardModal.d.ts.map +0 -1
  69. package/dist/esm/AddToDashboardModal.js +0 -1435
@@ -0,0 +1,3 @@
1
+ import { DateRangePickerComponentProps } from '../Dashboard';
2
+ export declare function QuillDateRangePicker({ dateRange, onChangeDateRange, presetOptions, onChangePreset, preset, label, }: DateRangePickerComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=QuillDateRangePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuillDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/DateRangePicker/QuillDateRangePicker.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAK7D,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,EACN,KAAK,GACN,EAAE,6BAA6B,2CA+H/B"}
@@ -0,0 +1,256 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext, useEffect, useRef, useState } from 'react';
3
+ import { startOfMonth, endOfMonth, format, eachDayOfInterval, subMonths, startOfWeek, endOfWeek, differenceInDays, startOfDay, addMonths, isBefore, isAfter, } from 'date-fns';
4
+ import { ThemeContext } from '../Context';
5
+ import { useOnClickOutside } from '../hooks';
6
+ import { QuillSelectComponent } from '../components/QuillSelect';
7
+ export function QuillDateRangePicker({ dateRange, onChangeDateRange, presetOptions, onChangePreset, preset, label, }) {
8
+ const [theme] = useContext(ThemeContext);
9
+ const [anchorStartDate, setAnchorStartDate] = useState(getAnchorStartDate(dateRange.startDate, dateRange.endDate));
10
+ const [anchorEndDate, setAnchorEndDate] = useState(getAnchorEndDate(dateRange.startDate, dateRange.endDate));
11
+ const [localStartDate, setLocalStartDate] = useState(dateRange.startDate);
12
+ const [localEndDate, setLocalEndDate] = useState(dateRange.endDate);
13
+ const [localPreset, setLocalPreset] = useState({
14
+ label: preset || '',
15
+ });
16
+ const [showModal, setShowModal] = useState(false);
17
+ useEffect(() => {
18
+ setLocalEndDate(dateRange.endDate);
19
+ setLocalStartDate(dateRange.startDate);
20
+ }, [dateRange.startDate, dateRange.endDate]);
21
+ return (_jsxs("div", { style: {
22
+ display: 'flex',
23
+ flexDirection: 'row',
24
+ gap: 12,
25
+ alignItems: 'flex-end',
26
+ }, children: [_jsxs("div", { style: { position: 'relative', width: 270 }, children: [label && (_jsx("div", { style: {
27
+ fontSize: 14,
28
+ color: theme.primaryTextColor,
29
+ fontFamily: theme.fontFamily,
30
+ paddingBottom: 5,
31
+ fontWeight: 600,
32
+ }, children: label })), _jsxs("button", { style: {
33
+ width: '100%',
34
+ display: 'flex',
35
+ alignItems: 'center',
36
+ borderColor: theme.borderColor,
37
+ fontFamily: theme.fontFamily,
38
+ color: theme.primaryTextColor,
39
+ padding: '8px 12px',
40
+ fontSize: 14,
41
+ margin: 0,
42
+ boxSizing: 'border-box',
43
+ borderWidth: 1,
44
+ borderStyle: 'solid',
45
+ borderRadius: 6,
46
+ paddingTop: 11,
47
+ paddingBottom: 11,
48
+ height: 40,
49
+ minHeight: 40,
50
+ maxHeight: 40,
51
+ gap: 10,
52
+ }, onClick: () => setShowModal((showModal) => !showModal), className: "quill-date-range-picker-button", children: [_jsx("style", { children: ` .quill-date-range-picker-button { background: ${theme.backgroundColor}; } .quill-date-range-picker-button:hover { background: ${theme.hoverBackgroundColor}; }` }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", height: "15.5px", width: "15.5px", style: { marginTop: -1.5 }, children: [_jsx("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", ry: "2" }), _jsx("line", { x1: "16", x2: "16", y1: "2", y2: "6" }), _jsx("line", { x1: "8", x2: "8", y1: "2", y2: "6" }), _jsx("line", { x1: "3", x2: "21", y1: "10", y2: "10" })] }), localStartDate && format(localStartDate, 'MMM dd, yyyy'), localStartDate ? ' - ' : 'Pick a date', localEndDate && format(localEndDate, 'MMM dd, yyyy')] }), showModal && (_jsx(CalendarRow, { theme: theme, anchorStartDate: anchorStartDate, anchorEndDate: anchorEndDate, setAnchorStartDate: setAnchorStartDate, setAnchorEndDate: setAnchorEndDate, setLocalStartDate: setLocalStartDate, setLocalEndDate: setLocalEndDate, localEndDate: localEndDate, localStartDate: localStartDate, updateDateFilter: onChangeDateRange, setLocalPreset: setLocalPreset, setShowModal: setShowModal }))] }), _jsx(QuillSelectComponent, { options: presetOptions.map((option) => ({
53
+ label: option.label,
54
+ value: option.label,
55
+ })), value: localPreset?.label || '', onChange: (e) => {
56
+ onChangePreset(e);
57
+ setLocalPreset({ label: e });
58
+ }, theme: theme })] }));
59
+ }
60
+ function CalendarRow({ theme, anchorStartDate, anchorEndDate, setAnchorStartDate, setAnchorEndDate, localStartDate, localEndDate, setLocalStartDate, setLocalEndDate, updateDateFilter, setLocalPreset, setShowModal, }) {
61
+ const modalRef = useRef(null);
62
+ useOnClickOutside(modalRef, (e) => {
63
+ setShowModal(false);
64
+ });
65
+ const firstMonthDisplayedDates = eachDayOfInterval({
66
+ start: startOfWeek(anchorStartDate),
67
+ end: endOfWeek(endOfMonth(anchorStartDate)),
68
+ });
69
+ const secondMonthDisplayedDates = eachDayOfInterval({
70
+ start: startOfWeek(startOfMonth(anchorEndDate)),
71
+ end: endOfWeek(anchorEndDate),
72
+ });
73
+ const incrementAnchorDates = () => {
74
+ setAnchorStartDate(startOfMonth(addMonths(anchorStartDate, 1)));
75
+ setAnchorEndDate(endOfMonth(addMonths(anchorEndDate, 1)));
76
+ };
77
+ const decrementAnchorDates = () => {
78
+ setAnchorStartDate(startOfMonth(subMonths(anchorStartDate, 1)));
79
+ setAnchorEndDate(endOfMonth(subMonths(anchorEndDate, 1)));
80
+ };
81
+ return (_jsx("div", { ref: modalRef, style: { position: 'absolute', zIndex: 100, marginTop: 12 }, children: _jsxs("div", { style: {
82
+ display: 'flex',
83
+ flexDirection: 'row',
84
+ border: `1px solid ${theme.borderColor}`,
85
+ borderRadius: 6,
86
+ boxShadow: '0px 2px 6px #e7e7e7',
87
+ backgroundColor: theme.backgroundColor,
88
+ }, children: [_jsxs("div", { style: {
89
+ display: 'flex',
90
+ flexDirection: 'column',
91
+ padding: 12,
92
+ // border: "1px solid #e7e7e7",
93
+ // borderRadius: 6,
94
+ // boxShadow: "0px 2px 6px #e7e7e7",
95
+ }, children: [_jsxs("div", { style: {
96
+ display: 'flex',
97
+ flexDirection: 'row',
98
+ position: 'relative',
99
+ justifyContent: 'center',
100
+ alignItems: 'center',
101
+ height: 40,
102
+ marginBottom: 10,
103
+ }, children: [_jsxs("button", { onClick: decrementAnchorDates, style: {
104
+ position: 'absolute',
105
+ left: 0,
106
+ height: 32,
107
+ width: 32,
108
+ borderWidth: theme.borderWidth,
109
+ borderColor: theme.borderColor,
110
+ fontFamily: theme.fontFamily,
111
+ borderStyle: 'solid',
112
+ borderRadius: 6,
113
+ display: 'flex',
114
+ flexDirection: 'row',
115
+ alignItems: 'center',
116
+ justifyContent: 'center',
117
+ }, className: "quill-calendar-button", children: [_jsx("style", { children: `.quill-calendar-button { background-color: ${theme.backgroundColor}; } .quill-calendar-button:hover { background-color: ${theme.hoverBackgroundColor}; }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme.chartLabelColor, height: "24px", width: "24px", children: _jsx("path", { d: "M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z" }) })] }), _jsx("div", { style: {
118
+ fontFamily: theme.fontFamily,
119
+ fontSize: 14,
120
+ color: theme.primaryTextColor,
121
+ fontWeight: 600,
122
+ }, children: format(anchorStartDate, 'MMM yyyy') })] }), _jsx("div", { style: {
123
+ display: 'grid',
124
+ gridTemplateColumns: 'repeat(7, 1fr)',
125
+ rowGap: 8,
126
+ }, children: firstMonthDisplayedDates.map((date) => (_jsx(DayPicker, { theme: theme, date: date, localStartDate: localStartDate, localEndDate: localEndDate, setLocalStartDate: setLocalStartDate, setLocalEndDate: setLocalEndDate, setLocalPreset: setLocalPreset, updateDateFilter: updateDateFilter }, 'first-' + date.toISOString()))) })] }), _jsxs("div", { style: {
127
+ display: 'flex',
128
+ flexDirection: 'column',
129
+ padding: 12,
130
+ // border: "1px solid #e7e7e7",
131
+ // borderRadius: 6,
132
+ // boxShadow: "0px 2px 6px #e7e7e7",
133
+ }, children: [_jsxs("div", { style: {
134
+ display: 'flex',
135
+ flexDirection: 'row',
136
+ position: 'relative',
137
+ justifyContent: 'center',
138
+ alignItems: 'center',
139
+ height: 40,
140
+ marginBottom: 10,
141
+ }, children: [_jsx("div", { style: {
142
+ fontFamily: theme.fontFamily,
143
+ fontSize: 14,
144
+ color: theme.primaryTextColor,
145
+ fontWeight: 600,
146
+ }, children: format(anchorEndDate, 'MMM yyyy') }), _jsxs("button", { onClick: incrementAnchorDates, style: {
147
+ position: 'absolute',
148
+ right: 0,
149
+ height: 32,
150
+ width: 32,
151
+ borderWidth: theme.borderWidth,
152
+ borderColor: theme.borderColor,
153
+ borderStyle: 'solid',
154
+ borderRadius: 6,
155
+ display: 'flex',
156
+ flexDirection: 'row',
157
+ alignItems: 'center',
158
+ justifyContent: 'center',
159
+ }, className: "quill-calendar-button", children: [_jsx("style", { children: `.quill-calendar-button { background-color: ${theme.backgroundColor}; } .quill-calendar-button:hover { background-color: ${theme.hoverBackgroundColor}; }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme.chartLabelColor, height: "24px", width: "24px", children: _jsx("path", { d: "M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z" }) })] })] }), _jsx("div", { style: {
160
+ display: 'grid',
161
+ gridTemplateColumns: 'repeat(7, 1fr)',
162
+ rowGap: 8,
163
+ }, children: secondMonthDisplayedDates.map((date) => (_jsx(DayPicker, { theme: theme, date: date, localStartDate: localStartDate, localEndDate: localEndDate, setLocalStartDate: setLocalStartDate, setLocalEndDate: setLocalEndDate, setLocalPreset: setLocalPreset, updateDateFilter: updateDateFilter }, 'second-' + date.toISOString()))) })] })] }) }));
164
+ }
165
+ function DayPicker({ date, localStartDate, setLocalStartDate, localEndDate, setLocalEndDate, updateDateFilter, setLocalPreset, theme, }) {
166
+ // USE ZERO FOR UNDEFINED DATES
167
+ const isStartDate = differenceInDays(startOfDay(date), startOfDay(localStartDate || 0)) === 0;
168
+ const isEndDate = differenceInDays(startOfDay(date), startOfDay(localEndDate || 0)) === 0;
169
+ const isBetweenStartAndEnd = isBefore(date, localEndDate || 0) && isAfter(date, localStartDate || 0);
170
+ const isBeginningOfWeek = differenceInDays(startOfWeek(date), date) === 0;
171
+ const isEndOfWeek = differenceInDays(endOfWeek(date), date) === 0;
172
+ return (_jsx("button", { style: {
173
+ height: 36,
174
+ width: 36,
175
+ display: 'flex',
176
+ alignItems: 'center',
177
+ justifyContent: 'center',
178
+ fontFamily: theme.fontFamily,
179
+ fontSize: 14,
180
+ border: 'none',
181
+ color: isStartDate || isEndDate ? 'white' : theme.secondaryTextColor,
182
+ borderTopLeftRadius: isStartDate || isEndDate || isBeginningOfWeek ? 6 : 0,
183
+ borderBottomLeftRadius: isStartDate || isEndDate || isBeginningOfWeek ? 6 : 0,
184
+ borderTopRightRadius: isStartDate || isEndDate || isEndOfWeek ? 6 : 0,
185
+ borderBottomRightRadius: isStartDate || isEndDate || isEndOfWeek ? 6 : 0,
186
+ backgroundColor: isStartDate || isEndDate
187
+ ? theme.primaryTextColor
188
+ : isBetweenStartAndEnd
189
+ ? theme.hoverBackgroundColor
190
+ : theme.backgroundColor,
191
+ }, onClick: () => {
192
+ if (!localStartDate) {
193
+ setLocalStartDate(date);
194
+ }
195
+ if (localStartDate && !localEndDate) {
196
+ setLocalEndDate(date);
197
+ updateDateFilter({
198
+ startDate: localStartDate,
199
+ endDate: date,
200
+ });
201
+ setLocalPreset({ label: '' });
202
+ }
203
+ if (localStartDate && localEndDate && isAfter(date, localStartDate)) {
204
+ setLocalEndDate(date);
205
+ updateDateFilter({
206
+ startDate: localStartDate,
207
+ endDate: date,
208
+ });
209
+ setLocalPreset({ label: '' });
210
+ }
211
+ if (localStartDate && localEndDate && isBefore(date, localStartDate)) {
212
+ setLocalStartDate(date);
213
+ updateDateFilter({
214
+ startDate: date,
215
+ endDate: localEndDate,
216
+ });
217
+ setLocalPreset({ label: '' });
218
+ }
219
+ if (localStartDate &&
220
+ localEndDate &&
221
+ differenceInDays(startOfDay(date), startOfDay(localStartDate)) === 0) {
222
+ setLocalStartDate(undefined);
223
+ setLocalEndDate(undefined);
224
+ }
225
+ }, children: format(date, 'd') }));
226
+ }
227
+ function getAnchorStartDate(startDate, endDate) {
228
+ if (!startDate && !endDate) {
229
+ return startOfMonth(subMonths(new Date(), 1));
230
+ }
231
+ if (startDate && !endDate) {
232
+ return startOfMonth(startDate);
233
+ }
234
+ if (!startDate && endDate) {
235
+ return startOfMonth(subMonths(endDate, 1));
236
+ }
237
+ if (startDate && endDate) {
238
+ return startOfMonth(startDate);
239
+ }
240
+ return new Date();
241
+ }
242
+ function getAnchorEndDate(startDate, endDate) {
243
+ if (!startDate && !endDate) {
244
+ return endOfMonth(new Date());
245
+ }
246
+ if (startDate && !endDate) {
247
+ return endOfMonth(addMonths(startDate, 1));
248
+ }
249
+ if (!startDate && endDate) {
250
+ return endOfMonth(endDate);
251
+ }
252
+ if (startDate && endDate) {
253
+ return endOfMonth(addMonths(startDate, 1));
254
+ }
255
+ return new Date();
256
+ }
@@ -17,7 +17,10 @@ type QuillDateRange = {
17
17
  * key ending on today.
18
18
  */
19
19
  export declare const PRIMARY_RANGE: {
20
- [key: string]: QuillDateRange | null;
20
+ [key: string]: QuillDateRange | {
21
+ start: undefined;
22
+ end: undefined;
23
+ };
21
24
  };
22
25
  /**
23
26
  * Maps between the keys of primary range and the short code.
@@ -25,6 +28,10 @@ export declare const PRIMARY_RANGE: {
25
28
  export declare const PRIMARY_CODES: {
26
29
  [key: keyof typeof PRIMARY_RANGE]: string;
27
30
  };
31
+ export declare const COMPARISON_OPTIONS: {
32
+ value: string;
33
+ text: string;
34
+ }[];
28
35
  /**
29
36
  * A helpful map between comparison range keys and a function that takes the
30
37
  * start date of the primary range (which is also the end date for our
@@ -50,9 +57,21 @@ export declare const COMPARISON_RANGE: {
50
57
  readonly NO_COMPARISON: (_: any) => null;
51
58
  };
52
59
  export type ComparisonRangeKey = keyof typeof COMPARISON_RANGE;
60
+ export declare const defaultOptionsV2: any[];
53
61
  export declare const defaultOptions: DateRangePickerOption[];
54
62
  export declare const reportBuilderOptions: DateRangePickerOption[];
55
63
  export declare const getRangeFromPreset: (preset: string) => (string | Date | null)[];
64
+ export declare const getRangeFromPresetOptions: (preset: string, presetOptions: {
65
+ label: string;
66
+ startDate: Date;
67
+ endDate: Date;
68
+ }[]) => {
69
+ start: Date;
70
+ end: Date;
71
+ } | {
72
+ start: null;
73
+ end: null;
74
+ };
56
75
  export declare const getDateStyles: (theme: any, date: Date, finalStartDate: Date | null, finalEndDate: Date | null, hoveredDate: Date | undefined, isDateDisabled: boolean) => any;
57
76
  export declare const displaySelected: (selectedStartDay: Date | null, selectedEndDay: Date | null) => string | undefined;
58
77
  export declare const formatSelectedDates: (startDate: Date | null, endDate: Date | null, locale?: Locale) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../src/DateRangePicker/dateRangePickerUtils.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,WAAW,WAAY,MAAM,aAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,UAAU,MAAM,WAEnD,CAAC;AAEF,eAAO,MAAM,2BAA2B,kBACvB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,gBAU1C,CAAC;AAEF,eAAO,MAAM,yBAAyB,kBACrB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,SAU1C,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACzB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBAWzC,CAAC;AAEF,eAAO,MAAM,YAAY,YACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACvB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBASzC,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAA;CASjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,OAAO,aAAa,GAAG,MAAM,CAAA;CAStE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;2CACG,cAAc;;;;sCAInB,cAAc;;;;uCAIb,cAAc;;;;uCAId,cAAc;;;;gCAIrB,GAAG;CACd,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE/D,eAAO,MAAM,cAAc,EAAE,qBAAqB,EAyCjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EA+BvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,MAAM,6BAGhD,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,GAAG,QACJ,IAAI,kBACM,IAAI,GAAG,IAAI,gBACb,IAAI,GAAG,IAAI,eACZ,IAAI,GAAG,SAAS,kBACb,OAAO,QAgCxB,CAAC;AAkGF,eAAO,MAAM,eAAe,qBACR,IAAI,GAAG,IAAI,kBACb,IAAI,GAAG,IAAI,uBA0C5B,CAAC;AAyHF,eAAO,MAAM,mBAAmB,cACnB,IAAI,GAAG,IAAI,WACb,IAAI,GAAG,IAAI,WACX,MAAM,WAyChB,CAAC;;AAEF,yEAAyE"}
1
+ {"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../src/DateRangePicker/dateRangePickerUtils.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,WAAW,WAAY,MAAM,aAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,UAAU,MAAM,WAEnD,CAAC;AAEF,eAAO,MAAM,2BAA2B,kBACvB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,gBAU1C,CAAC;AAEF,eAAO,MAAM,yBAAyB,kBACrB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,SAU1C,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACzB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBAWzC,CAAC;AAEF,eAAO,MAAM,YAAY,YACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACvB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBASzC,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,CAAC;CAatE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,OAAO,aAAa,GAAG,MAAM,CAAA;CAStE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,EAqBA,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;2CACG,cAAc;;;;sCAInB,cAAc;;;;uCAIb,cAAc;;;;uCAId,cAAc;;;;gCAIrB,GAAG;CACd,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,GAAG,EAiDjC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,qBAAqB,EAyCjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EA+BvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,MAAM,6BAOhD,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAC5B,MAAM,iBACC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,EAAE;;;;;;CAQnE,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,GAAG,QACJ,IAAI,kBACM,IAAI,GAAG,IAAI,gBACb,IAAI,GAAG,IAAI,eACZ,IAAI,GAAG,SAAS,kBACb,OAAO,QAgCxB,CAAC;AAkGF,eAAO,MAAM,eAAe,qBACR,IAAI,GAAG,IAAI,kBACb,IAAI,GAAG,IAAI,uBA0C5B,CAAC;AAyHF,eAAO,MAAM,mBAAmB,cACnB,IAAI,GAAG,IAAI,WACb,IAAI,GAAG,IAAI,WACX,MAAM,WAyChB,CAAC;;AAEF,yEAAyE"}
@@ -51,8 +51,11 @@ export const PRIMARY_RANGE = {
51
51
  LAST_7_DAYS: { start: sub(startOfToday(), { days: 7 }), end: endOfToday() },
52
52
  LAST_30_DAYS: { start: sub(startOfToday(), { days: 30 }), end: endOfToday() },
53
53
  LAST_90_DAYS: { start: sub(startOfToday(), { days: 90 }), end: endOfToday() },
54
- LAST_6_MONTHS: { start: sub(startOfToday(), { months: 6 }), end: endOfToday() },
55
- ALL_TIME: { start: new Date(0), end: endOfToday() },
54
+ LAST_6_MONTHS: {
55
+ start: sub(startOfToday(), { months: 6 }),
56
+ end: endOfToday(),
57
+ },
58
+ ALL_TIME: { start: undefined, end: undefined },
56
59
  };
57
60
  /**
58
61
  * Maps between the keys of primary range and the short code.
@@ -67,6 +70,28 @@ export const PRIMARY_CODES = {
67
70
  LAST_6_MONTHS: '6m',
68
71
  ALL_TIME: 'at',
69
72
  };
73
+ export const COMPARISON_OPTIONS = [
74
+ {
75
+ value: 'PREV_PERIOD',
76
+ text: 'Previous Period',
77
+ },
78
+ {
79
+ value: 'PREV_7_DAYS',
80
+ text: 'Previous 7 days',
81
+ },
82
+ {
83
+ value: 'PREV_30_DAYS',
84
+ text: 'Previous 30 days',
85
+ },
86
+ {
87
+ value: 'PREV_90_DAYS',
88
+ text: 'Previous 90 days',
89
+ },
90
+ {
91
+ value: 'NO_COMPARISON',
92
+ text: 'No comparison',
93
+ },
94
+ ];
70
95
  /**
71
96
  * A helpful map between comparison range keys and a function that takes the
72
97
  * start date of the primary range (which is also the end date for our
@@ -91,6 +116,56 @@ export const COMPARISON_RANGE = {
91
116
  }),
92
117
  NO_COMPARISON: (_) => null,
93
118
  };
119
+ export const defaultOptionsV2 = [
120
+ {
121
+ value: 'THIS_WEEK',
122
+ label: 'This week',
123
+ startDate: PRIMARY_RANGE['THIS_WEEK']?.start,
124
+ endDate: PRIMARY_RANGE['THIS_WEEK']?.end,
125
+ },
126
+ {
127
+ value: 'THIS_MONTH',
128
+ label: 'This month',
129
+ startDate: PRIMARY_RANGE['THIS_MONTH']?.start,
130
+ endDate: PRIMARY_RANGE['THIS_MONTH']?.end,
131
+ },
132
+ {
133
+ value: 'THIS_YEAR',
134
+ label: 'This year',
135
+ startDate: PRIMARY_RANGE['THIS_YEAR']?.start,
136
+ endDate: PRIMARY_RANGE['THIS_YEAR']?.end,
137
+ },
138
+ {
139
+ value: 'LAST_7_DAYS',
140
+ label: 'Last 7 days',
141
+ startDate: PRIMARY_RANGE['LAST_7_DAYS']?.start,
142
+ endDate: PRIMARY_RANGE['LAST_7_DAYS']?.end,
143
+ },
144
+ {
145
+ value: 'LAST_30_DAYS',
146
+ label: 'Last 30 days',
147
+ startDate: PRIMARY_RANGE['LAST_30_DAYS']?.start,
148
+ endDate: PRIMARY_RANGE['LAST_30_DAYS']?.end,
149
+ },
150
+ {
151
+ value: 'LAST_90_DAYS',
152
+ label: 'Last 90 days',
153
+ startDate: PRIMARY_RANGE['LAST_90_DAYS']?.start,
154
+ endDate: PRIMARY_RANGE['LAST_90_DAYS']?.end,
155
+ },
156
+ {
157
+ value: 'LAST_6_MONTHS',
158
+ label: 'Last 6 months',
159
+ startDate: PRIMARY_RANGE['LAST_6_MONTHS']?.start,
160
+ endDate: PRIMARY_RANGE['LAST_6_MONTHS']?.end,
161
+ },
162
+ {
163
+ value: 'ALL_TIME',
164
+ label: 'All time',
165
+ startDate: PRIMARY_RANGE['ALL_TIME']?.start,
166
+ endDate: PRIMARY_RANGE['ALL_TIME']?.end,
167
+ },
168
+ ];
94
169
  export const defaultOptions = [
95
170
  {
96
171
  value: 'wk',
@@ -167,7 +242,20 @@ export const reportBuilderOptions = [
167
242
  ];
168
243
  export const getRangeFromPreset = (preset) => {
169
244
  const foundPreset = defaultOptions.find((elem) => elem.value === preset);
170
- return [foundPreset?.startDate || null, endOfToday(), foundPreset?.value || ''];
245
+ return [
246
+ foundPreset?.startDate || null,
247
+ endOfToday(),
248
+ foundPreset?.value || '',
249
+ ];
250
+ };
251
+ export const getRangeFromPresetOptions = (preset, presetOptions) => {
252
+ const foundPreset = presetOptions.find((elem) => elem.label === preset);
253
+ if (foundPreset) {
254
+ return { start: foundPreset?.startDate, end: foundPreset?.endDate };
255
+ }
256
+ else {
257
+ return { start: null, end: null };
258
+ }
171
259
  };
172
260
  export const getDateStyles = (theme, date, finalStartDate, finalEndDate, hoveredDate, isDateDisabled) => {
173
261
  return {
@@ -51,6 +51,7 @@ export declare const defaultQuillTheme: {
51
51
  labelFontWeight: number;
52
52
  fontSize: number;
53
53
  loadingStateBackgroundColor: string;
54
+ hoverBackgroundColor: string;
54
55
  };
55
56
  declare const QuillProvider: ({ organizationId, publicKey, queryEndpoint, queryHeaders, environment, children, theme, withCredentials, }: QuillProviderProps) => import("react/jsx-runtime").JSX.Element;
56
57
  export default QuillProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"QuillProvider.d.ts","sourceRoot":"","sources":["../../src/QuillProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,UAAU,kBAAmB,SAAQ,sBAAsB;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB;AAED,UAAU,iBAAkB,SAAQ,sBAAsB;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,KAAK,kBAAkB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAEjE,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAuB7B,CAAC;AAEF,QAAA,MAAM,aAAa,+GAShB,kBAAkB,4CAcpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"QuillProvider.d.ts","sourceRoot":"","sources":["../../src/QuillProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,UAAU,kBAAmB,SAAQ,sBAAsB;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB;AAED,UAAU,iBAAkB,SAAQ,sBAAsB;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,KAAK,kBAAkB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAEjE,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAwB7B,CAAC;AAEF,QAAA,MAAM,aAAa,+GAShB,kBAAkB,4CAcpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -23,6 +23,7 @@ export const defaultQuillTheme = {
23
23
  labelFontWeight: 500,
24
24
  fontSize: 14,
25
25
  loadingStateBackgroundColor: '#F9F9FA',
26
+ hoverBackgroundColor: '#F4F4F5',
26
27
  };
27
28
  const QuillProvider = ({ organizationId, publicKey, queryEndpoint, queryHeaders, environment, children, theme = defaultQuillTheme, withCredentials = false, }) => {
28
29
  return (_jsx(ContextProvider, { initialTheme: theme, publicKey: publicKey, environment: environment, customerId: organizationId, queryEndpoint: queryEndpoint, queryHeaders: queryHeaders, withCredentials: withCredentials, children: children }));
@@ -1 +1 @@
1
- {"version":3,"file":"ReportBuilder.d.ts","sourceRoot":"","sources":["../../src/ReportBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,KAAK,EAIN,MAAM,sCAAsC,CAAC;AAY9C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EAEnB,WAAW,EACX,UAAU,EACV,SAAS,EACT,iBAAiB,EAUjB,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAEnC,UAAU,kBAAkB;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EACxB,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,KAClB,IAAI,CAAC;IACV,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC;IAC5D,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,SAA6B,EAC7B,cAAc,EACd,MAAuB,EACvB,MAAuB,EACvB,eAAyC,EACzC,MAAuB,EACvB,KAAqB,EACrB,YAAmC,EACnC,IAAmB,EACnB,KAAqB,EACrB,OAAyB,EACzB,sBAA8B,EAC9B,oBAA4B,EAC5B,wBAAgC,EAChC,QAAQ,EACR,SAAS,EACT,UAAU,EACV,sBAAsB,EACtB,mBAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,GACpB,EAAE,kBAAkB,kDA6MpB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,KAAA,sBAgD1C"}
1
+ {"version":3,"file":"ReportBuilder.d.ts","sourceRoot":"","sources":["../../src/ReportBuilder.tsx"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ import { convertPostgresColumn } from './SQLEditor';
7
7
  import { format } from 'date-fns';
8
8
  import { PivotModal, generatePivotTable, } from './internals/ReportBuilder/PivotModal';
9
9
  import { getData, getDataFromCloud } from './utils/dataFetcher';
10
- import { QuillDateRangePicker } from './Dashboard';
11
10
  import { getRangeFromPreset, reportBuilderOptions, } from './DateRangePicker/dateRangePickerUtils';
12
11
  import Table from './Table';
13
12
  import ChartBuilder from './ChartBuilder';
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAUA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAqErE"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAWA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAiFrE"}
@@ -4,6 +4,7 @@ import { didFiltersChange } from '../../Chart';
4
4
  import { ClientContext, DashboardContext, DashboardFiltersContext, } from '../../Context';
5
5
  import { getData } from '../../utils/dataFetcher';
6
6
  import { mergeComparisonRange } from '../../utils/merge';
7
+ import { valueFormatter } from '../../utils/valueFormatter';
7
8
  export default function DataLoader({ id, children }) {
8
9
  const [client, _] = useContext(ClientContext);
9
10
  const { dispatch, dashboard } = useContext(DashboardContext);
@@ -45,6 +46,16 @@ export default function DataLoader({ id, children }) {
45
46
  if (resp.compareRows) {
46
47
  mergeComparisonRange(resp);
47
48
  }
49
+ resp.rows = resp.rows.map((row) => {
50
+ return Object.keys(row).reduce((newRow, key) => {
51
+ newRow[key] = valueFormatter({
52
+ value: row[key],
53
+ field: key,
54
+ fields: resp.columns,
55
+ });
56
+ return newRow;
57
+ }, {});
58
+ });
48
59
  dispatch({
49
60
  type: 'UPDATE_DASHBOARD_ITEM',
50
61
  id: id,
@@ -0,0 +1,3 @@
1
+ import { SelectComponentProps } from './UiComponents';
2
+ export declare function QuillSelectComponent({ options, value, onChange, theme, label, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=QuillSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,oBAAoB,2CAoKtB"}
@@ -0,0 +1,105 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useOnClickOutside } from '../hooks';
3
+ import { useRef, useState } from 'react';
4
+ export function QuillSelectComponent({ options, value, onChange, theme, label, }) {
5
+ const [showModal, setShowModal] = useState(false);
6
+ const modalRef = useRef(null);
7
+ useOnClickOutside(modalRef, (e) => {
8
+ setShowModal(false);
9
+ });
10
+ return (_jsxs("div", { style: { position: 'relative', width: 200 }, children: [label && (_jsx("div", { style: {
11
+ fontSize: 14,
12
+ color: theme.primaryTextColor,
13
+ fontFamily: theme.fontFamily,
14
+ paddingBottom: 5,
15
+ fontWeight: 600,
16
+ }, children: label })), _jsxs("button", { style: {
17
+ fontFamily: theme.fontFamily,
18
+ color: theme.primaryTextColor,
19
+ width: '100%',
20
+ display: 'flex',
21
+ alignItems: 'center',
22
+ justifyContent: 'space-between',
23
+ fontWeight: 'inherit',
24
+ lineHeight: 'inherit',
25
+ padding: '8px 12px',
26
+ fontSize: 14,
27
+ margin: 0,
28
+ boxSizing: 'border-box',
29
+ borderWidth: 1,
30
+ borderStyle: 'solid',
31
+ borderColor: theme.borderColor,
32
+ borderRadius: 6,
33
+ paddingTop: 9,
34
+ paddingBottom: 9,
35
+ height: 40,
36
+ minHeight: 40,
37
+ maxHeight: 40,
38
+ }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), children: [_jsx("style", { children: ` .quill-select-button { background: ${theme.backgroundColor}; } .quill-select-button:hover { background: ${theme.hoverBackgroundColor}; }` }), options.find((elem) => elem.value === value)?.label || 'Select', _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon", height: 20, width: 20, children: _jsx("path", { fillRule: "evenodd", d: "M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z", clipRule: "evenodd" }) })] }), showModal && (_jsxs("div", { ref: modalRef, style: {
39
+ position: 'absolute',
40
+ width: '100%',
41
+ display: 'flex',
42
+ flexDirection: 'column',
43
+ boxSizing: 'border-box',
44
+ borderWidth: 1,
45
+ borderStyle: 'solid',
46
+ borderColor: theme.borderColor,
47
+ borderRadius: 6,
48
+ overflow: 'hidden',
49
+ background: 'white',
50
+ marginTop: 12,
51
+ zIndex: 100,
52
+ paddingTop: 6,
53
+ paddingBottom: 6,
54
+ paddingLeft: 6,
55
+ paddingRight: 6,
56
+ boxShadow: '0px 1px 12px 0px rgba(56, 65, 81, 0.1)',
57
+ fontFamily: theme.fontFamily,
58
+ }, children: [_jsxs("button", { style: {
59
+ display: 'flex',
60
+ alignItems: 'center',
61
+ justifyContent: 'space-between',
62
+ padding: '8px 8px',
63
+ margin: 0,
64
+ boxSizing: 'border-box',
65
+ borderWidth: 0,
66
+ fontSize: 14,
67
+ borderStyle: 'solid',
68
+ borderColor: theme.borderColor,
69
+ borderRadius: 4,
70
+ fontFamily: theme.fontFamily,
71
+ }, className: "quill-option", onClick: () => {
72
+ onChange('');
73
+ setShowModal(false);
74
+ }, children: [_jsx("style", { children: `
75
+ .quill-option {
76
+ background: white;
77
+ }
78
+ .quill-option:hover {
79
+ background: #F4F4F5;
80
+ }
81
+ ` }), 'Select'] }), options.map((option) => (_jsxs("button", { style: {
82
+ display: 'flex',
83
+ alignItems: 'center',
84
+ justifyContent: 'space-between',
85
+ padding: '8px 8px',
86
+ margin: 0,
87
+ boxSizing: 'border-box',
88
+ borderWidth: 0,
89
+ fontSize: 14,
90
+ borderStyle: 'solid',
91
+ borderColor: theme.borderColor,
92
+ borderRadius: 4,
93
+ fontFamily: theme.fontFamily,
94
+ }, className: "quill-option", onClick: () => {
95
+ onChange(option.value);
96
+ setShowModal(false);
97
+ }, children: [_jsx("style", { children: `
98
+ .quill-option {
99
+ background: white;
100
+ }
101
+ .quill-option:hover {
102
+ background: #F4F4F5;
103
+ }
104
+ ` }), option.label] }, option.value)))] }))] }));
105
+ }
@@ -9,6 +9,7 @@ export interface SelectComponentProps {
9
9
  options: Option[];
10
10
  disabled?: boolean;
11
11
  label?: string;
12
+ theme: any;
12
13
  }
13
14
  export interface TextInputComponentProps {
14
15
  onChange: (e: any) => void;