@quillsql/react 2.12.28 → 2.12.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/dist/cjs/Chart.d.ts +24 -10
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +151 -189
  4. package/dist/cjs/ChartBuilder.d.ts +51 -11
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +162 -101
  7. package/dist/cjs/ChartEditor.d.ts +13 -1
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +62 -121
  10. package/dist/cjs/Context.d.ts +1 -19
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +74 -85
  13. package/dist/cjs/Dashboard.d.ts +16 -7
  14. package/dist/cjs/Dashboard.d.ts.map +1 -1
  15. package/dist/cjs/Dashboard.js +90 -68
  16. package/dist/cjs/DateRangePicker/Calendar.d.ts.map +1 -1
  17. package/dist/cjs/DateRangePicker/Calendar.js +3 -6
  18. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  19. package/dist/cjs/DateRangePicker/DateRangePicker.js +2 -3
  20. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  21. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  22. package/dist/cjs/DateRangePicker/DateRangePickerButton.js +2 -4
  23. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  24. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  25. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +4 -4
  26. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  27. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  28. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -15
  29. package/dist/cjs/ReportBuilder.d.ts +22 -1
  30. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  31. package/dist/cjs/ReportBuilder.js +758 -505
  32. package/dist/cjs/SQLEditor.d.ts +2 -9
  33. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  34. package/dist/cjs/SQLEditor.js +142 -90
  35. package/dist/cjs/Table.d.ts +19 -3
  36. package/dist/cjs/Table.d.ts.map +1 -1
  37. package/dist/cjs/Table.js +110 -92
  38. package/dist/cjs/TableChart.d.ts.map +1 -1
  39. package/dist/cjs/TableChart.js +0 -1
  40. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  41. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +1 -1
  42. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +1 -1
  43. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  44. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  45. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +1 -1
  46. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  47. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +1 -1
  48. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +1 -1
  49. package/dist/cjs/assets/CalendarIcon.d.ts.map +1 -1
  50. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  51. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  52. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
  53. package/dist/cjs/assets/LoadingSpinner.d.ts.map +1 -1
  54. package/dist/cjs/assets/SearchIcon.d.ts.map +1 -1
  55. package/dist/cjs/assets/XCircleIcon.d.ts.map +1 -1
  56. package/dist/cjs/components/Banner/index.d.ts +1 -1
  57. package/dist/cjs/components/Banner/index.d.ts.map +1 -1
  58. package/dist/cjs/components/Banner/index.js +1 -1
  59. package/dist/cjs/components/BigModal/BigModal.d.ts.map +1 -1
  60. package/dist/cjs/components/BigModal/BigModal.js +6 -12
  61. package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
  62. package/dist/cjs/components/Chart/BarList.js +21 -14
  63. package/dist/cjs/components/Chart/ChartError.d.ts +8 -1
  64. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  65. package/dist/cjs/components/Chart/ChartError.js +40 -5
  66. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  67. package/dist/cjs/components/Chart/ChartTooltip.js +8 -2
  68. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  69. package/dist/cjs/components/Chart/LineChart.js +2 -2
  70. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  71. package/dist/cjs/components/Chart/PieChart.js +1 -3
  72. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
  73. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  74. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
  75. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +5 -1
  76. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  77. package/dist/cjs/components/Dashboard/DashboardFilter.js +10 -5
  78. package/dist/cjs/components/Dashboard/DataLoader.d.ts +2 -6
  79. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  80. package/dist/cjs/components/Dashboard/DataLoader.js +98 -187
  81. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  82. package/dist/cjs/components/Dashboard/MetricComponent.js +1 -1
  83. package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -4
  84. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  85. package/dist/cjs/components/Dashboard/TableComponent.js +3 -3
  86. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -1
  87. package/dist/cjs/components/Dropdown/Dropdown.js +1 -3
  88. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -1
  89. package/dist/cjs/components/Dropdown/DropdownItem.js +3 -8
  90. package/dist/cjs/components/Dropdown/index.d.ts +2 -2
  91. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -1
  92. package/dist/cjs/components/Modal/Modal.js +2 -3
  93. package/dist/cjs/components/Modal/index.d.ts +1 -1
  94. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  95. package/dist/cjs/components/QuillMultiSelect.js +18 -3
  96. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  97. package/dist/cjs/components/QuillMultiSelectWithCombo.js +2 -2
  98. package/dist/cjs/components/QuillSelect.js +1 -1
  99. package/dist/cjs/components/QuillSelectWithCombo.js +2 -2
  100. package/dist/cjs/components/QuillTable.d.ts +1 -4
  101. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  102. package/dist/cjs/components/QuillTable.js +5 -11
  103. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  104. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  105. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +5 -8
  106. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  107. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +1 -3
  108. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  109. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +12 -1
  110. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +22 -0
  111. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  112. package/dist/cjs/components/ReportBuilder/FilterModal.js +555 -0
  113. package/dist/cjs/components/ReportBuilder/ast.d.ts +2 -1
  114. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
  115. package/dist/cjs/components/ReportBuilder/ast.js +33 -6
  116. package/dist/cjs/components/ReportBuilder/constants.d.ts +18 -3
  117. package/dist/cjs/components/ReportBuilder/constants.d.ts.map +1 -1
  118. package/dist/cjs/components/ReportBuilder/constants.js +24 -3
  119. package/dist/cjs/components/ReportBuilder/convert.d.ts +12 -15
  120. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  121. package/dist/cjs/components/ReportBuilder/convert.js +326 -494
  122. package/dist/cjs/components/ReportBuilder/operators.d.ts +24 -4
  123. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
  124. package/dist/cjs/components/ReportBuilder/operators.js +32 -4
  125. package/dist/cjs/components/ReportBuilder/ui.d.ts +20 -0
  126. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  127. package/dist/cjs/components/ReportBuilder/ui.js +30 -4
  128. package/dist/cjs/components/ReportBuilder/util.d.ts +3 -11
  129. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  130. package/dist/cjs/components/ReportBuilder/util.js +15 -18
  131. package/dist/cjs/components/UiComponents.d.ts +10 -7
  132. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  133. package/dist/cjs/components/UiComponents.js +9 -8
  134. package/dist/cjs/components/selectUtils.d.ts +0 -1
  135. package/dist/cjs/components/selectUtils.d.ts.map +1 -1
  136. package/dist/cjs/components/selectUtils.js +1 -22
  137. package/dist/cjs/hooks/index.d.ts +4 -4
  138. package/dist/cjs/hooks/useAstToFilterTree.d.ts +11 -0
  139. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -0
  140. package/dist/cjs/hooks/useAstToFilterTree.js +26 -0
  141. package/dist/cjs/hooks/useDashboard.d.ts +1 -1
  142. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  143. package/dist/cjs/hooks/useDashboard.js +22 -4
  144. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  145. package/dist/cjs/hooks/useExport.js +3 -1
  146. package/dist/cjs/hooks/useOnClickOutside.js +4 -4
  147. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -1
  148. package/dist/cjs/hooks/useOnWindowResize.js +2 -2
  149. package/dist/cjs/hooks/useQuill.d.ts +10 -27
  150. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  151. package/dist/cjs/hooks/useQuill.js +114 -82
  152. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  153. package/dist/cjs/hooks/useSelectOnKeyDown.js +4 -4
  154. package/dist/cjs/hooks/useTheme.js +1 -1
  155. package/dist/cjs/index.d.ts +1 -0
  156. package/dist/cjs/index.d.ts.map +1 -1
  157. package/dist/cjs/index.js +3 -1
  158. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  159. package/dist/cjs/internals/ReportBuilder/PivotForm.js +8 -1
  160. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +2 -2
  161. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  162. package/dist/cjs/internals/ReportBuilder/PivotList.js +2 -2
  163. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -1
  164. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  165. package/dist/cjs/internals/ReportBuilder/PivotModal.js +64 -78
  166. package/dist/cjs/lib/utils.js +2 -2
  167. package/dist/cjs/models/Filter.d.ts +104 -4
  168. package/dist/cjs/models/Filter.d.ts.map +1 -1
  169. package/dist/cjs/models/Filter.js +91 -0
  170. package/dist/cjs/models/Pagination.d.ts +10 -0
  171. package/dist/cjs/models/Pagination.d.ts.map +1 -0
  172. package/dist/cjs/models/Pagination.js +2 -0
  173. package/dist/cjs/models/Report.d.ts +116 -0
  174. package/dist/cjs/models/Report.d.ts.map +1 -0
  175. package/dist/cjs/models/Report.js +2 -0
  176. package/dist/cjs/utils/aggregate.js +1 -1
  177. package/dist/cjs/utils/astFilterProcessing.d.ts +36 -0
  178. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -0
  179. package/dist/cjs/utils/astFilterProcessing.js +8056 -0
  180. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  181. package/dist/cjs/utils/astProcessing.js +4 -3
  182. package/dist/cjs/utils/axisFormatter.js +0 -71
  183. package/dist/cjs/utils/color.js +9 -87
  184. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  185. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  186. package/dist/cjs/utils/columnProcessing.js +8 -1
  187. package/dist/cjs/utils/csv.d.ts.map +1 -1
  188. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  189. package/dist/cjs/utils/dashboard.js +4 -4
  190. package/dist/cjs/utils/dataFetcher.d.ts +1 -1
  191. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  192. package/dist/cjs/utils/dataFetcher.js +72 -5
  193. package/dist/cjs/utils/dataProcessing.d.ts +8 -0
  194. package/dist/cjs/utils/dataProcessing.d.ts.map +1 -0
  195. package/dist/cjs/utils/dataProcessing.js +127 -0
  196. package/dist/cjs/utils/dates.d.ts +2 -1
  197. package/dist/cjs/utils/dates.d.ts.map +1 -1
  198. package/dist/cjs/utils/dates.js +12 -3
  199. package/dist/cjs/utils/error.d.ts +5 -0
  200. package/dist/cjs/utils/error.d.ts.map +1 -0
  201. package/dist/cjs/utils/error.js +12 -0
  202. package/dist/cjs/utils/filterConstants.d.ts +34 -0
  203. package/dist/cjs/utils/filterConstants.d.ts.map +1 -0
  204. package/dist/cjs/utils/filterConstants.js +36 -0
  205. package/dist/cjs/utils/filterProcessing.js +4 -4
  206. package/dist/cjs/utils/logging.d.ts.map +1 -1
  207. package/dist/cjs/utils/logging.js +1 -0
  208. package/dist/cjs/utils/merge.js +0 -21
  209. package/dist/cjs/utils/monacoConfig.d.ts +21 -0
  210. package/dist/cjs/utils/monacoConfig.d.ts.map +1 -0
  211. package/dist/cjs/utils/monacoConfig.js +324 -0
  212. package/dist/cjs/utils/paginationProcessing.d.ts +5 -0
  213. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -0
  214. package/dist/cjs/utils/paginationProcessing.js +30 -0
  215. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  216. package/dist/cjs/utils/pivotConstructor.js +67 -5
  217. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  218. package/dist/cjs/utils/pivotProcessing.js +12 -6
  219. package/dist/cjs/utils/queryConstructor.d.ts +4 -2
  220. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  221. package/dist/cjs/utils/queryConstructor.js +121 -59
  222. package/dist/cjs/utils/report.d.ts +7 -0
  223. package/dist/cjs/utils/report.d.ts.map +1 -0
  224. package/dist/cjs/utils/report.js +93 -0
  225. package/dist/cjs/utils/schema.d.ts.map +1 -1
  226. package/dist/cjs/utils/schema.js +35 -6
  227. package/dist/cjs/utils/styles.d.ts +1 -1
  228. package/dist/cjs/utils/styles.d.ts.map +1 -1
  229. package/dist/cjs/utils/tableProcessing.d.ts +23 -8
  230. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  231. package/dist/cjs/utils/tableProcessing.js +156 -38
  232. package/dist/cjs/utils/textProcessing.js +3 -3
  233. package/dist/cjs/utils/validation.d.ts +9 -0
  234. package/dist/cjs/utils/validation.d.ts.map +1 -0
  235. package/dist/cjs/utils/validation.js +24 -0
  236. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  237. package/dist/cjs/utils/valueFormatter.js +8 -4
  238. package/dist/esm/Chart.d.ts +24 -10
  239. package/dist/esm/Chart.d.ts.map +1 -1
  240. package/dist/esm/Chart.js +154 -192
  241. package/dist/esm/ChartBuilder.d.ts +51 -11
  242. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  243. package/dist/esm/ChartBuilder.js +161 -101
  244. package/dist/esm/ChartEditor.d.ts +13 -1
  245. package/dist/esm/ChartEditor.d.ts.map +1 -1
  246. package/dist/esm/ChartEditor.js +63 -122
  247. package/dist/esm/Context.d.ts +1 -19
  248. package/dist/esm/Context.d.ts.map +1 -1
  249. package/dist/esm/Context.js +74 -84
  250. package/dist/esm/Dashboard.d.ts +16 -7
  251. package/dist/esm/Dashboard.d.ts.map +1 -1
  252. package/dist/esm/Dashboard.js +91 -69
  253. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -1
  254. package/dist/esm/DateRangePicker/Calendar.js +5 -8
  255. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  256. package/dist/esm/DateRangePicker/DateRangePicker.js +2 -3
  257. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  258. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  259. package/dist/esm/DateRangePicker/DateRangePickerButton.js +2 -4
  260. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  261. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  262. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +4 -4
  263. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  264. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  265. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -15
  266. package/dist/esm/ReportBuilder.d.ts +22 -1
  267. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  268. package/dist/esm/ReportBuilder.js +766 -513
  269. package/dist/esm/SQLEditor.d.ts +2 -9
  270. package/dist/esm/SQLEditor.d.ts.map +1 -1
  271. package/dist/esm/SQLEditor.js +144 -92
  272. package/dist/esm/Table.d.ts +19 -3
  273. package/dist/esm/Table.d.ts.map +1 -1
  274. package/dist/esm/Table.js +112 -94
  275. package/dist/esm/TableChart.d.ts.map +1 -1
  276. package/dist/esm/TableChart.js +0 -1
  277. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  278. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -1
  279. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -1
  280. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  281. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  282. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -1
  283. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  284. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -1
  285. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -1
  286. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -1
  287. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  288. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  289. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  290. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -1
  291. package/dist/esm/assets/SearchIcon.d.ts.map +1 -1
  292. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -1
  293. package/dist/esm/components/Banner/index.d.ts +1 -1
  294. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  295. package/dist/esm/components/Banner/index.js +1 -1
  296. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -1
  297. package/dist/esm/components/BigModal/BigModal.js +7 -13
  298. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  299. package/dist/esm/components/Chart/BarList.js +21 -14
  300. package/dist/esm/components/Chart/ChartError.d.ts +8 -1
  301. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  302. package/dist/esm/components/Chart/ChartError.js +39 -6
  303. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  304. package/dist/esm/components/Chart/ChartTooltip.js +8 -2
  305. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  306. package/dist/esm/components/Chart/LineChart.js +2 -2
  307. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  308. package/dist/esm/components/Chart/PieChart.js +1 -3
  309. package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
  310. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  311. package/dist/esm/components/Dashboard/ChartComponent.js +1 -1
  312. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +5 -1
  313. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  314. package/dist/esm/components/Dashboard/DashboardFilter.js +10 -5
  315. package/dist/esm/components/Dashboard/DataLoader.d.ts +2 -6
  316. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  317. package/dist/esm/components/Dashboard/DataLoader.js +98 -187
  318. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  319. package/dist/esm/components/Dashboard/MetricComponent.js +1 -1
  320. package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -4
  321. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  322. package/dist/esm/components/Dashboard/TableComponent.js +3 -3
  323. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  324. package/dist/esm/components/Dropdown/Dropdown.js +2 -4
  325. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
  326. package/dist/esm/components/Dropdown/DropdownItem.js +4 -9
  327. package/dist/esm/components/Dropdown/index.d.ts +2 -2
  328. package/dist/esm/components/Dropdown/index.js +2 -2
  329. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  330. package/dist/esm/components/Modal/Modal.js +2 -3
  331. package/dist/esm/components/Modal/index.d.ts +1 -1
  332. package/dist/esm/components/Modal/index.js +1 -1
  333. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  334. package/dist/esm/components/QuillMultiSelect.js +18 -3
  335. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  336. package/dist/esm/components/QuillMultiSelectWithCombo.js +2 -2
  337. package/dist/esm/components/QuillSelect.js +1 -1
  338. package/dist/esm/components/QuillSelectWithCombo.js +2 -2
  339. package/dist/esm/components/QuillTable.d.ts +1 -4
  340. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  341. package/dist/esm/components/QuillTable.js +5 -11
  342. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  343. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  344. package/dist/esm/components/ReportBuilder/AddColumnModal.js +8 -11
  345. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  346. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -4
  347. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  348. package/dist/esm/components/ReportBuilder/AddSortPopover.js +12 -1
  349. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +22 -0
  350. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  351. package/dist/esm/components/ReportBuilder/FilterModal.js +552 -0
  352. package/dist/esm/components/ReportBuilder/ast.d.ts +2 -1
  353. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
  354. package/dist/esm/components/ReportBuilder/ast.js +31 -5
  355. package/dist/esm/components/ReportBuilder/constants.d.ts +18 -3
  356. package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -1
  357. package/dist/esm/components/ReportBuilder/constants.js +24 -3
  358. package/dist/esm/components/ReportBuilder/convert.d.ts +12 -15
  359. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  360. package/dist/esm/components/ReportBuilder/convert.js +324 -493
  361. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts +2 -0
  362. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts.map +1 -0
  363. package/dist/esm/components/ReportBuilder/convert.uspec.js +1152 -0
  364. package/dist/esm/components/ReportBuilder/operators.d.ts +24 -4
  365. package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
  366. package/dist/esm/components/ReportBuilder/operators.js +32 -4
  367. package/dist/esm/components/ReportBuilder/ui.d.ts +20 -0
  368. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  369. package/dist/esm/components/ReportBuilder/ui.js +28 -3
  370. package/dist/esm/components/ReportBuilder/util.d.ts +3 -11
  371. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  372. package/dist/esm/components/ReportBuilder/util.js +16 -19
  373. package/dist/esm/components/UiComponents.d.ts +10 -7
  374. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  375. package/dist/esm/components/UiComponents.js +9 -8
  376. package/dist/esm/components/selectUtils.d.ts +0 -1
  377. package/dist/esm/components/selectUtils.d.ts.map +1 -1
  378. package/dist/esm/components/selectUtils.js +0 -20
  379. package/dist/esm/hooks/index.d.ts +4 -4
  380. package/dist/esm/hooks/index.js +4 -4
  381. package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
  382. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
  383. package/dist/esm/hooks/useAstToFilterTree.js +24 -0
  384. package/dist/esm/hooks/useDashboard.d.ts +1 -1
  385. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  386. package/dist/esm/hooks/useDashboard.js +23 -5
  387. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  388. package/dist/esm/hooks/useExport.js +4 -2
  389. package/dist/esm/hooks/useOnClickOutside.js +5 -5
  390. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -1
  391. package/dist/esm/hooks/useOnWindowResize.js +3 -3
  392. package/dist/esm/hooks/useQuill.d.ts +10 -27
  393. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  394. package/dist/esm/hooks/useQuill.js +114 -82
  395. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  396. package/dist/esm/hooks/useSelectOnKeyDown.js +5 -5
  397. package/dist/esm/hooks/useTheme.js +1 -1
  398. package/dist/esm/index.d.ts +1 -0
  399. package/dist/esm/index.d.ts.map +1 -1
  400. package/dist/esm/index.js +1 -0
  401. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  402. package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -2
  403. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +2 -2
  404. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  405. package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
  406. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -1
  407. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  408. package/dist/esm/internals/ReportBuilder/PivotModal.js +68 -82
  409. package/dist/esm/lib/utils.js +2 -2
  410. package/dist/esm/models/Filter.d.ts +104 -4
  411. package/dist/esm/models/Filter.d.ts.map +1 -1
  412. package/dist/esm/models/Filter.js +90 -1
  413. package/dist/esm/models/Pagination.d.ts +10 -0
  414. package/dist/esm/models/Pagination.d.ts.map +1 -0
  415. package/dist/esm/models/Pagination.js +1 -0
  416. package/dist/esm/models/Report.d.ts +116 -0
  417. package/dist/esm/models/Report.d.ts.map +1 -0
  418. package/dist/esm/models/Report.js +1 -0
  419. package/dist/esm/utils/aggregate.js +1 -1
  420. package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
  421. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
  422. package/dist/esm/utils/astFilterProcessing.js +8049 -0
  423. package/dist/esm/utils/astFilterProcessing.uspec.d.ts +2 -0
  424. package/dist/esm/utils/astFilterProcessing.uspec.d.ts.map +1 -0
  425. package/dist/esm/utils/astFilterProcessing.uspec.js +2729 -0
  426. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  427. package/dist/esm/utils/astProcessing.js +4 -3
  428. package/dist/esm/utils/axisFormatter.js +0 -71
  429. package/dist/esm/utils/color.js +9 -87
  430. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  431. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  432. package/dist/esm/utils/columnProcessing.js +6 -0
  433. package/dist/esm/utils/csv.d.ts.map +1 -1
  434. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  435. package/dist/esm/utils/dashboard.js +4 -4
  436. package/dist/esm/utils/dataFetcher.d.ts +1 -1
  437. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  438. package/dist/esm/utils/dataFetcher.js +72 -5
  439. package/dist/esm/utils/dataProcessing.d.ts +8 -0
  440. package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
  441. package/dist/esm/utils/dataProcessing.js +122 -0
  442. package/dist/esm/utils/dataProcessing.uspec.d.ts +2 -0
  443. package/dist/esm/utils/dataProcessing.uspec.d.ts.map +1 -0
  444. package/dist/esm/utils/dataProcessing.uspec.js +204 -0
  445. package/dist/esm/utils/dates.d.ts +2 -1
  446. package/dist/esm/utils/dates.d.ts.map +1 -1
  447. package/dist/esm/utils/dates.js +10 -2
  448. package/dist/esm/utils/error.d.ts +5 -0
  449. package/dist/esm/utils/error.d.ts.map +1 -0
  450. package/dist/esm/utils/error.js +8 -0
  451. package/dist/esm/utils/filterConstants.d.ts +34 -0
  452. package/dist/esm/utils/filterConstants.d.ts.map +1 -0
  453. package/dist/esm/utils/filterConstants.js +33 -0
  454. package/dist/esm/utils/filterProcessing.js +4 -4
  455. package/dist/esm/utils/logging.d.ts.map +1 -1
  456. package/dist/esm/utils/logging.js +1 -0
  457. package/dist/esm/utils/merge.js +0 -21
  458. package/dist/esm/utils/monacoConfig.d.ts +21 -0
  459. package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
  460. package/dist/esm/utils/monacoConfig.js +319 -0
  461. package/dist/esm/utils/paginationProcessing.d.ts +5 -0
  462. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
  463. package/dist/esm/utils/paginationProcessing.js +25 -0
  464. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  465. package/dist/esm/utils/pivotConstructor.js +67 -5
  466. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  467. package/dist/esm/utils/pivotProcessing.js +12 -6
  468. package/dist/esm/utils/queryConstructor.d.ts +4 -2
  469. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  470. package/dist/esm/utils/queryConstructor.js +118 -58
  471. package/dist/esm/utils/queryConstructor.uspec.d.ts +2 -0
  472. package/dist/esm/utils/queryConstructor.uspec.d.ts.map +1 -0
  473. package/dist/esm/utils/queryConstructor.uspec.js +223 -0
  474. package/dist/esm/utils/report.d.ts +7 -0
  475. package/dist/esm/utils/report.d.ts.map +1 -0
  476. package/dist/esm/utils/report.ispec.d.ts +2 -0
  477. package/dist/esm/utils/report.ispec.d.ts.map +1 -0
  478. package/dist/esm/utils/report.ispec.js +46 -0
  479. package/dist/esm/utils/report.js +88 -0
  480. package/dist/esm/utils/schema.d.ts.map +1 -1
  481. package/dist/esm/utils/schema.js +35 -6
  482. package/dist/esm/utils/styles.d.ts +1 -1
  483. package/dist/esm/utils/styles.d.ts.map +1 -1
  484. package/dist/esm/utils/tableProcessing.d.ts +23 -8
  485. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  486. package/dist/esm/utils/tableProcessing.ispec.d.ts +2 -0
  487. package/dist/esm/utils/tableProcessing.ispec.d.ts.map +1 -0
  488. package/dist/esm/utils/tableProcessing.ispec.js +61 -0
  489. package/dist/esm/utils/tableProcessing.js +152 -37
  490. package/dist/esm/utils/textProcessing.js +3 -3
  491. package/dist/esm/utils/validation.d.ts +9 -0
  492. package/dist/esm/utils/validation.d.ts.map +1 -0
  493. package/dist/esm/utils/validation.js +20 -0
  494. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  495. package/dist/esm/utils/valueFormatter.js +8 -4
  496. package/package.json +1 -1
  497. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts +0 -2
  498. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  499. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.js +0 -213
  500. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts +0 -2
  501. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  502. package/dist/esm/internals/ReportBuilder/PivotModal.spec.js +0 -211
