@quillsql/react 2.10.31 → 2.10.32

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 (607) hide show
  1. package/dist/cjs/BarList.d.ts +22 -0
  2. package/dist/cjs/BarList.d.ts.map +1 -0
  3. package/dist/cjs/BarList.js +286 -0
  4. package/dist/cjs/Chart.d.ts +42 -0
  5. package/dist/cjs/Chart.d.ts.map +1 -0
  6. package/dist/cjs/Chart.js +360 -0
  7. package/dist/cjs/ChartBuilder.d.ts +46 -0
  8. package/dist/cjs/ChartBuilder.d.ts.map +1 -0
  9. package/dist/cjs/ChartBuilder.js +708 -0
  10. package/dist/cjs/ChartEditor.d.ts +27 -0
  11. package/dist/cjs/ChartEditor.d.ts.map +1 -0
  12. package/dist/cjs/ChartEditor.js +78 -0
  13. package/dist/cjs/Context.d.ts +36 -0
  14. package/dist/cjs/Context.d.ts.map +1 -0
  15. package/dist/cjs/Context.js +230 -0
  16. package/dist/cjs/Dashboard.d.ts +178 -0
  17. package/dist/cjs/Dashboard.d.ts.map +1 -0
  18. package/dist/cjs/Dashboard.js +498 -0
  19. package/dist/cjs/DateRangePicker/Calendar.d.ts +17 -0
  20. package/dist/cjs/DateRangePicker/Calendar.d.ts.map +1 -0
  21. package/dist/cjs/DateRangePicker/Calendar.js +171 -0
  22. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts +39 -0
  23. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  24. package/dist/cjs/DateRangePicker/DateRangePicker.js +150 -0
  25. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +23 -0
  26. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
  27. package/dist/cjs/DateRangePicker/DateRangePickerButton.js +138 -0
  28. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +3 -0
  29. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  30. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +260 -0
  31. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +80 -0
  32. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  33. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +549 -0
  34. package/dist/cjs/DateRangePicker/index.d.ts +3 -0
  35. package/dist/cjs/DateRangePicker/index.d.ts.map +1 -0
  36. package/dist/cjs/DateRangePicker/index.js +9 -0
  37. package/dist/cjs/PieChart.d.ts +59 -0
  38. package/dist/cjs/PieChart.d.ts.map +1 -0
  39. package/dist/cjs/PieChart.js +567 -0
  40. package/dist/cjs/QuillProvider.d.ts +58 -0
  41. package/dist/cjs/QuillProvider.d.ts.map +1 -0
  42. package/dist/cjs/QuillProvider.js +34 -0
  43. package/dist/cjs/ReportBuilder.d.ts +41 -0
  44. package/dist/cjs/ReportBuilder.d.ts.map +1 -0
  45. package/dist/cjs/ReportBuilder.js +1004 -0
  46. package/dist/cjs/SQLEditor.d.ts +54 -0
  47. package/dist/cjs/SQLEditor.d.ts.map +1 -0
  48. package/dist/cjs/SQLEditor.js +509 -0
  49. package/dist/cjs/Table.d.ts +26 -0
  50. package/dist/cjs/Table.d.ts.map +1 -0
  51. package/dist/cjs/Table.js +94 -0
  52. package/dist/cjs/TableChart.d.ts +15 -0
  53. package/dist/cjs/TableChart.d.ts.map +1 -0
  54. package/dist/cjs/TableChart.js +317 -0
  55. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +5 -0
  56. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  57. package/dist/cjs/assets/ArrowDownHeadIcon.js +5 -0
  58. package/dist/cjs/assets/ArrowDownIcon.d.ts +5 -0
  59. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +1 -0
  60. package/dist/cjs/assets/ArrowDownIcon.js +5 -0
  61. package/dist/cjs/assets/ArrowDownRightIcon.d.ts +5 -0
  62. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +1 -0
  63. package/dist/cjs/assets/ArrowDownRightIcon.js +5 -0
  64. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts +5 -0
  65. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
  66. package/dist/cjs/assets/ArrowLeftHeadIcon.js +5 -0
  67. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts +5 -0
  68. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +1 -0
  69. package/dist/cjs/assets/ArrowRightHeadIcon.js +5 -0
  70. package/dist/cjs/assets/ArrowRightIcon.d.ts +5 -0
  71. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +1 -0
  72. package/dist/cjs/assets/ArrowRightIcon.js +5 -0
  73. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts +5 -0
  74. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +1 -0
  75. package/dist/cjs/assets/ArrowUpHeadIcon.js +5 -0
  76. package/dist/cjs/assets/ArrowUpIcon.d.ts +5 -0
  77. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +1 -0
  78. package/dist/cjs/assets/ArrowUpIcon.js +5 -0
  79. package/dist/cjs/assets/ArrowUpRightIcon.d.ts +5 -0
  80. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +1 -0
  81. package/dist/cjs/assets/ArrowUpRightIcon.js +5 -0
  82. package/dist/cjs/assets/CalendarIcon.d.ts +5 -0
  83. package/dist/cjs/assets/CalendarIcon.d.ts.map +1 -0
  84. package/dist/cjs/assets/CalendarIcon.js +5 -0
  85. package/dist/cjs/assets/CalendarNormalIcon.d.ts +5 -0
  86. package/dist/cjs/assets/CalendarNormalIcon.d.ts.map +1 -0
  87. package/dist/cjs/assets/CalendarNormalIcon.js +5 -0
  88. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts +5 -0
  89. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
  90. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.js +5 -0
  91. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts +5 -0
  92. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
  93. package/dist/cjs/assets/DoubleArrowRightHeadIcon.js +5 -0
  94. package/dist/cjs/assets/ExclamationFilledIcon.d.ts +5 -0
  95. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -0
  96. package/dist/cjs/assets/ExclamationFilledIcon.js +5 -0
  97. package/dist/cjs/assets/FilterIcon.d.ts +5 -0
  98. package/dist/cjs/assets/FilterIcon.d.ts.map +1 -0
  99. package/dist/cjs/assets/FilterIcon.js +5 -0
  100. package/dist/cjs/assets/LoadingSpinner.d.ts +5 -0
  101. package/dist/cjs/assets/LoadingSpinner.d.ts.map +1 -0
  102. package/dist/cjs/assets/LoadingSpinner.js +5 -0
  103. package/dist/cjs/assets/RefreshIcon.d.ts +5 -0
  104. package/dist/cjs/assets/RefreshIcon.d.ts.map +1 -0
  105. package/dist/cjs/assets/RefreshIcon.js +5 -0
  106. package/dist/cjs/assets/SearchIcon.d.ts +5 -0
  107. package/dist/cjs/assets/SearchIcon.d.ts.map +1 -0
  108. package/dist/cjs/assets/SearchIcon.js +5 -0
  109. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts +5 -0
  110. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts.map +1 -0
  111. package/dist/cjs/assets/UpLeftArrowsIcon.js +5 -0
  112. package/dist/cjs/assets/XCircleIcon.d.ts +5 -0
  113. package/dist/cjs/assets/XCircleIcon.d.ts.map +1 -0
  114. package/dist/cjs/assets/XCircleIcon.js +5 -0
  115. package/dist/cjs/assets/XIcon.d.ts +5 -0
  116. package/dist/cjs/assets/XIcon.d.ts.map +1 -0
  117. package/dist/cjs/assets/XIcon.js +5 -0
  118. package/dist/cjs/assets/index.d.ts +22 -0
  119. package/dist/cjs/assets/index.d.ts.map +1 -0
  120. package/dist/cjs/assets/index.js +48 -0
  121. package/dist/cjs/components/Banner/index.d.ts +3 -0
  122. package/dist/cjs/components/Banner/index.d.ts.map +1 -0
  123. package/dist/cjs/components/Banner/index.js +27 -0
  124. package/dist/cjs/components/BigModal/BigModal.d.ts +15 -0
  125. package/dist/cjs/components/BigModal/BigModal.d.ts.map +1 -0
  126. package/dist/cjs/components/BigModal/BigModal.js +87 -0
  127. package/dist/cjs/components/Chart/BarChart.d.ts +18 -0
  128. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -0
  129. package/dist/cjs/components/Chart/BarChart.js +81 -0
  130. package/dist/cjs/components/Chart/ChartError.d.ts +3 -0
  131. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -0
  132. package/dist/cjs/components/Chart/ChartError.js +29 -0
  133. package/dist/cjs/components/Chart/ChartSkeleton.d.ts +6 -0
  134. package/dist/cjs/components/Chart/ChartSkeleton.d.ts.map +1 -0
  135. package/dist/cjs/components/Chart/ChartSkeleton.js +20 -0
  136. package/dist/cjs/components/Chart/ChartTooltip.d.ts +29 -0
  137. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -0
  138. package/dist/cjs/components/Chart/ChartTooltip.js +235 -0
  139. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts +6 -0
  140. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
  141. package/dist/cjs/components/Chart/ChartTooltipFrame.js +16 -0
  142. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts +11 -0
  143. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
  144. package/dist/cjs/components/Chart/ChartTooltipGroup.js +29 -0
  145. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts +8 -0
  146. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts.map +1 -0
  147. package/dist/cjs/components/Chart/ChartTooltipRow.js +44 -0
  148. package/dist/cjs/components/Chart/LineChart.d.ts +16 -0
  149. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -0
  150. package/dist/cjs/components/Chart/LineChart.js +97 -0
  151. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +3 -0
  152. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -0
  153. package/dist/cjs/components/Dashboard/ChartComponent.js +64 -0
  154. package/dist/cjs/components/Dashboard/DashboardSection.d.ts +3 -0
  155. package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +1 -0
  156. package/dist/cjs/components/Dashboard/DashboardSection.js +17 -0
  157. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts +3 -0
  158. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -0
  159. package/dist/cjs/components/Dashboard/DashboardSectionContainer.js +13 -0
  160. package/dist/cjs/components/Dashboard/DataLoader.d.ts +3 -0
  161. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -0
  162. package/dist/cjs/components/Dashboard/DataLoader.js +74 -0
  163. package/dist/cjs/components/Dashboard/MetricComponent.d.ts +3 -0
  164. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -0
  165. package/dist/cjs/components/Dashboard/MetricComponent.js +65 -0
  166. package/dist/cjs/components/Dashboard/TableComponent.d.ts +3 -0
  167. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -0
  168. package/dist/cjs/components/Dashboard/TableComponent.js +35 -0
  169. package/dist/cjs/components/Dropdown/Dropdown.d.ts +14 -0
  170. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -0
  171. package/dist/cjs/components/Dropdown/Dropdown.js +99 -0
  172. package/dist/cjs/components/Dropdown/DropdownItem.d.ts +11 -0
  173. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -0
  174. package/dist/cjs/components/Dropdown/DropdownItem.js +67 -0
  175. package/dist/cjs/components/Dropdown/index.d.ts +3 -0
  176. package/dist/cjs/components/Dropdown/index.d.ts.map +1 -0
  177. package/dist/cjs/components/Dropdown/index.js +10 -0
  178. package/dist/cjs/components/Modal/Modal.d.ts +15 -0
  179. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -0
  180. package/dist/cjs/components/Modal/Modal.js +90 -0
  181. package/dist/cjs/components/Modal/index.d.ts +2 -0
  182. package/dist/cjs/components/Modal/index.d.ts.map +1 -0
  183. package/dist/cjs/components/Modal/index.js +8 -0
  184. package/dist/cjs/components/QuillCard.d.ts +14 -0
  185. package/dist/cjs/components/QuillCard.d.ts.map +1 -0
  186. package/dist/cjs/components/QuillCard.js +56 -0
  187. package/dist/cjs/components/QuillSelect.d.ts +3 -0
  188. package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
  189. package/dist/cjs/components/QuillSelect.js +128 -0
  190. package/dist/cjs/components/QuillTable.d.ts +3 -0
  191. package/dist/cjs/components/QuillTable.d.ts.map +1 -0
  192. package/dist/cjs/components/QuillTable.js +259 -0
  193. package/dist/cjs/components/UiComponents.d.ts +130 -0
  194. package/dist/cjs/components/UiComponents.d.ts.map +1 -0
  195. package/dist/cjs/components/UiComponents.js +262 -0
  196. package/dist/cjs/components/selectUtils.d.ts +10 -0
  197. package/dist/cjs/components/selectUtils.d.ts.map +1 -0
  198. package/dist/cjs/components/selectUtils.js +47 -0
  199. package/dist/cjs/contexts/BaseColorContext.d.ts +4 -0
  200. package/dist/cjs/contexts/BaseColorContext.d.ts.map +1 -0
  201. package/dist/cjs/contexts/BaseColorContext.js +5 -0
  202. package/dist/cjs/contexts/HoveredValueContext.d.ts +8 -0
  203. package/dist/cjs/contexts/HoveredValueContext.d.ts.map +1 -0
  204. package/dist/cjs/contexts/HoveredValueContext.js +7 -0
  205. package/dist/cjs/contexts/RootStylesContext.d.ts +4 -0
  206. package/dist/cjs/contexts/RootStylesContext.d.ts.map +1 -0
  207. package/dist/cjs/contexts/RootStylesContext.js +5 -0
  208. package/dist/cjs/contexts/SelectedValueContext.d.ts +8 -0
  209. package/dist/cjs/contexts/SelectedValueContext.d.ts.map +1 -0
  210. package/dist/cjs/contexts/SelectedValueContext.js +8 -0
  211. package/dist/cjs/contexts/index.d.ts +5 -0
  212. package/dist/cjs/contexts/index.d.ts.map +1 -0
  213. package/dist/cjs/contexts/index.js +14 -0
  214. package/dist/cjs/hooks/index.d.ts +5 -0
  215. package/dist/cjs/hooks/index.d.ts.map +1 -0
  216. package/dist/cjs/hooks/index.js +14 -0
  217. package/dist/cjs/hooks/useDashboard.d.ts +7 -0
  218. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -0
  219. package/dist/cjs/hooks/useDashboard.js +54 -0
  220. package/dist/cjs/hooks/useExport.d.ts +15 -0
  221. package/dist/cjs/hooks/useExport.d.ts.map +1 -0
  222. package/dist/cjs/hooks/useExport.js +31 -0
  223. package/dist/cjs/hooks/useFormat.d.ts +6 -0
  224. package/dist/cjs/hooks/useFormat.d.ts.map +1 -0
  225. package/dist/cjs/hooks/useFormat.js +25 -0
  226. package/dist/cjs/hooks/useInternalState.d.ts +4 -0
  227. package/dist/cjs/hooks/useInternalState.d.ts.map +1 -0
  228. package/dist/cjs/hooks/useInternalState.js +16 -0
  229. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -0
  230. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
  231. package/dist/cjs/hooks/useOnClickOutside.js +20 -0
  232. package/dist/cjs/hooks/useOnWindowResize.d.ts +5 -0
  233. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -0
  234. package/dist/cjs/hooks/useOnWindowResize.js +16 -0
  235. package/dist/cjs/hooks/useQuill.d.ts +46 -0
  236. package/dist/cjs/hooks/useQuill.d.ts.map +1 -0
  237. package/dist/cjs/hooks/useQuill.js +94 -0
  238. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts +3 -0
  239. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -0
  240. package/dist/cjs/hooks/useSelectOnKeyDown.js +65 -0
  241. package/dist/cjs/index.d.ts +19 -0
  242. package/dist/cjs/index.d.ts.map +1 -0
  243. package/dist/cjs/index.js +38 -0
  244. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +34 -0
  245. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -0
  246. package/dist/cjs/internals/ReportBuilder/PivotList.js +61 -0
  247. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +62 -0
  248. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
  249. package/dist/cjs/internals/ReportBuilder/PivotModal.js +916 -0
  250. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts +2 -0
  251. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts.map +1 -0
  252. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.js +213 -0
  253. package/dist/cjs/lib/font.d.ts +14 -0
  254. package/dist/cjs/lib/font.d.ts.map +1 -0
  255. package/dist/cjs/lib/font.js +16 -0
  256. package/dist/cjs/lib/index.d.ts +4 -0
  257. package/dist/cjs/lib/index.d.ts.map +1 -0
  258. package/dist/cjs/lib/index.js +19 -0
  259. package/dist/cjs/lib/inputTypes.d.ts +21 -0
  260. package/dist/cjs/lib/inputTypes.d.ts.map +1 -0
  261. package/dist/cjs/lib/inputTypes.js +56 -0
  262. package/dist/cjs/lib/utils.d.ts +10 -0
  263. package/dist/cjs/lib/utils.d.ts.map +1 -0
  264. package/dist/cjs/lib/utils.js +45 -0
  265. package/dist/cjs/utils/aggregate.d.ts +4 -0
  266. package/dist/cjs/utils/aggregate.d.ts.map +1 -0
  267. package/dist/cjs/utils/aggregate.js +429 -0
  268. package/dist/cjs/utils/axisFormatter.d.ts +20 -0
  269. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -0
  270. package/dist/cjs/utils/axisFormatter.js +194 -0
  271. package/dist/cjs/utils/color.d.ts +13 -0
  272. package/dist/cjs/utils/color.d.ts.map +1 -0
  273. package/dist/cjs/utils/color.js +251 -0
  274. package/dist/cjs/utils/crypto.d.ts +2 -0
  275. package/dist/cjs/utils/crypto.d.ts.map +1 -0
  276. package/dist/cjs/utils/crypto.js +10 -0
  277. package/dist/cjs/utils/csv.d.ts +6 -0
  278. package/dist/cjs/utils/csv.d.ts.map +1 -0
  279. package/dist/cjs/utils/csv.js +80 -0
  280. package/dist/cjs/utils/dashboard.d.ts +12 -0
  281. package/dist/cjs/utils/dashboard.d.ts.map +1 -0
  282. package/dist/cjs/utils/dashboard.js +174 -0
  283. package/dist/cjs/utils/dataFetcher.d.ts +3 -0
  284. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -0
  285. package/dist/cjs/utils/dataFetcher.js +81 -0
  286. package/dist/cjs/utils/dates.d.ts +10 -0
  287. package/dist/cjs/utils/dates.d.ts.map +1 -0
  288. package/dist/cjs/utils/dates.js +37 -0
  289. package/dist/cjs/utils/getDomain.d.ts +8 -0
  290. package/dist/cjs/utils/getDomain.d.ts.map +1 -0
  291. package/dist/cjs/utils/getDomain.js +31 -0
  292. package/dist/cjs/utils/merge.d.ts +2 -0
  293. package/dist/cjs/utils/merge.d.ts.map +1 -0
  294. package/dist/cjs/utils/merge.js +49 -0
  295. package/dist/cjs/utils/styles.d.ts +17 -0
  296. package/dist/cjs/utils/styles.d.ts.map +1 -0
  297. package/dist/cjs/utils/styles.js +20 -0
  298. package/dist/cjs/utils/valueFormatter.d.ts +27 -0
  299. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -0
  300. package/dist/cjs/utils/valueFormatter.js +252 -0
  301. package/dist/cjs/utils/valueFormatterCSV.d.ts +17 -0
  302. package/dist/cjs/utils/valueFormatterCSV.d.ts.map +1 -0
  303. package/dist/cjs/utils/valueFormatterCSV.js +99 -0
  304. package/dist/esm/BarList.d.ts +22 -0
  305. package/dist/esm/BarList.d.ts.map +1 -0
  306. package/dist/esm/BarList.js +279 -0
  307. package/dist/esm/Chart.d.ts +42 -0
  308. package/dist/esm/Chart.d.ts.map +1 -0
  309. package/dist/esm/Chart.js +353 -0
  310. package/dist/esm/ChartBuilder.d.ts +46 -0
  311. package/dist/esm/ChartBuilder.d.ts.map +1 -0
  312. package/dist/esm/ChartBuilder.js +700 -0
  313. package/dist/esm/ChartEditor.d.ts +27 -0
  314. package/dist/esm/ChartEditor.d.ts.map +1 -0
  315. package/dist/esm/ChartEditor.js +72 -0
  316. package/dist/esm/Context.d.ts +36 -0
  317. package/dist/esm/Context.d.ts.map +1 -0
  318. package/dist/esm/Context.js +223 -0
  319. package/dist/esm/Dashboard.d.ts +178 -0
  320. package/dist/esm/Dashboard.d.ts.map +1 -0
  321. package/dist/esm/Dashboard.js +490 -0
  322. package/dist/esm/DateRangePicker/Calendar.d.ts +17 -0
  323. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -0
  324. package/dist/esm/DateRangePicker/Calendar.js +167 -0
  325. package/dist/esm/DateRangePicker/DateRangePicker.d.ts +39 -0
  326. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  327. package/dist/esm/DateRangePicker/DateRangePicker.js +122 -0
  328. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +23 -0
  329. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
  330. package/dist/esm/DateRangePicker/DateRangePickerButton.js +136 -0
  331. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +3 -0
  332. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  333. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +256 -0
  334. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +80 -0
  335. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  336. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +535 -0
  337. package/dist/esm/DateRangePicker/index.d.ts +3 -0
  338. package/dist/esm/DateRangePicker/index.d.ts.map +1 -0
  339. package/dist/esm/DateRangePicker/index.js +2 -0
  340. package/dist/esm/PieChart.d.ts +59 -0
  341. package/dist/esm/PieChart.d.ts.map +1 -0
  342. package/dist/esm/PieChart.js +533 -0
  343. package/dist/esm/QuillProvider.d.ts +58 -0
  344. package/dist/esm/QuillProvider.d.ts.map +1 -0
  345. package/dist/esm/QuillProvider.js +31 -0
  346. package/dist/esm/ReportBuilder.d.ts +41 -0
  347. package/dist/esm/ReportBuilder.d.ts.map +1 -0
  348. package/dist/esm/ReportBuilder.js +996 -0
  349. package/dist/esm/SQLEditor.d.ts +54 -0
  350. package/dist/esm/SQLEditor.d.ts.map +1 -0
  351. package/dist/esm/SQLEditor.js +500 -0
  352. package/dist/esm/Table.d.ts +26 -0
  353. package/dist/esm/Table.d.ts.map +1 -0
  354. package/dist/esm/Table.js +89 -0
  355. package/dist/esm/TableChart.d.ts +15 -0
  356. package/dist/esm/TableChart.d.ts.map +1 -0
  357. package/dist/esm/TableChart.js +290 -0
  358. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
  359. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  360. package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
  361. package/dist/esm/assets/ArrowDownIcon.d.ts +5 -0
  362. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -0
  363. package/dist/esm/assets/ArrowDownIcon.js +3 -0
  364. package/dist/esm/assets/ArrowDownRightIcon.d.ts +5 -0
  365. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -0
  366. package/dist/esm/assets/ArrowDownRightIcon.js +3 -0
  367. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts +5 -0
  368. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
  369. package/dist/esm/assets/ArrowLeftHeadIcon.js +3 -0
  370. package/dist/esm/assets/ArrowRightHeadIcon.d.ts +5 -0
  371. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -0
  372. package/dist/esm/assets/ArrowRightHeadIcon.js +3 -0
  373. package/dist/esm/assets/ArrowRightIcon.d.ts +5 -0
  374. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -0
  375. package/dist/esm/assets/ArrowRightIcon.js +3 -0
  376. package/dist/esm/assets/ArrowUpHeadIcon.d.ts +5 -0
  377. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -0
  378. package/dist/esm/assets/ArrowUpHeadIcon.js +3 -0
  379. package/dist/esm/assets/ArrowUpIcon.d.ts +5 -0
  380. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -0
  381. package/dist/esm/assets/ArrowUpIcon.js +3 -0
  382. package/dist/esm/assets/ArrowUpRightIcon.d.ts +5 -0
  383. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -0
  384. package/dist/esm/assets/ArrowUpRightIcon.js +3 -0
  385. package/dist/esm/assets/CalendarIcon.d.ts +5 -0
  386. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -0
  387. package/dist/esm/assets/CalendarIcon.js +3 -0
  388. package/dist/esm/assets/CalendarNormalIcon.d.ts +5 -0
  389. package/dist/esm/assets/CalendarNormalIcon.d.ts.map +1 -0
  390. package/dist/esm/assets/CalendarNormalIcon.js +3 -0
  391. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts +5 -0
  392. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
  393. package/dist/esm/assets/DoubleArrowLeftHeadIcon.js +3 -0
  394. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts +5 -0
  395. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
  396. package/dist/esm/assets/DoubleArrowRightHeadIcon.js +3 -0
  397. package/dist/esm/assets/ExclamationFilledIcon.d.ts +5 -0
  398. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -0
  399. package/dist/esm/assets/ExclamationFilledIcon.js +3 -0
  400. package/dist/esm/assets/FilterIcon.d.ts +5 -0
  401. package/dist/esm/assets/FilterIcon.d.ts.map +1 -0
  402. package/dist/esm/assets/FilterIcon.js +3 -0
  403. package/dist/esm/assets/LoadingSpinner.d.ts +5 -0
  404. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -0
  405. package/dist/esm/assets/LoadingSpinner.js +3 -0
  406. package/dist/esm/assets/RefreshIcon.d.ts +5 -0
  407. package/dist/esm/assets/RefreshIcon.d.ts.map +1 -0
  408. package/dist/esm/assets/RefreshIcon.js +3 -0
  409. package/dist/esm/assets/SearchIcon.d.ts +5 -0
  410. package/dist/esm/assets/SearchIcon.d.ts.map +1 -0
  411. package/dist/esm/assets/SearchIcon.js +3 -0
  412. package/dist/esm/assets/UpLeftArrowsIcon.d.ts +5 -0
  413. package/dist/esm/assets/UpLeftArrowsIcon.d.ts.map +1 -0
  414. package/dist/esm/assets/UpLeftArrowsIcon.js +3 -0
  415. package/dist/esm/assets/XCircleIcon.d.ts +5 -0
  416. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -0
  417. package/dist/esm/assets/XCircleIcon.js +3 -0
  418. package/dist/esm/assets/XIcon.d.ts +5 -0
  419. package/dist/esm/assets/XIcon.d.ts.map +1 -0
  420. package/dist/esm/assets/XIcon.js +3 -0
  421. package/dist/esm/assets/index.d.ts +22 -0
  422. package/dist/esm/assets/index.d.ts.map +1 -0
  423. package/dist/esm/assets/index.js +21 -0
  424. package/dist/esm/components/Banner/index.d.ts +3 -0
  425. package/dist/esm/components/Banner/index.d.ts.map +1 -0
  426. package/dist/esm/components/Banner/index.js +24 -0
  427. package/dist/esm/components/BigModal/BigModal.d.ts +15 -0
  428. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -0
  429. package/dist/esm/components/BigModal/BigModal.js +62 -0
  430. package/dist/esm/components/Chart/BarChart.d.ts +18 -0
  431. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -0
  432. package/dist/esm/components/Chart/BarChart.js +75 -0
  433. package/dist/esm/components/Chart/ChartError.d.ts +3 -0
  434. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -0
  435. package/dist/esm/components/Chart/ChartError.js +26 -0
  436. package/dist/esm/components/Chart/ChartSkeleton.d.ts +6 -0
  437. package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +1 -0
  438. package/dist/esm/components/Chart/ChartSkeleton.js +17 -0
  439. package/dist/esm/components/Chart/ChartTooltip.d.ts +29 -0
  440. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -0
  441. package/dist/esm/components/Chart/ChartTooltip.js +229 -0
  442. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +6 -0
  443. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
  444. package/dist/esm/components/Chart/ChartTooltipFrame.js +13 -0
  445. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts +11 -0
  446. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
  447. package/dist/esm/components/Chart/ChartTooltipGroup.js +23 -0
  448. package/dist/esm/components/Chart/ChartTooltipRow.d.ts +8 -0
  449. package/dist/esm/components/Chart/ChartTooltipRow.d.ts.map +1 -0
  450. package/dist/esm/components/Chart/ChartTooltipRow.js +41 -0
  451. package/dist/esm/components/Chart/LineChart.d.ts +16 -0
  452. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -0
  453. package/dist/esm/components/Chart/LineChart.js +91 -0
  454. package/dist/esm/components/Dashboard/ChartComponent.d.ts +3 -0
  455. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -0
  456. package/dist/esm/components/Dashboard/ChartComponent.js +61 -0
  457. package/dist/esm/components/Dashboard/DashboardSection.d.ts +3 -0
  458. package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -0
  459. package/dist/esm/components/Dashboard/DashboardSection.js +14 -0
  460. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +3 -0
  461. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -0
  462. package/dist/esm/components/Dashboard/DashboardSectionContainer.js +10 -0
  463. package/dist/esm/components/Dashboard/DataLoader.d.ts +3 -0
  464. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -0
  465. package/dist/esm/components/Dashboard/DataLoader.js +71 -0
  466. package/dist/esm/components/Dashboard/MetricComponent.d.ts +3 -0
  467. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -0
  468. package/dist/esm/components/Dashboard/MetricComponent.js +62 -0
  469. package/dist/esm/components/Dashboard/TableComponent.d.ts +3 -0
  470. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -0
  471. package/dist/esm/components/Dashboard/TableComponent.js +29 -0
  472. package/dist/esm/components/Dropdown/Dropdown.d.ts +14 -0
  473. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -0
  474. package/dist/esm/components/Dropdown/Dropdown.js +71 -0
  475. package/dist/esm/components/Dropdown/DropdownItem.d.ts +11 -0
  476. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -0
  477. package/dist/esm/components/Dropdown/DropdownItem.js +42 -0
  478. package/dist/esm/components/Dropdown/index.d.ts +3 -0
  479. package/dist/esm/components/Dropdown/index.d.ts.map +1 -0
  480. package/dist/esm/components/Dropdown/index.js +2 -0
  481. package/dist/esm/components/Modal/Modal.d.ts +15 -0
  482. package/dist/esm/components/Modal/Modal.d.ts.map +1 -0
  483. package/dist/esm/components/Modal/Modal.js +65 -0
  484. package/dist/esm/components/Modal/index.d.ts +2 -0
  485. package/dist/esm/components/Modal/index.d.ts.map +1 -0
  486. package/dist/esm/components/Modal/index.js +1 -0
  487. package/dist/esm/components/QuillCard.d.ts +14 -0
  488. package/dist/esm/components/QuillCard.d.ts.map +1 -0
  489. package/dist/esm/components/QuillCard.js +52 -0
  490. package/dist/esm/components/QuillSelect.d.ts +3 -0
  491. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  492. package/dist/esm/components/QuillSelect.js +124 -0
  493. package/dist/esm/components/QuillTable.d.ts +3 -0
  494. package/dist/esm/components/QuillTable.d.ts.map +1 -0
  495. package/dist/esm/components/QuillTable.js +256 -0
  496. package/dist/esm/components/UiComponents.d.ts +130 -0
  497. package/dist/esm/components/UiComponents.d.ts.map +1 -0
  498. package/dist/esm/components/UiComponents.js +248 -0
  499. package/dist/esm/components/selectUtils.d.ts +10 -0
  500. package/dist/esm/components/selectUtils.d.ts.map +1 -0
  501. package/dist/esm/components/selectUtils.js +37 -0
  502. package/dist/esm/contexts/BaseColorContext.d.ts +4 -0
  503. package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -0
  504. package/dist/esm/contexts/BaseColorContext.js +3 -0
  505. package/dist/esm/contexts/HoveredValueContext.d.ts +8 -0
  506. package/dist/esm/contexts/HoveredValueContext.d.ts.map +1 -0
  507. package/dist/esm/contexts/HoveredValueContext.js +5 -0
  508. package/dist/esm/contexts/RootStylesContext.d.ts +4 -0
  509. package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -0
  510. package/dist/esm/contexts/RootStylesContext.js +3 -0
  511. package/dist/esm/contexts/SelectedValueContext.d.ts +8 -0
  512. package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -0
  513. package/dist/esm/contexts/SelectedValueContext.js +6 -0
  514. package/dist/esm/contexts/index.d.ts +5 -0
  515. package/dist/esm/contexts/index.d.ts.map +1 -0
  516. package/dist/esm/contexts/index.js +4 -0
  517. package/dist/esm/hooks/index.d.ts +5 -0
  518. package/dist/esm/hooks/index.d.ts.map +1 -0
  519. package/dist/esm/hooks/index.js +4 -0
  520. package/dist/esm/hooks/useDashboard.d.ts +7 -0
  521. package/dist/esm/hooks/useDashboard.d.ts.map +1 -0
  522. package/dist/esm/hooks/useDashboard.js +50 -0
  523. package/dist/esm/hooks/useExport.d.ts +15 -0
  524. package/dist/esm/hooks/useExport.d.ts.map +1 -0
  525. package/dist/esm/hooks/useExport.js +27 -0
  526. package/dist/esm/hooks/useFormat.d.ts +6 -0
  527. package/dist/esm/hooks/useFormat.d.ts.map +1 -0
  528. package/dist/esm/hooks/useFormat.js +21 -0
  529. package/dist/esm/hooks/useInternalState.d.ts +4 -0
  530. package/dist/esm/hooks/useInternalState.d.ts.map +1 -0
  531. package/dist/esm/hooks/useInternalState.js +14 -0
  532. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  533. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  534. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  535. package/dist/esm/hooks/useOnWindowResize.d.ts +5 -0
  536. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -0
  537. package/dist/esm/hooks/useOnWindowResize.js +14 -0
  538. package/dist/esm/hooks/useQuill.d.ts +46 -0
  539. package/dist/esm/hooks/useQuill.d.ts.map +1 -0
  540. package/dist/esm/hooks/useQuill.js +90 -0
  541. package/dist/esm/hooks/useSelectOnKeyDown.d.ts +3 -0
  542. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -0
  543. package/dist/esm/hooks/useSelectOnKeyDown.js +63 -0
  544. package/dist/esm/index.d.ts +19 -0
  545. package/dist/esm/index.d.ts.map +1 -0
  546. package/dist/esm/index.js +16 -0
  547. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +34 -0
  548. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -0
  549. package/dist/esm/internals/ReportBuilder/PivotList.js +56 -0
  550. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +62 -0
  551. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
  552. package/dist/esm/internals/ReportBuilder/PivotModal.js +909 -0
  553. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts +2 -0
  554. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts.map +1 -0
  555. package/dist/esm/internals/ReportBuilder/PivotModal.spec.js +211 -0
  556. package/dist/esm/lib/font.d.ts +14 -0
  557. package/dist/esm/lib/font.d.ts.map +1 -0
  558. package/dist/esm/lib/font.js +13 -0
  559. package/dist/esm/lib/index.d.ts +4 -0
  560. package/dist/esm/lib/index.d.ts.map +1 -0
  561. package/dist/esm/lib/index.js +3 -0
  562. package/dist/esm/lib/inputTypes.d.ts +21 -0
  563. package/dist/esm/lib/inputTypes.d.ts.map +1 -0
  564. package/dist/esm/lib/inputTypes.js +55 -0
  565. package/dist/esm/lib/utils.d.ts +10 -0
  566. package/dist/esm/lib/utils.d.ts.map +1 -0
  567. package/dist/esm/lib/utils.js +35 -0
  568. package/dist/esm/utils/aggregate.d.ts +4 -0
  569. package/dist/esm/utils/aggregate.d.ts.map +1 -0
  570. package/dist/esm/utils/aggregate.js +423 -0
  571. package/dist/esm/utils/axisFormatter.d.ts +20 -0
  572. package/dist/esm/utils/axisFormatter.d.ts.map +1 -0
  573. package/dist/esm/utils/axisFormatter.js +190 -0
  574. package/dist/esm/utils/color.d.ts +13 -0
  575. package/dist/esm/utils/color.d.ts.map +1 -0
  576. package/dist/esm/utils/color.js +247 -0
  577. package/dist/esm/utils/crypto.d.ts +2 -0
  578. package/dist/esm/utils/crypto.d.ts.map +1 -0
  579. package/dist/esm/utils/crypto.js +6 -0
  580. package/dist/esm/utils/csv.d.ts +6 -0
  581. package/dist/esm/utils/csv.d.ts.map +1 -0
  582. package/dist/esm/utils/csv.js +76 -0
  583. package/dist/esm/utils/dashboard.d.ts +12 -0
  584. package/dist/esm/utils/dashboard.d.ts.map +1 -0
  585. package/dist/esm/utils/dashboard.js +170 -0
  586. package/dist/esm/utils/dataFetcher.d.ts +3 -0
  587. package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
  588. package/dist/esm/utils/dataFetcher.js +76 -0
  589. package/dist/esm/utils/dates.d.ts +10 -0
  590. package/dist/esm/utils/dates.d.ts.map +1 -0
  591. package/dist/esm/utils/dates.js +32 -0
  592. package/dist/esm/utils/getDomain.d.ts +8 -0
  593. package/dist/esm/utils/getDomain.d.ts.map +1 -0
  594. package/dist/esm/utils/getDomain.js +28 -0
  595. package/dist/esm/utils/merge.d.ts +2 -0
  596. package/dist/esm/utils/merge.d.ts.map +1 -0
  597. package/dist/esm/utils/merge.js +45 -0
  598. package/dist/esm/utils/styles.d.ts +17 -0
  599. package/dist/esm/utils/styles.d.ts.map +1 -0
  600. package/dist/esm/utils/styles.js +16 -0
  601. package/dist/esm/utils/valueFormatter.d.ts +27 -0
  602. package/dist/esm/utils/valueFormatter.d.ts.map +1 -0
  603. package/dist/esm/utils/valueFormatter.js +246 -0
  604. package/dist/esm/utils/valueFormatterCSV.d.ts +17 -0
  605. package/dist/esm/utils/valueFormatterCSV.d.ts.map +1 -0
  606. package/dist/esm/utils/valueFormatterCSV.js +95 -0
  607. package/package.json +1 -1
