@quillsql/react 2.13.7 → 2.13.9

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 (368) hide show
  1. package/dist/cjs/Chart.d.ts +5 -5
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +19 -8
  4. package/dist/cjs/ChartBuilder.d.ts +1 -1
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +58 -93
  7. package/dist/cjs/ChartEditor.js +1 -1
  8. package/dist/cjs/Context.d.ts +9 -8
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +119 -34
  11. package/dist/cjs/Dashboard.d.ts +20 -8
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +68 -58
  14. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -2
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  16. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +1 -2
  17. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +20 -20
  18. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  19. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +64 -52
  20. package/dist/cjs/ReportBuilder.d.ts +2 -1
  21. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  22. package/dist/cjs/ReportBuilder.js +339 -339
  23. package/dist/cjs/SQLEditor.d.ts +1 -1
  24. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  25. package/dist/cjs/SQLEditor.js +30 -18
  26. package/dist/cjs/components/Banner/index.d.ts +0 -1
  27. package/dist/cjs/components/Banner/index.d.ts.map +1 -1
  28. package/dist/cjs/components/Banner/index.js +1 -1
  29. package/dist/cjs/components/Chart/BarChart.d.ts +0 -1
  30. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  31. package/dist/cjs/components/Chart/BarChart.js +1 -1
  32. package/dist/cjs/components/Chart/BarList.js +1 -2
  33. package/dist/cjs/components/Chart/ChartError.js +2 -3
  34. package/dist/cjs/components/Chart/ChartSkeleton.js +1 -1
  35. package/dist/cjs/components/Chart/ChartTooltip.js +1 -1
  36. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts +0 -1
  37. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +1 -1
  38. package/dist/cjs/components/Chart/ChartTooltipFrame.js +1 -1
  39. package/dist/cjs/components/Chart/ChartTooltipGroup.js +1 -1
  40. package/dist/cjs/components/Chart/ChartTooltipRow.js +1 -1
  41. package/dist/cjs/components/Chart/LineChart.d.ts +0 -1
  42. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  43. package/dist/cjs/components/Chart/LineChart.js +1 -1
  44. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  45. package/dist/cjs/components/Chart/PieChart.js +18 -9
  46. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +0 -1
  47. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
  49. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +10 -2
  50. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  51. package/dist/cjs/components/Dashboard/DashboardFilter.js +9 -23
  52. package/dist/cjs/components/Dashboard/DashboardSection.d.ts +0 -1
  53. package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +1 -1
  54. package/dist/cjs/components/Dashboard/DashboardSection.js +1 -1
  55. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts +0 -1
  56. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -1
  57. package/dist/cjs/components/Dashboard/DashboardSectionContainer.js +1 -1
  58. package/dist/cjs/components/Dashboard/DashboardTemplate.js +1 -1
  59. package/dist/cjs/components/Dashboard/DataLoader.d.ts +9 -7
  60. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  61. package/dist/cjs/components/Dashboard/DataLoader.js +104 -61
  62. package/dist/cjs/components/Dashboard/MetricComponent.d.ts +0 -1
  63. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  64. package/dist/cjs/components/Dashboard/MetricComponent.js +3 -3
  65. package/dist/cjs/components/Dashboard/TableComponent.d.ts +0 -1
  66. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  67. package/dist/cjs/components/Dashboard/TableComponent.js +1 -1
  68. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +0 -1
  69. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +1 -1
  70. package/dist/cjs/components/Dashboard/TemplateChartComponent.js +1 -1
  71. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +0 -1
  72. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -1
  73. package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +1 -1
  74. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +0 -1
  75. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +1 -1
  76. package/dist/cjs/components/Dashboard/TemplateTableComponent.js +1 -1
  77. package/dist/cjs/components/Dashboard/util.js +2 -3
  78. package/dist/cjs/components/QuillCard.js +1 -2
  79. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  80. package/dist/cjs/components/QuillMultiSelect.js +21 -20
  81. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  82. package/dist/cjs/components/QuillMultiSelectWithCombo.js +172 -70
  83. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  84. package/dist/cjs/components/QuillSelect.js +9 -8
  85. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  86. package/dist/cjs/components/QuillSelectWithCombo.js +26 -12
  87. package/dist/cjs/components/QuillTable.d.ts +5 -1
  88. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  89. package/dist/cjs/components/QuillTable.js +5 -3
  90. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +1 -1
  91. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +2 -3
  92. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  93. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +5 -6
  94. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  95. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +3 -4
  96. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  97. package/dist/cjs/components/ReportBuilder/FilterModal.js +45 -39
  98. package/dist/cjs/components/ReportBuilder/FilterStack.js +1 -1
  99. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
  100. package/dist/cjs/components/ReportBuilder/ast.js +2 -2
  101. package/dist/cjs/components/ReportBuilder/convert.js +11 -12
  102. package/dist/cjs/components/ReportBuilder/postgres.js +4 -4
  103. package/dist/cjs/components/ReportBuilder/ui.d.ts +3 -3
  104. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  105. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  106. package/dist/cjs/components/ReportBuilder/util.js +21 -23
  107. package/dist/cjs/components/UiComponents.d.ts +14 -12
  108. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  109. package/dist/cjs/components/UiComponents.js +41 -17
  110. package/dist/cjs/components/selectUtils.js +3 -3
  111. package/dist/cjs/contexts/BaseColorContext.d.ts +0 -1
  112. package/dist/cjs/contexts/BaseColorContext.d.ts.map +1 -1
  113. package/dist/cjs/contexts/RootStylesContext.d.ts +0 -1
  114. package/dist/cjs/contexts/RootStylesContext.d.ts.map +1 -1
  115. package/dist/cjs/contexts/SelectedValueContext.d.ts +0 -1
  116. package/dist/cjs/contexts/SelectedValueContext.d.ts.map +1 -1
  117. package/dist/cjs/hooks/useAskQuill.d.ts +2 -2
  118. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  119. package/dist/cjs/hooks/useAskQuill.js +11 -11
  120. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
  121. package/dist/cjs/hooks/useDashboard.d.ts +8 -7
  122. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  123. package/dist/cjs/hooks/useDashboard.js +47 -31
  124. package/dist/cjs/hooks/useExport.d.ts +3 -4
  125. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  126. package/dist/cjs/hooks/useExport.js +6 -2
  127. package/dist/cjs/hooks/useInternalState.d.ts +1 -2
  128. package/dist/cjs/hooks/useInternalState.d.ts.map +1 -1
  129. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -1
  130. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  131. package/dist/cjs/hooks/useQuill.d.ts +0 -14
  132. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  133. package/dist/cjs/hooks/useQuill.js +17 -55
  134. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  135. package/dist/cjs/index.d.ts +2 -1
  136. package/dist/cjs/index.d.ts.map +1 -1
  137. package/dist/cjs/index.js +7 -2
  138. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +4 -1
  139. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  140. package/dist/cjs/internals/ReportBuilder/PivotForm.js +32 -7
  141. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +17 -13
  142. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  143. package/dist/cjs/internals/ReportBuilder/PivotModal.js +368 -162
  144. package/dist/cjs/lib/utils.d.ts +0 -1
  145. package/dist/cjs/lib/utils.d.ts.map +1 -1
  146. package/dist/cjs/lib/utils.js +2 -2
  147. package/dist/cjs/models/Filter.d.ts +49 -30
  148. package/dist/cjs/models/Filter.d.ts.map +1 -1
  149. package/dist/cjs/models/Filter.js +125 -52
  150. package/dist/cjs/models/Pivot.d.ts +3 -1
  151. package/dist/cjs/models/Pivot.d.ts.map +1 -1
  152. package/dist/cjs/models/Report.d.ts +2 -2
  153. package/dist/cjs/models/Report.d.ts.map +1 -1
  154. package/dist/cjs/utils/astFilterProcessing.d.ts +4 -4
  155. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
  156. package/dist/cjs/utils/astFilterProcessing.js +3839 -3427
  157. package/dist/cjs/utils/astProcessing.d.ts +12 -3
  158. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  159. package/dist/cjs/utils/astProcessing.js +76 -11
  160. package/dist/cjs/utils/client.js +2 -2
  161. package/dist/cjs/utils/color.js +5 -6
  162. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  163. package/dist/cjs/utils/columnProcessing.js +7 -7
  164. package/dist/cjs/utils/crypto.js +1 -2
  165. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  166. package/dist/cjs/utils/dashboard.js +34 -30
  167. package/dist/cjs/utils/dataFetcher.js +3 -4
  168. package/dist/cjs/utils/dataProcessing.js +2 -2
  169. package/dist/cjs/utils/dates.d.ts +4 -1
  170. package/dist/cjs/utils/dates.d.ts.map +1 -1
  171. package/dist/cjs/utils/dates.js +12 -10
  172. package/dist/cjs/utils/errorProcessing.js +1 -2
  173. package/dist/cjs/utils/filterProcessing.d.ts +3 -3
  174. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  175. package/dist/cjs/utils/filterProcessing.js +30 -27
  176. package/dist/cjs/utils/getDomain.js +1 -1
  177. package/dist/cjs/utils/logging.js +1 -2
  178. package/dist/cjs/utils/merge.d.ts +1 -1
  179. package/dist/cjs/utils/merge.d.ts.map +1 -1
  180. package/dist/cjs/utils/merge.js +15 -11
  181. package/dist/cjs/utils/monacoConfig.js +3 -3
  182. package/dist/cjs/utils/paginationProcessing.js +3 -3
  183. package/dist/cjs/utils/pivotConstructor.d.ts +4 -4
  184. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  185. package/dist/cjs/utils/pivotConstructor.js +104 -127
  186. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  187. package/dist/cjs/utils/pivotProcessing.js +14 -16
  188. package/dist/cjs/utils/queryConstructor.d.ts +2 -2
  189. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  190. package/dist/cjs/utils/queryConstructor.js +344 -78
  191. package/dist/cjs/utils/report.d.ts.map +1 -1
  192. package/dist/cjs/utils/report.js +22 -12
  193. package/dist/cjs/utils/schema.d.ts.map +1 -1
  194. package/dist/cjs/utils/styles.js +1 -2
  195. package/dist/cjs/utils/tableProcessing.d.ts +12 -12
  196. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  197. package/dist/cjs/utils/tableProcessing.js +69 -26
  198. package/dist/cjs/utils/textProcessing.js +5 -6
  199. package/dist/cjs/utils/validation.d.ts.map +1 -1
  200. package/dist/cjs/utils/validation.js +3 -1
  201. package/dist/cjs/utils/valueFormatter.d.ts +1 -0
  202. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  203. package/dist/cjs/utils/valueFormatter.js +2 -0
  204. package/dist/cjs/utils/width.d.ts.map +1 -1
  205. package/dist/esm/Chart.d.ts +5 -5
  206. package/dist/esm/Chart.d.ts.map +1 -1
  207. package/dist/esm/Chart.js +15 -4
  208. package/dist/esm/ChartBuilder.d.ts +1 -1
  209. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  210. package/dist/esm/ChartBuilder.js +52 -87
  211. package/dist/esm/Context.d.ts +9 -8
  212. package/dist/esm/Context.d.ts.map +1 -1
  213. package/dist/esm/Context.js +119 -34
  214. package/dist/esm/Dashboard.d.ts +20 -8
  215. package/dist/esm/Dashboard.d.ts.map +1 -1
  216. package/dist/esm/Dashboard.js +68 -58
  217. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -2
  218. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  219. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +20 -20
  220. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  221. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +64 -52
  222. package/dist/esm/ReportBuilder.d.ts +2 -1
  223. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  224. package/dist/esm/ReportBuilder.js +343 -343
  225. package/dist/esm/SQLEditor.d.ts +1 -1
  226. package/dist/esm/SQLEditor.d.ts.map +1 -1
  227. package/dist/esm/SQLEditor.js +29 -17
  228. package/dist/esm/components/Banner/index.d.ts +0 -1
  229. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  230. package/dist/esm/components/Chart/BarChart.d.ts +0 -1
  231. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  232. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +0 -1
  233. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -1
  234. package/dist/esm/components/Chart/LineChart.d.ts +0 -1
  235. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  236. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  237. package/dist/esm/components/Chart/PieChart.js +18 -9
  238. package/dist/esm/components/Dashboard/ChartComponent.d.ts +0 -1
  239. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  240. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +10 -2
  241. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  242. package/dist/esm/components/Dashboard/DashboardFilter.js +8 -21
  243. package/dist/esm/components/Dashboard/DashboardSection.d.ts +0 -1
  244. package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -1
  245. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +0 -1
  246. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -1
  247. package/dist/esm/components/Dashboard/DataLoader.d.ts +9 -7
  248. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  249. package/dist/esm/components/Dashboard/DataLoader.js +102 -62
  250. package/dist/esm/components/Dashboard/MetricComponent.d.ts +0 -1
  251. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  252. package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
  253. package/dist/esm/components/Dashboard/TableComponent.d.ts +0 -1
  254. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  255. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +0 -1
  256. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +1 -1
  257. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +0 -1
  258. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -1
  259. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +0 -1
  260. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +1 -1
  261. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  262. package/dist/esm/components/QuillMultiSelect.js +19 -18
  263. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  264. package/dist/esm/components/QuillMultiSelectWithCombo.js +171 -69
  265. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  266. package/dist/esm/components/QuillSelect.js +8 -6
  267. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  268. package/dist/esm/components/QuillSelectWithCombo.js +25 -10
  269. package/dist/esm/components/QuillTable.d.ts +5 -1
  270. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  271. package/dist/esm/components/QuillTable.js +4 -2
  272. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +2 -3
  273. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  274. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +5 -6
  275. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  276. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +3 -4
  277. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  278. package/dist/esm/components/ReportBuilder/FilterModal.js +46 -40
  279. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
  280. package/dist/esm/components/ReportBuilder/ui.d.ts +3 -3
  281. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  282. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  283. package/dist/esm/components/ReportBuilder/util.js +0 -2
  284. package/dist/esm/components/UiComponents.d.ts +14 -12
  285. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  286. package/dist/esm/components/UiComponents.js +37 -14
  287. package/dist/esm/contexts/BaseColorContext.d.ts +0 -1
  288. package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -1
  289. package/dist/esm/contexts/RootStylesContext.d.ts +0 -1
  290. package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -1
  291. package/dist/esm/contexts/SelectedValueContext.d.ts +0 -1
  292. package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -1
  293. package/dist/esm/hooks/useAskQuill.d.ts +2 -2
  294. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  295. package/dist/esm/hooks/useAskQuill.js +12 -12
  296. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
  297. package/dist/esm/hooks/useDashboard.d.ts +8 -7
  298. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  299. package/dist/esm/hooks/useDashboard.js +48 -32
  300. package/dist/esm/hooks/useExport.d.ts +3 -4
  301. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  302. package/dist/esm/hooks/useExport.js +6 -2
  303. package/dist/esm/hooks/useInternalState.d.ts +1 -2
  304. package/dist/esm/hooks/useInternalState.d.ts.map +1 -1
  305. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -1
  306. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  307. package/dist/esm/hooks/useQuill.d.ts +0 -14
  308. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  309. package/dist/esm/hooks/useQuill.js +16 -53
  310. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  311. package/dist/esm/index.d.ts +2 -1
  312. package/dist/esm/index.d.ts.map +1 -1
  313. package/dist/esm/index.js +2 -1
  314. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +4 -1
  315. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  316. package/dist/esm/internals/ReportBuilder/PivotForm.js +32 -7
  317. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +17 -13
  318. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  319. package/dist/esm/internals/ReportBuilder/PivotModal.js +364 -158
  320. package/dist/esm/lib/utils.d.ts +0 -1
  321. package/dist/esm/lib/utils.d.ts.map +1 -1
  322. package/dist/esm/models/Filter.d.ts +49 -30
  323. package/dist/esm/models/Filter.d.ts.map +1 -1
  324. package/dist/esm/models/Filter.js +123 -50
  325. package/dist/esm/models/Pivot.d.ts +3 -1
  326. package/dist/esm/models/Pivot.d.ts.map +1 -1
  327. package/dist/esm/models/Report.d.ts +2 -2
  328. package/dist/esm/models/Report.d.ts.map +1 -1
  329. package/dist/esm/utils/astFilterProcessing.d.ts +4 -4
  330. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
  331. package/dist/esm/utils/astFilterProcessing.js +3835 -3423
  332. package/dist/esm/utils/astProcessing.d.ts +12 -3
  333. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  334. package/dist/esm/utils/astProcessing.js +64 -0
  335. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  336. package/dist/esm/utils/columnProcessing.js +1 -1
  337. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  338. package/dist/esm/utils/dashboard.js +31 -26
  339. package/dist/esm/utils/dates.d.ts +4 -1
  340. package/dist/esm/utils/dates.d.ts.map +1 -1
  341. package/dist/esm/utils/dates.js +6 -3
  342. package/dist/esm/utils/filterProcessing.d.ts +3 -3
  343. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  344. package/dist/esm/utils/filterProcessing.js +22 -19
  345. package/dist/esm/utils/merge.d.ts +1 -1
  346. package/dist/esm/utils/merge.d.ts.map +1 -1
  347. package/dist/esm/utils/merge.js +14 -9
  348. package/dist/esm/utils/pivotConstructor.d.ts +4 -4
  349. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  350. package/dist/esm/utils/pivotConstructor.js +103 -125
  351. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  352. package/dist/esm/utils/pivotProcessing.js +9 -11
  353. package/dist/esm/utils/queryConstructor.d.ts +2 -2
  354. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  355. package/dist/esm/utils/queryConstructor.js +338 -71
  356. package/dist/esm/utils/report.d.ts.map +1 -1
  357. package/dist/esm/utils/report.js +18 -8
  358. package/dist/esm/utils/schema.d.ts.map +1 -1
  359. package/dist/esm/utils/tableProcessing.d.ts +12 -12
  360. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  361. package/dist/esm/utils/tableProcessing.js +69 -26
  362. package/dist/esm/utils/validation.d.ts.map +1 -1
  363. package/dist/esm/utils/validation.js +3 -1
  364. package/dist/esm/utils/valueFormatter.d.ts +1 -0
  365. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  366. package/dist/esm/utils/valueFormatter.js +2 -1
  367. package/dist/esm/utils/width.d.ts.map +1 -1
  368. package/package.json +4 -4