@@ -3,9 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DashboardFilterModal = exports.ChartBuilderWithModal = exports.dateFormatOptions = exports.numberFormatOptions = void 0;
6
+ exports.DashboardFilterModal = exports.ChartBuilderWithModal = exports.dateFormatOptions = exports.numberFormatOptions = exports.createInitialFormData = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
- /* eslint-disable no-unused-vars */
9
8
  const react_1 = require("react");
10
9
  const Context_1 = require("./Context");
11
10
  const dataFetcher_1 = require("./utils/dataFetcher");
@@ -22,6 +21,8 @@ const columnProcessing_1 = require("./utils/columnProcessing");
22
21
  const astProcessing_1 = require("./utils/astProcessing");
23
22
  const schema_1 = require("./utils/schema");
24
23
  const dates_1 = require("./utils/dates");
24
+ const validation_1 = require("./utils/validation");
25
+ const ChartError_1 = require("./components/Chart/ChartError");
25
26
  const CHART_TYPES = ['column', 'line', 'table', 'metric', 'bar', 'pie'];
26
27
  const POSTGRES_DATE_TYPES = [
27
28
  'timestamp',
@@ -56,18 +57,51 @@ function getPivotMetricOptions(pivot) {
56
57
  ];
57
58
  }
58
59
  }