@@ -0,0 +1,1004 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPostgresBasicType = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ // @ts-nocheck
9
+ const react_1 = require("react");
10
+ // import './nightOwlLight.css';
11
+ const Context_1 = require("./Context");
12
+ const SQLEditor_1 = require("./SQLEditor");
13
+ const date_fns_1 = require("date-fns");
14
+ const PivotModal_1 = require("./internals/ReportBuilder/PivotModal");
15
+ const dataFetcher_1 = require("./utils/dataFetcher");
16
+ const dateRangePickerUtils_1 = require("./DateRangePicker/dateRangePickerUtils");
17
+ const ChartBuilder_1 = __importDefault(require("./ChartBuilder"));
18
+ const UiComponents_1 = require("./components/UiComponents");
19
+ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeLoading, onChangePivot, onDateFilterChange, onChangeFields, onError, TextInput = UiComponents_1.MemoizedTextInput, containerStyle, Select = UiComponents_1.MemoizedSelect, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, Header = UiComponents_1.MemoizedHeader, Label = UiComponents_1.MemoizedLabel, DeleteButton = UiComponents_1.MemoizedDeleteButton, Text = UiComponents_1.MemoizedText, Modal = UiComponents_1.MemoizedModal, Popover = UiComponents_1.MemoizedPopover, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, tagStyle, tableName, dateColumn, selectedTagBorderColor, chartBuilderEnabled = false, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, editSQLEnabled, navigateToSQLEditor, }) {
20
+ const [data, setData] = (0, react_1.useState)([]);
21
+ const [client, setClient] = (0, react_1.useContext)(Context_1.ClientContext);
22
+ const [schema, setSchema] = (0, react_1.useContext)(Context_1.SchemaContext);
23
+ const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
24
+ const [columns, setColumns] = (0, react_1.useState)([]);
25
+ const [fields, setFields] = (0, react_1.useState)([]);
26
+ const [loading, setLoading] = (0, react_1.useState)(false);
27
+ const [selectedPivot, setSelectedPivot] = (0, react_1.useState)(null);
28
+ const defaultDateRange = [null, null, null];
29
+ const [dateRange, setDateRange] = (0, react_1.useState)(defaultDateRange);
30
+ (0, react_1.useEffect)(() => {
31
+ let isSubscribed = true;
32
+ async function getClient() {
33
+ try {
34
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `client/${client.publicKey}/`, null, 'GET');
35
+ if (resp) {
36
+ setClient({ ...client, ...resp.client });
37
+ }
38
+ }
39
+ catch (error) {
40
+ console.error('ERROR getting client:', error);
41
+ }
42
+ }
43
+ if (isSubscribed) {
44
+ getClient();
45
+ }
46
+ return () => {
47
+ isSubscribed = false;
48
+ };
49
+ }, []);
50
+ (0, react_1.useEffect)(() => {
51
+ let isSubscribed = true;
52
+ async function getSchema() {
53
+ const { queryEndpoint, queryHeaders, publicKey } = client;
54
+ const response = await fetch(`${queryEndpoint}`, {
55
+ method: 'POST',
56
+ headers: {
57
+ ...queryHeaders,
58
+ 'Content-Type': 'application/json',
59
+ },
60
+ body: JSON.stringify({
61
+ metadata: {
62
+ clientId: publicKey,
63
+ publicKey: publicKey,
64
+ task: 'schema',
65
+ },
66
+ }),
67
+ });
68
+ const data = await response.json();
69
+ if (isSubscribed) {
70
+ setSchema(data.data.tables);
71
+ }
72
+ }
73
+ if (isSubscribed) {
74
+ getSchema();
75
+ }
76
+ return () => {
77
+ isSubscribed = false;
78
+ };
79
+ }, []);
80
+ (0, react_1.useEffect)(() => {
81
+ if (onDateFilterChange) {
82
+ onDateFilterChange(dateRange);
83
+ }
84
+ }, [dateRange]);
85
+ (0, react_1.useEffect)(() => {
86
+ if (onDateFilterChange) {
87
+ onDateFilterChange(defaultDateRange);
88
+ }
89
+ }, []);
90
+ (0, react_1.useEffect)(() => {
91
+ setColumns([]);
92
+ }, [tableName]);
93
+ const runQuery = async (query) => {
94
+ setLoading(true);
95
+ const hostedBody = {
96
+ metadata: {
97
+ query,
98
+ task: 'query',
99
+ orgId: client.customerId || '*',
100
+ databaseType: client?.databaseType,
101
+ },
102
+ };
103
+ const cloudBody = { query };
104
+ const resp = await (0, dataFetcher_1.getData)(client, 'dashquery', 'same-origin', hostedBody, cloudBody);
105
+ if (resp && resp.errorMessage) {
106
+ onError(resp.errorMessage);
107
+ setData([]);
108
+ // onChangeData([]);
109
+ setColumns([]);
110
+ // onChangeColumns([]);
111
+ setFields([]);
112
+ if (onChangeFields) {
113
+ onChangeFields([]);
114
+ }
115
+ setLoading(false);
116
+ return;
117
+ }
118
+ setData(resp.rows);
119
+ setColumns(resp.fields.map((elem) => (0, SQLEditor_1.convertPostgresColumn)(elem)));
120
+ if (selectedPivot) {
121
+ const { rows, columns } = (0, PivotModal_1.generatePivotTable)(selectedPivot, resp.rows, dateRange);
122
+ if (onChangePivot) {
123
+ onChangePivot(selectedPivot, columns, rows);
124
+ }
125
+ }
126
+ else {
127
+ if (onChangeData) {
128
+ onChangeData(resp.rows);
129
+ }
130
+ if (onChangeColumns) {
131
+ onChangeColumns(resp.fields.map((elem) => (0, SQLEditor_1.convertPostgresColumn)(elem)));
132
+ }
133
+ }
134
+ setFields(resp.fields);
135
+ if (onChangeFields) {
136
+ onChangeFields(resp.fields);
137
+ }
138
+ setLoading(false);
139
+ };
140
+ (0, react_1.useEffect)(() => {
141
+ if (onChangeLoading) {
142
+ onChangeLoading(loading);
143
+ }
144
+ }, [loading]);
145
+ if (!schema || !schema.length || !tableName) {
146
+ return null;
147
+ }
148
+ return ((0, jsx_runtime_1.jsx)(ReportingTool, { containerStyle: containerStyle, destinationDashboard: destinationDashboard, client: client, editSQLEnabled: editSQLEnabled, navigateToSQLEditor: navigateToSQLEditor, theme: theme, data: data, columns: columns, fields: fields, chartBuilderTitle: chartBuilderTitle, chartBuilderButtonLabel: chartBuilderButtonLabel, onChangeData: onChangeData, onChangeColumns: onChangeColumns, onChangePivot: onChangePivot, selectedPivot: selectedPivot, setSelectedPivot: (pivot) => {
149
+ setSelectedPivot(pivot);
150
+ if (onChangePivot) {
151
+ const table = pivot
152
+ ? (0, PivotModal_1.generatePivotTable)(pivot, data, dateRange)
153
+ : { rows: null, columns: null };
154
+ onChangePivot(pivot, table.columns, table.rows);
155
+ }
156
+ }, schema: schema, tableName: tableName, dateColumn: dateColumn, selectedTagBorderColor: selectedTagBorderColor, onChangeQuery: onChangeQuery, runQuery: runQuery, dateRange: dateRange, setDateRange: setDateRange, defaultDateRange: defaultDateRange, chartBuilderEnabled: chartBuilderEnabled, HeaderComponent: Header, LabelComponent: Label, SelectComponent: Select, TextComponent: Text, ButtonComponent: Button, SecondaryButtonComponent: SecondaryButton, ModalComponent: Modal, PopoverComponent: Popover, TextInputComponent: TextInput, tagStyle: tagStyle, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions }));
157
+ }
158
+ exports.default = ReportBuilder;
159
+ function getPostgresBasicType(column) {
160
+ let format;
161
+ // first check if column.dataTypeID exists
162
+ if (column.dataTypeID) {
163
+ switch (column.dataTypeID) {
164
+ case 20: // int8
165
+ case 21: // int2
166
+ case 23: // int4
167
+ case 700: // float4
168
+ case 701: // float8
169
+ case 1700: // numeric
170
+ format = 'number';
171
+ break;
172
+ case 1082: // date
173
+ case 1083: // time
174
+ case 1184: // timestamptz
175
+ case 1114: // timestamp
176
+ format = 'date';
177
+ break;
178
+ case 1043: // varchar
179
+ default:
180
+ format = 'string';
181
+ }
182
+ }
183
+ else if (column.fieldType) {
184
+ // if column.dataTypeID doesn't exist, check column.fieldType
185
+ switch (column.fieldType) {
186
+ case 'int8':
187
+ case 'int2':
188
+ case 'int4':
189
+ case 'float4':
190
+ case 'float8':
191
+ case 'numeric':
192
+ format = 'number';
193
+ break;
194
+ case 'date':
195
+ case 'time':
196
+ case 'timestamptz':
197
+ case 'timestamp':
198
+ format = 'date';
199
+ break;
200
+ case 'varchar':
201
+ default:
202
+ format = 'string';
203
+ }
204
+ }
205
+ return format;
206
+ }
207
+ exports.getPostgresBasicType = getPostgresBasicType;
208
+ const newDateWhereAST = (column, dateRange, databaseType) => {
209
+ // all time means no filter
210
+ if (dateRange[2] === 'at') {
211
+ return null;
212
+ }
213
+ // if using preset
214
+ if (dateRange[2]) {
215
+ const timeInterval = dateRangePickerUtils_1.reportBuilderOptions.find((elem) => elem.value === dateRange[2])?.dayInterval;
216
+ switch (databaseType) {
217
+ case 'BigQuery': {
218
+ return {
219
+ type: 'binary_expr',
220
+ operator: 'BETWEEN',
221
+ left: {
222
+ type: 'function',
223
+ name: 'Date',
224
+ args: {
225
+ type: 'expr_list',
226
+ value: [
227
+ {
228
+ type: 'column_ref',
229
+ table: null,
230
+ column: column,
231
+ },
232
+ ],
233
+ },
234
+ over: null,
235
+ },
236
+ right: {
237
+ type: 'expr_list',
238
+ value: [
239
+ {
240
+ type: 'function',
241
+ name: 'DATE_SUB',
242
+ args: {
243
+ type: 'expr_list',
244
+ value: [
245
+ {
246
+ type: 'function',
247
+ name: 'CURRENT_DATE',
248
+ args: {
249
+ type: 'expr_list',
250
+ value: [],
251
+ },
252
+ over: null,
253
+ },
254
+ {
255
+ type: 'interval',
256
+ expr: {
257
+ type: 'number',
258
+ value: timeInterval,
259
+ },
260
+ unit: 'day',
261
+ },
262
+ ],
263
+ },
264
+ over: null,
265
+ },
266
+ {
267
+ type: 'function',
268
+ name: 'CURRENT_DATE',
269
+ args: {
270
+ type: 'expr_list',
271
+ value: [],
272
+ },
273
+ over: null,
274
+ },
275
+ ],
276
+ },
277
+ };
278
+ }
279
+ default: {
280
+ return {
281
+ type: 'binary_expr',
282
+ operator: 'AND',
283
+ left: {
284
+ type: 'binary_expr',
285
+ operator: '>=',
286
+ left: {
287
+ type: 'column_ref',
288
+ table: null,
289
+ column: column,
290
+ },
291
+ right: {
292
+ type: 'binary_expr',
293
+ operator: '-',
294
+ left: {
295
+ type: 'function',
296
+ name: 'now',
297
+ args: {
298
+ type: 'expr_list',
299
+ value: [],
300
+ },
301
+ },
302
+ right: {
303
+ type: 'interval',
304
+ expr: {
305
+ type: 'single_quote_string',
306
+ value: `${timeInterval} day`,
307
+ },
308
+ unit: '',
309
+ },
310
+ },
311
+ },
312
+ right: {
313
+ type: 'binary_expr',
314
+ operator: '<=',
315
+ left: {
316
+ type: 'column_ref',
317
+ table: null,
318
+ column: column,
319
+ },
320
+ right: {
321
+ type: 'function',
322
+ name: 'now',
323
+ args: {
324
+ type: 'expr_list',
325
+ value: [],
326
+ },
327
+ },
328
+ },
329
+ };
330
+ }
331
+ }
332
+ }
333
+ else {
334
+ return {
335
+ type: 'binary_expr',
336
+ operator: 'BETWEEN',
337
+ left: {
338
+ type: 'column_ref',
339
+ table: null,
340
+ column: column,
341
+ },
342
+ right: {
343
+ type: 'expr_list',
344
+ value: [
345
+ {
346
+ type: 'single_quote_string',
347
+ value: (0, date_fns_1.format)(new Date(dateRange[0]), 'MM/dd/yyyy'),
348
+ },
349
+ {
350
+ type: 'single_quote_string',
351
+ value: (0, date_fns_1.format)(new Date(dateRange[1]), 'MM/dd/yyyy'),
352
+ },
353
+ ],
354
+ },
355
+ };
356
+ }
357
+ };
358
+ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, ButtonComponent, SecondaryButtonComponent, editSQLEnabled, navigateToSQLEditor, onChangeQuery, onChangePivot, selectedPivot, setSelectedPivot, theme, ModalComponent, HeaderComponent, PopoverComponent, TextComponent, TextInputComponent, LabelComponent, tagStyle, tableName, dateColumn, selectedTagBorderColor, dateRange, setDateRange, defaultDateRange, chartBuilderEnabled, fields, containerStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, client, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, }) {
359
+ const selectedTable = (0, react_1.useMemo)(() => schema.find((t) => t.displayName === tableName), [schema, tableName]);
360
+ const [selectedColumn, setSelectedColumn] = (0, react_1.useState)(schema[0].columns.find((elem) => elem.name !== 'id'));
361
+ const parentRef = (0, react_1.useRef)();
362
+ const [filters, setFilters] = (0, react_1.useState)([]);
363
+ const [AST, setAST] = (0, react_1.useState)({
364
+ with: null,
365
+ type: 'select',
366
+ options: null,
367
+ distinct: { type: null },
368
+ columns: '*',
369
+ into: { position: null },
370
+ from: [{ db: null, table: selectedTable.displayName, as: null }],
371
+ // where: newDateWhereAST(dateColumn, defaultDateRange),
372
+ where: null,
373
+ groupby: null,
374
+ having: null,
375
+ orderby: null,
376
+ limit: { seperator: '', value: [] },
377
+ window: null,
378
+ });
379
+ const [ASTNoDateColumn, setASTNoDateColumn] = (0, react_1.useState)(AST);
380
+ const [numberStart, setNumberStart] = (0, react_1.useState)(0);
381
+ const [numberEnd, setNumberEnd] = (0, react_1.useState)(0);
382
+ const [filterDateRange, setFilterDateRange] = (0, react_1.useState)((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
383
+ const [computedColumns, setComputedColumns] = (0, react_1.useState)({});
384
+ const [stringFilterValues, setStringFilterValues] = (0, react_1.useState)([]);
385
+ const [columnType, setColumnType] = (0, react_1.useState)(getPostgresBasicType(schema[0].columns[0]));
386
+ const [sqlQuery, setSqlQuery] = (0, react_1.useState)('');
387
+ const [sqlQueryNoDateColumn, setSqlQueryNoDateColumn] = (0, react_1.useState)('');
388
+ const [indexBeingEdited, setIndexBeingEdited] = (0, react_1.useState)(-1);
389
+ const [isAddFilterModalOpen, setIsAddFilterModalOpen] = (0, react_1.useState)(false);
390
+ const [isEdittingPivot, setIsEdittingPivot] = (0, react_1.useState)(false);
391
+ const [isPivotModalOpen, setIsPivotModalOpen] = (0, react_1.useState)(false);
392
+ const [isChartBuilderOpen, setIsChartBuilderOpen] = (0, react_1.useState)(false);
393
+ const [selectedPivotIndex, setSelectedPivotIndex] = (0, react_1.useState)(-1);
394
+ const [createdPivots, setCreatedPivots] = (0, react_1.useState)([]);
395
+ const [recommendedPivots, setRecommendedPivots] = (0, react_1.useState)([]);
396
+ const [pivotRowField, setPivotRowField] = (0, react_1.useState)(undefined);
397
+ const [pivotColumnField, setPivotColumnField] = (0, react_1.useState)(undefined);
398
+ const [pivotValueField, setPivotValueField] = (0, react_1.useState)(undefined);
399
+ const [pivotAggregation, setPivotAggregation] = (0, react_1.useState)(undefined);
400
+ const [pivotPopUpTitle, setPivotPopUpTitle] = (0, react_1.useState)('Add Pivot');
401
+ (0, react_1.useEffect)(() => {
402
+ setColumnType(getPostgresBasicType(selectedColumn));
403
+ }, [selectedColumn]);
404
+ (0, react_1.useEffect)(() => {
405
+ removePivot();
406
+ setCreatedPivots([]);
407
+ setRecommendedPivots([]);
408
+ }, [selectedTable]);
409
+ const selectFilter = (index) => {
410
+ const filter = filters[index];
411
+ const matchingColumn = selectedTable.columns.find((column) => column.name === filter.column);
412
+ if (indexBeingEdited === index) {
413
+ setIndexBeingEdited(-1);
414
+ setStringFilterValues([]);
415
+ setNumberStart(0);
416
+ setNumberEnd(0);
417
+ setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
418
+ return;
419
+ }
420
+ setSelectedColumn(matchingColumn);
421
+ if (filter.columnType === 'string') {
422
+ setStringFilterValues(filter.stringFilterValues);
423
+ setIndexBeingEdited(index);
424
+ }
425
+ else if (filter.columnType === 'number') {
426
+ setNumberStart(filter.numberStart);
427
+ setNumberEnd(filter.numberEnd);
428
+ setIndexBeingEdited(index);
429
+ }
430
+ else if (filter.columnType === 'date') {
431
+ setFilterDateRange(filter.filterDateRange);
432
+ setIndexBeingEdited(index);
433
+ }
434
+ };
435
+ const selectedPivotTable = (0, react_1.useMemo)(() => {
436
+ if (selectedPivot && data) {
437
+ return (0, PivotModal_1.generatePivotTable)(selectedPivot, data, dateRange);
438
+ }
439
+ else {
440
+ return {};
441
+ }
442
+ }, [selectedPivot, data, dateRange]);
443
+ const removePivot = () => {
444
+ setSelectedPivotIndex(-1);
445
+ setSelectedPivot(null);
446
+ if (onChangePivot) {
447
+ onChangePivot(null, null, null);
448
+ }
449
+ };
450
+ const selectPivot = (pivot, index) => {
451
+ setSelectedPivotIndex(index);
452
+ setSelectedPivot(pivot);
453
+ const pivotTable = (0, PivotModal_1.generatePivotTable)(pivot, data, dateRange);
454
+ if (onChangePivot) {
455
+ onChangePivot(pivot, pivotTable.columns, pivotTable.rows);
456
+ }
457
+ };
458
+ const updateFilter = (index) => {
459
+ if (selectedColumn && columnType) {
460
+ if (columnType === 'string') {
461
+ setFilters((filters) => {
462
+ const newFilters = [...filters];
463
+ newFilters[index] = {
464
+ column: selectedColumn.name,
465
+ columnType,
466
+ stringFilterValues,
467
+ tag: `${selectedColumn.name} (${stringFilterValues.join(', ')})`,
468
+ };
469
+ return newFilters;
470
+ });
471
+ }
472
+ else if (columnType === 'number') {
473
+ setFilters((filters) => {
474
+ const newFilters = [...filters];
475
+ newFilters[index] = {
476
+ column: selectedColumn.name,
477
+ columnType,
478
+ numberStart,
479
+ numberEnd,
480
+ tag: `${numberStart} < ${selectedColumn.name} < ${numberEnd}`,
481
+ };
482
+ return newFilters;
483
+ });
484
+ }
485
+ else if (columnType === 'date') {
486
+ const label = filterDateRange[2]
487
+ ? dateRangePickerUtils_1.reportBuilderOptions.find((elem) => elem.value === filterDateRange[2])?.text
488
+ : `${(0, date_fns_1.format)(new Date(filterDateRange[0]), 'MMM dd')} - ${(0, date_fns_1.format)(new Date(filterDateRange[1]), 'MMM dd')}`;
489
+ setFilters((filters) => {
490
+ const newFilters = [...filters];
491
+ newFilters[index] = {
492
+ column: selectedColumn.name,
493
+ columnType,
494
+ filterDateRange,
495
+ tag: `${selectedColumn.name} (${label})`,
496
+ };
497
+ return newFilters;
498
+ });
499
+ }
500
+ setStringFilterValues([]);
501
+ setNumberStart(0);
502
+ setNumberEnd(0);
503
+ setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
504
+ setIndexBeingEdited(-1);
505
+ return;
506
+ }
507
+ };
508
+ // ADD FILTER TO "FILTERS" ARRAY
509
+ const addFilter = async () => {
510
+ if (selectedColumn && columnType) {
511
+ // const type = getPostgresBasicType(selectedColumn);
512
+ let newCondition;
513
+ if (columnType === 'string') {
514
+ setFilters((filters) => {
515
+ return [
516
+ ...filters,
517
+ {
518
+ column: selectedColumn.name,
519
+ columnType,
520
+ stringFilterValues,
521
+ tag: `${selectedColumn.name} (${stringFilterValues.join(', ')})`,
522
+ },
523
+ ];
524
+ });
525
+ setStringFilterValues([]);
526
+ setNumberStart(0);
527
+ setNumberEnd(0);
528
+ setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
529
+ return;
530
+ }
531
+ else if (columnType === 'number') {
532
+ setFilters((filters) => {
533
+ return [
534
+ ...filters,
535
+ {
536
+ column: selectedColumn.name,
537
+ columnType,
538
+ numberStart,
539
+ numberEnd,
540
+ tag: `${numberStart} < ${selectedColumn.name} < ${numberEnd}`,
541
+ },
542
+ ];
543
+ });
544
+ setStringFilterValues([]);
545
+ setNumberStart(0);
546
+ setNumberEnd(0);
547
+ setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
548
+ return;
549
+ }
550
+ else if (columnType === 'date') {
551
+ const label = filterDateRange[2]
552
+ ? dateRangePickerUtils_1.reportBuilderOptions.find((elem) => elem.value === filterDateRange[2])?.text
553
+ : `${(0, date_fns_1.format)(new Date(filterDateRange[0]), 'MMM dd')} - ${(0, date_fns_1.format)(new Date(filterDateRange[1]), 'MMM dd')}`;
554
+ setFilters((filters) => {
555
+ return [
556
+ ...filters,
557
+ {
558
+ column: selectedColumn.name,
559
+ columnType,
560
+ filterDateRange,
561
+ tag: `${selectedColumn.name} (${label})`,
562
+ },
563
+ ];
564
+ });
565
+ setStringFilterValues([]);
566
+ setNumberStart(0);
567
+ setNumberEnd(0);
568
+ setFilterDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)('90d'));
569
+ }
570
+ }
571
+ };
572
+ const handleRunQuery = (newSqlQuery) => {
573
+ const queryToUse = newSqlQuery || sqlQuery;
574
+ if (queryToUse && queryToUse.length) {
575
+ runQuery(queryToUse);
576
+ }
577
+ };
578
+ (0, react_1.useEffect)(() => {
579
+ // if selected table changes, clear everything
580
+ if (selectedTable.displayName !== AST.from.table) {
581
+ setSelectedColumn(selectedTable.columns.find((elem) => elem.name !== 'id'));
582
+ setFilters([]);
583
+ removePivot();
584
+ const resetAST = {
585
+ with: null,
586
+ type: 'select',
587
+ options: null,
588
+ distinct: { type: null },
589
+ columns: '*',
590
+ into: { position: null },
591
+ // where: newDateWhereAST(dateColumn, defaultDateRange),
592
+ where: null,
593
+ groupby: null,
594
+ having: null,
595
+ orderby: null,
596
+ limit: { seperator: '', value: [] },
597
+ window: null,
598
+ from: [{ db: null, table: selectedTable.displayName, as: null }],
599
+ };
600
+ setAST(resetAST);
601
+ setASTNoDateColumn(resetAST);
602
+ return;
603
+ }
604
+ }, [selectedTable]);
605
+ const generateNewAST = (includeDateColumn) => {
606
+ if (filters.length || dateRange) {
607
+ const newAST = {
608
+ with: null,
609
+ type: 'select',
610
+ options: null,
611
+ distinct: null,
612
+ columns: '*',
613
+ into: { position: null },
614
+ from: [{ db: null, table: selectedTable.displayName, as: null }],
615
+ // where: newDateWhereAST(dateColumn, dateRange || defaultDateRange),
616
+ where: null,
617
+ groupby: null,
618
+ having: null,
619
+ orderby: null,
620
+ limit: null,
621
+ window: null,
622
+ };
623
+ // FILTERS
624
+ for (let i = 0; i < filters.length; i++) {
625
+ const filter = filters[i];
626
+ const { column, columnType, stringFilterValues, numberStart, numberEnd, filterDateRange, } = filter;
627
+ let newCondition;
628
+ if (column === dateColumn && !includeDateColumn) {
629
+ continue;
630
+ }
631
+ if (columnType === 'string') {
632
+ newCondition = {
633
+ type: 'binary_expr',
634
+ operator: 'IN',
635
+ left: {
636
+ type: 'column_ref',
637
+ table: null,
638
+ column: column,
639
+ },
640
+ right: {
641
+ type: 'expr_list',
642
+ value: stringFilterValues.map((value) => ({
643
+ type: 'single_quote_string',
644
+ value,
645
+ })),
646
+ },
647
+ };
648
+ }
649
+ else if (columnType === 'number') {
650
+ newCondition = {
651
+ type: 'binary_expr',
652
+ operator: 'BETWEEN',
653
+ left: {
654
+ type: 'column_ref',
655
+ table: null,
656
+ column: column,
657
+ },
658
+ right: {
659
+ type: 'expr_list',
660
+ value: [
661
+ { type: 'number', value: numberStart },
662
+ { type: 'number', value: numberEnd },
663
+ ],
664
+ },
665
+ };
666
+ }
667
+ else if (columnType === 'date') {
668
+ newCondition = newDateWhereAST(column, filterDateRange, client.databaseType);
669
+ }
670
+ if (!newAST.where) {
671
+ newAST.where = newCondition;
672
+ }
673
+ else {
674
+ newAST.where = {
675
+ type: 'binary_expr',
676
+ operator: 'AND',
677
+ left: newAST.where,
678
+ right: newCondition,
679
+ };
680
+ }
681
+ }
682
+ return newAST;
683
+ }
684
+ };
685
+ // USE EFFECT HOOK THAT TRANSFORMS "FILTERS ARRAY INTO AST"
686
+ (0, react_1.useEffect)(() => {
687
+ if (filters.length || dateRange) {
688
+ setAST(generateNewAST(true));
689
+ setASTNoDateColumn(generateNewAST(false));
690
+ }
691
+ }, [filters, dateRange]);
692
+ const removeFilter = index => {
693
+ setFilters(oldFilters => {
694
+ const newFilters = [...oldFilters];
695
+ newFilters.splice(index, 1);
696
+ return newFilters;
697
+ });
698
+ setIndexBeingEdited(-1);
699
+ };
700
+ const computeStats = (0, react_1.useCallback)(column => {
701
+ if ((!computedColumns[column.name] ||
702
+ computedColumns[column.name].length === 0) &&
703
+ data) {
704
+ const basicType = getPostgresBasicType(column);
705
+ let result;
706
+ if (basicType === 'number') {
707
+ let min = Infinity, max = -Infinity;
708
+ data.forEach(row => {
709
+ const value = row[column.name];
710
+ min = Math.min(min, value);
711
+ max = Math.max(max, value);
712
+ });
713
+ result = { min, max };
714
+ }
715
+ else if (basicType === 'string') {
716
+ const freqMap = {};
717
+ data.forEach(row => {
718
+ const value = row[column.name];
719
+ if (value !== null && value !== undefined) {
720
+ freqMap[value] = (freqMap[value] || 0) + 1;
721
+ }
722
+ });
723
+ result = Object.entries(freqMap)
724
+ .sort((a, b) => b[1] - a[1])
725
+ .slice(0, 6)
726
+ .map(([key]) => key);
727
+ }
728
+ else {
729
+ // Handle other column types if necessary
730
+ }
731
+ setComputedColumns({
732
+ ...computedColumns,
733
+ [column.name]: result,
734
+ });
735
+ }
736
+ }, [data, computedColumns]);
737
+ // Call this function whenever the selected column changes
738
+ (0, react_1.useEffect)(() => {
739
+ computeStats(selectedColumn);
740
+ }, [selectedColumn, data]);
741
+ // Use the results directly in your component
742
+ const columnStats = computedColumns[selectedColumn.name];
743
+ // useEffect(() => {
744
+ // if (AST && AST.from[0].table) {
745
+ // const parser = new Parser();
746
+ // const sqlQuery = parser.sqlify(AST, { database: "PostgresQL" });
747
+ // if (sqlQuery) {
748
+ // runQuery(sqlQuery);
749
+ // return;
750
+ // }
751
+ // }
752
+ // }, [AST]);
753
+ (0, react_1.useEffect)(() => {
754
+ const getSqlQueryFromAST = async () => {
755
+ try {
756
+ if (AST && AST.from[0].table) {
757
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, 'sqlify', {
758
+ ast: AST,
759
+ });
760
+ const newSqlQuery = resp.query; // assuming the response contains the SQL query
761
+ if (newSqlQuery && newSqlQuery !== sqlQuery) {
762
+ onChangeQuery(newSqlQuery);
763
+ setSqlQuery(newSqlQuery);
764
+ handleRunQuery(newSqlQuery);
765
+ }
766
+ }
767
+ }
768
+ catch (err) {
769
+ console.error(err);
770
+ }
771
+ };
772
+ getSqlQueryFromAST();
773
+ }, [AST]);
774
+ (0, react_1.useEffect)(() => {
775
+ const getSqlQueryFromAST = async () => {
776
+ try {
777
+ if (ASTNoDateColumn && ASTNoDateColumn.from[0].table) {
778
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, 'sqlify', {
779
+ ast: ASTNoDateColumn,
780
+ });
781
+ const newSqlQuery = resp.query; // assuming the response contains the SQL query
782
+ if (newSqlQuery && newSqlQuery !== sqlQueryNoDateColumn) {
783
+ setSqlQueryNoDateColumn(newSqlQuery);
784
+ }
785
+ }
786
+ }
787
+ catch (err) {
788
+ console.error(err);
789
+ }
790
+ };
791
+ getSqlQueryFromAST();
792
+ }, [ASTNoDateColumn]);
793
+ if (!schema || !schema.length) {
794
+ return null;
795
+ }
796
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { fontFamily: theme?.fontFamily, ...containerStyle }, ref: parentRef, children: [(0, jsx_runtime_1.jsx)("div", { style: {
797
+ display: 'flex',
798
+ // marginLeft: '25px',
799
+ // marginRight: '25px',
800
+ justifyContent: 'end',
801
+ }, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: '12px' }, children: [editSQLEnabled && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => {
802
+ if (navigateToSQLEditor) {
803
+ navigateToSQLEditor(sqlQuery);
804
+ }
805
+ }, label: "Edit Query" })), (0, jsx_runtime_1.jsx)(AddFilterModal2, { filters: filters, selectedColumn: selectedColumn, numberStart: numberStart, numberEnd: numberEnd, setDateRange: setFilterDateRange, dateRange: filterDateRange, columnStats: columnStats, stringFilterValues: stringFilterValues, setStringFilterValues: setStringFilterValues, addFilter: addFilter, parentRef: parentRef, setSelectedColumn: setSelectedColumn, setNumberStart: setNumberStart, setNumberEnd: setNumberEnd, selectedTable: selectedTable, columnType: columnType, removeFilter: removeFilter, selectFilter: selectFilter, indexBeingEdited: indexBeingEdited, updateFilter: updateFilter, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, PopoverComponent: PopoverComponent, TextInputComponent: TextInputComponent, LabelComponent: LabelComponent, tagStyle: tagStyle, theme: theme, setIsOpen: setIsAddFilterModalOpen, isOpen: isAddFilterModalOpen, selectedTagBorderColor: selectedTagBorderColor }), (0, jsx_runtime_1.jsx)(PivotModal_1.PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, selectedTable: selectedTable, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, PopoverComponent: PopoverComponent, LabelComponent: LabelComponent, HeaderComponent: HeaderComponent, TextComponent: TextComponent, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, theme: theme, data: data, parentRef: parentRef, columns: columns, setIsOpen: setIsPivotModalOpen, isOpen: isPivotModalOpen, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: removePivot, selectPivot: selectPivot, dateRange: dateRange, rightAlign: true })] }) }), chartBuilderEnabled && columns.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
806
+ display: 'flex',
807
+ flexDirection: 'row',
808
+ alignItems: 'center',
809
+ justifyContent: 'flex-end',
810
+ width: '100%',
811
+ height: '70px',
812
+ gap: '8px',
813
+ }, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: "Add to dashboard" }) }), (0, jsx_runtime_1.jsx)(ChartBuilder_1.default, { rows: data, columns: columns, fields: fields, query: sqlQuery, queryNoDateColumn: sqlQueryNoDateColumn, pivot: selectedPivot, title: chartBuilderTitle, buttonLabel: chartBuilderButtonLabel, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, dateRange: dateRange, recommendedPivots: recommendedPivots, destinationDashboard: destinationDashboard, dateColumn: dateColumn })] }))] }));
814
+ }
815
+ function FilterTag({ Label, id, label, removeFilter, isSelected, index, setIsOpen, selectFilter, theme, tagStyle, selectedTagBorderColor, }) {
816
+ const handleRemoveFilter = () => {
817
+ removeFilter(index);
818
+ };
819
+ const handleSelectFilter = () => {
820
+ selectFilter(index);
821
+ setIsOpen(true);
822
+ };
823
+ const styles = tagStyle || {
824
+ cursor: 'pointer',
825
+ borderRadius: 8,
826
+ border: '1px solid',
827
+ backgroundColor: '#EFF0FC',
828
+ paddingLeft: '12px',
829
+ paddingRight: '8px',
830
+ height: 30,
831
+ display: 'flex',
832
+ alignItems: 'center',
833
+ fontSize: 13,
834
+ fontWeight: 'medium',
835
+ color: theme?.primaryTextColor,
836
+ fontFamily: theme?.fontFamily,
837
+ whiteSpace: 'nowrap',
838
+ textOverflow: 'ellipsis',
839
+ outline: 'none',
840
+ maxWidth: 120,
841
+ };
842
+ const borderColor = {
843
+ borderColor: isSelected
844
+ ? selectedTagBorderColor || '#B3B4BD'
845
+ : styles.borderColor || '#EFF0FC',
846
+ };
847
+ return ((0, jsx_runtime_1.jsxs)("div", { id: id, onClick: handleSelectFilter, style: { ...styles, ...borderColor }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
848
+ textOverflow: 'ellipsis',
849
+ whiteSpace: 'nowrap',
850
+ overflow: 'hidden',
851
+ }, children: label }), (0, jsx_runtime_1.jsx)("div", {
852
+ // onClick={handleRemoveFilter}
853
+ onClick: e => {
854
+ e.stopPropagation(); // Prevents the event from bubbling up to the parent
855
+ handleRemoveFilter();
856
+ }, style: {
857
+ display: 'flex',
858
+ flexDirection: 'row',
859
+ alignItems: 'center',
860
+ cursor: 'pointer',
861
+ paddingLeft: '6px',
862
+ }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: tagStyle?.color || theme?.primaryTextColor, height: "20", width: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) })] }));
863
+ }
864
+ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setDateRange, dateRange, columnStats, stringFilterValues, setStringFilterValues, addFilter, setSelectedColumn, setNumberStart, setNumberEnd, selectedTable, columnType, removeFilter, selectFilter, indexBeingEdited, updateFilter, SelectComponent, ButtonComponent, PopoverComponent, LabelComponent, theme, TextInputComponent, tagStyle, selectedTagBorderColor, parentRef, }) => {
865
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
866
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
867
+ position: 'relative',
868
+ display: 'inline-block',
869
+ textAlign: 'left',
870
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
871
+ display: 'flex',
872
+ flexDirection: 'row',
873
+ alignItems: 'center',
874
+ }, children: filters.length > 0 && ((0, jsx_runtime_1.jsx)("span", { style: {
875
+ height: 10,
876
+ width: 10,
877
+ backgroundColor: theme.primaryButtonColor,
878
+ borderRadius: '50%',
879
+ position: 'absolute',
880
+ top: -2,
881
+ right: -2,
882
+ } })) }), (0, jsx_runtime_1.jsx)(PopoverComponent, { parentRef: parentRef, label: "Add filter", style: { right: 0, minWidth: 400, overflow: 'visible' }, isOpen: isOpen, onClose: () => setIsOpen(false), title: "Add filter", setIsOpen: setIsOpen, children: (0, jsx_runtime_1.jsxs)("div", { style: {
883
+ backgroundColor: 'rgb(255, 255, 255)',
884
+ display: 'flex',
885
+ flexDirection: 'column',
886
+ }, children: [filters.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: { paddingBottom: 20 }, children: (0, jsx_runtime_1.jsx)("div", { style: {
887
+ overflowY: 'scroll',
888
+ maxHeight: '300px',
889
+ display: 'flex',
890
+ gap: '5px',
891
+ flexDirection: 'row',
892
+ flexWrap: 'wrap',
893
+ alignItems: 'center',
894
+ }, children: filters.map((elem, index) => ((0, jsx_runtime_1.jsx)(FilterTag, { id: "filter-tag", Label: LabelComponent, label: elem.tag, removeFilter: removeFilter, selectFilter: selectFilter, isSelected: index === indexBeingEdited, index: index, theme: theme, setIsOpen: setIsOpen, tagStyle: tagStyle, selectedTagBorderColor: selectedTagBorderColor }, 'filter' + index))) }) })), (0, jsx_runtime_1.jsx)(LabelComponent, { children: "Column" }), (0, jsx_runtime_1.jsx)(SelectComponent, { label: 'Column', id: "custom-select", value: selectedColumn.name, onChange: e => {
895
+ const column = selectedTable.columns.find(c => c.name === e);
896
+ setSelectedColumn(column);
897
+ }, options: selectedTable.columns
898
+ .filter(elem => !(elem.name === 'id' || elem.name.endsWith('_id')))
899
+ .map(elem => {
900
+ return { label: elem.name, value: elem.name };
901
+ }) }), columnType === 'number' && ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("div", { style: {
902
+ display: 'flex',
903
+ flexDirection: 'row',
904
+ alignItems: 'center',
905
+ justifyContent: 'space-between',
906
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
907
+ display: 'flex',
908
+ flexDirection: 'column',
909
+ marginTop: '20px',
910
+ }, children: [(0, jsx_runtime_1.jsx)(LabelComponent, { children: "Minimum" }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: "min-input", value: numberStart, placeholder: "Minimum", onChange: value => setNumberStart(value) })] }), (0, jsx_runtime_1.jsx)("div", { style: { width: 16 } }), (0, jsx_runtime_1.jsxs)("div", { style: {
911
+ display: 'flex',
912
+ flexDirection: 'column',
913
+ marginTop: '20px',
914
+ }, children: [(0, jsx_runtime_1.jsx)(LabelComponent, { children: "Maximum" }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: "max-input", placeholder: "Maximum", value: numberEnd, onChange: value => setNumberEnd(value) })] })] }) })), columnType === 'date' && ((0, jsx_runtime_1.jsx)("div", { style: {
915
+ display: 'flex',
916
+ flexDirection: 'row',
917
+ justifyContent: 'space-between',
918
+ marginTop: 20,
919
+ }, children: (0, jsx_runtime_1.jsx)(QuillDateRangePicker, { dateRange: dateRange ? [dateRange[0], dateRange[1]] : [null, null], label: '', onChangeDateRange: dateRange => {
920
+ setDateRange([dateRange[0], dateRange[1], null]);
921
+ }, preset: dateRange && dateRange.length === 3 && dateRange[2] !== null
922
+ ? dateRange[2]
923
+ : '', onChangePreset: preset => {
924
+ if (typeof preset === 'string') {
925
+ setDateRange((0, dateRangePickerUtils_1.getRangeFromPreset)(preset));
926
+ return;
927
+ }
928
+ setDateRange([
929
+ preset?.startDate || null,
930
+ new Date(),
931
+ preset?.value || '',
932
+ ]);
933
+ }, presetOptions: dateRangePickerUtils_1.reportBuilderOptions }) })), columnType === 'string' &&
934
+ columnStats &&
935
+ columnStats.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: {
936
+ flex: 'flex',
937
+ flexDirection: 'column',
938
+ marginTop: '14px',
939
+ overflow: 'hidden',
940
+ }, children: columnStats.map(value => ((0, jsx_runtime_1.jsx)("div", { style: {
941
+ display: 'flex',
942
+ flexDirection: 'row',
943
+ alignItems: 'center',
944
+ }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
945
+ display: 'flex',
946
+ flexDirection: 'row',
947
+ alignItems: 'center',
948
+ paddingTop: 6,
949
+ paddingBottom: 6,
950
+ }, children: [(0, jsx_runtime_1.jsx)(DivCheckbox, { theme: theme, checked: stringFilterValues.includes(value), onChange: () => {
951
+ setStringFilterValues(prev => prev.includes(value)
952
+ ? prev.filter(v => v !== value)
953
+ : [...prev, value]);
954
+ } }), (0, jsx_runtime_1.jsx)("div", { style: {
955
+ marginLeft: 6,
956
+ display: 'block',
957
+ overflow: 'hidden',
958
+ textOverflow: 'ellipsis',
959
+ whiteSpace: 'nowrap',
960
+ color: theme?.primaryTextColor,
961
+ fontFamily: theme?.fontFamily,
962
+ }, children: value })] }, value) }, value))) })), (0, jsx_runtime_1.jsx)("div", { style: { height: 20 } }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(ButtonComponent, { id: "custom-button", onClick: () => {
963
+ if (columnType === 'date' && !dateRange) {
964
+ return;
965
+ }
966
+ if (indexBeingEdited > -1) {
967
+ updateFilter(indexBeingEdited);
968
+ return;
969
+ }
970
+ addFilter();
971
+ }, label: indexBeingEdited > -1 ? 'Edit filter' : 'Add filter' }) })] }) })] }), (0, jsx_runtime_1.jsx)("div", { style: { height: '12px' } })] }));
972
+ };
973
+ const DivCheckbox = ({ onChange, checked, theme }) => {
974
+ const toggleCheckbox = () => {
975
+ if (onChange) {
976
+ onChange(!checked);
977
+ }
978
+ };
979
+ const style = {
980
+ // display: 'inline-block',
981
+ width: '18px',
982
+ height: '18px',
983
+ background: checked ? '#384151' : '#fff',
984
+ border: checked ? '1px solid #384151' : '1px solid #E7E7E7',
985
+ borderRadius: '4px',
986
+ position: 'relative',
987
+ cursor: 'pointer',
988
+ boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
989
+ fontFamily: theme?.fontFamily,
990
+ display: 'flex',
991
+ flexDirection: 'column',
992
+ alignItems: 'center',
993
+ justifyContent: 'center',
994
+ };
995
+ return ((0, jsx_runtime_1.jsx)("div", { style: style, onClick: toggleCheckbox, "aria-checked": checked,
996
+ // className="shadow-sm"
997
+ role: "checkbox", children: checked && (
998
+ // <CheckIcon
999
+ // style={{ color: theme?.backgroundColor, height: 16, width: 16 }}
1000
+ // className="text-white"
1001
+ // aria-hidden="true"
1002
+ // />
1003
+ (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme?.backgroundColor, height: "16", width: "16", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M19.916 4.626a.75.75 0 01.208 1.04l-9 13.5a.75.75 0 01-1.154.114l-6-6a.75.75 0 011.06-1.06l5.353 5.353 8.493-12.739a.75.75 0 011.04-.208z", clipRule: "evenodd" }) })) }));
1004
+ };