@@ -1,10 +1,12 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { useContext, useEffect, useRef, useState } from 'react';
3
- import { didFiltersChange } from '../../Chart';
4
- import { ClientContext, DashboardContext, SchemaDataContext, } from '../../Context';
2
+ import { useContext, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaDataContext, } from '../../Context';
5
4
  import { convertInternalReportToReport, EMPTY_INTERNAL_REPORT, fetchReport, fetchReportRowCount, } from '../../utils/report';
6
5
  import { shouldFetchMore, DEFAULT_PAGINATION, shouldSortInMemory, } from '../../utils/paginationProcessing';
7
6
  import { fetchResultsByReport, } from '../../utils/tableProcessing';
7
+ import { didFiltersChange } from '../../Chart';
8
+ import { mergeComparisonRange } from '../../utils/merge';
9
+ import equal from 'fast-deep-equal';
8
10
  const constructReportFromItem = (item) => {
9
11
  return {
10
12
  ...EMPTY_INTERNAL_REPORT,
@@ -49,24 +51,57 @@ function filterValuesEquivalent(filters1, filters2) {
49
51
  mappedFilters1[key].filterType !== mappedFilters2[key]?.filterType ||
50
52
  mappedFilters1[key].startDate !== mappedFilters2[key]?.startDate ||
51
53
  mappedFilters1[key].endDate !== mappedFilters2[key]?.endDate ||
52
- mappedFilters1[key].comparisonRange !==
53
- mappedFilters2[key]?.comparisonRange) {
54
+ !equal(mappedFilters1[key].comparisonRange, mappedFilters2[key]?.comparisonRange)) {
54
55
  return false;
55
56
  }
56
57
  }
57
58
  return true;
58
59
  }