59
- function getChartTypeOptions(formData) {
60
+ function createInitialFormData(columns) {
61
+ const firstNumberColumn = columns?.find((col) => exports.numberFormatOptions.includes(col.format));
62
+ const formEmptyState = {
63
+ name: 'My Chart',
64
+ columns: columns.map((col) => {
65
+ return { ...col, label: (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(col.label) };
66
+ }),
67
+ xAxisField: columns?.[0]?.field || '',
68
+ xAxisFormat: columns?.[0]?.format || '',
69
+ yAxisFields: [
70
+ {
71
+ field: firstNumberColumn?.field || columns?.[0]?.field || '',
72
+ label: '',
73
+ format: firstNumberColumn?.format || columns?.[0]?.field || '',
74
+ },
75
+ ],
76
+ xAxisLabel: '',
77
+ chartType: firstNumberColumn ? 'line' : 'table',
78
+ pivot: null,
79
+ dateField: { table: '', field: '' },
80
+ template: false,
81
+ };
82
+ return formEmptyState;
83
+ }
84
+ exports.createInitialFormData = createInitialFormData;
85
+ function getChartTypeOptions(formData, dashboard) {
86
+ let viableCharts = CHART_TYPES;
87
+ if (dashboard.dateFilter && dashboard.dateFilter.comparison) {
88
+ viableCharts = viableCharts.filter((chart) => !['table', 'metric', 'bar', 'pie'].includes(chart));
89
+ }
60
90
  if (formData.pivot && !formData.pivot.rowField) {
61
- return CHART_TYPES.filter((elem) => elem === 'metric' || elem === 'table').map((elem) => ({
91
+ return viableCharts
92
+ .filter((elem) => elem === 'metric' || elem === 'table')
93
+ .map((elem) => ({
62
94
  label: elem,
63
95
  value: elem,
64
96
  }));
65
97
  }
66
98
  else {
67
- return CHART_TYPES.filter((elem) => !((formData.pivot && elem === 'metric') ||
99
+ return viableCharts
100
+ .filter((elem) => !((formData.pivot && elem === 'metric') ||
68
101
  (formData.pivot &&
69
102
  formData.pivot.columnField &&
70
- (elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem }));
103
+ (elem === 'bar' || elem === 'pie'))))
104
+ .map((elem) => ({ label: elem, value: elem }));
71
105
  }
72
106
  }
73
107
  function getTablesHelper(ast, allTables) {
@@ -83,8 +117,9 @@ function getTablesHelper(ast, allTables) {
83
117
  // With statement column references
84
118
  if (ast.with) {
85
119
  for (const withStmt of ast.with) {
86
- if (withStmt.stmt.ast.from) {
87
- const withReferencedColumns = (0, astProcessing_1.getColumnsByTableFromASTAndSchema)(withStmt.stmt.ast, allTables, tableAliasMap);
120
+ const astFrom = withStmt.stmt.from ?? withStmt.stmt.ast.from;
121
+ if (astFrom) {
122
+ const withReferencedColumns = (0, astProcessing_1.getColumnsByTableFromASTAndSchema)(withStmt.stmt.ast ?? withStmt.stmt, allTables, tableAliasMap);
88
123
  // @ts-ignore
89
124
  Object.keys(withReferencedColumns).forEach((tableName) => {
90
125
  if (referencedColumns[tableName]) {
@@ -111,7 +146,7 @@ function getTablesHelper(ast, allTables) {
111
146
  }) || [],
112
147
  };
113
148
  });
114
- let dateFields = allTables
149
+ const dateFields = allTables
115
150
  .filter((table) => onlyReferenceTables.includes(table.displayName))
116
151
  .map((table) => {
117
152
  return {
@@ -126,7 +161,10 @@ function getTablesHelper(ast, allTables) {
126
161
  return { referencedTablesAndColumns, dateFields };
127
162
  }
128
163
  async function getReferencedTables(client, sqlQuery, dbTables) {
129
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `astify`, { query: sqlQuery });
164
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `astify`, {
165
+ query: sqlQuery,
166
+ useNewNodeSql: true,
167
+ });
130
168
  if (resp.success === false) {
131
169
  return getTablesHelper((0, astProcessing_1.getSelectFromAST)({}), dbTables);
132
170
  }
@@ -243,7 +281,7 @@ exports.ChartBuilderWithModal = ChartBuilderWithModal;
243
281
  * ### Chart Builder API
244
282
  * @see https://docs.quillsql.com/components/chart-builder
245
283
  */
246
- function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, HeaderComponent = UiComponents_1.MemoizedHeader, SubHeaderComponent = UiComponents_1.MemoizedSubHeader, LabelComponent = UiComponents_1.MemoizedLabel, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, TextComponent = UiComponents_1.MemoizedText, PopoverComponent = UiComponents_1.MemoizedPopover, CardComponent = QuillCard_1.QuillCard, TableComponent = UiComponents_1.QuillTableComponent, ModalComponent, LoadingComponent = UiComponents_1.QuillLoadingComponent, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, ChartBuilderInputRowContainer = UiComponents_1.QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = UiComponents_1.QuillChartBuilderInputColumnContainer, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, FormContainer = UiComponents_1.QuillChartBuilderFormContainer, isOpen, isHorizontalView = true, pivot, setIsOpen, rows, columns, query, queryNoDateColumn, dateRange: dr, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, showDashboardDropdown = true, onAddToDashboardComplete, onDelete, report = undefined, recommendedPivots: rp = [], createdPivots: cp = [], destinationDashboard, dateColumn, buttonLabel, organizationName, pivotData, hideDeleteButton = false, hideSubmitButton = false, hideDateRangeFilter = false, initialUniqueValues, pivotRecommendationsEnabled = true, onSortChange, onPageChange, rowCount, isLoading, isComparison, onClickChartElement, }) {
284
+ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, HeaderComponent = UiComponents_1.MemoizedHeader, SubHeaderComponent = UiComponents_1.MemoizedSubHeader, LabelComponent = UiComponents_1.MemoizedLabel, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, TextComponent = UiComponents_1.MemoizedText, PopoverComponent = UiComponents_1.MemoizedPopover, CardComponent = QuillCard_1.QuillCard, TableComponent = UiComponents_1.QuillTableComponent, ModalComponent = UiComponents_1.MemoizedModal, LoadingComponent = UiComponents_1.QuillLoadingComponent, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, ChartBuilderInputRowContainer = UiComponents_1.QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = UiComponents_1.QuillChartBuilderInputColumnContainer, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, FormContainer = UiComponents_1.QuillChartBuilderFormContainer, ErrorComponent = ChartError_1.QuillChartErrorWithAction, onClickChartError, isOpen, isHorizontalView = true, pivot, setIsOpen, rows, columns, query, queryNoDateColumn, dateRange: dr, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, showDashboardDropdown = true, onAddToDashboardComplete, onDelete, report = undefined, recommendedPivots: rp = [], createdPivots: cp = [], destinationDashboard, dateColumn, buttonLabel, organizationName, pivotData, hideDeleteButton = false, hideSubmitButton = false, hideDateRangeFilter = false, initialUniqueValues, pivotRecommendationsEnabled = true, onSortChange, onPageChange, rowCount, isLoading, isComparison, onClickChartElement, }) {
247
285
  const dateRange = dr;
248
286
  const [client] = (0, react_1.useContext)(Context_1.ClientContext);
249
287
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
@@ -251,6 +289,9 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
251
289
  const [windowWidth, setWindowWidth] = (0, react_1.useState)(1200);
252
290
  const [isSubmitting, setIsSubmitting] = (0, react_1.useState)(false);
253
291
  const [pivotCardWidth, setPivotCardWidth] = (0, react_1.useState)(665);
292
+ const [chartTypes, setChartTypes] = (0, react_1.useState)(CHART_TYPES.map((type) => {
293
+ return { label: type, value: type };
294
+ }));
254
295
  const [formWidth, setFormWidth] = (0, react_1.useState)(665);
255
296
  const inputRef = (0, react_1.useRef)(null);
256
297
  const selectRef = (0, react_1.useRef)(null);
@@ -260,6 +301,15 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
260
301
  const deleteRef = (0, react_1.useRef)(null);
261
302
  const modalPadding = 20;
262
303
  const deleteButtonMargin = -12;
304
+ const validationHelper = (formData, dashboard, dateField, tables) => {
305
+ const issues = (0, validation_1.validateReport)(formData, dashboard, dateField || defaultDateField, tables || allTables);
306
+ if (issues.length > 0) {
307
+ setFilterIssues(issues);
308
+ }
309
+ else {
310
+ setFilterIssues([]);
311
+ }
312
+ };
263
313
  (0, react_1.useEffect)(() => {
264
314
  if (schema) {
265
315
  const newProcessedColumns = columns.map((col) => {
@@ -344,18 +394,14 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
344
394
  const [dashboardOptions, setDashboardOptions] = (0, react_1.useState)([]);
345
395
  const [defaultDashboardName, setDefaultDashboardName] = (0, react_1.useState)(destinationDashboard || report?.dashboardName || '');
346
396
  const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
347
- const [chartRows, setChartRows] = (0, react_1.useState)(rows);
397
+ const { dashboardData } = (0, react_1.useContext)(Context_1.DashboardDataContext);
348
398
  const specificDashboardFilter = (0, react_1.useMemo)(() => {
349
399
  return dashboardFilters.filter((f) => f && defaultDashboardName === f.dashboardName);
350
400
  }, [dashboardFilters]);
351
- const [dashboardFilters2, setDashboardFilters] = (0, react_1.useState)([]);
352
- const [dashboardHasDateFilter, setDashboardHasDateFilter] = (0, react_1.useState)(false);
353
- const [dashboardHasDateComparison, setDashboardHasDateComparison] = (0, react_1.useState)(false);
354
401
  const [showFilterModal, setShowFilterModal] = (0, react_1.useState)(false);
355
402
  const [filterIssues, setFilterIssues] = (0, react_1.useState)([]);
356
403
  const [showPivotPopover, setShowPivotPopover] = (0, react_1.useState)(false);
357
404
  const [isEdittingPivot, setIsEdittingPivot] = (0, react_1.useState)(false);
358
- const [intialLoad, setInitialLoad] = (0, react_1.useState)(true);
359
405
  const [selectedPivotIndex, setSelectedPivotIndex] = (0, react_1.useState)(-1);
360
406
  const [tableName, setTableName] = (0, react_1.useState)(undefined);
361
407
  const selectedTable = schema?.find((t) => t.displayName === tableName);
@@ -400,6 +446,9 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
400
446
  template: false,
401
447
  };
402
448
  const updateDashboardFilters = async (dashboardName) => {
449
+ if (dashboardData && dashboardData[dashboardName]) {
450
+ return dashboardData[dashboardName];
451
+ }
403
452
  const { queryEndpoint, queryHeaders, publicKey, customerId } = client;
404
453
  if (queryEndpoint) {
405
454
  const response = await fetch(queryEndpoint, {
@@ -415,15 +464,14 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
415
464
  name: dashboardName,
416
465
  clientId: publicKey,
417
466
  databaseType: client.databaseType,
467
+ useNewNodeSql: true,
418
468
  },
419
469
  }),
420
470
  credentials: 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
421
471
  });
422
472
  const responseData = (await response.json()).data;
423
473
  if (responseData) {
424
- setDashboardFilters(responseData.filters);
425
- setDashboardHasDateFilter(!!responseData.dateFilter);
426
- setDashboardHasDateComparison(responseData.dateFilter?.comparison || false);
474
+ return responseData;
427
475
  }
428
476
  }
429
477
  };
@@ -477,8 +525,14 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
477
525
  async function getFormData() {
478
526
  setLoadingFormData(true);
479
527
  const curFormData = formData;
480
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `dashnames/${client.publicKey}/`, null, 'GET');
481
- let dashboardOptions = resp.dashboardNames
528
+ let dashNames = Object.keys(dashboardData).map((dashboard) => {
529
+ return dashboard;
530
+ }) ?? [];
531
+ if (dashNames.length === 0) {
532
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `dashnames/${client.publicKey}/`, null, 'GET');
533
+ dashNames = resp.dashboardNames;
534
+ }
535
+ let dashboardOptions = dashNames
482
536
  .filter((elem) => elem !== null)
483
537
  .map((key) => ({ label: key, value: key }));
484
538
  if (!dashboardOptions.length) {
@@ -491,11 +545,14 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
491
545
  { label: destinationDashboard, value: destinationDashboard },
492
546
  ];
493
547
  }
494
- await updateDashboardFilters(destinationDashboard ??
495
- (report ? report?.dashboardName : dashboardOptions[0]?.label));
548
+ let dashboardName = report?.dashboardName
549
+ ? report.dashboardName
550
+ : dashboardOptions[0]?.label;
551
+ if (destinationDashboard) {
552
+ dashboardName = destinationDashboard;
553
+ }
554
+ const curDashboard = await updateDashboardFilters(dashboardName);
496
555
  setDashboardOptions(dashboardOptions);
497
- const dashboardName = destinationDashboard ??
498
- (report ? report?.dashboardName : dashboardOptions[0]?.label);
499
556
  curFormData.dashboardName = dashboardName;
500
557
  setDefaultDashboardName(destinationDashboard ??
501
558
  (report ? report?.dashboardName : dashboardOptions[0]?.label));
@@ -521,7 +578,7 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
521
578
  const tableNames = result.referencedTablesAndColumns.map((table) => table.name);
522
579
  setAllTables(tableNames);
523
580
  let customFieldUsage = false;
524
- for (let table of tableNames) {
581
+ for (const table of tableNames) {
525
582
  const tableInfo = curSchemaData.find((elem) => elem.name === table);
526
583
  if (tableInfo?.customFieldInfo) {
527
584
  customFieldUsage = true;
@@ -541,18 +598,22 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
541
598
  result.dateFields[0]?.columns[0]?.field ||
542
599
  '',
543
600
  };
544
- curFormData.dateField = dateField;
545
601
  let isTemplate = curFormData.template;
546
602
  if (customFieldUsage) {
547
603
  isTemplate = false;
548
604
  }
549
- setFormData({
550
- ...curFormData,
551
- dashboardName: report
605
+ curFormData.dashboardName =
606
+ report && report.dashboardName
552
607
  ? report?.dashboardName
553
- : dashboardOptions[0]?.label,
554
- template: isTemplate,
555
- });
608
+ : dashboardOptions[0]?.label;
609
+ curFormData.template = isTemplate;
610
+ if (!curFormData.dateField.field || !curFormData.dateField.table) {
611
+ if (dateField.field) {
612
+ curFormData.dateField = dateField;
613
+ }
614
+ }
615
+ setFormData(curFormData);
616
+ validationHelper(curFormData, curDashboard, curFormData.dateField ?? dateField, tableNames);
556
617
  setLoadingFormData(false);
557
618
  }
558
619
  getFormData();
@@ -560,7 +621,6 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
560
621
  const [selectedPivotTable, setSelectedPivotTable] = (0, react_1.useState)(pivotData || undefined);
561
622
  const fetchPivotData = async (pivot, uniqueValues, overrideDateRange) => {
562
623
  if (pivot && rows) {
563
- setInitialLoad(false);
564
624
  const dateFilter = report
565
625
  ? report.filtersApplied.find((filter) => {
566
626
  return filter.filterType === 'date_range';
@@ -617,7 +677,8 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
617
677
  });
618
678
  }
619
679
  }, [selectedPivotTable, formData.columns, formData.chartType, rows]);
620
- const handleChange = (value, fieldName, index) => {
680
+ const handleChange = async (value, fieldName, index) => {
681
+ let updatedForm = { ...formData };
621
682
  try {
622
683
  // WE NEED TO REPROCESS THE PIVOT TABLE IF THE PIVOT COLUMN CHANGES
623
684
  // WE NEED TO UPDATE BOTH VALUEFIELDTYPE AND COLUMN FIELD TYPES
@@ -631,14 +692,14 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
631
692
  valueFieldType: value,
632
693
  };
633
694
  // @ts-ignore
634
- setFormData({ ...formData, pivot: updatedPivot });
635
- return;
695
+ updatedForm.pivot = updatedPivot;
636
696
  }
637
- if (index !== undefined) {
697
+ else if (index !== undefined) {
638
698
  // For dynamic array fields
639
699
  const [field, subfield] = fieldName.split('.');
640
700
  // @ts-ignore
641
701
  const updatedArray = formData[field].map((item, i) => i === index ? { ...item, [subfield]: value } : item);
702
+ updatedForm = { ...formData, [field]: updatedArray };
642
703
  setFormData({ ...formData, [field]: updatedArray });
643
704
  }
644
705
  else if (fieldName.includes('.')) {
@@ -648,19 +709,18 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
648
709
  const subfieldTypeFieldName = subfield + 'Type';
649
710
  if (value.length) {
650
711
  const subFieldType = columns.find((columns) => columns.field === value).fieldType;
651
- setFormData({
652
- ...formData,
712
+ updatedForm = {
713
+ ...updatedForm,
653
714
  // @ts-ignore
654
715
  [field]: {
655
- ...formData[field],
716
+ ...updatedForm[field],
656
717
  [subfield]: value,
657
718
  [subfieldTypeFieldName]: subFieldType,
658
719
  },
659
- });
660
- return;
720
+ };
661
721
  }
662
722
  else {
663
- setFormData({
723
+ updatedForm = {
664
724
  ...formData,
665
725
  // @ts-ignore
666
726
  [field]: {
@@ -668,38 +728,44 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
668
728
  [subfield]: '',
669
729
  [subfieldTypeFieldName]: '',
670
730
  },
671
- });
672
- return;
731
+ };
673
732
  }
674
733
  }
675
- if (field === 'dateField' &&
734
+ else if (field === 'dateField' &&
676
735
  subfield === 'table' &&
677
736
  !formData.dateField.field) {
678
737
  const field = schema?.find((elem) => elem.name === value)
679
738
  ?.columns?.[0]?.name;
680
- setFormData({
681
- ...formData,
739
+ updatedForm.dateField = {
682
740
  // @ts-ignore
683
- dateField: { ...formData[field], [subfield]: value, field: field },
684
- });
685
- return;
741
+ ...updatedForm[field],
742
+ [subfield]: value,
743
+ field: field,
744
+ };
686
745
  }
687
- setFormData({
688
- ...formData,
746
+ updatedForm = {
747
+ ...updatedForm,
689
748
  // @ts-ignore
690
- [field]: { ...formData[field], [subfield]: value },
691
- });
749
+ [field]: { ...updatedForm[field], [subfield]: value },
750
+ };
692
751
  }
693
752
  else {
694
753
  // For simple fields
695
- setFormData({ ...formData, [fieldName]: value });
754
+ updatedForm = { ...updatedForm, [fieldName]: value };
755
+ }
756
+ let dashboardName = updatedForm.dashboardName;
757
+ if (fieldName === 'dashboardName') {
758
+ dashboardName = value;
696
759
  }
760
+ validationHelper(updatedForm, dashboardData[dashboardName || '']);
761
+ setChartTypes(getChartTypeOptions(updatedForm, dashboardData[dashboardName || '']));
697
762
  }
698
763
  catch (e) {
699
- setFormData({ ...formData, [fieldName]: value });
764
+ updatedForm = { ...updatedForm, [fieldName]: value };
700
765
  }
766
+ setFormData(updatedForm);
701
767
  };
702
- const handleAddPivot = (pivot, uniqueValues, dateRange) => {
768
+ const handleAddPivot = async (pivot, uniqueValues, dateRange, pivotData) => {
703
769
  const newPivotFormData = pivotFormData(pivot);
704
770
  // Only keep the old chart type if the shapes of the pivots are the same
705
771
  // since the valid chart types for some pivots might have changed (eg. going
@@ -709,12 +775,20 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
709
775
  Boolean(formData.pivot?.columnField) === Boolean(pivot.columnField);
710
776
  const isNewChartType = formData.chartType !== newPivotFormData.chartType;
711
777
  const keepOldChartType = isNewChartType && isPivotSameShape;
778
+ if (pivotData) {
779
+ setSelectedPivotTable({
780
+ rows: pivotData.rows,
781
+ columns: pivotData.columns,
782
+ });
783
+ }
784
+ else {
785
+ await fetchPivotData(pivot, uniqueValues, dateRange);
786
+ }
712
787
  setFormData((formData) => ({
713
788
  ...formData,
714
789
  ...newPivotFormData,
715
790
  ...(keepOldChartType && { chartType: formData.chartType }),
716
791
  }));
717
- fetchPivotData(pivot, uniqueValues, dateRange);
718
792
  };
719
793
  const handleDeletePivot = () => {
720
794
  if (!formData.pivot) {
@@ -798,30 +872,7 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
798
872
  setIsOpen(false);
799
873
  setIsSubmitting(false);
800
874
  };
801
- const editChart = async (override = false) => {
802
- if (!override) {
803
- let dashboardDiscrepancyIssues = [];
804
- if (dashboardHasDateComparison && formData.chartType === 'pie') {
805
- dashboardDiscrepancyIssues.push(`The ${formData.dashboardName} dashboard is used for comparing date fields, you cannot add a pie chart to this dashboard.`);
806
- }
807
- if (dashboardHasDateFilter &&
808
- ((!defaultDateField.table && !defaultDateField.field) ||
809
- (!formData.dateField.field && !formData.dateField.table))) {
810
- dashboardDiscrepancyIssues.push(`The dashboard "${formData.dashboardName}" has a global date filter but this chart doesn't reference any tables with a date field.`);
811
- }
812
- dashboardFilters2.forEach((filter) => {
813
- const table = allTables.find((elem) => elem === filter.table);
814
- if (!table) {
815
- dashboardDiscrepancyIssues.push(`The dashboard "${formData.dashboardName}" a global filter on "${filter.table}" "${filter.field}" but this chart doesn't reference "${filter.table}".`);
816
- }
817
- });
818
- if (dashboardDiscrepancyIssues.length) {
819
- setFilterIssues(dashboardDiscrepancyIssues);
820
- setShowFilterModal(true);
821
- setTriggeredEditChart(false);
822
- return;
823
- }
824
- }
875
+ const editChart = async () => {
825
876
  if (isSubmitting) {
826
877
  setTriggeredEditChart(false);
827
878
  return;
@@ -855,6 +906,7 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
855
906
  ? false
856
907
  : formData.template,
857
908
  customerId: customerId || '*',
909
+ useNewNodeSql: true,
858
910
  };
859
911
  // @ts-ignore
860
912
  if (cloudBody['rows']) {
@@ -872,6 +924,7 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
872
924
  databaseType: databaseType,
873
925
  ...cloudBody,
874
926
  orgId: customerId || '*',
927
+ useNewNodeSql: true,
875
928
  },
876
929
  };
877
930
  const searchParams = new URLSearchParams(customerId
@@ -941,12 +994,13 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
941
994
  maxWidth: !isOpen ? '100%' : `calc(100% - ${formWidth}px - 20px)`, // width of left sidebar plus gap
942
995
  }),
943
996
  ...(!isHorizontalView && isOpen && { width: formWidth }),
944
- }, children: [((!isHorizontalView && windowWidth >= 1200) ||
997
+ }, children: [report.adminError || report.error ? ((0, jsx_runtime_1.jsx)(ErrorComponent, { label: report.adminError || report.error, onClick: report.adminError && onClickChartError })) : (((!isHorizontalView && windowWidth >= 1200) ||
945
998
  formData.chartType !== 'table') && ((0, jsx_runtime_1.jsx)(Chart_1.default, { colors: theme.chartColors, config: {
946
999
  ...formData,
947
- rows: chartRows,
1000
+ rows: rows,
948
1001
  pivotRows: selectedPivotTable?.rows || undefined,
949
1002
  pivotColumns: selectedPivotTable?.columns || undefined,
1003
+ rowCount,
950
1004
  }, hideDateRangeFilter: hideDateRangeFilter, containerStyle: {
951
1005
  width: '100%',
952
1006
  height: formData.chartType === 'metric'
@@ -957,7 +1011,7 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
957
1011
  : 'calc(100% - 10px)'
958
1012
  : 400,
959
1013
  ...(isHorizontalView && { flexGrow: 1 }),
960
- }, onClickChartElement: onClickChartElement })),
1014
+ }, onClickChartElement: onClickChartElement }))),
961
1015
  // Make sure to display non-pivoted table when using pivot chart
962
1016
  showTableFormatOptions &&
963
1017
  (isHorizontalView || (!isOpen && windowWidth < 1200)) && ((0, jsx_runtime_1.jsx)("div", { style: {
@@ -998,7 +1052,7 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
998
1052
  })), width: 200 }) })), (0, jsx_runtime_1.jsx)("div", { ref: selectRef, style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { label: "Chart type", value: formData.chartType, onChange: (e) => handleChange(e.target.value, 'chartType'),
999
1053
  // filter out metric for all pivots
1000
1054
  // filter out bar and pie for row and column pivot
1001
- options: getChartTypeOptions(formData), width: 200 }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1055
+ options: chartTypes, width: 200 }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1002
1056
  display: 'flex',
1003
1057
  flexDirection: 'column',
1004
1058
  gap: 6,
@@ -1128,18 +1182,25 @@ function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, Sele
1128
1182
  justifyContent: 'flex-end',
1129
1183
  marginTop: 'auto',
1130
1184
  gap: 10,
1131
- }, children: [!hideDeleteButton && !isHorizontalView && report && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: deleteChart, label: 'Delete' })), !hideSubmitButton && ((0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
1132
- if (loadingFormData) {
1133
- setTriggeredEditChart(true);
1134
- }
1135
- else {
1136
- editChart();
1137
- }
1138
- }, label: buttonLabel
1139
- ? buttonLabel
1140
- : report
1141
- ? 'Save changes'
1142
- : 'Add to dashboard' }))] })] }))] }), (0, jsx_runtime_1.jsx)(DashboardFilterModal, { isOpen: showFilterModal, setIsOpen: setShowFilterModal, issues: filterIssues, ButtonComponent: ButtonComponent })] }));
1185
+ }, children: [!hideDeleteButton && !isHorizontalView && report && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: deleteChart, label: 'Delete' })), !hideSubmitButton && ((0, jsx_runtime_1.jsxs)("div", { style: {
1186
+ display: 'flex',
1187
+ flexDirection: 'row',
1188
+ width: '100%',
1189
+ justifyContent: 'space-between',
1190
+ alignItems: 'center',
1191
+ gap: 6,
1192
+ }, children: [filterIssues.length === 0 ? ((0, jsx_runtime_1.jsx)("div", {})) : ((0, jsx_runtime_1.jsx)(ErrorMessageComponent, { errorMessage: filterIssues[0] || 'Dashbord - Report issues', containerStyle: { height: '100%' } })), (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
1193
+ if (loadingFormData) {
1194
+ setTriggeredEditChart(true);
1195
+ }
1196
+ else {
1197
+ editChart();
1198
+ }
1199
+ }, disabled: filterIssues.length !== 0, label: buttonLabel
1200
+ ? buttonLabel
1201
+ : report
1202
+ ? 'Save changes'
1203
+ : 'Add to dashboard' })] }))] })] }))] }), (0, jsx_runtime_1.jsx)(DashboardFilterModal, { isOpen: showFilterModal, setIsOpen: setShowFilterModal, issues: filterIssues, ButtonComponent: ButtonComponent, ModalComponent: ModalComponent })] }));
1143
1204
  }