59
- export default function DataLoader({ item, children, filters, additionalProcessing: defaultAdditionalProcessing, }) {
60
+ function userFilterValuesEquivalent(filters1, filters2) {
61
+ if (!filters1 && !filters2) {
62
+ return true;
63
+ }
64
+ if (filters1?.length !== filters2?.length) {
65
+ return false;
66
+ }
67
+ if (!filters1 || !filters2) {
68
+ return false;
69
+ }
70
+ // The two filters arrays aren't necessarily in the same order
71
+ // we can build two dictionaries of [{table, field}, filter] and compare them
72
+ const mappedFilters1 = filters1.reduce((acc, filter) => {
73
+ acc[`${filter.table}.${filter.field}`] = filter;
74
+ return acc;
75
+ }, {});
76
+ const mappedFilters2 = filters2.reduce((acc, filter) => {
77
+ acc[`${filter.table}.${filter.field}`] = filter;
78
+ return acc;
79
+ }, {});
80
+ for (const key in mappedFilters1) {
81
+ if (mappedFilters1[key]?.value !== mappedFilters2[key]?.value ||
82
+ mappedFilters1[key]?.operator !== mappedFilters2[key]?.operator ||
83
+ mappedFilters1[key]?.fieldType !== mappedFilters2[key]?.fieldType ||
84
+ mappedFilters1[key]?.filterType !== mappedFilters2[key]?.filterType) {
85
+ return false;
86
+ }
87
+ }
88
+ return true;
89
+ }
90
+ export default function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, }) {
60
91
  const [client] = useContext(ClientContext);
61
92
  const [dashboard, dispatch] = useContext(DashboardContext);
93
+ const { dashboardFilters } = useContext(DashboardFiltersContext);
62
94
  const [schemaData] = useContext(SchemaDataContext);
63
- const [loading, setLoading] = useState(false);
95
+ const [loading, setLoading] = useState(!dashboard[item.id]);
64
96
  const [error, setError] = useState(undefined);
65
97
  const [previousPage, setPreviousPage] = useState(0);
66
- const [report, setReport] = useState(dashboard[item.id] ?? constructReportFromItem(item));
67
- const [additionalProcessing, setAdditionProcessing] = useState(defaultAdditionalProcessing);
98
+ const [additionalProcessing, setAdditionalProcessing] = useState(defaultAdditionalProcessing);
99
+ const chartReport = useMemo(() => {
100
+ const report = dashboard[item.id] ?? constructReportFromItem(item);
101
+ return convertInternalReportToReport(mergeComparisonRange(report));
102
+ }, [dashboard[item.id]]);
68
103
  const previousFilters = useRef(null);
69
- const [rowCount, setRowCount] = useState(dashboard[item.id]?.rowCount ?? 0);
104
+ const previousUserFilters = useRef(null);
70
105
  const [rowCountIsLoading, setRowCountIsLoading] = useState(false);
71
106
  const rowsRequestId = useRef(0);
72
107
  const rowsAbortController = useRef(null);
@@ -84,7 +119,7 @@ export default function DataLoader({ item, children, filters, additionalProcessi
84
119
  rowCountAbortController.current?.abort();
85
120
  rowCountAbortController.current = new AbortController();
86
121
  try {
87
- const rowCount = await fetchReportRowCount(item.id, client, true, filters, processing, schemaData.customFields, rowCountAbortController.current.signal);
122
+ const rowCount = await fetchReportRowCount(item.id, client, true, filters.concat(userFilters ?? []), processing, schemaData.customFields, rowCountAbortController.current.signal);
88
123
  rowCountAbortController.current = null;
89
124
  if (rowCount) {
90
125
  dispatch({
@@ -92,12 +127,10 @@ export default function DataLoader({ item, children, filters, additionalProcessi
92
127
  id: item.id,
93
128
  data: { rowCount },
94
129
  });
95
- setRowCount(rowCount);
96
130
  }
97
131
  }
98
132
  catch (e) {
99
133
  if (e instanceof Error && e.name === 'AbortError') {
100
- // console.log('Aborted fetching row count');
101
134
  return;
102
135
  }
103
136
  }
@@ -116,7 +149,7 @@ export default function DataLoader({ item, children, filters, additionalProcessi
116
149
  ...additionalProcessing,
117
150
  page: newPagination,
118
151
  };
119
- setAdditionProcessing(updatedProcessing);
152
+ setAdditionalProcessing(updatedProcessing);
120
153
  updateTableRows(updatedProcessing);
121
154
  }
122
155
  if (page > previousPage) {
@@ -124,7 +157,8 @@ export default function DataLoader({ item, children, filters, additionalProcessi
124
157
  }
125
158
  };
126
159
  const onSortChange = (sort) => {
127
- if (shouldSortInMemory(additionalProcessing.page ?? DEFAULT_PAGINATION, report.rowCount, !!report.pivot)) {
160
+ const report = dashboard[item.id];
161
+ if (shouldSortInMemory(additionalProcessing.page ?? DEFAULT_PAGINATION, report?.rowCount, !!report?.pivot)) {
128
162
  return;
129
163
  }
130
164
  const updatedProcessing = { page: additionalProcessing.page, sort };
@@ -144,17 +178,24 @@ export default function DataLoader({ item, children, filters, additionalProcessi
144
178
  updateTableRowsAbortController.current?.abort();
145
179
  updateTableRowsAbortController.current = new AbortController();
146
180
  const updatedProcessing = { ...additionalProcessing, ...processing };
147
- const paginatedRows = await fetchResultsByReport(report.id, client, updatedProcessing, filters, schemaData.customFields, true, undefined, updateTableRowsAbortController.current.signal);
181
+ const paginatedRows = await fetchResultsByReport(item.id, client, updatedProcessing, filters.concat(userFilters ?? []), schemaData.customFields, true, undefined, updateTableRowsAbortController.current.signal);
148
182
  updateTableRowsAbortController.current = null;
149
183
  if (paginatedRows.error) {
150
184
  throw new Error('Error fetching chart');
151
185
  }
152
- let tempRows = [...report.rows, ...paginatedRows.rows];
186
+ let tempRows = [
187
+ ...(dashboard[item.id]?.rows ?? []),
188
+ ...paginatedRows.rows,
189
+ ];
153
190
  if (resetRows) {
154
191
  tempRows = paginatedRows.rows;
155
192
  }
156
- setReport({ ...report, rows: tempRows });
157
- setAdditionProcessing(updatedProcessing);
193
+ dispatch({
194
+ type: 'UPDATE_DASHBOARD_ITEM',
195
+ id: item.id,
196
+ data: { rows: tempRows },
197
+ });
198
+ setAdditionalProcessing(updatedProcessing);
158
199
  }
159
200
  catch (e) {
160
201
  console.log(e);
@@ -170,41 +211,34 @@ export default function DataLoader({ item, children, filters, additionalProcessi
170
211
  if (!client || !filters) {
171
212
  return;
172
213
  }
173
- if (dashboard[item.id] &&
174
- !didFiltersChange(dashboard[item.id], filters) &&
175
- !loading &&
176
- // @ts-ignore
177
- !dashboard[item.id].triggerReload) {
214
+ const fetchRowsRequestId = rowsRequestId.current + 1;
215
+ rowsRequestId.current = fetchRowsRequestId;
216
+ const tempReport = dashboard[item.id];
217
+ if (tempReport &&
218
+ !didFiltersChange(tempReport, filters) &&
219
+ userFilterValuesEquivalent(userFilters ?? [], previousUserFilters.current ?? []) &&
220
+ !tempReport.triggerReload) {
178
221
  setLoading(false);
179
- const convertedReport = convertInternalReportToReport(
180
- // @ts-ignore
181
- dashboard[item.id]);
182
- setReport(convertedReport);
183
222
  return;
184
223
  }
185
- const fetchRowsRequestId = rowsRequestId.current + 1;
186
- rowsRequestId.current = fetchRowsRequestId;
187
224
  setLoading(true);
188
- // console.log('fetching', item.id, filters);
225
+ previousUserFilters.current = userFilters ?? null;
189
226
  rowsAbortController.current?.abort();
190
227
  rowsAbortController.current = new AbortController();
191
228
  try {
192
- const { report: fetchedReport, error } = await fetchReport(item.id, client, true, filters, processing, undefined, schemaData.customFields, true, false, rowsAbortController.current.signal);
229
+ const { report: fetchedReport, error } = await fetchReport(item.id, client, true, filters.concat(userFilters ?? []), processing, undefined, schemaData.customFields, true, false, rowsAbortController.current.signal);
193
230
  rowsAbortController.current = null;
231
+ fetchRowCount(processing);
194
232
  dispatch({
195
233
  type: 'ADD_DASHBOARD_ITEM',
196
234
  id: item.id,
197
235
  data: { ...fetchedReport, triggerReload: false, rowCount: 0 }, // rowCount 0 indicates it's still loading if row length is nonzero
198
236
  });
199
- fetchRowCount(processing);
200
- const convertedReport = convertInternalReportToReport(fetchedReport);
201
- setReport(convertedReport);
202
- setAdditionProcessing(processing);
237
+ setAdditionalProcessing(processing);
203
238
  setError(error);
204
239
  }
205
240
  catch (e) {
206
241
  if (e instanceof Error && e.name === 'AbortError') {
207
- // console.log('Aborted fetching rows');
208
242
  return;
209
243
  }
210
244
  throw e;
@@ -219,14 +253,17 @@ export default function DataLoader({ item, children, filters, additionalProcessi
219
253
  if (!filters) {
220
254
  return;
221
255
  }
222
- if (previousFilters.current &&
223
- filterValuesEquivalent(previousFilters.current, filters)) {
256
+ if ((previousFilters.current || dashboard[item.id]?.rows?.length) &&
257
+ filterValuesEquivalent(previousFilters.current ??
258
+ Object.values(dashboardFilters[item.dashboardName] ?? {}).map((f) => f.filter), filters) &&
259
+ userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? [])) {
260
+ previousFilters.current = filters;
224
261
  return;
225
262
  }
226
263
  previousFilters.current = filters;
227
264
  setPreviousPage(0);
228
265
  fetchReportHelper(additionalProcessing);
229
- }, [filters, item.id]);
266
+ }, [filters, userFilters, item.id]);
230
267
  useEffect(() => {
231
268
  if (dashboard[item.id]?.triggerReload) {
232
269
  fetchReportHelper(additionalProcessing);
@@ -237,24 +274,28 @@ export default function DataLoader({ item, children, filters, additionalProcessi
237
274
  error,
238
275
  onPageChange,
239
276
  onSortChange,
240
- data: report,
241
- rowCount: report.pivot ? report.rowCount : rowCount,
277
+ data: chartReport,
278
+ rowCount: chartReport.rowCount,
242
279
  rowCountIsLoading,
243
280
  }) }));
244
281
  }
245
282
  // The same data-loader pattern as above, but with special logic for charts
246
283
  // At some point these may be able to get merged into one function.
247
- export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, }) => {
284
+ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, userFilters, }) => {
248
285
  const [dashboard, dispatch] = useContext(DashboardContext);
249
- const [initialLoad, setInitialLoad] = useState(true);
250
- const [loading, setLoading] = useState(false);
286
+ const { dashboardFilters } = useContext(DashboardFiltersContext);
287
+ const [loading, setLoading] = useState(!dashboard[item.id]);
251
288
  const [error, setError] = useState(undefined);
252
- const [localDateBucket, setLocalDateBucket] = useState(undefined);
253
- const [report, setReport] = useState(dashboard[item.id] ?? constructReportFromItem(item));
254
289
  const [client] = useContext(ClientContext);
255
290
  const [schemaData] = useContext(SchemaDataContext);
256
291
  const previousFilters = useRef(null);
292
+ const previousUserFilters = useRef(null);
293
+ const previousDateBucket = useRef(undefined);
257
294
  const fetchReportAbortController = useRef(null);
295
+ const chartReport = useMemo(() => {
296
+ const report = dashboard[item.id] ?? constructReportFromItem(item);
297
+ return convertInternalReportToReport(mergeComparisonRange(report));
298
+ }, [dashboard[item.id]]);
258
299
  const fetchReportHelper = async (useReportTask = true) => {
259
300
  if (!client || !filters) {
260
301
  return;
@@ -262,18 +303,17 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
262
303
  const tempReport = dashboard[item.id];
263
304
  if (tempReport &&
264
305
  !didFiltersChange(tempReport, filters) &&
265
- !tempReport.triggerReload &&
266
- dateBucket === localDateBucket) {
306
+ userFilterValuesEquivalent(userFilters ?? [], previousUserFilters.current ?? []) &&
307
+ !tempReport.triggerReload) {
267
308
  setLoading(false);
268
- const convertedReport = convertInternalReportToReport(tempReport);
269
- setReport(convertedReport);
270
309
  return;
271
310
  }
311
+ previousUserFilters.current = userFilters ?? null;
272
312
  setLoading(true);
273
313
  fetchReportAbortController.current?.abort();
274
314
  fetchReportAbortController.current = new AbortController();
275
315
  try {
276
- const { report, error } = await fetchReport(item.id, client, useReportTask, filters, {
316
+ const { report, error } = await fetchReport(item.id, client, useReportTask, filters.concat(userFilters ?? []), {
277
317
  ...additionalProcessing,
278
318
  ...(item.pivot ? {} : { page: DEFAULT_PAGINATION }),
279
319
  }, dateBucket, schemaData.customFields, undefined, undefined, fetchReportAbortController.current.signal);
@@ -283,14 +323,10 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
283
323
  id: item.id,
284
324
  data: { ...report, triggerReload: false },
285
325
  });
286
- const convertedReport = convertInternalReportToReport(report);
287
- setReport(convertedReport);
288
- setLocalDateBucket(dateBucket);
289
326
  setError(error);
290
327
  }
291
328
  catch (e) {
292
329
  if (e instanceof Error && e.name === 'AbortError') {
293
- // console.log('Aborted fetching rows for chart');
294
330
  return;
295
331
  }
296
332
  throw e;
@@ -303,14 +339,18 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
303
339
  if (!filters) {
304
340
  return;
305
341
  }
306
- if (previousFilters.current &&
307
- filterValuesEquivalent(previousFilters.current, filters)) {
342
+ if ((previousFilters.current || dashboard[item.id]?.rows?.length) &&
343
+ filterValuesEquivalent(previousFilters.current ??
344
+ Object.values(dashboardFilters[item.dashboardName] ?? {}).map((f) => f.filter), filters) &&
345
+ userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
346
+ previousDateBucket.current === dateBucket) {
347
+ previousFilters.current = filters;
308
348
  return;
309
349
  }
310
350
  previousFilters.current = filters;
311
- setInitialLoad(false);
351
+ previousDateBucket.current = dateBucket;
312
352
  fetchReportHelper();
313
- }, [filters, item.id, dateBucket]);
353
+ }, [filters, userFilters, item.id, dateBucket]);
314
354
  useEffect(() => {
315
355
  const tempReport = dashboard[item.id];
316
356
  if (tempReport && tempReport.triggerReload) {
@@ -318,8 +358,8 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
318
358
  }
319
359
  }, [dashboard[item.id]]);
320
360
  return children({
321
- isLoading: loading || initialLoad,
322
- data: report,
361
+ isLoading: loading,
362
+ data: chartReport,
323
363
  error,
324
364
  dateBucket,
325
365
  });
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { QuillReportProps } from '../../Dashboard';
3
2
  export default function QuillMetricComponent({ report, onClick, error, isLoading, }: QuillReportProps): JSX.Element;
4
3
  //# sourceMappingURL=MetricComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA2NhC"}
1
+ {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA0NhC"}
@@ -7,8 +7,8 @@ import { ThemeContext } from '../../Context';
7
7
  export default function QuillMetricComponent({ report, onClick, error, isLoading, }) {
8
8
  const [theme] = useContext(ThemeContext);
9
9
  const dateFilter = report?.filtersApplied?.find((filter) => filter.filterType == 'date_range');
10
- const primaryMetricLabel = report?.filtersApplied?.date_range?.preset?.label;
11
- const comparisonKey = report?.filtersApplied?.date_range?.comparisonRange?.value;
10
+ const primaryMetricLabel = dateFilter?.preset?.label;
11
+ const comparisonKey = dateFilter?.comparisonRange?.value;
12
12
  const comparisonLabel = COMPARISON_OPTIONS.find((opt) => opt.value === comparisonKey)?.text;
13
13
  return (_jsx("div", { onClick: () => onClick && onClick(report), style: {
14
14
  cursor: !onClick ? 'default' : 'pointer',
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { QuillReport } from '../../models/Report';
3
2
  export default function QuillTableComponent({ report, onClick, isLoading, error, rowCount, rowCountIsLoading, onPageChange, onSortChange, }: {
4
3
  report: QuillReport;
@@ -1 +1 @@
1
- {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,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,GAAG,GAAG,CAAC,OAAO,CAkGd"}
1
+ {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,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,GAAG,GAAG,CAAC,OAAO,CAkGd"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { QuillReportProps } from '../../Dashboard';
3
2
  export default function QuillTemplateChartComponent({ report, onClick, children, isLoading, }: QuillReportProps): JSX.Element;
4
3
  //# sourceMappingURL=TemplateChartComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateChartComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyBhC"}
1
+ {"version":3,"file":"TemplateChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateChartComponent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyBhC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { QuillReportProps } from '../../Dashboard';
3
2
  export default function QuillTemplateMetricComponent({ report, onClick, children, isLoading, }: QuillReportProps): JSX.Element;
4
3
  //# sourceMappingURL=TemplateMetricComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateMetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateMetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyBhC"}
1
+ {"version":3,"file":"TemplateMetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateMetricComponent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyBhC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { QuillReport } from '../../models/Report';
3
2
  export default function QuillTemplateTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }: {
4
3
  report: QuillReport;
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateTableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateTableComponent.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,GAAG,GAAG,CAAC,OAAO,CA4Bd"}
1
+ {"version":3,"file":"TemplateTableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateTableComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,GAAG,GAAG,CAAC,OAAO,CA4Bd"}
@@ -1 +1 @@
1
- {"version":3,"file":"QuillMultiSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3E;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,yBAAyB,2CAsO3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CA0DpB,CAAC"}
1
+ {"version":3,"file":"QuillMultiSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3E;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,yBAAyB,2CAgP3B;AAED,eAAO,MAAM,gBAAgB,sCAI1B;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB,4CAyDA,CAAC"}
@@ -26,8 +26,12 @@ export function QuillMultiSelectComponent({ options, width, onChange, label, val
26
26
  const [selectedOptions, setSelectedOptions] = useState([]);
27
27
  const [showModal, setShowModal] = useState(false);
28
28
  const modalRef = useRef(null);
29
+ const buttonRef = useRef(null);
29
30
  const debounceTimeoutId = useRef(null);
30
- useOnClickOutside(modalRef, () => setShowModal(false), showModal);
31
+ useOnClickOutside(modalRef, (event) => {
32
+ if (!buttonRef.current?.contains(event.target))
33
+ setShowModal(false);
34
+ }, showModal);
31
35
  useEffect(() => {
32
36
  if (!value) {
33
37
  setSelectedOptions([]);
@@ -64,7 +68,7 @@ export function QuillMultiSelectComponent({ options, width, onChange, label, val
64
68
  borderRadius: '6px',
65
69
  width: width,
66
70
  minWidth: width,
67
- }, ref: modalRef, children: [label && (_jsx("div", { style: {
71
+ }, children: [label && (_jsx("div", { style: {
68
72
  fontSize: 14,
69
73
  color: theme?.secondaryTextColor,
70
74
  fontFamily: theme?.fontFamily,
@@ -92,7 +96,7 @@ export function QuillMultiSelectComponent({ options, width, onChange, label, val
92
96
  height: 40,
93
97
  minHeight: 40,
94
98
  maxHeight: 40,
95
- }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), children: [_jsx("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; }
99
+ }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), ref: buttonRef, children: [_jsx("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; }
96
100
  .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }
97
101
  ` }), _jsx("span", { style: {
98
102
  textOverflow: 'ellipsis',
@@ -118,7 +122,7 @@ export function QuillMultiSelectComponent({ options, width, onChange, label, val
118
122
  fontFamily: theme?.fontFamily,
119
123
  maxHeight: '50vh',
120
124
  overflow: 'scroll',
121
- }, children: !isLoading ? (sortedItems.map((option) => (_jsxs("button", { style: {
125
+ }, ref: modalRef, children: !isLoading ? (sortedItems.map((option) => (_jsxs("button", { style: {
122
126
  display: 'flex',
123
127
  alignItems: 'center',
124
128
  padding: 8,
@@ -137,26 +141,23 @@ export function QuillMultiSelectComponent({ options, width, onChange, label, val
137
141
  gap: 6,
138
142
  overflow: 'hidden',
139
143
  }, className: "quill-option", onClick: () => {
140
- // Manually create a synthetic ChangeEvent and pass it to callback
141
- const changeEvent = { target: { value: option.value } };
142
- let updateSelctedOptions = [...selectedOptions];
143
- if (selectedOptions.includes(changeEvent.target.value)) {
144
- updateSelctedOptions = selectedOptions.filter((opt) => opt !== changeEvent.target.value);
145
- setSelectedOptions(updateSelctedOptions);
144
+ let updateSelectedOptions = [...selectedOptions];
145
+ if (selectedOptions.includes(option.value)) {
146
+ updateSelectedOptions = selectedOptions.filter((opt) => opt !== option.value);
147
+ setSelectedOptions(updateSelectedOptions);
146
148
  }
147
149
  else {
148
- updateSelctedOptions = [
149
- ...updateSelctedOptions,
150
- changeEvent.target.value,
150
+ updateSelectedOptions = [
151
+ ...updateSelectedOptions,
152
+ option.value,
151
153
  ];
152
- setSelectedOptions(updateSelctedOptions);
154
+ setSelectedOptions(updateSelectedOptions);
153
155
  }
154
156
  const updatedChangeEvent = {
155
- target: { value: updateSelctedOptions.join(',') },
157
+ target: {
158
+ value: updateSelectedOptions,
159
+ },
156
160
  };
157
- if (updateSelctedOptions.length === 0) {
158
- updatedChangeEvent.target.value = '';
159
- }
160
161
  debounce(updatedChangeEvent);
161
162
  }, children: [_jsx("style", { children: `
162
163
  .quill-option {
@@ -1 +1 @@
1
- {"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3E;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,yBAAyB,2CAiV3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CAyDpB,CAAC"}
1
+ {"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3E;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,yBAAyB,2CAge3B;AAED,eAAO,MAAM,gBAAgB,sCAI1B;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB,4CAwDA,CAAC"}