1144
1205
  exports.default = ChartBuilder;
1145
1206
  function SegmentedControl({ onChange, value, theme, organizationName, customFieldTableRef, }) {
@@ -1215,7 +1276,7 @@ function DashboardFilterModal({ isOpen, setIsOpen, issues, ModalComponent = UiCo
1215
1276
  boxSizing: 'border-box',
1216
1277
  overflow: 'scroll',
1217
1278
  maxHeight: 600,
1218
- }, children: [issues.map((issue, index) => ((0, jsx_runtime_1.jsx)("span", { style: { paddingTop: '10px' }, children: issue }, issue))), (0, jsx_runtime_1.jsx)("div", { style: {
1279
+ }, children: [issues.map((issue) => ((0, jsx_runtime_1.jsx)("span", { style: { paddingTop: '10px' }, children: issue }, issue))), (0, jsx_runtime_1.jsx)("div", { style: {
1219
1280
  display: 'flex',
1220
1281
  flexDirection: 'row',
1221
1282
  justifyContent: 'flex-end',
@@ -22,6 +22,8 @@ export interface ChartEditorProps {
22
22
  onAddToDashboardComplete?: (report: QuillReport) => void;
23
23
  /** A callback function triggered when a chart element is clicked */
24
24
  onClickChartElement?: (element: any) => void;
25
+ /** A callback function triggered when the chart error button is clicked */
26
+ onClickChartError?: (element: any) => void;
25
27
  /** A callback that is fired when the item is deleted. */
26
28
  onDelete?: () => void;
27
29
  /** A select component. */
@@ -156,6 +158,16 @@ export interface ChartEditorProps {
156
158
  ErrorMessageComponent?: (props: {
157
159
  errorMessage: string;
158
160
  }) => JSX.Element;
161
+ /**
162
+ * A component that displays when the chart errors.
163
+ */
164
+ ErrorComponent?: (props: {
165
+ className?: string;
166
+ containerStyle?: React.CSSProperties;
167
+ label?: string;
168
+ onClick?: (element: any) => void;
169
+ ButtonComponent?: React.ComponentType<any>;
170
+ }) => JSX.Element;
159
171
  /** The default dashboard to add the item to. */
160
172
  destinationDashboard?: string;
161
173
  /** The name of the current organization. */
@@ -193,5 +205,5 @@ export interface ChartEditorProps {
193
205
  * ### Chart Editor API
194
206
  * @see https://docs.quillsql.com/components/chart-editor
195
207
  */
196
- export default function ChartEditor({ isOpen, reportId, isAdmin, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, organizationName, isHorizontalView, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent, CardComponent, PopoverComponent, LoadingComponent, TableComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, ChartBuilderFormContainer, hideDeleteButton, hideSubmitButton, onClickChartElement, }: ChartEditorProps): import("react/jsx-runtime").JSX.Element;
208
+ export default function ChartEditor({ isOpen, reportId, isAdmin, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, organizationName, isHorizontalView, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent, CardComponent, PopoverComponent, LoadingComponent, TableComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, ChartBuilderFormContainer, ErrorComponent, hideDeleteButton, hideSubmitButton, onClickChartElement, onClickChartError, }: ChartEditorProps): import("react/jsx-runtime").JSX.Element;
197
209
  //# sourceMappingURL=ChartEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartEditor.d.ts","sourceRoot":"","sources":["../../src/ChartEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChartEditor.d.ts","sourceRoot":"","sources":["../../src/ChartEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAMV,MAAM,OAAO,CAAC;AAoBf,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAW1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAEhB,6CAA6C;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAErC,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IAEjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,8CAA8C;IAC9C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAEzD,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAE7C,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAE3C,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,EAAE,CAAC;QACJ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;QAChE,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;KAChE,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,0BAA0B;IAC1B,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,0BAA0B;IAC1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE5D,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE/D,yBAAyB;IACzB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE3D,wBAAwB;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE1D,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,QAAQ,EAAE,SAAS,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACvB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,QAAQ,EAAE,SAAS,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,2BAA2B;IAC3B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,SAAS,CAAC;KAC5B,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,yBAAyB;IACzB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,IAAI,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,EAAE,CAAC;QAC/B,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC;;OAEG;IACH,6BAA6B,CAAC,EAAE,CAAC,KAAK,EAAE;QACtC,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,gCAAgC,CAAC,EAAE,CAAC,KAAK,EAAE;QACzC,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE5E;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAEpE;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAEvE;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzE;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;QACjC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KAC5C,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,OAAe,EACf,oBAAoB,EACpB,iBAAgC,EAChC,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,cAA8B,EAC9B,aAAyB,EACzB,gBAAgB,EAChB,gBAAwC,EACxC,cAAoC,EACpC,6BAAkE,EAClE,gCAAwE,EACxE,iBAA0C,EAC1C,oBAAgD,EAChD,qBAAkD,EAClD,yBAA0D,EAC1D,cAA0C,EAC1C,gBAAwB,EACxB,gBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,GAClB,EAAE,gBAAgB,2CA0OlB"}