@quillsql/react 2.15.3 → 2.15.4

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 (1091) hide show
  1. package/dist/index.cjs +51544 -0
  2. package/dist/index.d.cts +3367 -0
  3. package/dist/index.d.ts +3367 -0
  4. package/dist/index.js +51680 -0
  5. package/package.json +12 -12
  6. package/dist/cjs/Chart.d.ts +0 -224
  7. package/dist/cjs/Chart.d.ts.map +0 -1
  8. package/dist/cjs/Chart.js +0 -612
  9. package/dist/cjs/ChartBuilder.d.ts +0 -340
  10. package/dist/cjs/ChartBuilder.d.ts.map +0 -1
  11. package/dist/cjs/ChartBuilder.js +0 -2217
  12. package/dist/cjs/ChartEditor.d.ts +0 -211
  13. package/dist/cjs/ChartEditor.d.ts.map +0 -1
  14. package/dist/cjs/ChartEditor.js +0 -140
  15. package/dist/cjs/Context.d.ts +0 -256
  16. package/dist/cjs/Context.d.ts.map +0 -1
  17. package/dist/cjs/Context.js +0 -1432
  18. package/dist/cjs/Dashboard.d.ts +0 -303
  19. package/dist/cjs/Dashboard.d.ts.map +0 -1
  20. package/dist/cjs/Dashboard.js +0 -883
  21. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +0 -30
  22. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +0 -1
  23. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +0 -291
  24. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +0 -100
  25. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  26. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +0 -901
  27. package/dist/cjs/QuillProvider.d.ts +0 -102
  28. package/dist/cjs/QuillProvider.d.ts.map +0 -1
  29. package/dist/cjs/QuillProvider.js +0 -81
  30. package/dist/cjs/ReportBuilder.d.ts +0 -326
  31. package/dist/cjs/ReportBuilder.d.ts.map +0 -1
  32. package/dist/cjs/ReportBuilder.js +0 -273
  33. package/dist/cjs/SQLEditor.d.ts +0 -302
  34. package/dist/cjs/SQLEditor.d.ts.map +0 -1
  35. package/dist/cjs/SQLEditor.js +0 -982
  36. package/dist/cjs/StaticChart.d.ts +0 -8
  37. package/dist/cjs/StaticChart.d.ts.map +0 -1
  38. package/dist/cjs/StaticChart.js +0 -27
  39. package/dist/cjs/Table.d.ts +0 -187
  40. package/dist/cjs/Table.d.ts.map +0 -1
  41. package/dist/cjs/Table.js +0 -169
  42. package/dist/cjs/assets/AdjustmentsIcon.d.ts +0 -5
  43. package/dist/cjs/assets/AdjustmentsIcon.d.ts.map +0 -1
  44. package/dist/cjs/assets/AdjustmentsIcon.js +0 -5
  45. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +0 -5
  46. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +0 -1
  47. package/dist/cjs/assets/ArrowDownHeadIcon.js +0 -5
  48. package/dist/cjs/assets/ArrowDownIcon.d.ts +0 -5
  49. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +0 -1
  50. package/dist/cjs/assets/ArrowDownIcon.js +0 -5
  51. package/dist/cjs/assets/ArrowDownRightIcon.d.ts +0 -5
  52. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +0 -1
  53. package/dist/cjs/assets/ArrowDownRightIcon.js +0 -5
  54. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts +0 -5
  55. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +0 -1
  56. package/dist/cjs/assets/ArrowLeftHeadIcon.js +0 -5
  57. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts +0 -5
  58. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +0 -1
  59. package/dist/cjs/assets/ArrowRightHeadIcon.js +0 -5
  60. package/dist/cjs/assets/ArrowRightIcon.d.ts +0 -5
  61. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +0 -1
  62. package/dist/cjs/assets/ArrowRightIcon.js +0 -5
  63. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts +0 -5
  64. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +0 -1
  65. package/dist/cjs/assets/ArrowUpHeadIcon.js +0 -5
  66. package/dist/cjs/assets/ArrowUpIcon.d.ts +0 -5
  67. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +0 -1
  68. package/dist/cjs/assets/ArrowUpIcon.js +0 -5
  69. package/dist/cjs/assets/ArrowUpRightIcon.d.ts +0 -5
  70. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +0 -1
  71. package/dist/cjs/assets/ArrowUpRightIcon.js +0 -5
  72. package/dist/cjs/assets/CalendarIcon.d.ts +0 -5
  73. package/dist/cjs/assets/CalendarIcon.d.ts.map +0 -1
  74. package/dist/cjs/assets/CalendarIcon.js +0 -5
  75. package/dist/cjs/assets/CalendarNormalIcon.d.ts +0 -5
  76. package/dist/cjs/assets/CalendarNormalIcon.d.ts.map +0 -1
  77. package/dist/cjs/assets/CalendarNormalIcon.js +0 -5
  78. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts +0 -5
  79. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +0 -1
  80. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.js +0 -5
  81. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts +0 -5
  82. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +0 -1
  83. package/dist/cjs/assets/DoubleArrowRightHeadIcon.js +0 -5
  84. package/dist/cjs/assets/ExclamationFilledIcon.d.ts +0 -5
  85. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +0 -1
  86. package/dist/cjs/assets/ExclamationFilledIcon.js +0 -5
  87. package/dist/cjs/assets/FilterIcon.d.ts +0 -5
  88. package/dist/cjs/assets/FilterIcon.d.ts.map +0 -1
  89. package/dist/cjs/assets/FilterIcon.js +0 -5
  90. package/dist/cjs/assets/RefreshIcon.d.ts +0 -5
  91. package/dist/cjs/assets/RefreshIcon.d.ts.map +0 -1
  92. package/dist/cjs/assets/RefreshIcon.js +0 -5
  93. package/dist/cjs/assets/SearchIcon.d.ts +0 -5
  94. package/dist/cjs/assets/SearchIcon.d.ts.map +0 -1
  95. package/dist/cjs/assets/SearchIcon.js +0 -5
  96. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts +0 -5
  97. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts.map +0 -1
  98. package/dist/cjs/assets/UpLeftArrowsIcon.js +0 -5
  99. package/dist/cjs/assets/XCircleIcon.d.ts +0 -5
  100. package/dist/cjs/assets/XCircleIcon.d.ts.map +0 -1
  101. package/dist/cjs/assets/XCircleIcon.js +0 -5
  102. package/dist/cjs/assets/XIcon.d.ts +0 -5
  103. package/dist/cjs/assets/XIcon.d.ts.map +0 -1
  104. package/dist/cjs/assets/XIcon.js +0 -5
  105. package/dist/cjs/assets/index.d.ts +0 -21
  106. package/dist/cjs/assets/index.d.ts.map +0 -1
  107. package/dist/cjs/assets/index.js +0 -46
  108. package/dist/cjs/components/Banner/index.d.ts +0 -2
  109. package/dist/cjs/components/Banner/index.d.ts.map +0 -1
  110. package/dist/cjs/components/Banner/index.js +0 -27
  111. package/dist/cjs/components/Chart/BarChart.d.ts +0 -29
  112. package/dist/cjs/components/Chart/BarChart.d.ts.map +0 -1
  113. package/dist/cjs/components/Chart/BarChart.js +0 -129
  114. package/dist/cjs/components/Chart/BarList.d.ts +0 -22
  115. package/dist/cjs/components/Chart/BarList.d.ts.map +0 -1
  116. package/dist/cjs/components/Chart/BarList.js +0 -145
  117. package/dist/cjs/components/Chart/ChartError.d.ts +0 -13
  118. package/dist/cjs/components/Chart/ChartError.d.ts.map +0 -1
  119. package/dist/cjs/components/Chart/ChartError.js +0 -67
  120. package/dist/cjs/components/Chart/ChartSkeleton.d.ts +0 -8
  121. package/dist/cjs/components/Chart/ChartSkeleton.d.ts.map +0 -1
  122. package/dist/cjs/components/Chart/ChartSkeleton.js +0 -24
  123. package/dist/cjs/components/Chart/ChartTooltip.d.ts +0 -29
  124. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +0 -1
  125. package/dist/cjs/components/Chart/ChartTooltip.js +0 -206
  126. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts +0 -5
  127. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +0 -1
  128. package/dist/cjs/components/Chart/ChartTooltipFrame.js +0 -17
  129. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts +0 -12
  130. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts.map +0 -1
  131. package/dist/cjs/components/Chart/ChartTooltipGroup.js +0 -29
  132. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts +0 -9
  133. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts.map +0 -1
  134. package/dist/cjs/components/Chart/ChartTooltipRow.js +0 -44
  135. package/dist/cjs/components/Chart/CustomBar.d.ts +0 -18
  136. package/dist/cjs/components/Chart/CustomBar.d.ts.map +0 -1
  137. package/dist/cjs/components/Chart/CustomBar.js +0 -70
  138. package/dist/cjs/components/Chart/CustomLegend.d.ts +0 -2
  139. package/dist/cjs/components/Chart/CustomLegend.d.ts.map +0 -1
  140. package/dist/cjs/components/Chart/CustomLegend.js +0 -20
  141. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +0 -2
  142. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +0 -1
  143. package/dist/cjs/components/Chart/CustomReferenceLine.js +0 -27
  144. package/dist/cjs/components/Chart/GaugeChart.d.ts +0 -11
  145. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +0 -1
  146. package/dist/cjs/components/Chart/GaugeChart.js +0 -277
  147. package/dist/cjs/components/Chart/InternalChart.d.ts +0 -15
  148. package/dist/cjs/components/Chart/InternalChart.d.ts.map +0 -1
  149. package/dist/cjs/components/Chart/InternalChart.js +0 -496
  150. package/dist/cjs/components/Chart/LineChart.d.ts +0 -33
  151. package/dist/cjs/components/Chart/LineChart.d.ts.map +0 -1
  152. package/dist/cjs/components/Chart/LineChart.js +0 -192
  153. package/dist/cjs/components/Chart/MapChart.d.ts +0 -36
  154. package/dist/cjs/components/Chart/MapChart.d.ts.map +0 -1
  155. package/dist/cjs/components/Chart/MapChart.js +0 -634
  156. package/dist/cjs/components/Chart/PieChart.d.ts +0 -79
  157. package/dist/cjs/components/Chart/PieChart.d.ts.map +0 -1
  158. package/dist/cjs/components/Chart/PieChart.js +0 -289
  159. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +0 -3
  160. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +0 -1
  161. package/dist/cjs/components/Dashboard/ChartComponent.js +0 -67
  162. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +0 -56
  163. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +0 -1
  164. package/dist/cjs/components/Dashboard/DashboardFilter.js +0 -93
  165. package/dist/cjs/components/Dashboard/DashboardSection.d.ts +0 -6
  166. package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +0 -1
  167. package/dist/cjs/components/Dashboard/DashboardSection.js +0 -25
  168. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts +0 -2
  169. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts.map +0 -1
  170. package/dist/cjs/components/Dashboard/DashboardSectionContainer.js +0 -12
  171. package/dist/cjs/components/Dashboard/DataLoader.d.ts +0 -46
  172. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +0 -1
  173. package/dist/cjs/components/Dashboard/DataLoader.js +0 -720
  174. package/dist/cjs/components/Dashboard/MetricComponent.d.ts +0 -3
  175. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +0 -1
  176. package/dist/cjs/components/Dashboard/MetricComponent.js +0 -138
  177. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +0 -3
  178. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +0 -1
  179. package/dist/cjs/components/Dashboard/TemplateChartComponent.js +0 -23
  180. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +0 -3
  181. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +0 -1
  182. package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +0 -23
  183. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +0 -14
  184. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +0 -1
  185. package/dist/cjs/components/Dashboard/TemplateTableComponent.js +0 -23
  186. package/dist/cjs/components/Dashboard/util.d.ts +0 -8
  187. package/dist/cjs/components/Dashboard/util.d.ts.map +0 -1
  188. package/dist/cjs/components/Dashboard/util.js +0 -100
  189. package/dist/cjs/components/QuillCard.d.ts +0 -9
  190. package/dist/cjs/components/QuillCard.d.ts.map +0 -1
  191. package/dist/cjs/components/QuillCard.js +0 -60
  192. package/dist/cjs/components/QuillComponentTables.d.ts +0 -20
  193. package/dist/cjs/components/QuillComponentTables.d.ts.map +0 -1
  194. package/dist/cjs/components/QuillComponentTables.js +0 -141
  195. package/dist/cjs/components/QuillMultiSelect.d.ts +0 -11
  196. package/dist/cjs/components/QuillMultiSelect.d.ts.map +0 -1
  197. package/dist/cjs/components/QuillMultiSelect.js +0 -212
  198. package/dist/cjs/components/QuillMultiSelectSectionList.d.ts +0 -39
  199. package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +0 -1
  200. package/dist/cjs/components/QuillMultiSelectSectionList.js +0 -366
  201. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +0 -15
  202. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +0 -1
  203. package/dist/cjs/components/QuillMultiSelectWithCombo.js +0 -507
  204. package/dist/cjs/components/QuillSelect.d.ts +0 -6
  205. package/dist/cjs/components/QuillSelect.d.ts.map +0 -1
  206. package/dist/cjs/components/QuillSelect.js +0 -252
  207. package/dist/cjs/components/QuillSelectWithCombo.d.ts +0 -6
  208. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +0 -1
  209. package/dist/cjs/components/QuillSelectWithCombo.js +0 -249
  210. package/dist/cjs/components/QuillTable.d.ts +0 -38
  211. package/dist/cjs/components/QuillTable.d.ts.map +0 -1
  212. package/dist/cjs/components/QuillTable.js +0 -303
  213. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +0 -28
  214. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +0 -1
  215. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +0 -267
  216. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +0 -26
  217. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +0 -1
  218. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +0 -60
  219. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +0 -30
  220. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +0 -1
  221. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +0 -61
  222. package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts +0 -49
  223. package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts.map +0 -1
  224. package/dist/cjs/components/ReportBuilder/ColumnComponent.js +0 -46
  225. package/dist/cjs/components/ReportBuilder/DraggableColumns.d.ts +0 -17
  226. package/dist/cjs/components/ReportBuilder/DraggableColumns.d.ts.map +0 -1
  227. package/dist/cjs/components/ReportBuilder/DraggableColumns.js +0 -52
  228. package/dist/cjs/components/ReportBuilder/DraggableItem.d.ts +0 -17
  229. package/dist/cjs/components/ReportBuilder/DraggableItem.d.ts.map +0 -1
  230. package/dist/cjs/components/ReportBuilder/DraggableItem.js +0 -17
  231. package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts +0 -65
  232. package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts.map +0 -1
  233. package/dist/cjs/components/ReportBuilder/FilterComponent.js +0 -51
  234. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +0 -29
  235. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +0 -1
  236. package/dist/cjs/components/ReportBuilder/FilterModal.js +0 -703
  237. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +0 -28
  238. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +0 -1
  239. package/dist/cjs/components/ReportBuilder/FilterStack.js +0 -54
  240. package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts +0 -42
  241. package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts.map +0 -1
  242. package/dist/cjs/components/ReportBuilder/LimitComponent.js +0 -50
  243. package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts +0 -66
  244. package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts.map +0 -1
  245. package/dist/cjs/components/ReportBuilder/PivotComponent.js +0 -47
  246. package/dist/cjs/components/ReportBuilder/SaveReport.d.ts +0 -162
  247. package/dist/cjs/components/ReportBuilder/SaveReport.d.ts.map +0 -1
  248. package/dist/cjs/components/ReportBuilder/SaveReport.js +0 -32
  249. package/dist/cjs/components/ReportBuilder/SortComponent.d.ts +0 -42
  250. package/dist/cjs/components/ReportBuilder/SortComponent.d.ts.map +0 -1
  251. package/dist/cjs/components/ReportBuilder/SortComponent.js +0 -50
  252. package/dist/cjs/components/ReportBuilder/TableComponent.d.ts +0 -28
  253. package/dist/cjs/components/ReportBuilder/TableComponent.d.ts.map +0 -1
  254. package/dist/cjs/components/ReportBuilder/TableComponent.js +0 -24
  255. package/dist/cjs/components/ReportBuilder/ast.d.ts +0 -525
  256. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +0 -1
  257. package/dist/cjs/components/ReportBuilder/ast.js +0 -294
  258. package/dist/cjs/components/ReportBuilder/bigDateMap.d.ts +0 -7
  259. package/dist/cjs/components/ReportBuilder/bigDateMap.d.ts.map +0 -1
  260. package/dist/cjs/components/ReportBuilder/bigDateMap.js +0 -690
  261. package/dist/cjs/components/ReportBuilder/constants.d.ts +0 -117
  262. package/dist/cjs/components/ReportBuilder/constants.d.ts.map +0 -1
  263. package/dist/cjs/components/ReportBuilder/constants.js +0 -164
  264. package/dist/cjs/components/ReportBuilder/convert.d.ts +0 -40
  265. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +0 -1
  266. package/dist/cjs/components/ReportBuilder/convert.js +0 -706
  267. package/dist/cjs/components/ReportBuilder/operators.d.ts +0 -462
  268. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +0 -1
  269. package/dist/cjs/components/ReportBuilder/operators.js +0 -585
  270. package/dist/cjs/components/ReportBuilder/postgres.d.ts +0 -150
  271. package/dist/cjs/components/ReportBuilder/postgres.d.ts.map +0 -1
  272. package/dist/cjs/components/ReportBuilder/postgres.js +0 -365
  273. package/dist/cjs/components/ReportBuilder/schema.d.ts +0 -30
  274. package/dist/cjs/components/ReportBuilder/schema.d.ts.map +0 -1
  275. package/dist/cjs/components/ReportBuilder/schema.js +0 -2
  276. package/dist/cjs/components/ReportBuilder/ui.d.ts +0 -135
  277. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +0 -1
  278. package/dist/cjs/components/ReportBuilder/ui.js +0 -453
  279. package/dist/cjs/components/ReportBuilder/util.d.ts +0 -78
  280. package/dist/cjs/components/ReportBuilder/util.d.ts.map +0 -1
  281. package/dist/cjs/components/ReportBuilder/util.js +0 -842
  282. package/dist/cjs/components/UiComponents.d.ts +0 -243
  283. package/dist/cjs/components/UiComponents.d.ts.map +0 -1
  284. package/dist/cjs/components/UiComponents.js +0 -890
  285. package/dist/cjs/components/selectUtils.d.ts +0 -9
  286. package/dist/cjs/components/selectUtils.d.ts.map +0 -1
  287. package/dist/cjs/components/selectUtils.js +0 -26
  288. package/dist/cjs/components/shared/LoadingComponents.d.ts +0 -2
  289. package/dist/cjs/components/shared/LoadingComponents.d.ts.map +0 -1
  290. package/dist/cjs/components/shared/LoadingComponents.js +0 -25
  291. package/dist/cjs/components/shared/TableInterfaces.d.ts +0 -42
  292. package/dist/cjs/components/shared/TableInterfaces.d.ts.map +0 -1
  293. package/dist/cjs/components/shared/TableInterfaces.js +0 -2
  294. package/dist/cjs/contexts/BaseColorContext.d.ts +0 -3
  295. package/dist/cjs/contexts/BaseColorContext.d.ts.map +0 -1
  296. package/dist/cjs/contexts/BaseColorContext.js +0 -5
  297. package/dist/cjs/contexts/HoveredValueContext.d.ts +0 -8
  298. package/dist/cjs/contexts/HoveredValueContext.d.ts.map +0 -1
  299. package/dist/cjs/contexts/HoveredValueContext.js +0 -7
  300. package/dist/cjs/contexts/RootStylesContext.d.ts +0 -3
  301. package/dist/cjs/contexts/RootStylesContext.d.ts.map +0 -1
  302. package/dist/cjs/contexts/RootStylesContext.js +0 -5
  303. package/dist/cjs/contexts/SelectedValueContext.d.ts +0 -7
  304. package/dist/cjs/contexts/SelectedValueContext.d.ts.map +0 -1
  305. package/dist/cjs/contexts/SelectedValueContext.js +0 -8
  306. package/dist/cjs/contexts/index.d.ts +0 -5
  307. package/dist/cjs/contexts/index.d.ts.map +0 -1
  308. package/dist/cjs/contexts/index.js +0 -14
  309. package/dist/cjs/hooks/index.d.ts +0 -5
  310. package/dist/cjs/hooks/index.d.ts.map +0 -1
  311. package/dist/cjs/hooks/index.js +0 -14
  312. package/dist/cjs/hooks/useAskQuill.d.ts +0 -26
  313. package/dist/cjs/hooks/useAskQuill.d.ts.map +0 -1
  314. package/dist/cjs/hooks/useAskQuill.js +0 -254
  315. package/dist/cjs/hooks/useAstToFilterTree.d.ts +0 -16
  316. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +0 -1
  317. package/dist/cjs/hooks/useAstToFilterTree.js +0 -29
  318. package/dist/cjs/hooks/useDashboard.d.ts +0 -86
  319. package/dist/cjs/hooks/useDashboard.d.ts.map +0 -1
  320. package/dist/cjs/hooks/useDashboard.js +0 -885
  321. package/dist/cjs/hooks/useExport.d.ts +0 -22
  322. package/dist/cjs/hooks/useExport.d.ts.map +0 -1
  323. package/dist/cjs/hooks/useExport.js +0 -316
  324. package/dist/cjs/hooks/useFormat.d.ts +0 -5
  325. package/dist/cjs/hooks/useFormat.d.ts.map +0 -1
  326. package/dist/cjs/hooks/useFormat.js +0 -29
  327. package/dist/cjs/hooks/useInternalState.d.ts +0 -3
  328. package/dist/cjs/hooks/useInternalState.d.ts.map +0 -1
  329. package/dist/cjs/hooks/useInternalState.js +0 -16
  330. package/dist/cjs/hooks/useLongLoading.d.ts +0 -13
  331. package/dist/cjs/hooks/useLongLoading.d.ts.map +0 -1
  332. package/dist/cjs/hooks/useLongLoading.js +0 -67
  333. package/dist/cjs/hooks/useOnClickOutside.d.ts +0 -6
  334. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +0 -1
  335. package/dist/cjs/hooks/useOnClickOutside.js +0 -59
  336. package/dist/cjs/hooks/useOnWindowResize.d.ts +0 -5
  337. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +0 -1
  338. package/dist/cjs/hooks/useOnWindowResize.js +0 -16
  339. package/dist/cjs/hooks/useQuill.d.ts +0 -24
  340. package/dist/cjs/hooks/useQuill.d.ts.map +0 -1
  341. package/dist/cjs/hooks/useQuill.js +0 -235
  342. package/dist/cjs/hooks/useReport.d.ts +0 -12
  343. package/dist/cjs/hooks/useReport.d.ts.map +0 -1
  344. package/dist/cjs/hooks/useReport.js +0 -50
  345. package/dist/cjs/hooks/useReportBuilder.d.ts +0 -178
  346. package/dist/cjs/hooks/useReportBuilder.d.ts.map +0 -1
  347. package/dist/cjs/hooks/useReportBuilder.js +0 -1495
  348. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts +0 -3
  349. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +0 -1
  350. package/dist/cjs/hooks/useSelectOnKeyDown.js +0 -65
  351. package/dist/cjs/hooks/useVirtualTables.d.ts +0 -23
  352. package/dist/cjs/hooks/useVirtualTables.d.ts.map +0 -1
  353. package/dist/cjs/hooks/useVirtualTables.js +0 -131
  354. package/dist/cjs/index.d.ts +0 -55
  355. package/dist/cjs/index.d.ts.map +0 -1
  356. package/dist/cjs/index.js +0 -77
  357. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +0 -55
  358. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +0 -1
  359. package/dist/cjs/internals/ReportBuilder/PivotForm.js +0 -208
  360. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +0 -39
  361. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +0 -1
  362. package/dist/cjs/internals/ReportBuilder/PivotList.js +0 -101
  363. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +0 -123
  364. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +0 -1
  365. package/dist/cjs/internals/ReportBuilder/PivotModal.js +0 -1408
  366. package/dist/cjs/lib/font.d.ts +0 -14
  367. package/dist/cjs/lib/font.d.ts.map +0 -1
  368. package/dist/cjs/lib/font.js +0 -16
  369. package/dist/cjs/lib/index.d.ts +0 -4
  370. package/dist/cjs/lib/index.d.ts.map +0 -1
  371. package/dist/cjs/lib/index.js +0 -19
  372. package/dist/cjs/lib/inputTypes.d.ts +0 -21
  373. package/dist/cjs/lib/inputTypes.d.ts.map +0 -1
  374. package/dist/cjs/lib/inputTypes.js +0 -56
  375. package/dist/cjs/lib/utils.d.ts +0 -10
  376. package/dist/cjs/lib/utils.d.ts.map +0 -1
  377. package/dist/cjs/lib/utils.js +0 -53
  378. package/dist/cjs/models/Chart.d.ts +0 -15
  379. package/dist/cjs/models/Chart.d.ts.map +0 -1
  380. package/dist/cjs/models/Chart.js +0 -2
  381. package/dist/cjs/models/ChartBuilder.d.ts +0 -35
  382. package/dist/cjs/models/ChartBuilder.d.ts.map +0 -1
  383. package/dist/cjs/models/ChartBuilder.js +0 -2
  384. package/dist/cjs/models/Client.d.ts +0 -52
  385. package/dist/cjs/models/Client.d.ts.map +0 -1
  386. package/dist/cjs/models/Client.js +0 -2
  387. package/dist/cjs/models/Columns.d.ts +0 -14
  388. package/dist/cjs/models/Columns.d.ts.map +0 -1
  389. package/dist/cjs/models/Columns.js +0 -2
  390. package/dist/cjs/models/Dashboard.d.ts +0 -49
  391. package/dist/cjs/models/Dashboard.d.ts.map +0 -1
  392. package/dist/cjs/models/Dashboard.js +0 -2
  393. package/dist/cjs/models/Data.d.ts +0 -20
  394. package/dist/cjs/models/Data.d.ts.map +0 -1
  395. package/dist/cjs/models/Data.js +0 -2
  396. package/dist/cjs/models/Date.d.ts +0 -39
  397. package/dist/cjs/models/Date.d.ts.map +0 -1
  398. package/dist/cjs/models/Date.js +0 -2
  399. package/dist/cjs/models/Event.d.ts +0 -37
  400. package/dist/cjs/models/Event.d.ts.map +0 -1
  401. package/dist/cjs/models/Event.js +0 -2
  402. package/dist/cjs/models/Filter.d.ts +0 -288
  403. package/dist/cjs/models/Filter.d.ts.map +0 -1
  404. package/dist/cjs/models/Filter.js +0 -452
  405. package/dist/cjs/models/Pagination.d.ts +0 -18
  406. package/dist/cjs/models/Pagination.d.ts.map +0 -1
  407. package/dist/cjs/models/Pagination.js +0 -2
  408. package/dist/cjs/models/Pivot.d.ts +0 -57
  409. package/dist/cjs/models/Pivot.d.ts.map +0 -1
  410. package/dist/cjs/models/Pivot.js +0 -2
  411. package/dist/cjs/models/Report.d.ts +0 -147
  412. package/dist/cjs/models/Report.d.ts.map +0 -1
  413. package/dist/cjs/models/Report.js +0 -4
  414. package/dist/cjs/models/ReportBuilder.d.ts +0 -46
  415. package/dist/cjs/models/ReportBuilder.d.ts.map +0 -1
  416. package/dist/cjs/models/ReportBuilder.js +0 -19
  417. package/dist/cjs/models/Schema.d.ts +0 -18
  418. package/dist/cjs/models/Schema.d.ts.map +0 -1
  419. package/dist/cjs/models/Schema.js +0 -2
  420. package/dist/cjs/models/Tables.d.ts +0 -36
  421. package/dist/cjs/models/Tables.d.ts.map +0 -1
  422. package/dist/cjs/models/Tables.js +0 -2
  423. package/dist/cjs/models/Theme.d.ts +0 -57
  424. package/dist/cjs/models/Theme.d.ts.map +0 -1
  425. package/dist/cjs/models/Theme.js +0 -29
  426. package/dist/cjs/utils/astFilterProcessing.d.ts +0 -38
  427. package/dist/cjs/utils/astFilterProcessing.d.ts.map +0 -1
  428. package/dist/cjs/utils/astFilterProcessing.js +0 -11768
  429. package/dist/cjs/utils/astProcessing.d.ts +0 -92
  430. package/dist/cjs/utils/astProcessing.d.ts.map +0 -1
  431. package/dist/cjs/utils/astProcessing.js +0 -578
  432. package/dist/cjs/utils/axisFormatter.d.ts +0 -19
  433. package/dist/cjs/utils/axisFormatter.d.ts.map +0 -1
  434. package/dist/cjs/utils/axisFormatter.js +0 -216
  435. package/dist/cjs/utils/chart.d.ts +0 -2
  436. package/dist/cjs/utils/chart.d.ts.map +0 -1
  437. package/dist/cjs/utils/chart.js +0 -13
  438. package/dist/cjs/utils/chartBuilder.d.ts +0 -18
  439. package/dist/cjs/utils/chartBuilder.d.ts.map +0 -1
  440. package/dist/cjs/utils/chartBuilder.js +0 -79
  441. package/dist/cjs/utils/client.d.ts +0 -20
  442. package/dist/cjs/utils/client.d.ts.map +0 -1
  443. package/dist/cjs/utils/client.js +0 -108
  444. package/dist/cjs/utils/color.d.ts +0 -203
  445. package/dist/cjs/utils/color.d.ts.map +0 -1
  446. package/dist/cjs/utils/color.js +0 -441
  447. package/dist/cjs/utils/columnProcessing.d.ts +0 -22
  448. package/dist/cjs/utils/columnProcessing.d.ts.map +0 -1
  449. package/dist/cjs/utils/columnProcessing.js +0 -356
  450. package/dist/cjs/utils/columnType.d.ts +0 -5
  451. package/dist/cjs/utils/columnType.d.ts.map +0 -1
  452. package/dist/cjs/utils/columnType.js +0 -48
  453. package/dist/cjs/utils/constants.d.ts +0 -9
  454. package/dist/cjs/utils/constants.d.ts.map +0 -1
  455. package/dist/cjs/utils/constants.js +0 -15
  456. package/dist/cjs/utils/crypto.d.ts +0 -2
  457. package/dist/cjs/utils/crypto.d.ts.map +0 -1
  458. package/dist/cjs/utils/crypto.js +0 -13
  459. package/dist/cjs/utils/csv.d.ts +0 -7
  460. package/dist/cjs/utils/csv.d.ts.map +0 -1
  461. package/dist/cjs/utils/csv.js +0 -78
  462. package/dist/cjs/utils/dashboard.d.ts +0 -36
  463. package/dist/cjs/utils/dashboard.d.ts.map +0 -1
  464. package/dist/cjs/utils/dashboard.js +0 -418
  465. package/dist/cjs/utils/dataFetcher.d.ts +0 -13
  466. package/dist/cjs/utils/dataFetcher.d.ts.map +0 -1
  467. package/dist/cjs/utils/dataFetcher.js +0 -402
  468. package/dist/cjs/utils/dataProcessing.d.ts +0 -15
  469. package/dist/cjs/utils/dataProcessing.d.ts.map +0 -1
  470. package/dist/cjs/utils/dataProcessing.js +0 -163
  471. package/dist/cjs/utils/dates.d.ts +0 -28
  472. package/dist/cjs/utils/dates.d.ts.map +0 -1
  473. package/dist/cjs/utils/dates.js +0 -170
  474. package/dist/cjs/utils/error.d.ts +0 -5
  475. package/dist/cjs/utils/error.d.ts.map +0 -1
  476. package/dist/cjs/utils/error.js +0 -12
  477. package/dist/cjs/utils/errorProcessing.d.ts +0 -2
  478. package/dist/cjs/utils/errorProcessing.d.ts.map +0 -1
  479. package/dist/cjs/utils/errorProcessing.js +0 -8
  480. package/dist/cjs/utils/filterConstants.d.ts +0 -34
  481. package/dist/cjs/utils/filterConstants.d.ts.map +0 -1
  482. package/dist/cjs/utils/filterConstants.js +0 -36
  483. package/dist/cjs/utils/filterProcessing.d.ts +0 -28
  484. package/dist/cjs/utils/filterProcessing.d.ts.map +0 -1
  485. package/dist/cjs/utils/filterProcessing.js +0 -531
  486. package/dist/cjs/utils/getDomain.d.ts +0 -11
  487. package/dist/cjs/utils/getDomain.d.ts.map +0 -1
  488. package/dist/cjs/utils/getDomain.js +0 -65
  489. package/dist/cjs/utils/logging.d.ts +0 -2
  490. package/dist/cjs/utils/logging.d.ts.map +0 -1
  491. package/dist/cjs/utils/logging.js +0 -10
  492. package/dist/cjs/utils/merge.d.ts +0 -18
  493. package/dist/cjs/utils/merge.d.ts.map +0 -1
  494. package/dist/cjs/utils/merge.js +0 -233
  495. package/dist/cjs/utils/monacoConfig.d.ts +0 -22
  496. package/dist/cjs/utils/monacoConfig.d.ts.map +0 -1
  497. package/dist/cjs/utils/monacoConfig.js +0 -324
  498. package/dist/cjs/utils/paginationProcessing.d.ts +0 -6
  499. package/dist/cjs/utils/paginationProcessing.d.ts.map +0 -1
  500. package/dist/cjs/utils/paginationProcessing.js +0 -33
  501. package/dist/cjs/utils/parserBigQuery.d.ts +0 -6
  502. package/dist/cjs/utils/parserBigQuery.d.ts.map +0 -1
  503. package/dist/cjs/utils/parserBigQuery.js +0 -60
  504. package/dist/cjs/utils/parserPostgres.d.ts +0 -3
  505. package/dist/cjs/utils/parserPostgres.d.ts.map +0 -1
  506. package/dist/cjs/utils/parserPostgres.js +0 -42
  507. package/dist/cjs/utils/pivotConstructor.d.ts +0 -59
  508. package/dist/cjs/utils/pivotConstructor.d.ts.map +0 -1
  509. package/dist/cjs/utils/pivotConstructor.js +0 -357
  510. package/dist/cjs/utils/pivotProcessing.d.ts +0 -34
  511. package/dist/cjs/utils/pivotProcessing.d.ts.map +0 -1
  512. package/dist/cjs/utils/pivotProcessing.js +0 -200
  513. package/dist/cjs/utils/queryConstructor.d.ts +0 -15
  514. package/dist/cjs/utils/queryConstructor.d.ts.map +0 -1
  515. package/dist/cjs/utils/queryConstructor.js +0 -949
  516. package/dist/cjs/utils/report.d.ts +0 -121
  517. package/dist/cjs/utils/report.d.ts.map +0 -1
  518. package/dist/cjs/utils/report.js +0 -628
  519. package/dist/cjs/utils/reportBuilder.d.ts +0 -109
  520. package/dist/cjs/utils/reportBuilder.d.ts.map +0 -1
  521. package/dist/cjs/utils/reportBuilder.js +0 -814
  522. package/dist/cjs/utils/schema.d.ts +0 -39
  523. package/dist/cjs/utils/schema.d.ts.map +0 -1
  524. package/dist/cjs/utils/schema.js +0 -234
  525. package/dist/cjs/utils/styles.d.ts +0 -17
  526. package/dist/cjs/utils/styles.d.ts.map +0 -1
  527. package/dist/cjs/utils/styles.js +0 -19
  528. package/dist/cjs/utils/tableProcessing.d.ts +0 -189
  529. package/dist/cjs/utils/tableProcessing.d.ts.map +0 -1
  530. package/dist/cjs/utils/tableProcessing.js +0 -666
  531. package/dist/cjs/utils/tenants.d.ts +0 -9
  532. package/dist/cjs/utils/tenants.d.ts.map +0 -1
  533. package/dist/cjs/utils/tenants.js +0 -2
  534. package/dist/cjs/utils/textProcessing.d.ts +0 -7
  535. package/dist/cjs/utils/textProcessing.d.ts.map +0 -1
  536. package/dist/cjs/utils/textProcessing.js +0 -117
  537. package/dist/cjs/utils/ui.d.ts +0 -2
  538. package/dist/cjs/utils/ui.d.ts.map +0 -1
  539. package/dist/cjs/utils/ui.js +0 -18
  540. package/dist/cjs/utils/validation.d.ts +0 -9
  541. package/dist/cjs/utils/validation.d.ts.map +0 -1
  542. package/dist/cjs/utils/validation.js +0 -30
  543. package/dist/cjs/utils/valueFormatter.d.ts +0 -34
  544. package/dist/cjs/utils/valueFormatter.d.ts.map +0 -1
  545. package/dist/cjs/utils/valueFormatter.js +0 -444
  546. package/dist/cjs/utils/width.d.ts +0 -12
  547. package/dist/cjs/utils/width.d.ts.map +0 -1
  548. package/dist/cjs/utils/width.js +0 -25
  549. package/dist/esm/Chart.d.ts +0 -224
  550. package/dist/esm/Chart.d.ts.map +0 -1
  551. package/dist/esm/Chart.js +0 -570
  552. package/dist/esm/ChartBuilder.d.ts +0 -340
  553. package/dist/esm/ChartBuilder.d.ts.map +0 -1
  554. package/dist/esm/ChartBuilder.js +0 -2210
  555. package/dist/esm/ChartEditor.d.ts +0 -211
  556. package/dist/esm/ChartEditor.d.ts.map +0 -1
  557. package/dist/esm/ChartEditor.js +0 -134
  558. package/dist/esm/Context.d.ts +0 -256
  559. package/dist/esm/Context.d.ts.map +0 -1
  560. package/dist/esm/Context.js +0 -1425
  561. package/dist/esm/Dashboard.d.ts +0 -303
  562. package/dist/esm/Dashboard.d.ts.map +0 -1
  563. package/dist/esm/Dashboard.js +0 -844
  564. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +0 -30
  565. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +0 -1
  566. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +0 -288
  567. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +0 -100
  568. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  569. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +0 -887
  570. package/dist/esm/QuillProvider.d.ts +0 -102
  571. package/dist/esm/QuillProvider.d.ts.map +0 -1
  572. package/dist/esm/QuillProvider.js +0 -79
  573. package/dist/esm/ReportBuilder.d.ts +0 -326
  574. package/dist/esm/ReportBuilder.d.ts.map +0 -1
  575. package/dist/esm/ReportBuilder.js +0 -270
  576. package/dist/esm/SQLEditor.d.ts +0 -302
  577. package/dist/esm/SQLEditor.d.ts.map +0 -1
  578. package/dist/esm/SQLEditor.js +0 -974
  579. package/dist/esm/StaticChart.d.ts +0 -8
  580. package/dist/esm/StaticChart.d.ts.map +0 -1
  581. package/dist/esm/StaticChart.js +0 -24
  582. package/dist/esm/Table.d.ts +0 -187
  583. package/dist/esm/Table.d.ts.map +0 -1
  584. package/dist/esm/Table.js +0 -164
  585. package/dist/esm/assets/AdjustmentsIcon.d.ts +0 -5
  586. package/dist/esm/assets/AdjustmentsIcon.d.ts.map +0 -1
  587. package/dist/esm/assets/AdjustmentsIcon.js +0 -3
  588. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +0 -5
  589. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +0 -1
  590. package/dist/esm/assets/ArrowDownHeadIcon.js +0 -3
  591. package/dist/esm/assets/ArrowDownIcon.d.ts +0 -5
  592. package/dist/esm/assets/ArrowDownIcon.d.ts.map +0 -1
  593. package/dist/esm/assets/ArrowDownIcon.js +0 -3
  594. package/dist/esm/assets/ArrowDownRightIcon.d.ts +0 -5
  595. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +0 -1
  596. package/dist/esm/assets/ArrowDownRightIcon.js +0 -3
  597. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts +0 -5
  598. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +0 -1
  599. package/dist/esm/assets/ArrowLeftHeadIcon.js +0 -3
  600. package/dist/esm/assets/ArrowRightHeadIcon.d.ts +0 -5
  601. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +0 -1
  602. package/dist/esm/assets/ArrowRightHeadIcon.js +0 -3
  603. package/dist/esm/assets/ArrowRightIcon.d.ts +0 -5
  604. package/dist/esm/assets/ArrowRightIcon.d.ts.map +0 -1
  605. package/dist/esm/assets/ArrowRightIcon.js +0 -3
  606. package/dist/esm/assets/ArrowUpHeadIcon.d.ts +0 -5
  607. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +0 -1
  608. package/dist/esm/assets/ArrowUpHeadIcon.js +0 -3
  609. package/dist/esm/assets/ArrowUpIcon.d.ts +0 -5
  610. package/dist/esm/assets/ArrowUpIcon.d.ts.map +0 -1
  611. package/dist/esm/assets/ArrowUpIcon.js +0 -3
  612. package/dist/esm/assets/ArrowUpRightIcon.d.ts +0 -5
  613. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +0 -1
  614. package/dist/esm/assets/ArrowUpRightIcon.js +0 -3
  615. package/dist/esm/assets/CalendarIcon.d.ts +0 -5
  616. package/dist/esm/assets/CalendarIcon.d.ts.map +0 -1
  617. package/dist/esm/assets/CalendarIcon.js +0 -3
  618. package/dist/esm/assets/CalendarNormalIcon.d.ts +0 -5
  619. package/dist/esm/assets/CalendarNormalIcon.d.ts.map +0 -1
  620. package/dist/esm/assets/CalendarNormalIcon.js +0 -3
  621. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts +0 -5
  622. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +0 -1
  623. package/dist/esm/assets/DoubleArrowLeftHeadIcon.js +0 -3
  624. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts +0 -5
  625. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +0 -1
  626. package/dist/esm/assets/DoubleArrowRightHeadIcon.js +0 -3
  627. package/dist/esm/assets/ExclamationFilledIcon.d.ts +0 -5
  628. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +0 -1
  629. package/dist/esm/assets/ExclamationFilledIcon.js +0 -3
  630. package/dist/esm/assets/FilterIcon.d.ts +0 -5
  631. package/dist/esm/assets/FilterIcon.d.ts.map +0 -1
  632. package/dist/esm/assets/FilterIcon.js +0 -3
  633. package/dist/esm/assets/RefreshIcon.d.ts +0 -5
  634. package/dist/esm/assets/RefreshIcon.d.ts.map +0 -1
  635. package/dist/esm/assets/RefreshIcon.js +0 -3
  636. package/dist/esm/assets/SearchIcon.d.ts +0 -5
  637. package/dist/esm/assets/SearchIcon.d.ts.map +0 -1
  638. package/dist/esm/assets/SearchIcon.js +0 -3
  639. package/dist/esm/assets/UpLeftArrowsIcon.d.ts +0 -5
  640. package/dist/esm/assets/UpLeftArrowsIcon.d.ts.map +0 -1
  641. package/dist/esm/assets/UpLeftArrowsIcon.js +0 -3
  642. package/dist/esm/assets/XCircleIcon.d.ts +0 -5
  643. package/dist/esm/assets/XCircleIcon.d.ts.map +0 -1
  644. package/dist/esm/assets/XCircleIcon.js +0 -3
  645. package/dist/esm/assets/XIcon.d.ts +0 -5
  646. package/dist/esm/assets/XIcon.d.ts.map +0 -1
  647. package/dist/esm/assets/XIcon.js +0 -3
  648. package/dist/esm/assets/index.d.ts +0 -21
  649. package/dist/esm/assets/index.d.ts.map +0 -1
  650. package/dist/esm/assets/index.js +0 -20
  651. package/dist/esm/components/Banner/index.d.ts +0 -2
  652. package/dist/esm/components/Banner/index.d.ts.map +0 -1
  653. package/dist/esm/components/Banner/index.js +0 -24
  654. package/dist/esm/components/Chart/BarChart.d.ts +0 -29
  655. package/dist/esm/components/Chart/BarChart.d.ts.map +0 -1
  656. package/dist/esm/components/Chart/BarChart.js +0 -123
  657. package/dist/esm/components/Chart/BarList.d.ts +0 -22
  658. package/dist/esm/components/Chart/BarList.d.ts.map +0 -1
  659. package/dist/esm/components/Chart/BarList.js +0 -140
  660. package/dist/esm/components/Chart/ChartError.d.ts +0 -13
  661. package/dist/esm/components/Chart/ChartError.d.ts.map +0 -1
  662. package/dist/esm/components/Chart/ChartError.js +0 -63
  663. package/dist/esm/components/Chart/ChartSkeleton.d.ts +0 -8
  664. package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +0 -1
  665. package/dist/esm/components/Chart/ChartSkeleton.js +0 -19
  666. package/dist/esm/components/Chart/ChartTooltip.d.ts +0 -29
  667. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +0 -1
  668. package/dist/esm/components/Chart/ChartTooltip.js +0 -200
  669. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +0 -5
  670. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +0 -1
  671. package/dist/esm/components/Chart/ChartTooltipFrame.js +0 -14
  672. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts +0 -12
  673. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts.map +0 -1
  674. package/dist/esm/components/Chart/ChartTooltipGroup.js +0 -23
  675. package/dist/esm/components/Chart/ChartTooltipRow.d.ts +0 -9
  676. package/dist/esm/components/Chart/ChartTooltipRow.d.ts.map +0 -1
  677. package/dist/esm/components/Chart/ChartTooltipRow.js +0 -41
  678. package/dist/esm/components/Chart/CustomBar.d.ts +0 -18
  679. package/dist/esm/components/Chart/CustomBar.d.ts.map +0 -1
  680. package/dist/esm/components/Chart/CustomBar.js +0 -68
  681. package/dist/esm/components/Chart/CustomLegend.d.ts +0 -2
  682. package/dist/esm/components/Chart/CustomLegend.d.ts.map +0 -1
  683. package/dist/esm/components/Chart/CustomLegend.js +0 -16
  684. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +0 -2
  685. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +0 -1
  686. package/dist/esm/components/Chart/CustomReferenceLine.js +0 -24
  687. package/dist/esm/components/Chart/GaugeChart.d.ts +0 -11
  688. package/dist/esm/components/Chart/GaugeChart.d.ts.map +0 -1
  689. package/dist/esm/components/Chart/GaugeChart.js +0 -241
  690. package/dist/esm/components/Chart/InternalChart.d.ts +0 -15
  691. package/dist/esm/components/Chart/InternalChart.d.ts.map +0 -1
  692. package/dist/esm/components/Chart/InternalChart.js +0 -491
  693. package/dist/esm/components/Chart/LineChart.d.ts +0 -33
  694. package/dist/esm/components/Chart/LineChart.d.ts.map +0 -1
  695. package/dist/esm/components/Chart/LineChart.js +0 -186
  696. package/dist/esm/components/Chart/MapChart.d.ts +0 -36
  697. package/dist/esm/components/Chart/MapChart.d.ts.map +0 -1
  698. package/dist/esm/components/Chart/MapChart.js +0 -594
  699. package/dist/esm/components/Chart/PieChart.d.ts +0 -79
  700. package/dist/esm/components/Chart/PieChart.d.ts.map +0 -1
  701. package/dist/esm/components/Chart/PieChart.js +0 -276
  702. package/dist/esm/components/Dashboard/ChartComponent.d.ts +0 -3
  703. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +0 -1
  704. package/dist/esm/components/Dashboard/ChartComponent.js +0 -61
  705. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +0 -56
  706. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +0 -1
  707. package/dist/esm/components/Dashboard/DashboardFilter.js +0 -90
  708. package/dist/esm/components/Dashboard/DashboardSection.d.ts +0 -6
  709. package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +0 -1
  710. package/dist/esm/components/Dashboard/DashboardSection.js +0 -22
  711. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +0 -2
  712. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +0 -1
  713. package/dist/esm/components/Dashboard/DashboardSectionContainer.js +0 -9
  714. package/dist/esm/components/Dashboard/DataLoader.d.ts +0 -46
  715. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +0 -1
  716. package/dist/esm/components/Dashboard/DataLoader.js +0 -712
  717. package/dist/esm/components/Dashboard/MetricComponent.d.ts +0 -3
  718. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +0 -1
  719. package/dist/esm/components/Dashboard/MetricComponent.js +0 -132
  720. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +0 -3
  721. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +0 -1
  722. package/dist/esm/components/Dashboard/TemplateChartComponent.js +0 -17
  723. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +0 -3
  724. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +0 -1
  725. package/dist/esm/components/Dashboard/TemplateMetricComponent.js +0 -17
  726. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +0 -14
  727. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +0 -1
  728. package/dist/esm/components/Dashboard/TemplateTableComponent.js +0 -17
  729. package/dist/esm/components/Dashboard/util.d.ts +0 -8
  730. package/dist/esm/components/Dashboard/util.d.ts.map +0 -1
  731. package/dist/esm/components/Dashboard/util.js +0 -96
  732. package/dist/esm/components/QuillCard.d.ts +0 -9
  733. package/dist/esm/components/QuillCard.d.ts.map +0 -1
  734. package/dist/esm/components/QuillCard.js +0 -57
  735. package/dist/esm/components/QuillComponentTables.d.ts +0 -20
  736. package/dist/esm/components/QuillComponentTables.d.ts.map +0 -1
  737. package/dist/esm/components/QuillComponentTables.js +0 -131
  738. package/dist/esm/components/QuillMultiSelect.d.ts +0 -11
  739. package/dist/esm/components/QuillMultiSelect.d.ts.map +0 -1
  740. package/dist/esm/components/QuillMultiSelect.js +0 -207
  741. package/dist/esm/components/QuillMultiSelectSectionList.d.ts +0 -39
  742. package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +0 -1
  743. package/dist/esm/components/QuillMultiSelectSectionList.js +0 -328
  744. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +0 -15
  745. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +0 -1
  746. package/dist/esm/components/QuillMultiSelectWithCombo.js +0 -469
  747. package/dist/esm/components/QuillSelect.d.ts +0 -6
  748. package/dist/esm/components/QuillSelect.d.ts.map +0 -1
  749. package/dist/esm/components/QuillSelect.js +0 -216
  750. package/dist/esm/components/QuillSelectWithCombo.d.ts +0 -6
  751. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +0 -1
  752. package/dist/esm/components/QuillSelectWithCombo.js +0 -213
  753. package/dist/esm/components/QuillTable.d.ts +0 -38
  754. package/dist/esm/components/QuillTable.d.ts.map +0 -1
  755. package/dist/esm/components/QuillTable.js +0 -300
  756. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +0 -28
  757. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +0 -1
  758. package/dist/esm/components/ReportBuilder/AddColumnModal.js +0 -264
  759. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +0 -26
  760. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +0 -1
  761. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +0 -55
  762. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +0 -30
  763. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +0 -1
  764. package/dist/esm/components/ReportBuilder/AddSortPopover.js +0 -56
  765. package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts +0 -49
  766. package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts.map +0 -1
  767. package/dist/esm/components/ReportBuilder/ColumnComponent.js +0 -39
  768. package/dist/esm/components/ReportBuilder/DraggableColumns.d.ts +0 -17
  769. package/dist/esm/components/ReportBuilder/DraggableColumns.d.ts.map +0 -1
  770. package/dist/esm/components/ReportBuilder/DraggableColumns.js +0 -46
  771. package/dist/esm/components/ReportBuilder/DraggableItem.d.ts +0 -17
  772. package/dist/esm/components/ReportBuilder/DraggableItem.d.ts.map +0 -1
  773. package/dist/esm/components/ReportBuilder/DraggableItem.js +0 -14
  774. package/dist/esm/components/ReportBuilder/FilterComponent.d.ts +0 -65
  775. package/dist/esm/components/ReportBuilder/FilterComponent.d.ts.map +0 -1
  776. package/dist/esm/components/ReportBuilder/FilterComponent.js +0 -44
  777. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +0 -29
  778. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +0 -1
  779. package/dist/esm/components/ReportBuilder/FilterModal.js +0 -700
  780. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +0 -28
  781. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +0 -1
  782. package/dist/esm/components/ReportBuilder/FilterStack.js +0 -51
  783. package/dist/esm/components/ReportBuilder/LimitComponent.d.ts +0 -42
  784. package/dist/esm/components/ReportBuilder/LimitComponent.d.ts.map +0 -1
  785. package/dist/esm/components/ReportBuilder/LimitComponent.js +0 -46
  786. package/dist/esm/components/ReportBuilder/PivotComponent.d.ts +0 -66
  787. package/dist/esm/components/ReportBuilder/PivotComponent.d.ts.map +0 -1
  788. package/dist/esm/components/ReportBuilder/PivotComponent.js +0 -40
  789. package/dist/esm/components/ReportBuilder/SaveReport.d.ts +0 -162
  790. package/dist/esm/components/ReportBuilder/SaveReport.d.ts.map +0 -1
  791. package/dist/esm/components/ReportBuilder/SaveReport.js +0 -32
  792. package/dist/esm/components/ReportBuilder/SortComponent.d.ts +0 -42
  793. package/dist/esm/components/ReportBuilder/SortComponent.d.ts.map +0 -1
  794. package/dist/esm/components/ReportBuilder/SortComponent.js +0 -46
  795. package/dist/esm/components/ReportBuilder/TableComponent.d.ts +0 -28
  796. package/dist/esm/components/ReportBuilder/TableComponent.d.ts.map +0 -1
  797. package/dist/esm/components/ReportBuilder/TableComponent.js +0 -20
  798. package/dist/esm/components/ReportBuilder/ast.d.ts +0 -525
  799. package/dist/esm/components/ReportBuilder/ast.d.ts.map +0 -1
  800. package/dist/esm/components/ReportBuilder/ast.js +0 -265
  801. package/dist/esm/components/ReportBuilder/bigDateMap.d.ts +0 -7
  802. package/dist/esm/components/ReportBuilder/bigDateMap.d.ts.map +0 -1
  803. package/dist/esm/components/ReportBuilder/bigDateMap.js +0 -687
  804. package/dist/esm/components/ReportBuilder/constants.d.ts +0 -117
  805. package/dist/esm/components/ReportBuilder/constants.d.ts.map +0 -1
  806. package/dist/esm/components/ReportBuilder/constants.js +0 -161
  807. package/dist/esm/components/ReportBuilder/convert.d.ts +0 -40
  808. package/dist/esm/components/ReportBuilder/convert.d.ts.map +0 -1
  809. package/dist/esm/components/ReportBuilder/convert.js +0 -691
  810. package/dist/esm/components/ReportBuilder/operators.d.ts +0 -462
  811. package/dist/esm/components/ReportBuilder/operators.d.ts.map +0 -1
  812. package/dist/esm/components/ReportBuilder/operators.js +0 -581
  813. package/dist/esm/components/ReportBuilder/postgres.d.ts +0 -150
  814. package/dist/esm/components/ReportBuilder/postgres.d.ts.map +0 -1
  815. package/dist/esm/components/ReportBuilder/postgres.js +0 -355
  816. package/dist/esm/components/ReportBuilder/schema.d.ts +0 -30
  817. package/dist/esm/components/ReportBuilder/schema.d.ts.map +0 -1
  818. package/dist/esm/components/ReportBuilder/schema.js +0 -1
  819. package/dist/esm/components/ReportBuilder/ui.d.ts +0 -135
  820. package/dist/esm/components/ReportBuilder/ui.d.ts.map +0 -1
  821. package/dist/esm/components/ReportBuilder/ui.js +0 -433
  822. package/dist/esm/components/ReportBuilder/util.d.ts +0 -78
  823. package/dist/esm/components/ReportBuilder/util.d.ts.map +0 -1
  824. package/dist/esm/components/ReportBuilder/util.js +0 -801
  825. package/dist/esm/components/UiComponents.d.ts +0 -243
  826. package/dist/esm/components/UiComponents.d.ts.map +0 -1
  827. package/dist/esm/components/UiComponents.js +0 -859
  828. package/dist/esm/components/selectUtils.d.ts +0 -9
  829. package/dist/esm/components/selectUtils.d.ts.map +0 -1
  830. package/dist/esm/components/selectUtils.js +0 -17
  831. package/dist/esm/components/shared/LoadingComponents.d.ts +0 -2
  832. package/dist/esm/components/shared/LoadingComponents.d.ts.map +0 -1
  833. package/dist/esm/components/shared/LoadingComponents.js +0 -21
  834. package/dist/esm/components/shared/TableInterfaces.d.ts +0 -42
  835. package/dist/esm/components/shared/TableInterfaces.d.ts.map +0 -1
  836. package/dist/esm/components/shared/TableInterfaces.js +0 -1
  837. package/dist/esm/contexts/BaseColorContext.d.ts +0 -3
  838. package/dist/esm/contexts/BaseColorContext.d.ts.map +0 -1
  839. package/dist/esm/contexts/BaseColorContext.js +0 -3
  840. package/dist/esm/contexts/HoveredValueContext.d.ts +0 -8
  841. package/dist/esm/contexts/HoveredValueContext.d.ts.map +0 -1
  842. package/dist/esm/contexts/HoveredValueContext.js +0 -5
  843. package/dist/esm/contexts/RootStylesContext.d.ts +0 -3
  844. package/dist/esm/contexts/RootStylesContext.d.ts.map +0 -1
  845. package/dist/esm/contexts/RootStylesContext.js +0 -3
  846. package/dist/esm/contexts/SelectedValueContext.d.ts +0 -7
  847. package/dist/esm/contexts/SelectedValueContext.d.ts.map +0 -1
  848. package/dist/esm/contexts/SelectedValueContext.js +0 -6
  849. package/dist/esm/contexts/index.d.ts +0 -5
  850. package/dist/esm/contexts/index.d.ts.map +0 -1
  851. package/dist/esm/contexts/index.js +0 -4
  852. package/dist/esm/hooks/index.d.ts +0 -5
  853. package/dist/esm/hooks/index.d.ts.map +0 -1
  854. package/dist/esm/hooks/index.js +0 -4
  855. package/dist/esm/hooks/useAskQuill.d.ts +0 -26
  856. package/dist/esm/hooks/useAskQuill.d.ts.map +0 -1
  857. package/dist/esm/hooks/useAskQuill.js +0 -250
  858. package/dist/esm/hooks/useAstToFilterTree.d.ts +0 -16
  859. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +0 -1
  860. package/dist/esm/hooks/useAstToFilterTree.js +0 -27
  861. package/dist/esm/hooks/useDashboard.d.ts +0 -86
  862. package/dist/esm/hooks/useDashboard.d.ts.map +0 -1
  863. package/dist/esm/hooks/useDashboard.js +0 -876
  864. package/dist/esm/hooks/useExport.d.ts +0 -22
  865. package/dist/esm/hooks/useExport.d.ts.map +0 -1
  866. package/dist/esm/hooks/useExport.js +0 -309
  867. package/dist/esm/hooks/useFormat.d.ts +0 -5
  868. package/dist/esm/hooks/useFormat.d.ts.map +0 -1
  869. package/dist/esm/hooks/useFormat.js +0 -25
  870. package/dist/esm/hooks/useInternalState.d.ts +0 -3
  871. package/dist/esm/hooks/useInternalState.d.ts.map +0 -1
  872. package/dist/esm/hooks/useInternalState.js +0 -14
  873. package/dist/esm/hooks/useLongLoading.d.ts +0 -13
  874. package/dist/esm/hooks/useLongLoading.d.ts.map +0 -1
  875. package/dist/esm/hooks/useLongLoading.js +0 -64
  876. package/dist/esm/hooks/useOnClickOutside.d.ts +0 -6
  877. package/dist/esm/hooks/useOnClickOutside.d.ts.map +0 -1
  878. package/dist/esm/hooks/useOnClickOutside.js +0 -55
  879. package/dist/esm/hooks/useOnWindowResize.d.ts +0 -5
  880. package/dist/esm/hooks/useOnWindowResize.d.ts.map +0 -1
  881. package/dist/esm/hooks/useOnWindowResize.js +0 -14
  882. package/dist/esm/hooks/useQuill.d.ts +0 -24
  883. package/dist/esm/hooks/useQuill.d.ts.map +0 -1
  884. package/dist/esm/hooks/useQuill.js +0 -231
  885. package/dist/esm/hooks/useReport.d.ts +0 -12
  886. package/dist/esm/hooks/useReport.d.ts.map +0 -1
  887. package/dist/esm/hooks/useReport.js +0 -45
  888. package/dist/esm/hooks/useReportBuilder.d.ts +0 -178
  889. package/dist/esm/hooks/useReportBuilder.d.ts.map +0 -1
  890. package/dist/esm/hooks/useReportBuilder.js +0 -1490
  891. package/dist/esm/hooks/useSelectOnKeyDown.d.ts +0 -3
  892. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +0 -1
  893. package/dist/esm/hooks/useSelectOnKeyDown.js +0 -63
  894. package/dist/esm/hooks/useVirtualTables.d.ts +0 -23
  895. package/dist/esm/hooks/useVirtualTables.d.ts.map +0 -1
  896. package/dist/esm/hooks/useVirtualTables.js +0 -127
  897. package/dist/esm/index.d.ts +0 -55
  898. package/dist/esm/index.d.ts.map +0 -1
  899. package/dist/esm/index.js +0 -31
  900. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +0 -55
  901. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +0 -1
  902. package/dist/esm/internals/ReportBuilder/PivotForm.js +0 -205
  903. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +0 -39
  904. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +0 -1
  905. package/dist/esm/internals/ReportBuilder/PivotList.js +0 -96
  906. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +0 -123
  907. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +0 -1
  908. package/dist/esm/internals/ReportBuilder/PivotModal.js +0 -1405
  909. package/dist/esm/lib/font.d.ts +0 -14
  910. package/dist/esm/lib/font.d.ts.map +0 -1
  911. package/dist/esm/lib/font.js +0 -13
  912. package/dist/esm/lib/index.d.ts +0 -4
  913. package/dist/esm/lib/index.d.ts.map +0 -1
  914. package/dist/esm/lib/index.js +0 -3
  915. package/dist/esm/lib/inputTypes.d.ts +0 -21
  916. package/dist/esm/lib/inputTypes.d.ts.map +0 -1
  917. package/dist/esm/lib/inputTypes.js +0 -55
  918. package/dist/esm/lib/utils.d.ts +0 -10
  919. package/dist/esm/lib/utils.d.ts.map +0 -1
  920. package/dist/esm/lib/utils.js +0 -42
  921. package/dist/esm/models/Chart.d.ts +0 -15
  922. package/dist/esm/models/Chart.d.ts.map +0 -1
  923. package/dist/esm/models/Chart.js +0 -1
  924. package/dist/esm/models/ChartBuilder.d.ts +0 -35
  925. package/dist/esm/models/ChartBuilder.d.ts.map +0 -1
  926. package/dist/esm/models/ChartBuilder.js +0 -1
  927. package/dist/esm/models/Client.d.ts +0 -52
  928. package/dist/esm/models/Client.d.ts.map +0 -1
  929. package/dist/esm/models/Client.js +0 -1
  930. package/dist/esm/models/Columns.d.ts +0 -14
  931. package/dist/esm/models/Columns.d.ts.map +0 -1
  932. package/dist/esm/models/Columns.js +0 -1
  933. package/dist/esm/models/Dashboard.d.ts +0 -49
  934. package/dist/esm/models/Dashboard.d.ts.map +0 -1
  935. package/dist/esm/models/Dashboard.js +0 -1
  936. package/dist/esm/models/Data.d.ts +0 -20
  937. package/dist/esm/models/Data.d.ts.map +0 -1
  938. package/dist/esm/models/Data.js +0 -1
  939. package/dist/esm/models/Date.d.ts +0 -39
  940. package/dist/esm/models/Date.d.ts.map +0 -1
  941. package/dist/esm/models/Date.js +0 -1
  942. package/dist/esm/models/Event.d.ts +0 -37
  943. package/dist/esm/models/Event.d.ts.map +0 -1
  944. package/dist/esm/models/Event.js +0 -1
  945. package/dist/esm/models/Filter.d.ts +0 -288
  946. package/dist/esm/models/Filter.d.ts.map +0 -1
  947. package/dist/esm/models/Filter.js +0 -446
  948. package/dist/esm/models/Pagination.d.ts +0 -18
  949. package/dist/esm/models/Pagination.d.ts.map +0 -1
  950. package/dist/esm/models/Pagination.js +0 -1
  951. package/dist/esm/models/Pivot.d.ts +0 -57
  952. package/dist/esm/models/Pivot.d.ts.map +0 -1
  953. package/dist/esm/models/Pivot.js +0 -1
  954. package/dist/esm/models/Report.d.ts +0 -147
  955. package/dist/esm/models/Report.d.ts.map +0 -1
  956. package/dist/esm/models/Report.js +0 -1
  957. package/dist/esm/models/ReportBuilder.d.ts +0 -46
  958. package/dist/esm/models/ReportBuilder.d.ts.map +0 -1
  959. package/dist/esm/models/ReportBuilder.js +0 -16
  960. package/dist/esm/models/Schema.d.ts +0 -18
  961. package/dist/esm/models/Schema.d.ts.map +0 -1
  962. package/dist/esm/models/Schema.js +0 -1
  963. package/dist/esm/models/Tables.d.ts +0 -36
  964. package/dist/esm/models/Tables.d.ts.map +0 -1
  965. package/dist/esm/models/Tables.js +0 -1
  966. package/dist/esm/models/Theme.d.ts +0 -57
  967. package/dist/esm/models/Theme.d.ts.map +0 -1
  968. package/dist/esm/models/Theme.js +0 -26
  969. package/dist/esm/utils/astFilterProcessing.d.ts +0 -38
  970. package/dist/esm/utils/astFilterProcessing.d.ts.map +0 -1
  971. package/dist/esm/utils/astFilterProcessing.js +0 -11759
  972. package/dist/esm/utils/astProcessing.d.ts +0 -92
  973. package/dist/esm/utils/astProcessing.d.ts.map +0 -1
  974. package/dist/esm/utils/astProcessing.js +0 -560
  975. package/dist/esm/utils/axisFormatter.d.ts +0 -19
  976. package/dist/esm/utils/axisFormatter.d.ts.map +0 -1
  977. package/dist/esm/utils/axisFormatter.js +0 -212
  978. package/dist/esm/utils/chart.d.ts +0 -2
  979. package/dist/esm/utils/chart.d.ts.map +0 -1
  980. package/dist/esm/utils/chart.js +0 -10
  981. package/dist/esm/utils/chartBuilder.d.ts +0 -18
  982. package/dist/esm/utils/chartBuilder.d.ts.map +0 -1
  983. package/dist/esm/utils/chartBuilder.js +0 -75
  984. package/dist/esm/utils/client.d.ts +0 -20
  985. package/dist/esm/utils/client.d.ts.map +0 -1
  986. package/dist/esm/utils/client.js +0 -103
  987. package/dist/esm/utils/color.d.ts +0 -203
  988. package/dist/esm/utils/color.d.ts.map +0 -1
  989. package/dist/esm/utils/color.js +0 -431
  990. package/dist/esm/utils/columnProcessing.d.ts +0 -22
  991. package/dist/esm/utils/columnProcessing.d.ts.map +0 -1
  992. package/dist/esm/utils/columnProcessing.js +0 -346
  993. package/dist/esm/utils/columnType.d.ts +0 -5
  994. package/dist/esm/utils/columnType.d.ts.map +0 -1
  995. package/dist/esm/utils/columnType.js +0 -42
  996. package/dist/esm/utils/constants.d.ts +0 -9
  997. package/dist/esm/utils/constants.d.ts.map +0 -1
  998. package/dist/esm/utils/constants.js +0 -12
  999. package/dist/esm/utils/crypto.d.ts +0 -2
  1000. package/dist/esm/utils/crypto.d.ts.map +0 -1
  1001. package/dist/esm/utils/crypto.js +0 -10
  1002. package/dist/esm/utils/csv.d.ts +0 -7
  1003. package/dist/esm/utils/csv.d.ts.map +0 -1
  1004. package/dist/esm/utils/csv.js +0 -74
  1005. package/dist/esm/utils/dashboard.d.ts +0 -36
  1006. package/dist/esm/utils/dashboard.d.ts.map +0 -1
  1007. package/dist/esm/utils/dashboard.js +0 -414
  1008. package/dist/esm/utils/dataFetcher.d.ts +0 -13
  1009. package/dist/esm/utils/dataFetcher.d.ts.map +0 -1
  1010. package/dist/esm/utils/dataFetcher.js +0 -395
  1011. package/dist/esm/utils/dataProcessing.d.ts +0 -15
  1012. package/dist/esm/utils/dataProcessing.d.ts.map +0 -1
  1013. package/dist/esm/utils/dataProcessing.js +0 -156
  1014. package/dist/esm/utils/dates.d.ts +0 -28
  1015. package/dist/esm/utils/dates.d.ts.map +0 -1
  1016. package/dist/esm/utils/dates.js +0 -160
  1017. package/dist/esm/utils/error.d.ts +0 -5
  1018. package/dist/esm/utils/error.d.ts.map +0 -1
  1019. package/dist/esm/utils/error.js +0 -8
  1020. package/dist/esm/utils/errorProcessing.d.ts +0 -2
  1021. package/dist/esm/utils/errorProcessing.d.ts.map +0 -1
  1022. package/dist/esm/utils/errorProcessing.js +0 -5
  1023. package/dist/esm/utils/filterConstants.d.ts +0 -34
  1024. package/dist/esm/utils/filterConstants.d.ts.map +0 -1
  1025. package/dist/esm/utils/filterConstants.js +0 -33
  1026. package/dist/esm/utils/filterProcessing.d.ts +0 -28
  1027. package/dist/esm/utils/filterProcessing.d.ts.map +0 -1
  1028. package/dist/esm/utils/filterProcessing.js +0 -518
  1029. package/dist/esm/utils/getDomain.d.ts +0 -11
  1030. package/dist/esm/utils/getDomain.d.ts.map +0 -1
  1031. package/dist/esm/utils/getDomain.js +0 -62
  1032. package/dist/esm/utils/logging.d.ts +0 -2
  1033. package/dist/esm/utils/logging.d.ts.map +0 -1
  1034. package/dist/esm/utils/logging.js +0 -7
  1035. package/dist/esm/utils/merge.d.ts +0 -18
  1036. package/dist/esm/utils/merge.d.ts.map +0 -1
  1037. package/dist/esm/utils/merge.js +0 -227
  1038. package/dist/esm/utils/monacoConfig.d.ts +0 -22
  1039. package/dist/esm/utils/monacoConfig.d.ts.map +0 -1
  1040. package/dist/esm/utils/monacoConfig.js +0 -319
  1041. package/dist/esm/utils/paginationProcessing.d.ts +0 -6
  1042. package/dist/esm/utils/paginationProcessing.d.ts.map +0 -1
  1043. package/dist/esm/utils/paginationProcessing.js +0 -28
  1044. package/dist/esm/utils/parserBigQuery.d.ts +0 -6
  1045. package/dist/esm/utils/parserBigQuery.d.ts.map +0 -1
  1046. package/dist/esm/utils/parserBigQuery.js +0 -52
  1047. package/dist/esm/utils/parserPostgres.d.ts +0 -3
  1048. package/dist/esm/utils/parserPostgres.d.ts.map +0 -1
  1049. package/dist/esm/utils/parserPostgres.js +0 -37
  1050. package/dist/esm/utils/pivotConstructor.d.ts +0 -59
  1051. package/dist/esm/utils/pivotConstructor.d.ts.map +0 -1
  1052. package/dist/esm/utils/pivotConstructor.js +0 -351
  1053. package/dist/esm/utils/pivotProcessing.d.ts +0 -34
  1054. package/dist/esm/utils/pivotProcessing.d.ts.map +0 -1
  1055. package/dist/esm/utils/pivotProcessing.js +0 -191
  1056. package/dist/esm/utils/queryConstructor.d.ts +0 -15
  1057. package/dist/esm/utils/queryConstructor.d.ts.map +0 -1
  1058. package/dist/esm/utils/queryConstructor.js +0 -935
  1059. package/dist/esm/utils/report.d.ts +0 -121
  1060. package/dist/esm/utils/report.d.ts.map +0 -1
  1061. package/dist/esm/utils/report.js +0 -616
  1062. package/dist/esm/utils/reportBuilder.d.ts +0 -109
  1063. package/dist/esm/utils/reportBuilder.d.ts.map +0 -1
  1064. package/dist/esm/utils/reportBuilder.js +0 -800
  1065. package/dist/esm/utils/schema.d.ts +0 -39
  1066. package/dist/esm/utils/schema.d.ts.map +0 -1
  1067. package/dist/esm/utils/schema.js +0 -227
  1068. package/dist/esm/utils/styles.d.ts +0 -17
  1069. package/dist/esm/utils/styles.d.ts.map +0 -1
  1070. package/dist/esm/utils/styles.js +0 -16
  1071. package/dist/esm/utils/tableProcessing.d.ts +0 -189
  1072. package/dist/esm/utils/tableProcessing.d.ts.map +0 -1
  1073. package/dist/esm/utils/tableProcessing.js +0 -652
  1074. package/dist/esm/utils/tenants.d.ts +0 -9
  1075. package/dist/esm/utils/tenants.d.ts.map +0 -1
  1076. package/dist/esm/utils/tenants.js +0 -1
  1077. package/dist/esm/utils/textProcessing.d.ts +0 -7
  1078. package/dist/esm/utils/textProcessing.d.ts.map +0 -1
  1079. package/dist/esm/utils/textProcessing.js +0 -109
  1080. package/dist/esm/utils/ui.d.ts +0 -2
  1081. package/dist/esm/utils/ui.d.ts.map +0 -1
  1082. package/dist/esm/utils/ui.js +0 -14
  1083. package/dist/esm/utils/validation.d.ts +0 -9
  1084. package/dist/esm/utils/validation.d.ts.map +0 -1
  1085. package/dist/esm/utils/validation.js +0 -26
  1086. package/dist/esm/utils/valueFormatter.d.ts +0 -34
  1087. package/dist/esm/utils/valueFormatter.d.ts.map +0 -1
  1088. package/dist/esm/utils/valueFormatter.js +0 -436
  1089. package/dist/esm/utils/width.d.ts +0 -12
  1090. package/dist/esm/utils/width.d.ts.map +0 -1
  1091. package/dist/esm/utils/width.js +0 -21
@@ -1,2210 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useRef, useState, useContext, useMemo, } from 'react';
3
- import { ClientContext, DashboardConfigContext, DashboardFiltersContext, EventTrackingContext, FetchContext, ReportFiltersContext, ReportsContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
4
- import { PivotModal } from './internals/ReportBuilder/PivotModal';
5
- import { isDateField } from './utils/dates';
6
- import { PivotCard } from './internals/ReportBuilder/PivotList';
7
- import { MemoizedModal, QuillTextInput, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillChartBuilderFormContainer, QuillLoadingComponent, QuillToolTip, QuillChartBuilderCheckboxComponent, } from './components/UiComponents';
8
- import { removeDoubleQuotes, snakeAndCamelCaseToTitleCase, } from './utils/textProcessing';
9
- import { QuillSelectComponent } from './components/QuillSelect';
10
- import { TEMP_REPORT_ID, } from './models/Report';
11
- import { QuillCard } from './components/QuillCard';
12
- import { quillAutoFormat, NUMBER_FORMAT_TYPES, quillFormat, } from './utils/valueFormatter';
13
- import { convertFieldTypeToJSType } from './utils/columnProcessing';
14
- import { isDateType, isNumberType, isStringType } from './utils/columnType';
15
- import { getSelectFromAST, getTablesHelper } from './utils/astProcessing';
16
- import { validateReport } from './utils/validation';
17
- import { QuillChartErrorWithAction } from './components/Chart/ChartError';
18
- import { convertInternalReportToReport, saveReport } from './utils/report';
19
- import { mergeComparisonRange } from './utils/merge';
20
- import { ExclamationFilledIcon } from './assets';
21
- import InternalChart from './components/Chart/InternalChart';
22
- import { shouldFetchMore,
23
- // shouldSortInMemory,
24
- } from './utils/paginationProcessing';
25
- import { fetchResultsByQuery, getUniqueValuesByQuery, } from './utils/tableProcessing';
26
- import { getDateBucketFromRange } from './utils/dates';
27
- import { QuillMultiSelectComponentWithCombo as MultiSelectComponent } from './components/QuillMultiSelectWithCombo';
28
- import { QuillMultiSelectSectionList } from './components/QuillMultiSelectSectionList';
29
- import { ALL_TENANTS, REFERENCE_LINE, SINGLE_TENANT } from './utils/constants';
30
- import { generatePivotTable } from './utils/pivotConstructor';
31
- import { useAllReports, useDashboardInternal, useDashboardReports, } from './hooks/useDashboard';
32
- import { ALL_FORMAT_OPTIONS, NUMBER_OPTIONS, numberFormatOptions, } from './utils/chartBuilder';
33
- import { disambiguatedValueField } from './utils/pivotProcessing';
34
- import { QuillTableComponent } from './components/QuillComponentTables';
35
- const CHART_TYPES = [
36
- 'column',
37
- 'stacked',
38
- 'line',
39
- 'table',
40
- 'metric',
41
- 'gauge',
42
- 'bar',
43
- 'pie',
44
- 'US map',
45
- 'World map',
46
- ];
47
- const CHART_TO_LABELS = {
48
- column: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
49
- line: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
50
- table: {},
51
- metric: {},
52
- bar: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
53
- stacked: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
54
- pie: { xAxisLabel: 'Category', yAxisLabel: 'Count' },
55
- 'US map': { xAxisLabel: 'State', yAxisLabel: 'Value' },
56
- 'World map': { xAxisLabel: 'Country', yAxisLabel: 'Value' },
57
- gauge: { xAxisLabel: 'Value' },
58
- };
59
- function getPivotMetricOptions(pivot, selectedPivotTable, chartType) {
60
- if (['metric', 'gauge'].includes(chartType) && selectedPivotTable) {
61
- return selectedPivotTable.columns.map((elem) => ({
62
- label: elem.field === pivot?.rowField
63
- ? `Pivot Row (${elem.field})`
64
- : elem.field,
65
- value: elem.field,
66
- }));
67
- }
68
- if (!pivot.rowField) {
69
- const valueField = disambiguatedValueField(pivot);
70
- return [
71
- {
72
- label: `Pivot Value (${valueField})`,
73
- value: valueField ?? '',
74
- },
75
- ];
76
- }
77
- else {
78
- return [
79
- {
80
- label: `Pivot Row (${pivot.rowField})`,
81
- value: pivot.rowField,
82
- },
83
- ];
84
- }
85
- }
86
- function getChartTypeOptions(formData, dashboard) {
87
- let viableCharts = CHART_TYPES;
88
- if (dashboard && dashboard.dateFilter && dashboard.dateFilter.comparison) {
89
- viableCharts = viableCharts.filter((chart) => ![
90
- 'table',
91
- 'metric',
92
- 'gauge',
93
- 'bar',
94
- 'stacked',
95
- 'pie',
96
- 'US map',
97
- 'World map',
98
- ].includes(chart));
99
- }
100
- if (formData.pivot && !formData.pivot.rowField) {
101
- return viableCharts
102
- .filter((elem) => ['table', 'metric', 'gauge'].includes(elem))
103
- .map((elem) => ({
104
- label: elem,
105
- value: elem,
106
- }));
107
- }
108
- else {
109
- return viableCharts
110
- .filter((elem) => !(formData.pivot &&
111
- formData.pivot.columnField &&
112
- (elem === 'bar' ||
113
- elem === 'pie' ||
114
- elem === 'US map' ||
115
- elem === 'World map')))
116
- .map((elem) => ({ label: elem, value: elem }));
117
- }
118
- }
119
- export function createReportFromForm(formData, report, eventTracking, selectedPivotTable, rows = [], filtersApplied = [], referenceLineQueryResults) {
120
- const newReport = convertInternalReportToReport(mergeComparisonRange({
121
- ...formData,
122
- dashboardName: formData.dashboardName || '',
123
- pivot: formData.pivot,
124
- id: report.id,
125
- order: -1,
126
- compareRows: report?.compareRows,
127
- filtersApplied: report?.filtersApplied || [],
128
- queryString: '',
129
- rows: rows,
130
- rowCount: selectedPivotTable?.rowCount ||
131
- report?.rowCount ||
132
- selectedPivotTable?.rows?.length ||
133
- rows.length ||
134
- 0,
135
- yAxisFields: formData.yAxisFields ?? [],
136
- pivotColumns: selectedPivotTable?.columns ?? undefined,
137
- pivotRows: selectedPivotTable?.rows ?? undefined,
138
- columnInternal: report?.columnInternal ?? [],
139
- referenceLines: formData.referenceLines?.map((elem) => ({
140
- label: elem.label,
141
- query: elem.label === REFERENCE_LINE
142
- ? [Number(elem.y1) || 0, Number(elem.y2) || 0]
143
- : elem.label,
144
- })) || [],
145
- referenceLineYValues: formData.referenceLines?.map((elem, index) => ({
146
- label: elem.label,
147
- query: elem.label === REFERENCE_LINE
148
- ? [Number(elem.y1) || 0, Number(elem.y2) || 0]
149
- : referenceLineQueryResults?.[index],
150
- })) || [],
151
- }), filtersApplied, eventTracking);
152
- return newReport;
153
- }
154
- /**
155
- * ### Quill Chart Builder with Modal
156
- *
157
- * Renders a ChartBuilder component with a modal.
158
- *
159
- * @example
160
- * ```js
161
- * // Usage without custom components
162
- * <ChartBuilder />
163
- * ```
164
- *
165
- * @example
166
- * ```js
167
- * // You can also pass your own components
168
- * <ChartBuilder
169
- * ButtonComponent={MyButton}
170
- * SecondaryButtonComponent={MySecondaryButton}
171
- * />
172
- * ```
173
- *
174
- * ### Chart Builder API
175
- * @see https://docs.quillsql.com/components/chart-builder#with-modal
176
- */
177
- export function ChartBuilderWithModal(props) {
178
- const parentRef = useRef(null);
179
- const [modalWidth, setModalWidth] = useState(200);
180
- const [modalHeight, setModalHeight] = useState(200);
181
- const { isOpen, setIsOpen, title, isHorizontalView } = props;
182
- const Modal = props.ModalComponent ?? MemoizedModal;
183
- const { dashboardReports: dashboard } = useDashboardReports(props.destinationDashboard);
184
- const [filtersEnabledState, setFiltersEnabledState] = useState(!!props.reportId);
185
- useEffect(() => {
186
- function handleResize() {
187
- const screenSize = window.innerWidth;
188
- if (screenSize >= 1200) {
189
- setModalWidth(window.innerWidth - 80);
190
- }
191
- else {
192
- setModalWidth(undefined); // use dynamic width of contents
193
- }
194
- setModalHeight(window.innerHeight - 80);
195
- }
196
- handleResize();
197
- window.addEventListener('resize', handleResize);
198
- return () => {
199
- window.removeEventListener('resize', handleResize);
200
- };
201
- }, []);
202
- return (_jsx("div", { style: { height: '100%' }, ref: parentRef, children: _jsx(Modal, { isOpen: isOpen, setIsOpen: setIsOpen, title: title || 'Add to dashboard',
203
- // For isHorizontalView, use full viewport size minus 80px for padding,
204
- // otherwise use the default layout method of the modal (contents).
205
- width: isHorizontalView ? modalWidth : undefined, height: isHorizontalView ? modalHeight : undefined, children: (props.reportId
206
- ? (dashboard[props.reportId] ?? props.tempReport)
207
- : props.tempReport) ? (_jsx(ChartBuilder, { ...props, filtersEnabled: filtersEnabledState, onFiltersEnabledChanged: setFiltersEnabledState, runQueryOnMount: filtersEnabledState })) : (_jsx("div", { style: { padding: 20 }, children: _jsx(QuillLoadingComponent, {}) })) }) }));
208
- }
209
- /**
210
- * ### Quill Chart Builder
211
- *
212
- * A simple form that lets users turn a SQL query into a chart, metric, or table
213
- * and then add that dashboard item into one of their dashboards.
214
- *
215
- * @example
216
- * ```js
217
- * // Usage without custom components
218
- * <ChartBuilder />
219
- * ```
220
- *
221
- * @example
222
- * ```js
223
- * // You can also pass your own components
224
- * <ChartBuilder
225
- * ButtonComponent={MyButton}
226
- * SecondaryButtonComponent={MySecondaryButton}
227
- * />
228
- * ```
229
- *
230
- * ### Chart Builder API
231
- * @see https://docs.quillsql.com/components/chart-builder
232
- */
233
- export default function ChartBuilder({ TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent,
234
- // MultiSelectComponent = QuillMultiSelectComponentWithCombo,
235
- ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, LabelComponent = MemoizedLabel, DeleteButtonComponent = MemoizedDeleteButton, TextComponent = MemoizedText, PopoverComponent = MemoizedPopover, CardComponent = QuillCard, TableComponent = QuillTableComponent, ModalComponent = MemoizedModal, LoadingComponent = QuillLoadingComponent, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, FormContainer = QuillChartBuilderFormContainer, ErrorComponent = QuillChartErrorWithAction, CheckboxComponent = QuillChartBuilderCheckboxComponent, onClickChartError, isOpen, isHorizontalView = true, setIsOpen, dateRange, isAdmin = false, showDashboardDropdown = true, hidePivotForm = false, onAddToDashboardComplete, onDelete, onDiscardChanges, reportId, tempReport, recommendedPivots: rp = [], createdPivots: cp = [], dateColumn, buttonLabel, organizationName, hideDeleteButton = false, hideSubmitButton = false, hideDateRangeFilter = false, showTableFormatOptions, initialUniqueValues, initialUniqueValuesIsLoading, pivotRecommendationsEnabled = true, hideTableView = false, hideChartView = false, hideChartType = false, hideDiscardChanges = false, filtersEnabled, onFiltersEnabledChanged,
236
- // isLoading,
237
- destinationDashboard, destinationSection, onClickChartElement, isEditingMode = false, disableSort = true, runQueryOnMount = false, }) {
238
- const [client] = useContext(ClientContext);
239
- const [theme] = useContext(ThemeContext);
240
- const [schemaData] = useContext(SchemaDataContext);
241
- const { getToken, quillFetchWithToken } = useContext(FetchContext);
242
- const { eventTracking } = useContext(EventTrackingContext);
243
- const { addReport } = useDashboardReports(destinationDashboard);
244
- const { reload: reloadDashboard } = useDashboardInternal(destinationDashboard);
245
- const { allReportsById } = useAllReports();
246
- const { dashboardConfig } = useContext(DashboardConfigContext);
247
- const { tenants, flags } = useContext(TenantContext);
248
- const report = useMemo(() => {
249
- return reportId && !tempReport ? allReportsById[reportId] : tempReport;
250
- }, [reportId]);
251
- const [windowWidth, setWindowWidth] = useState(1200);
252
- const [rows, setRows] = useState(report?.rows ?? []);
253
- const [itemQuery, setItemQuery] = useState(report?.itemQuery);
254
- const [rowCount, setRowCount] = useState(report?.rowCount ?? 0);
255
- const [maxPage, setMaxPage] = useState(0);
256
- const [isLoading, setIsLoading] = useState(false);
257
- const [rowCountIsLoading, setRowCountIsLoading] = useState(false);
258
- const [isSubmitting, setIsSubmitting] = useState(false);
259
- const [pivotCardWidth, setPivotCardWidth] = useState(665);
260
- const [formWidth, setFormWidth] = useState(665);
261
- const inputRef = useRef(null);
262
- const selectRef = useRef(null);
263
- const processColumns = (columns) => {
264
- if (schemaData.schemaWithCustomFields) {
265
- const newProcessedColumns = columns?.map((col) => {
266
- if (col.jsType) {
267
- return col;
268
- }
269
- const newCol = { ...col };
270
- let foundColumn;
271
- schemaData.schemaWithCustomFields.forEach((table) => {
272
- if (table.columns) {
273
- const matchedColumn = table.columns.find((c) => c.field === col.field);
274
- if (matchedColumn) {
275
- foundColumn = matchedColumn;
276
- }
277
- }
278
- });
279
- if (!foundColumn) {
280
- return col;
281
- }
282
- newCol.fieldType = foundColumn.fieldType;
283
- newCol.jsType = convertFieldTypeToJSType(foundColumn.fieldType);
284
- return newCol;
285
- });
286
- return newProcessedColumns;
287
- }
288
- return columns;
289
- };
290
- const [processedColumns, setProcessedColumns] = useState(processColumns(report?.columnInternal ?? []));
291
- const [currentPage, setCurrentPage] = useState(0);
292
- const parentRef = useRef(null);
293
- const deleteRef = useRef(null);
294
- const modalPadding = 20;
295
- const deleteButtonMargin = -12;
296
- const { dashboardFilters } = useContext(DashboardFiltersContext);
297
- const specificDashboardFilters = useMemo(() => {
298
- return Object.values(dashboardFilters[report?.dashboardName ?? ''] ?? {}).map((f) => f.filter);
299
- }, [dashboardFilters, report?.dashboardName]);
300
- const validationHelper = (formData, dashboard, dateField, tables) => {
301
- const issues = validateReport(formData, dashboard, dateField || defaultDateField, tables || allTables);
302
- if (issues.length > 0) {
303
- setFilterIssues(issues);
304
- }
305
- else {
306
- setFilterIssues([]);
307
- }
308
- };
309
- useEffect(() => {
310
- const handleResize = () => {
311
- setWindowWidth(window.innerWidth);
312
- // The pivot card should be the same width as the row of inputs
313
- // above it (an input, two selects, plus the gaps between them).
314
- if (inputRef.current && selectRef.current) {
315
- const inputSize = inputRef.current?.getBoundingClientRect();
316
- const selectSize = selectRef.current?.getBoundingClientRect();
317
- const selectWidth = selectSize.width;
318
- const showDash = showDashboardDropdown && !report?.dashboardName;
319
- const spaceBetween = selectSize.left - inputSize.right;
320
- const gap = showDash ? (spaceBetween - selectWidth) / 2 : spaceBetween;
321
- const width = inputSize.width + 2 * gap + 2 * selectWidth;
322
- setPivotCardWidth(width);
323
- // Calculate the form width by adding the width of the delete button
324
- const deleteSize = deleteRef.current?.getBoundingClientRect();
325
- const deleteWidth = deleteSize?.width ?? 0;
326
- setFormWidth(width + deleteWidth);
327
- }
328
- };
329
- handleResize();
330
- window.addEventListener('resize', handleResize);
331
- return () => {
332
- window.removeEventListener('resize', handleResize);
333
- };
334
- }, [isOpen]);
335
- const [dashboardOptions, setDashboardOptions] = useState([]);
336
- const { reportFilters, loadFiltersForReport, reportFiltersDispatch, abortLoadingFilters, } = useContext(ReportFiltersContext);
337
- const { reportsDispatch } = useContext(ReportsContext);
338
- const initialFilters = useRef(reportFilters[report?.id ?? TEMP_REPORT_ID]);
339
- const [reportFiltersLoaded, setReportFiltersLoaded] = useState(!filtersEnabled);
340
- useEffect(() => {
341
- if (!reportFilters[report?.id ?? TEMP_REPORT_ID]) {
342
- loadFiltersForReport(report?.id ?? TEMP_REPORT_ID, 'ChartBuilder', specificDashboardFilters, undefined, undefined, report?.dashboardName);
343
- }
344
- setReportFiltersLoaded(true);
345
- return () => {
346
- abortLoadingFilters(report?.id ?? tempReport?.id ?? TEMP_REPORT_ID);
347
- if (initialFilters.current) {
348
- reportFiltersDispatch({
349
- type: 'ADD_REPORT_FILTERS',
350
- id: report?.id ?? TEMP_REPORT_ID,
351
- data: Object.values(initialFilters.current),
352
- });
353
- }
354
- else {
355
- reportFiltersDispatch({
356
- type: 'CLEAR_REPORT_FILTERS',
357
- id: report?.id ?? TEMP_REPORT_ID,
358
- });
359
- }
360
- };
361
- }, []);
362
- const currentDashboardFilters = useMemo(() => {
363
- return Object.values(reportFilters[report?.id ?? TEMP_REPORT_ID] ?? {}).map((f) => f.filter);
364
- }, [reportFilters, report?.id]);
365
- const [showFilterModal, setShowFilterModal] = useState(false);
366
- const [filterIssues, setFilterIssues] = useState([]);
367
- const [showPivotPopover, setShowPivotPopover] = useState(false);
368
- const [isEdittingPivot, setIsEdittingPivot] = useState(false);
369
- const [selectedPivotIndex, setSelectedPivotIndex] = useState(-1);
370
- const [tableName, setTableName] = useState(undefined);
371
- const [includeCustomFields, setIncludeCustomFields] = useState(report
372
- ? !!report.includeCustomFields
373
- : !!client?.featureFlags?.customFieldsEnabled);
374
- const selectedTable = schemaData.schema?.find((t) => t.displayName === tableName);
375
- const [pivotPopUpTitle, setPivotPopUpTitle] = useState('Add pivot');
376
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
377
- const [pivotError, setPivotError] = useState(undefined);
378
- const pivotData = report?.pivotRows && report?.pivotColumns
379
- ? {
380
- rows: report.pivotRows,
381
- columns: report.pivotColumns,
382
- rowCount: report.pivotRowCount ?? report.pivotRows.length,
383
- pivotQuery: report.pivotQuery ?? '',
384
- comparisonPivotQuery: report.comparisonPivotQuery,
385
- }
386
- : undefined;
387
- const columns = report?.columnInternal ?? [];
388
- const destinationDashboardName = report?.dashboardName || destinationDashboard;
389
- const query = report?.queryString;
390
- const [loadingFormData, setLoadingFormData] = useState(false);
391
- const [triggeredEditChart, setTriggeredEditChart] = useState(false);
392
- const [createdPivots, setCreatedPivots] = useState(report?.pivot ? [report.pivot] : cp);
393
- const [recommendedPivots, setRecommendedPivots] = useState(rp);
394
- const [pivotRowField, setPivotRowField] = useState(report?.pivot?.rowField);
395
- const [pivotColumnField, setPivotColumnField] = useState(report?.pivot?.columnField);
396
- const [pivotAggregations, setPivotAggregations] = useState(report?.pivot?.aggregations ?? [
397
- {
398
- valueField: report?.pivot?.valueField,
399
- valueField2: report?.pivot?.valueField2,
400
- aggregationType: report?.pivot?.aggregationType,
401
- },
402
- ]);
403
- const [pivotLimit, setPivotLimit] = useState(report?.pivot?.rowLimit);
404
- const [pivotSort, setPivotSort] = useState(report?.pivot?.sort &&
405
- report?.pivot?.sortDirection &&
406
- report?.pivot?.sortField
407
- ? {
408
- sortField: report.pivot.sortField,
409
- sortDirection: report.pivot.sortDirection,
410
- }
411
- : undefined);
412
- const baseProcessing = {
413
- page: report?.pagination ?? {
414
- page: 0,
415
- rowsPerPage: 10,
416
- rowsPerRequest: report?.chartType === 'table' ? 50 : 500,
417
- },
418
- };
419
- const [currentProcessing, setCurrentProcessing] = useState(baseProcessing);
420
- const [customTenantAccess, setCustomTenantAccess] = useState(!!Object.values(report?.flags ?? {}).length);
421
- // initial state is the fields array passed in, but can eventually be changed to be the pivot fields
422
- const [dateFieldOptions, setDateFieldOptions] = useState([]);
423
- const [allTables, setAllTables] = useState([]);
424
- const [customFieldTableRef, setCustomFieldTableRef] = useState(false);
425
- const [referencedColumns, setReferencedColumns] = useState({});
426
- const [referencedColumnsWithoutStar, setReferencedColumnsWithoutStar] = useState({});
427
- const [filterMap, setFilterMap] = useState(report?.filterMap ?? {});
428
- const canonicalFilterMap = useMemo(() => {
429
- return Object.fromEntries(Object.entries(filterMap).filter((f) => f[1].table !== undefined && f[1].field !== undefined));
430
- }, [filterMap]);
431
- const validFilter = useMemo(() => {
432
- return specificDashboardFilters.reduce((acc, filter) => {
433
- if (filter.filterType === 'date_range') {
434
- acc[filter.label] = true;
435
- return acc;
436
- }
437
- acc[filter.label] =
438
- !!allTables.find((table) => table === (filterMap[filter.label] ?? filter).table) &&
439
- !!schemaData.schemaWithCustomFields
440
- ?.find((table) => {
441
- return (table.displayName === (filterMap[filter.label] ?? filter).table);
442
- })
443
- ?.columns.find((col) => col.field === (filterMap[filter.label] ?? filter).field);
444
- return acc;
445
- }, {});
446
- }, [specificDashboardFilters, filterMap, allTables]);
447
- const [formFlags, setFormFlags] = useState(report?.flags
448
- ? Object.fromEntries(Object.entries(report.flags).map(([key, value]) => {
449
- if (value === ALL_TENANTS) {
450
- const tenantType = client?.allTenantTypes?.find((t) => t.tenantField === key);
451
- return [
452
- key,
453
- tenantType?.tenantField === SINGLE_TENANT
454
- ? (tenantType?.flags ?? [])
455
- : (tenantType?.tenantIds?.map((id) => id.flag) ?? []),
456
- ];
457
- }
458
- else {
459
- return [key, value];
460
- }
461
- }))
462
- : undefined);
463
- const [defaultDateField, setDefaultDateField] = useState({
464
- table: dateFieldOptions[0]?.name || '',
465
- field: dateFieldOptions[0]?.columns[0]?.field || '',
466
- });
467
- const firstNumberColumn = report?.columnInternal?.find((col) => numberFormatOptions.includes(col.format));
468
- const formEmptyState = {
469
- name: report?.name ?? '',
470
- dashboardName: dashboardOptions[0]?.label ?? '',
471
- columns: report?.columns?.map((col) => {
472
- return { ...col, label: snakeAndCamelCaseToTitleCase(col.label) };
473
- }) ?? [],
474
- xAxisField: report?.columns?.[0]?.field ?? '',
475
- xAxisFormat: report?.columns?.[0]?.format ?? 'string',
476
- yAxisFields: [
477
- {
478
- field: firstNumberColumn?.field ?? report?.columns?.[0]?.field ?? '',
479
- label: '',
480
- format: firstNumberColumn?.format ?? report?.columns?.[0]?.format ?? 'string',
481
- },
482
- ],
483
- xAxisLabel: '',
484
- chartType: firstNumberColumn ? 'line' : 'table',
485
- pivot: null,
486
- dateField: defaultDateField,
487
- template: true,
488
- referenceLines: [],
489
- };
490
- const updateDashboardFilters = async (dashboardName) => {
491
- if (dashboardConfig && dashboardConfig[dashboardName]) {
492
- return dashboardConfig[dashboardName];
493
- }
494
- if (!client) {
495
- return;
496
- }
497
- const { data: responseData } = await quillFetchWithToken({
498
- client,
499
- task: 'dashboard',
500
- metadata: {
501
- name: dashboardName,
502
- clientId: client.clientId,
503
- databaseType: client.databaseType,
504
- useNewNodeSql: true,
505
- tenants,
506
- },
507
- });
508
- if (responseData) {
509
- return {
510
- ...responseData,
511
- createdAt: responseData.createdAt && new Date(responseData.createdAt),
512
- dateFilter: responseData.dateFilter
513
- ? {
514
- ...responseData.dateFilter,
515
- presetOptions: responseData.dateFilter.presetOptions?.map((preset) => ({
516
- ...preset,
517
- loopStart: preset.loopStart
518
- ? new Date(preset.loopStart)
519
- : undefined,
520
- loopEnd: preset.loopEnd
521
- ? new Date(preset.loopEnd)
522
- : undefined,
523
- })),
524
- defaultPresetRanges: responseData.dateFilter.defaultPresetRanges?.map((preset) => ({
525
- ...preset,
526
- loopStart: preset.loopStart
527
- ? new Date(preset.loopStart)
528
- : undefined,
529
- loopEnd: preset.loopEnd
530
- ? new Date(preset.loopEnd)
531
- : undefined,
532
- })),
533
- }
534
- : undefined,
535
- };
536
- }
537
- };
538
- const pivotFormData = (pivot, reportChartType) => {
539
- const yAxisField = pivot.columnField ?? disambiguatedValueField(pivot) ?? '';
540
- const yAxisLabel = report?.yAxisFields && report?.yAxisFields?.length > 0
541
- ? (report.yAxisFields[0]?.label ?? '')
542
- : (disambiguatedValueField(pivot) ?? '');
543
- // date labels for pivots should be treated like strings since they are
544
- const yAxisIsDate = pivot.columnField
545
- ? isDateField(pivot.columnFieldType ?? '')
546
- : false;
547
- const chartType = reportChartType ??
548
- formData?.chartType ??
549
- (pivot.rowField ? 'column' : 'metric');
550
- const rowColumn = (selectedPivotTable?.columns ?? columns).find((col) => col.field === pivot.rowField);
551
- const xAxisField = pivot.rowField &&
552
- !(['metric', 'gauge'].includes(chartType) &&
553
- !NUMBER_FORMAT_TYPES.includes(rowColumn?.format ?? ''))
554
- ? pivot.rowField
555
- : disambiguatedValueField(pivot);
556
- const result = {
557
- pivot,
558
- chartType: chartType,
559
- xAxisField,
560
- xAxisFormat: chartType === 'gauge'
561
- ? 'percent'
562
- : chartType === 'metric'
563
- ? 'whole_number'
564
- : isDateType(pivot.rowFieldType ?? '')
565
- ? 'string'
566
- : isNumberType(pivot.rowFieldType ?? '')
567
- ? 'whole_number'
568
- : isNumberType(disambiguatedValueField(pivot) ?? '')
569
- ? 'whole_number'
570
- : 'string',
571
- xAxisLabel: report?.xAxisLabel || pivot.rowField,
572
- yAxisFields: [
573
- {
574
- field: yAxisField,
575
- label: yAxisLabel,
576
- format: yAxisIsDate
577
- ? 'string'
578
- : report?.yAxisFields && report?.yAxisFields?.length > 0
579
- ? (report?.yAxisFields[0]?.format ?? 'whole_number')
580
- : (report?.columns.find((col) => col.field === disambiguatedValueField(pivot))?.format ?? 'whole_number'),
581
- },
582
- ],
583
- };
584
- return result;
585
- };
586
- const getReferencedTables = async (client, sqlQuery, dbTables, skipStar) => {
587
- const { data: resp } = await quillFetchWithToken({
588
- client,
589
- task: 'astify',
590
- metadata: {
591
- query: sqlQuery,
592
- clientId: client.clientId,
593
- useNewNodeSql: true,
594
- },
595
- });
596
- if (resp.success === false) {
597
- return getTablesHelper(getSelectFromAST({}), dbTables, skipStar);
598
- }
599
- return getTablesHelper(getSelectFromAST(resp.ast), dbTables, skipStar);
600
- };
601
- const getCurrentSection = () => {
602
- let id = report?.id ?? '';
603
- if (id === '' || id === TEMP_REPORT_ID) {
604
- id = reportId ?? '';
605
- }
606
- return (dashboardConfig[destinationDashboard]?.config.sectionOrder?.find((section) => section.reportOrder?.includes(id))?.section ?? '');
607
- };
608
- const formFormDataFromReport = (report, section) => {
609
- let pivotData = {};
610
- let dateField = defaultDateField;
611
- if (report?.pivot && report.pivot.rowField && !report.yAxisFields?.length) {
612
- pivotData = pivotFormData(report.pivot, report.chartType);
613
- }
614
- if (report) {
615
- dateField = report.dateField || defaultDateField;
616
- }
617
- const chartBuilderData = {
618
- ...formEmptyState,
619
- ...report,
620
- ...pivotData,
621
- dateField: dateField,
622
- referenceLines: report?.referenceLines
623
- ? report.referenceLines?.map(({ label, query }) => {
624
- if (typeof query === 'string') {
625
- return { label, y1: undefined, y2: undefined };
626
- }
627
- return {
628
- label,
629
- y1: query[0],
630
- y2: query[1],
631
- };
632
- })
633
- : [],
634
- section,
635
- };
636
- const chartType = report?.chartType ?? formEmptyState.chartType;
637
- const chartTypeOptions = getChartTypeOptions(chartBuilderData, dashboardConfig[report?.dashboardName || destinationDashboard || '']);
638
- if (!chartTypeOptions.find((option) => option.value === chartType)) {
639
- chartBuilderData.chartType = chartTypeOptions[0]?.value ?? 'table';
640
- }
641
- return chartBuilderData;
642
- };
643
- const [formData, setFormData] = useState(formFormDataFromReport(report, destinationSection ?? getCurrentSection()));
644
- const reportCustomFields = useMemo(() => {
645
- return (report?.columnsWithCustomFields?.filter((col) => !report?.columns?.some((c) => col.field === c.field)) ?? []);
646
- }, [report?.columnsWithCustomFields, report?.columns]);
647
- const referenceLineQueryResults = useMemo(() => {
648
- return formData?.referenceLines?.map((line) => {
649
- if (line.label === REFERENCE_LINE) {
650
- return [Number(line.y1) || 0, Number(line.y2) || 0];
651
- }
652
- // line.label is a field
653
- // Get the first and last row of the field
654
- const field = formData.columns.find((col) => col.field === line.label);
655
- if (!field) {
656
- return [0, 0];
657
- }
658
- // return [Number(rows[0]?.[field.field]) || 0, Number(rows[rows.length - 1]?.[field.field]) || 0];
659
- return (pivotData?.rows ? pivotData.rows : rows).map((row) => Number(row[field.field]) || 0);
660
- });
661
- }, [formData?.referenceLines]);
662
- const currentDashboard = useMemo(() => {
663
- return dashboardConfig[formData.dashboardName ?? report?.dashboardName ?? '']?.config;
664
- }, [dashboardConfig, formData.dashboardName, report?.dashboardName]);
665
- const currentDashboardTenants = useMemo(() => {
666
- return (currentDashboard?.tenantKeys?.map((tenantKey) => client?.allTenantTypes?.find((t) => t.tenantField === tenantKey)) ?? []);
667
- }, [client?.allTenantTypes, currentDashboard?.tenantKeys]);
668
- const dashboardOwner = currentDashboardTenants?.[0];
669
- const currentTenantAsFormFlags = useMemo(() => {
670
- if (!tenants || !tenants.length) {
671
- return undefined;
672
- }
673
- const tenantField = typeof tenants[0] !== 'object'
674
- ? dashboardOwner?.name
675
- : tenants[0]?.tenantField;
676
- if (!tenantField) {
677
- return undefined;
678
- }
679
- const tenantIds = typeof tenants[0] !== 'object' ? tenants : tenants[0]?.tenantIds;
680
- return { [tenantField]: tenantIds };
681
- }, [tenants, dashboardOwner]);
682
- const invalidColumns = useMemo(() => {
683
- if (!rows || !rows.length) {
684
- return [];
685
- }
686
- if (report?.pivot || pivotData) {
687
- return [];
688
- }
689
- const columnsObservedInRows = rows[0] ? Object.keys(rows[0]) : [];
690
- return columns.filter((col) => !columnsObservedInRows.includes(col.field));
691
- }, [rows]);
692
- const [chartTypes, setChartTypes] = useState((() => {
693
- const data = formFormDataFromReport(report, destinationSection ?? getCurrentSection());
694
- return getChartTypeOptions(data, dashboardConfig[data.dashboardName || '']);
695
- })());
696
- const reportContainsCustomFields = useMemo(() => {
697
- // Check whether report query contains custom fields
698
- const customFieldsMap = schemaData.customFields;
699
- const reportQueryContainsCustomFields = allTables.some((table) => {
700
- const tableColumns = referencedColumnsWithoutStar[table] ?? [];
701
- const customFieldColumns = customFieldsMap?.[table] ?? [];
702
- return tableColumns.some((column) => customFieldColumns.some((field) => field.field === column));
703
- });
704
- return reportQueryContainsCustomFields;
705
- }, [allTables, referencedColumnsWithoutStar]);
706
- const chartBuilderFormDataContainsCustomFields = useMemo(() => {
707
- const customFields = allTables
708
- .map((table) => schemaData.customFields?.[table] ?? [])
709
- .flat();
710
- const customFieldsMap = schemaData.customFields;
711
- const pivotContainsCustomFields = customFields.some((field) => field.field === formData.pivot?.columnField ||
712
- field.field === formData.pivot?.rowField ||
713
- field.field === formData.pivot?.valueField);
714
- const xAxisFieldContainsCustomFields = customFields.some((field) => field.field === formData.xAxisField);
715
- const yAxisFieldsContainsCustomFields = formData.yAxisFields.some((yAxisField) => {
716
- return customFields.some((field) => field.field === yAxisField.field);
717
- });
718
- const dateFieldContainsCustomFields = customFields.some((field) => field.field === formData.dateField?.field);
719
- const canonicalFilterMapContainsCustomFields = Object.values(canonicalFilterMap).some((filter) => {
720
- return customFieldsMap?.[filter.table || '']?.some((field) => field.field === filter.field);
721
- });
722
- return (pivotContainsCustomFields ||
723
- xAxisFieldContainsCustomFields ||
724
- yAxisFieldsContainsCustomFields ||
725
- dateFieldContainsCustomFields ||
726
- canonicalFilterMapContainsCustomFields);
727
- }, [
728
- allTables,
729
- formData.pivot,
730
- formData.xAxisField,
731
- formData.yAxisFields,
732
- formData.dateField,
733
- canonicalFilterMap,
734
- ]);
735
- const customFieldsInTabularColumns = useMemo(() => {
736
- const customFields = allTables
737
- .map((table) => schemaData.customFields?.[table] ?? [])
738
- .flat();
739
- return formData.columns.some((col) => {
740
- return customFields.some((field) => field.field === col.field);
741
- });
742
- }, [allTables, formData.columns]);
743
- const containsCustomFields = useMemo(() => {
744
- return (reportContainsCustomFields ||
745
- customFieldsInTabularColumns ||
746
- chartBuilderFormDataContainsCustomFields);
747
- }, [
748
- reportContainsCustomFields,
749
- customFieldsInTabularColumns,
750
- chartBuilderFormDataContainsCustomFields,
751
- ]);
752
- useEffect(() => {
753
- if (!loadingFormData && triggeredEditChart) {
754
- editChart();
755
- }
756
- }, [loadingFormData]);
757
- useEffect(() => {
758
- async function getFormData() {
759
- if (!client) {
760
- return;
761
- }
762
- setLoadingFormData(true);
763
- const curFormData = formData;
764
- let dashNames = Object.keys(dashboardConfig);
765
- if (dashNames.length === 0) {
766
- const { data: resp } = await quillFetchWithToken({
767
- client,
768
- task: 'dashnames',
769
- metadata: {
770
- clientId: client.clientId,
771
- },
772
- });
773
- dashNames = resp.dashboardNames;
774
- }
775
- let dashboardOptions = dashNames
776
- .filter((elem) => elem !== null)
777
- .map((key) => ({ label: key, value: key }));
778
- if (!dashboardOptions.length) {
779
- dashboardOptions = [
780
- { label: 'New - Dashboard', value: 'New - Dashboard' },
781
- ];
782
- }
783
- if (destinationDashboardName) {
784
- dashboardOptions = [
785
- { label: destinationDashboardName, value: destinationDashboardName },
786
- ];
787
- }
788
- let dashboardName = report?.dashboardName ?? dashboardOptions[0]?.label ?? '';
789
- if (destinationDashboardName) {
790
- dashboardName = destinationDashboardName;
791
- }
792
- const curDashboard = await updateDashboardFilters(dashboardName);
793
- setDashboardOptions(dashboardOptions);
794
- curFormData.dashboardName = dashboardName;
795
- const curSchemaData = schemaData.schemaWithCustomFields;
796
- if (!query) {
797
- setLoadingFormData(false);
798
- return;
799
- }
800
- const result = await getReferencedTables(client, query, curSchemaData);
801
- const referencedTablesWithoutStar = await getReferencedTables(client, query, curSchemaData, true);
802
- setDateFieldOptions(result.dateFields);
803
- if (result.dateFields[0] && result.dateFields[0].columns[0]) {
804
- setDefaultDateField({
805
- table: result.dateFields[0].name,
806
- field: result.dateFields[0].columns[0].field,
807
- });
808
- }
809
- // check if the referenced table is a table with custom field info.. If so block template settings
810
- const tableNames = result.referencedTablesAndColumns.map((table) => table.name);
811
- setAllTables(tableNames);
812
- let customFieldUsage = false;
813
- for (const table of tableNames) {
814
- const tableInfo = curSchemaData.find((elem) => elem.name === table);
815
- if (tableInfo?.customFieldInfo) {
816
- customFieldUsage = true;
817
- break;
818
- }
819
- }
820
- setCustomFieldTableRef(customFieldUsage);
821
- const referencedColumns = result.referencedTablesAndColumns.reduce((acc, table) => {
822
- acc[table.name] = table.columns.map((col) => col.field);
823
- return acc;
824
- }, {});
825
- const referencedColumnsWithoutStar = referencedTablesWithoutStar.referencedTablesAndColumns.reduce((acc, table) => {
826
- acc[table.name] = table.columns.map((col) => col.field);
827
- return acc;
828
- }, {});
829
- setReferencedColumnsWithoutStar(referencedColumnsWithoutStar);
830
- setReferencedColumns(referencedColumns);
831
- setTableName(result.dateFields[0]?.name);
832
- const dateField = {
833
- table: result.dateFields[0]?.name || '',
834
- field: dateColumn || result.dateFields[0]?.columns[0]?.field || '',
835
- };
836
- let isTemplate = curFormData.template;
837
- if (customFieldUsage) {
838
- isTemplate = false;
839
- }
840
- curFormData.dashboardName =
841
- report && report.dashboardName
842
- ? report?.dashboardName
843
- : dashboardOptions[0]?.label;
844
- curFormData.template = isTemplate;
845
- if (!curFormData.dateField) {
846
- curFormData.dateField = { field: '', table: '' };
847
- }
848
- if (!curFormData.dateField.field || !curFormData.dateField.table) {
849
- if (dateField && dateField.field) {
850
- curFormData.dateField = dateField;
851
- }
852
- }
853
- setFormData(curFormData);
854
- validationHelper(curFormData, curDashboard, curFormData.dateField ?? dateField, tableNames);
855
- setLoadingFormData(false);
856
- }
857
- getFormData();
858
- }, []);
859
- const ranMountQuery = useRef(false);
860
- useEffect(() => {
861
- if (runQueryOnMount &&
862
- reportFiltersLoaded &&
863
- filtersEnabled &&
864
- !ranMountQuery.current) {
865
- ranMountQuery.current = true;
866
- handleRunQuery(baseProcessing, currentDashboardFilters);
867
- }
868
- }, [runQueryOnMount, reportFiltersLoaded, filtersEnabled]);
869
- const allTenantMap = useMemo(() => {
870
- return (client?.allTenantTypes?.reduce((acc, tenantType) => {
871
- if (tenantType.scope === 'database') {
872
- acc[tenantType.tenantField] =
873
- tenantType.flags?.map((t) => ({
874
- label: t.toString(),
875
- value: t.toString(),
876
- })) ?? [];
877
- }
878
- else {
879
- acc[tenantType.tenantField] =
880
- tenantType.tenantIds?.map((t) => ({
881
- label: t.label.toString(),
882
- value: t.flag.toString(),
883
- })) ?? [];
884
- }
885
- return acc;
886
- }, {}) ?? {});
887
- }, [client?.allTenantTypes]);
888
- const [selectedPivotTable, setSelectedPivotTable] = useState(pivotData);
889
- const pivotCardTable = useMemo(() => {
890
- return {
891
- pivot: formData.pivot,
892
- rows: selectedPivotTable?.rows ?? [],
893
- columns: selectedPivotTable?.columns ?? [],
894
- };
895
- }, [selectedPivotTable, formData.pivot]);
896
- const chartData = useMemo(() => {
897
- const data = createReportFromForm(formData, report ? { ...report, rowCount } : tempReport, eventTracking, selectedPivotTable, rows, currentDashboardFilters, referenceLineQueryResults);
898
- return {
899
- ...data,
900
- filterMap: canonicalFilterMap,
901
- };
902
- }, [
903
- formData,
904
- selectedPivotTable,
905
- report,
906
- rows,
907
- rowCount,
908
- currentDashboardFilters,
909
- ]);
910
- const xAxisFormatOptions = useMemo(() => {
911
- return chartData?.chartType === 'gauge'
912
- ? [
913
- { value: 'whole_number', label: 'whole number' },
914
- { value: 'two_decimal_places', label: 'two decimal places' },
915
- { value: 'percent', label: 'percentage' },
916
- ]
917
- : ALL_FORMAT_OPTIONS;
918
- }, [chartData?.chartType]);
919
- const fetchPivotData = async (pivot, tableInfo, uniqueValues, overrideFilters) => {
920
- const dashboardFilters = filtersEnabled
921
- ? (overrideFilters ?? currentDashboardFilters)
922
- : undefined;
923
- if (pivot) {
924
- let dateBucket = undefined;
925
- let dateFilter = undefined;
926
- if (filtersEnabled) {
927
- dateFilter = dashboardFilters?.find((f) => f.filterType === 'date_range');
928
- dateBucket =
929
- dateFilter?.startDate && dateFilter?.endDate
930
- ? getDateBucketFromRange({
931
- start: dateFilter?.startDate,
932
- end: dateFilter?.endDate,
933
- })
934
- : undefined;
935
- }
936
- try {
937
- const pivotTable = await generatePivotTable({
938
- pivot,
939
- dateBucket,
940
- dateFilter,
941
- report: report
942
- ? { ...report, ...(tableInfo ?? { itemQuery }) }
943
- : undefined,
944
- client,
945
- uniqueValues,
946
- dashboardName: destinationDashboardName,
947
- tenants,
948
- additionalProcessing: baseProcessing,
949
- getToken,
950
- eventTracking,
951
- });
952
- setSelectedPivotTable(pivotTable);
953
- return pivotTable;
954
- }
955
- catch (e) {
956
- console.log('error', e);
957
- eventTracking?.logError?.({
958
- type: 'bug', // TODO: determine type
959
- severity: 'high',
960
- message: 'Error fetching pivot',
961
- errorMessage: e.message,
962
- errorStack: e.stack,
963
- errorData: {
964
- caller: 'ChartBuilder',
965
- function: 'fetchPivotData',
966
- },
967
- });
968
- if (e instanceof Error) {
969
- setPivotError(e.message);
970
- }
971
- }
972
- }
973
- else {
974
- setSelectedPivotTable(undefined);
975
- }
976
- };
977
- const formattedRows = useMemo(() => {
978
- if (selectedPivotTable &&
979
- selectedPivotTable.columns &&
980
- formData.chartType === 'table') {
981
- const columns = selectedPivotTable.columns;
982
- columns.forEach((col, index) => {
983
- // ADD THE RIGHT FIELD TYPE FOR THE VALUE COLUMNS
984
- if (['min', 'max'].includes(formData.pivot?.aggregations?.[0]?.aggregationType ?? '') &&
985
- index !== 0) {
986
- col.format = 'two_decimal_places';
987
- }
988
- });
989
- return selectedPivotTable.rows.map((row) => {
990
- return columns.reduce((formattedRow, column) => {
991
- // Apply the format function to each field in the row
992
- const formattedValue = quillFormat({
993
- value: row[column.field],
994
- format: column.format,
995
- });
996
- formattedRow[column.field] = formattedValue;
997
- return formattedRow;
998
- }, {});
999
- });
1000
- }
1001
- else {
1002
- if (!rows)
1003
- return [];
1004
- return rows.map((row) => {
1005
- const columns = formData.includeCustomFields && !containsCustomFields
1006
- ? formData.columns.concat(reportCustomFields)
1007
- : formData.columns;
1008
- return columns.reduce((formattedRow, column) => {
1009
- // Apply the format function to each field in the row
1010
- const formattedValue = column.inferFormat
1011
- ? quillAutoFormat(row[column.field])
1012
- : quillFormat({
1013
- value: row[column.field],
1014
- format: column.format,
1015
- });
1016
- formattedRow[column.field] = formattedValue;
1017
- return formattedRow;
1018
- }, {});
1019
- });
1020
- }
1021
- }, [
1022
- selectedPivotTable,
1023
- formData.columns,
1024
- formData.chartType,
1025
- rows,
1026
- formData.pivot,
1027
- ]);
1028
- const fetchRowCount = async (processing, overrideFilters) => {
1029
- if (!client || !query) {
1030
- return;
1031
- }
1032
- setRowCountIsLoading(true);
1033
- const tableInfo = await fetchResultsByQuery({
1034
- query,
1035
- client,
1036
- getToken,
1037
- eventTracking,
1038
- tenants,
1039
- processing,
1040
- customFields: schemaData.customFields,
1041
- filters: filtersEnabled ? overrideFilters : undefined,
1042
- dateField: filtersEnabled
1043
- ? (report?.dateField ?? formData.dateField)
1044
- : undefined,
1045
- rowsOnly: false,
1046
- rowCountOnly: true,
1047
- filterMap: canonicalFilterMap,
1048
- dashboardName: destinationDashboardName,
1049
- });
1050
- if (tableInfo.rowCount !== undefined) {
1051
- setRowCount(tableInfo.rowCount);
1052
- }
1053
- setRowCountIsLoading(false);
1054
- };
1055
- const onDashboardFilterChange = (label, value) => {
1056
- const updatedFilters = currentDashboardFilters.map((filter) => {
1057
- if (filter.label === label) {
1058
- return {
1059
- ...filter,
1060
- ...value,
1061
- };
1062
- }
1063
- return filter;
1064
- });
1065
- loadFiltersForReport(report?.id ?? TEMP_REPORT_ID, 'ChartBuilder', updatedFilters, label, undefined, report?.dashboardName).then(() => {
1066
- setCurrentPage(0);
1067
- setMaxPage(0);
1068
- handleRunQuery(baseProcessing, updatedFilters);
1069
- });
1070
- };
1071
- const filtersEnabledRef = useRef(filtersEnabled);
1072
- useEffect(() => {
1073
- // Previous strategy of using mounted.current was not working in StrictMode
1074
- if (filtersEnabledRef.current !== filtersEnabled) {
1075
- filtersEnabledRef.current = filtersEnabled;
1076
- setCurrentPage(0);
1077
- setMaxPage(0);
1078
- handleRunQuery(baseProcessing, currentDashboardFilters);
1079
- }
1080
- }, [filtersEnabled]);
1081
- const handleRunQuery = async (processing, overrideFilters) => {
1082
- if (!client || !query) {
1083
- return;
1084
- }
1085
- try {
1086
- setIsLoading(true);
1087
- const tableInfo = await fetchResultsByQuery({
1088
- query,
1089
- client,
1090
- tenants,
1091
- processing,
1092
- customFields: schemaData.customFields,
1093
- filters: filtersEnabled ? overrideFilters : undefined,
1094
- dateField: filtersEnabled
1095
- ? (report?.dateField ?? formData.dateField)
1096
- : undefined,
1097
- rowsOnly: true,
1098
- rowCountOnly: false,
1099
- filterMap: canonicalFilterMap,
1100
- dashboardName: destinationDashboardName,
1101
- getToken,
1102
- eventTracking,
1103
- });
1104
- setCurrentProcessing(processing);
1105
- setRows(tableInfo.rows);
1106
- setProcessedColumns(processColumns(tableInfo.columns));
1107
- setItemQuery(tableInfo.itemQuery);
1108
- fetchRowCount(processing, overrideFilters);
1109
- if (formData.pivot) {
1110
- try {
1111
- const uniqueValues = await getUniqueValuesByQuery({
1112
- columns: tableInfo.columns.filter((column) => column.field === formData.pivot?.columnField),
1113
- query: report.queryString,
1114
- client,
1115
- getToken,
1116
- tenants,
1117
- customFields: schemaData.customFields ?? {},
1118
- filters: overrideFilters,
1119
- dashboardName: destinationDashboardName ?? '',
1120
- eventTracking,
1121
- });
1122
- fetchPivotData(formData.pivot, tableInfo, uniqueValues ?? {}, overrideFilters);
1123
- }
1124
- catch (e) {
1125
- console.log('error fetching pivot', e);
1126
- eventTracking?.logError?.({
1127
- type: 'bug', // TODO: determine type
1128
- severity: 'high',
1129
- message: 'Error running query with pivot',
1130
- errorMessage: e.message,
1131
- errorStack: e.stack,
1132
- errorData: {
1133
- caller: 'ChartBuilder',
1134
- function: 'handleRunQuery',
1135
- },
1136
- });
1137
- setPivotError(e.message);
1138
- }
1139
- }
1140
- setTimeout(() => {
1141
- setIsLoading(false);
1142
- }, 1000); // timeout to avoid a flash
1143
- }
1144
- catch (e) {
1145
- eventTracking?.logError?.({
1146
- type: 'bug', // TODO: determine type
1147
- severity: 'high',
1148
- message: 'Error running query',
1149
- errorMessage: e.message,
1150
- errorStack: e.stack,
1151
- errorData: {
1152
- caller: 'ChartBuilder',
1153
- function: 'handleRunQuery',
1154
- },
1155
- });
1156
- console.log(e);
1157
- }
1158
- };
1159
- const onPageChange = (page, isPivotTable) => {
1160
- // only fetch if report is valid, else use query task
1161
- if (currentProcessing.page &&
1162
- shouldFetchMore(currentProcessing.page, page, maxPage)) {
1163
- const newPagination = {
1164
- ...currentProcessing.page,
1165
- page,
1166
- };
1167
- const updatedProcessing = {
1168
- ...currentProcessing,
1169
- page: newPagination,
1170
- };
1171
- setCurrentProcessing(updatedProcessing);
1172
- updateTableRows(updatedProcessing, false, isPivotTable);
1173
- }
1174
- if (page > maxPage) {
1175
- setMaxPage(page);
1176
- }
1177
- };
1178
- const onSortChange = (sort, isPivotTable) => {
1179
- // if (shouldSortInMemory(baseProcessing.page, rowCount)) {
1180
- // return;
1181
- // }
1182
- const updatedProcessing = { ...baseProcessing, sort };
1183
- updateTableRows(updatedProcessing, true, isPivotTable);
1184
- setCurrentProcessing(updatedProcessing);
1185
- setCurrentPage(0);
1186
- setMaxPage(0);
1187
- };
1188
- const updateTableRows = async (processing, resetRows = false, isPivotTable = false) => {
1189
- if (!client) {
1190
- return;
1191
- }
1192
- if (!isLoading && report && query) {
1193
- setIsLoading(true);
1194
- try {
1195
- const updatedProcessing = { ...currentProcessing, ...processing };
1196
- const paginatedRows = await fetchResultsByQuery({
1197
- query: isPivotTable && report.pivotQuery ? report.pivotQuery : query,
1198
- comparisonQuery: isPivotTable && report.comparisonPivotQuery
1199
- ? report.comparisonPivotQuery
1200
- : undefined,
1201
- client,
1202
- getToken,
1203
- tenants,
1204
- processing: updatedProcessing,
1205
- customFields: schemaData.customFields,
1206
- filters: filtersEnabled ? currentDashboardFilters : undefined,
1207
- dateField: filtersEnabled
1208
- ? (report?.dateField ?? formData.dateField)
1209
- : undefined,
1210
- rowsOnly: false,
1211
- rowCountOnly: false,
1212
- filterMap: canonicalFilterMap,
1213
- dashboardName: destinationDashboardName,
1214
- pivot: isPivotTable ? report.pivot : undefined,
1215
- getPivotRowCount: false,
1216
- eventTracking,
1217
- });
1218
- if (paginatedRows.error) {
1219
- throw new Error('Error fetching chart');
1220
- }
1221
- const prevRows = isPivotTable && selectedPivotTable ? selectedPivotTable.rows : rows;
1222
- let updatedRows = [...prevRows, ...paginatedRows.rows];
1223
- if (resetRows) {
1224
- updatedRows = paginatedRows.rows;
1225
- }
1226
- if (isPivotTable && selectedPivotTable) {
1227
- setSelectedPivotTable({ ...selectedPivotTable, rows: updatedRows });
1228
- }
1229
- else {
1230
- setRows(updatedRows);
1231
- }
1232
- setCurrentProcessing(updatedProcessing);
1233
- }
1234
- catch (e) {
1235
- console.log(e);
1236
- eventTracking?.logError?.({
1237
- type: 'bug', // TODO: determine type
1238
- severity: 'high',
1239
- message: 'Error updating table rows',
1240
- errorMessage: e.message,
1241
- errorStack: e.stack,
1242
- errorData: {
1243
- caller: 'ChartBuilder',
1244
- function: 'updateTableRows',
1245
- },
1246
- });
1247
- }
1248
- finally {
1249
- setTimeout(() => {
1250
- setIsLoading(false);
1251
- }, 500);
1252
- }
1253
- }
1254
- };
1255
- const handleChange = async (value, fieldName, index) => {
1256
- let updatedForm = { ...formData };
1257
- try {
1258
- if (index !== undefined) {
1259
- // For dynamic array fields
1260
- const [field, subfield] = fieldName.split('.');
1261
- if (field === 'pivot' && !!subfield) {
1262
- if (!selectedPivotTable) {
1263
- return;
1264
- }
1265
- let newLabel = undefined;
1266
- if (subfield === 'field') {
1267
- newLabel = snakeAndCamelCaseToTitleCase(value);
1268
- }
1269
- const newColumns = selectedPivotTable.columns.map((col, i) => i === index
1270
- ? {
1271
- ...col,
1272
- label: newLabel ? newLabel : col.label,
1273
- [subfield]: value,
1274
- }
1275
- : col);
1276
- setSelectedPivotTable({
1277
- ...selectedPivotTable,
1278
- columns: newColumns,
1279
- });
1280
- }
1281
- else {
1282
- let newLabel = undefined;
1283
- if (field === 'columns' && subfield === 'field') {
1284
- if (!formData['columns'][index]?.label) {
1285
- newLabel = snakeAndCamelCaseToTitleCase(value);
1286
- }
1287
- }
1288
- // @ts-ignore
1289
- const updatedArray = formData[field].map((item, i) => i === index
1290
- ? {
1291
- ...item,
1292
- label: newLabel ? newLabel : item.label,
1293
- [subfield]: value,
1294
- }
1295
- : item);
1296
- updatedForm = { ...formData, [field]: updatedArray };
1297
- setFormData(updatedForm);
1298
- setChartTypes(getChartTypeOptions(updatedForm, dashboardConfig[updatedForm.dashboardName ?? '']));
1299
- }
1300
- }
1301
- else if (fieldName.includes('.')) {
1302
- // For nested fields
1303
- const [field, subfield] = fieldName.split('.');
1304
- if (field === 'dateField' &&
1305
- subfield === 'table' &&
1306
- !formData.dateField?.field) {
1307
- const field = schemaData.schemaWithCustomFields?.find((elem) => elem.name === value)?.columns?.[0]?.field;
1308
- updatedForm.dateField = {
1309
- // @ts-ignore
1310
- ...updatedForm[field],
1311
- [subfield]: value,
1312
- field: field,
1313
- };
1314
- }
1315
- updatedForm = {
1316
- ...updatedForm,
1317
- // @ts-ignore
1318
- [field]: { ...updatedForm[field], [subfield]: value },
1319
- };
1320
- }
1321
- else {
1322
- // For simple fields
1323
- updatedForm = { ...updatedForm, [fieldName]: value };
1324
- }
1325
- if (fieldName === 'chartType') {
1326
- if (value === 'metric') {
1327
- updatedForm.xAxisFormat = 'whole_number';
1328
- const currentXAxisColumn = (selectedPivotTable?.columns ?? columns).find((c) => c.field === updatedForm.xAxisField);
1329
- if (!NUMBER_FORMAT_TYPES.includes(currentXAxisColumn?.format ?? '')) {
1330
- updatedForm.xAxisField =
1331
- (selectedPivotTable?.columns ?? columns).find((c) => NUMBER_FORMAT_TYPES.includes(c.format))?.field ?? updatedForm.xAxisField;
1332
- }
1333
- }
1334
- else if (value === 'gauge') {
1335
- updatedForm.xAxisFormat = 'percent';
1336
- const currentXAxisColumn = (selectedPivotTable?.columns ?? columns).find((c) => c.field === updatedForm.xAxisField);
1337
- if (!NUMBER_FORMAT_TYPES.includes(currentXAxisColumn?.format ?? '')) {
1338
- updatedForm.xAxisField =
1339
- (selectedPivotTable?.columns ?? columns).find((c) => NUMBER_FORMAT_TYPES.includes(c.format))?.field ?? updatedForm.xAxisField;
1340
- }
1341
- }
1342
- }
1343
- let dashboardName = updatedForm.dashboardName;
1344
- if (fieldName === 'dashboardName') {
1345
- dashboardName = value;
1346
- }
1347
- validationHelper(updatedForm, dashboardConfig[dashboardName || '']);
1348
- setChartTypes(getChartTypeOptions(updatedForm, dashboardConfig[dashboardName || '']));
1349
- }
1350
- catch (e) {
1351
- updatedForm = { ...updatedForm, [fieldName]: value };
1352
- eventTracking?.logError?.({
1353
- type: 'bug', // TODO: determine type
1354
- severity: 'high',
1355
- message: 'Error changing form',
1356
- errorMessage: e.message,
1357
- errorStack: e.stack,
1358
- errorData: {
1359
- caller: 'ChartBuilder',
1360
- function: 'handleChange',
1361
- },
1362
- });
1363
- }
1364
- setFormData(updatedForm);
1365
- };
1366
- const handleAddPivot = async (pivot, uniqueValues, pivotData) => {
1367
- const newPivotFormData = pivotFormData(pivot);
1368
- // Only keep the old chart type if the shapes of the pivots are the same
1369
- // since the valid chart types for some pivots might have changed (eg. going
1370
- // from a 1D pivot to a 2D pivot would make bar lists not an option).
1371
- // They don't have to have the same value, just same 'truthiness'.
1372
- const isPivotSameShape = Boolean(formData.pivot?.rowField) === Boolean(pivot.rowField) &&
1373
- Boolean(formData.pivot?.columnField) === Boolean(pivot.columnField);
1374
- const isNewChartType = formData.chartType !== newPivotFormData.chartType;
1375
- const keepOldChartType = isNewChartType && isPivotSameShape;
1376
- if (pivotData) {
1377
- setSelectedPivotTable({
1378
- rows: pivotData.rows,
1379
- columns: pivotData.columns,
1380
- rowCount: pivotData.rowCount,
1381
- pivotQuery: pivotData.pivotQuery,
1382
- comparisonPivotQuery: pivotData.comparisonPivotQuery,
1383
- });
1384
- }
1385
- else {
1386
- pivotData = await fetchPivotData(pivot, undefined, uniqueValues);
1387
- }
1388
- // NOTE: we are setting the date field to the rowField if it is a date
1389
- // This method is *potentially* flawed because it chooses the first matching field it finds
1390
- // which may not be robust to joins, aliases, disambiguations, etc.
1391
- // unfortunately the pivot doesn't store the table of the rowField so we can't do better
1392
- const dateField = pivot.rowField && isDateField(pivot.rowFieldType ?? '')
1393
- ? dateFieldOptions.find((table) => {
1394
- return table.columns.find((col) => col.field === pivot.rowField);
1395
- })
1396
- : undefined;
1397
- setFormData((formData) => ({
1398
- ...formData,
1399
- ...newPivotFormData,
1400
- ...(keepOldChartType && { chartType: formData.chartType }),
1401
- dateField: dateField
1402
- ? { table: dateField.name, field: pivot.rowField }
1403
- : formData.dateField,
1404
- }));
1405
- setChartTypes(getChartTypeOptions({ ...formData, ...newPivotFormData }, dashboardConfig[formData.dashboardName || '']));
1406
- // maybe validate
1407
- };
1408
- const handleDeletePivot = () => {
1409
- if (!formData.pivot) {
1410
- return;
1411
- }
1412
- setFormData({
1413
- ...formEmptyState,
1414
- ...formData,
1415
- dashboardName: formData.dashboardName,
1416
- pivot: null,
1417
- chartType: formEmptyState.chartType,
1418
- xAxisField: formEmptyState.xAxisField,
1419
- xAxisFormat: formEmptyState.xAxisFormat,
1420
- xAxisLabel: formEmptyState.xAxisLabel,
1421
- yAxisFields: formEmptyState.yAxisFields,
1422
- });
1423
- // maybe validate
1424
- setSelectedPivotTable(undefined);
1425
- setChartTypes(getChartTypeOptions({ ...formEmptyState, pivot: null }, dashboardConfig[formData.dashboardName || '']));
1426
- };
1427
- const handleAddField = (fieldName) => {
1428
- if (fieldName === 'columns') {
1429
- setFormData({
1430
- ...formData,
1431
- columns: [
1432
- ...formData.columns,
1433
- { label: '', field: '', format: 'string' },
1434
- ],
1435
- });
1436
- }
1437
- else if (fieldName === 'yAxisFields') {
1438
- setFormData({
1439
- ...formData,
1440
- yAxisFields: [
1441
- ...formData.yAxisFields,
1442
- { label: '', field: '', format: 'string' },
1443
- ],
1444
- });
1445
- }
1446
- else if (fieldName === 'pivot') {
1447
- setFormData({
1448
- ...formData,
1449
- pivot: {
1450
- title: '',
1451
- rowField: '',
1452
- rowFieldType: '',
1453
- columnField: '',
1454
- columnFieldType: '',
1455
- valueField: '',
1456
- aggregationType: 'sum',
1457
- },
1458
- });
1459
- }
1460
- else if (fieldName === 'referenceLines') {
1461
- setFormData({
1462
- ...formData,
1463
- referenceLines: [
1464
- ...formData.referenceLines,
1465
- { label: '', y1: undefined, y2: undefined },
1466
- ],
1467
- });
1468
- }
1469
- };
1470
- const handleRemoveField = (fieldName, index) => {
1471
- if (fieldName === 'pivot') {
1472
- setFormData({
1473
- ...formData,
1474
- pivot: null,
1475
- });
1476
- return;
1477
- }
1478
- // @ts-ignore
1479
- const updatedArray = formData[fieldName].filter((_, i) => i !== index);
1480
- setFormData({ ...formData, [fieldName]: updatedArray });
1481
- };
1482
- const handleSubmit = (event) => {
1483
- event.preventDefault();
1484
- };
1485
- const deleteChart = async () => {
1486
- if (onDelete && onDelete()) {
1487
- setIsOpen(false);
1488
- setIsSubmitting(false);
1489
- }
1490
- };
1491
- const editChart = async () => {
1492
- if (!client) {
1493
- return;
1494
- }
1495
- if (isSubmitting) {
1496
- setTriggeredEditChart(false);
1497
- return;
1498
- }
1499
- setIsSubmitting(true);
1500
- if (!client) {
1501
- setTriggeredEditChart(false);
1502
- return;
1503
- }
1504
- // If the dashboardItem is a template but the editor isn't an admin, create a new dashboardItem and set the template to false
1505
- let dashboardItemId = reportId ? reportId : undefined;
1506
- if (report && !isAdmin && formData.template) {
1507
- dashboardItemId = undefined;
1508
- }
1509
- const newReport = {
1510
- ...formData,
1511
- yAxisFields: formData.yAxisFields.slice(0, formData.chartType === 'pie' ? 1 : formData.yAxisFields.length),
1512
- filterMap,
1513
- columns: formData.columns.filter((col) => !invalidColumns.includes(col)),
1514
- ...(formData.dateField?.table
1515
- ? {}
1516
- : { dateField: { ...defaultDateField } }),
1517
- dashboardName: destinationDashboardName,
1518
- query: report?.queryString ?? '',
1519
- pivot: formData.pivot,
1520
- referencedTables: allTables,
1521
- referencedColumns,
1522
- includeCustomFields: includeCustomFields || containsCustomFields,
1523
- template: tenants
1524
- ? undefined
1525
- : report && !isAdmin && formData.template
1526
- ? false
1527
- : formData.template,
1528
- reportFlags: containsCustomFields
1529
- ? currentTenantAsFormFlags
1530
- : formFlags
1531
- ? Object.fromEntries(Object.entries(formFlags)
1532
- .filter(([, value]) => value.length > 0)
1533
- .map(([key, value]) => {
1534
- return [
1535
- key,
1536
- Object.keys(allTenantMap).length > 1 &&
1537
- allTenantMap[key]?.length === value.length
1538
- ? ALL_TENANTS
1539
- : value,
1540
- ];
1541
- }))
1542
- : undefined,
1543
- referenceLines: formData.referenceLines.map((line) => {
1544
- return {
1545
- label: line.label,
1546
- query: line.label === REFERENCE_LINE
1547
- ? [Number(line.y1 ?? 0) || 0, Number(line.y2 ?? 0) || 0]
1548
- : '',
1549
- };
1550
- }),
1551
- };
1552
- const resp = await saveReport({
1553
- report: { ...newReport, rows: undefined, pivotRows: undefined }, // stop including rows in request
1554
- dashboardItemId,
1555
- client,
1556
- getToken,
1557
- eventTracking,
1558
- });
1559
- if (resp && resp.name !== 'error') {
1560
- const data = {
1561
- ...resp,
1562
- rows,
1563
- columns: formData.columns.filter((col) => !invalidColumns.includes(col)),
1564
- pivotRows: selectedPivotTable?.rows || undefined,
1565
- pivotColumns: selectedPivotTable?.columns || undefined,
1566
- triggerReload: true,
1567
- error: undefined,
1568
- section: formData.section,
1569
- };
1570
- addReport(data);
1571
- reportsDispatch({
1572
- type: 'ADD_REPORT',
1573
- id: resp.id,
1574
- data,
1575
- });
1576
- if (onAddToDashboardComplete) {
1577
- onAddToDashboardComplete(data);
1578
- }
1579
- else {
1580
- // if no explicit onAddToDashboardComplete, default to reloading the dashboard
1581
- // TODO: Should probably always reload the dashboard, but currently, in the admin library, onAddToDashboardComplete
1582
- // handles the reload way upstream, and it's a bit spooky to change that right now
1583
- reloadDashboard(destinationDashboard, true, {
1584
- report: data,
1585
- action: 'upsert',
1586
- });
1587
- }
1588
- }
1589
- setIsOpen(false);
1590
- setIsSubmitting(false);
1591
- setTriggeredEditChart(false);
1592
- };
1593
- // Prevent horizontal view on small screens.
1594
- isHorizontalView = windowWidth < 1200 ? false : isHorizontalView;
1595
- if (!schemaData.schema) {
1596
- return _jsx("div", { children: "No schema" });
1597
- }
1598
- return (_jsxs("div", { style: {
1599
- width: '100%',
1600
- height: '100%',
1601
- display: 'flex',
1602
- flexDirection: 'column',
1603
- flexGrow: 1,
1604
- }, children: [_jsxs("div", { id: "quill-chart-modal", style: {
1605
- width: '100%',
1606
- height: '100%',
1607
- maxWidth: '100%',
1608
- display: 'flex',
1609
- padding: modalPadding,
1610
- paddingTop: windowWidth < 1200 && isOpen ? 0 : modalPadding,
1611
- gap: '20px',
1612
- flexDirection: isHorizontalView ? 'row' : 'column',
1613
- boxSizing: 'border-box',
1614
- }, children: [hideChartView ? null : (_jsxs("div", { style: {
1615
- display: 'flex',
1616
- flexDirection: 'column',
1617
- gap: isOpen ? 16 : 20,
1618
- overflowY: 'scroll',
1619
- height: isHorizontalView || !isOpen ? '100%' : 800,
1620
- ...(isHorizontalView && {
1621
- // flexGrow: 1,
1622
- width: !isOpen ? '100%' : `calc(100% - ${formWidth}px - 20px)`, // width of left sidebar plus gap
1623
- }),
1624
- ...(!isHorizontalView && isOpen && { width: formWidth }),
1625
- }, children: [!isEditingMode && (report?.adminError || report?.error) ? (_jsx(ErrorComponent, { label: report.adminError || report.error, onClick: onClickChartError })) : ((isHorizontalView || (!isOpen && windowWidth > 1200)) && (_jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
1626
- onFiltersEnabledChanged(hide);
1627
- }, colors: theme?.chartColors, loading: isLoading || !reportFiltersLoaded, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
1628
- width: '100%',
1629
- // height:
1630
- // formData.chartType === 'metric'
1631
- // ? 100
1632
- // : `calc(${filtersEnabled ? 50 : 70}%)`,
1633
- ...(isHorizontalView && {
1634
- flexGrow: !['table'].includes(formData.chartType) ? 1 : 0,
1635
- }),
1636
- }, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, LoadingComponent: LoadingComponent }))),
1637
- // Make sure to display non-pivoted table when using pivot chart
1638
- !hideChartView &&
1639
- (isHorizontalView || (!isOpen && windowWidth < 1200)) && (_jsxs("div", { style: {
1640
- width: '100%',
1641
- // height:
1642
- // isHorizontalView || !isOpen
1643
- // ? `calc(${filtersEnabled ? 30 : 50}%)`
1644
- // : 400,
1645
- flexGrow: 1,
1646
- display: 'flex',
1647
- flexDirection: 'column',
1648
- gap: 8,
1649
- }, children: [windowWidth < 1200 && (_jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
1650
- onFiltersEnabledChanged(hide);
1651
- }, colors: theme?.chartColors, loading: isLoading || !reportFiltersLoaded, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
1652
- width: '100%',
1653
- // height:
1654
- // formData.chartType === 'table'
1655
- // ? 200
1656
- // : formData.chartType === 'metric'
1657
- // ? 300
1658
- // : 500,
1659
- flexGrow: formData.chartType !== 'table' ? 1 : 0,
1660
- }, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen })), hideTableView ? null : formData.chartType !== 'table' ? (_jsx(TableComponent, { rows: formattedRows, columns: includeCustomFields && !containsCustomFields
1661
- ? formData.columns.concat(reportCustomFields)
1662
- : formData.columns, onPageChange: (page) => {
1663
- onPageChange(page);
1664
- setCurrentPage(page);
1665
- }, onSortChange: (sort) => {
1666
- onSortChange && onSortChange(sort);
1667
- }, currentPage: currentPage, rowCount: rowCount, isLoading: isLoading || !reportFiltersLoaded, rowCountIsLoading: rowCountIsLoading, disableSort: disableSort, hideLabels: false })) : (_jsx(TableComponent, { rows: formattedRows, columns: selectedPivotTable
1668
- ? selectedPivotTable.columns
1669
- : includeCustomFields && !containsCustomFields
1670
- ? formData.columns.concat(reportCustomFields)
1671
- : formData.columns, onPageChange: (page) => {
1672
- onPageChange(page, true);
1673
- setCurrentPage(page);
1674
- }, onSortChange: (sort) => {
1675
- onSortChange && onSortChange(sort, true);
1676
- }, currentPage: currentPage, rowCount: selectedPivotTable ? pivotData?.rowCount : rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading || !reportFiltersLoaded, disableSort: disableSort, hideLabels: false }))] }))] })), isOpen && (_jsxs("form", { ref: parentRef, id: "quill-chart-form", onSubmit: handleSubmit, style: {
1677
- display: 'flex',
1678
- flexDirection: 'column',
1679
- gap: 20,
1680
- ...(isHorizontalView && {
1681
- height: '100%',
1682
- minWidth: formWidth,
1683
- maxWidth: formWidth,
1684
- width: formWidth,
1685
- }),
1686
- ...(windowWidth < 1200 && {
1687
- height: '100%',
1688
- width: formWidth,
1689
- paddingTop: modalPadding,
1690
- paddingBottom: modalPadding,
1691
- }),
1692
- }, children: [_jsxs(FormContainer, { children: [hideChartView
1693
- ? null
1694
- : (formData.pivot || formData.chartType !== 'table') &&
1695
- windowWidth < 1200 && (_jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
1696
- onFiltersEnabledChanged(hide);
1697
- }, colors: theme?.chartColors, loading: isLoading || !reportFiltersLoaded, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
1698
- width: '100%',
1699
- // height:
1700
- // formData.chartType === 'table'
1701
- // ? 200
1702
- // : formData.chartType === 'metric'
1703
- // ? 300
1704
- // : formData.chartType === 'US map' ||
1705
- // formData.chartType === 'World map'
1706
- // ? 'fit-content'
1707
- // : 500,
1708
- flexGrow: !['table'].includes(formData.chartType)
1709
- ? 1
1710
- : 0,
1711
- }, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen })), _jsxs(ChartBuilderInputRowContainer, { children: [_jsx("div", { ref: inputRef, style: { display: 'flex', flexDirection: 'column' }, children: _jsx(TextInputComponent
1712
- // {...autofocusRefProp}
1713
- , {
1714
- // {...autofocusRefProp}
1715
- id: "chart-builder-name", label: "Name", width: 200, value: formData.name, onChange: (e) => handleChange(e.target.value, 'name'), placeholder: "Name" }) }), showDashboardDropdown && !destinationDashboardName && (_jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Dashboard", value: formData.dashboardName || '', onChange: async (e) => {
1716
- handleChange(e.target.value, 'dashboardName');
1717
- await updateDashboardFilters(e.target.value);
1718
- }, options: dashboardOptions.map((elem) => ({
1719
- label: elem.label,
1720
- value: elem.label,
1721
- })), width: 200 }) })), hideChartType ? (_jsx("div", { style: { width: 200 } })) : (_jsxs(_Fragment, { children: [_jsx("div", { ref: selectRef, style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Chart type", value: formData.chartType, onChange: (e) => handleChange(e.target.value, 'chartType'), options: chartTypes, width: 200 }) }), !destinationSection &&
1722
- currentDashboard?.sectionOrder?.some((s) => s.section) && (_jsx("div", { style: {
1723
- display: currentDashboard?.sectionOrder?.length
1724
- ? 'flex'
1725
- : 'none',
1726
- flexDirection: 'column',
1727
- }, children: _jsx(SelectComponent, { label: "Section", value: formData.section ?? '', options: currentDashboard?.sectionOrder?.map((s) => ({
1728
- label: s.section ? s.section : 'No section',
1729
- value: s.section,
1730
- })) ?? [], onChange: (e) => {
1731
- handleChange(e.target.value ?? '', 'section');
1732
- }, width: 200, hideEmptyOption: true }) }))] }))] }), hidePivotForm ? null : (_jsxs("div", { style: {
1733
- display: 'flex',
1734
- flexDirection: 'column',
1735
- gap: 6,
1736
- }, children: [_jsx(HeaderComponent, { label: "Pivot" }), _jsxs("div", { style: { fontFamily: theme?.fontFamily }, children: [_jsx("div", { style: {
1737
- maxWidth: 200,
1738
- // marginTop: 6,
1739
- display: 'flex',
1740
- flexDirection: 'column',
1741
- }, children: _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotAggregations: pivotAggregations, pivotSort: pivotSort, setPivotSort: setPivotSort, pivotLimit: pivotLimit, setPivotLimit: setPivotLimit, setPivotAggregations: setPivotAggregations, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: selectedTable, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, CardComponent: CardComponent, SecondaryButtonComponent: SecondaryButtonComponent, PopoverComponent: PopoverComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, HeaderComponent: HeaderComponent, SubheaderComponent: SubHeaderComponent, DeleteButtonComponent: DeleteButtonComponent, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, LoadingComponent: LoadingComponent, theme: theme, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, parentRef: parentRef, data: rows, columns: processedColumns, triggerButtonText: 'Add pivot +', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: handleDeletePivot, selectPivot: handleAddPivot, dateRange: dateRange, selectPivotOnEdit: true, showTrigger: !formData.pivot, query: query, pivotCountRequest: 4, initialUniqueValues: initialUniqueValues, uniqueValuesIsLoading: initialUniqueValuesIsLoading, initialSelectedPivotTable: selectedPivotTable, pivotRecommendationsEnabled: pivotRecommendationsEnabled, report: report ? { ...report, ...{ itemQuery } } : undefined, dashboardName: destinationDashboardName || '', dateFilter: filtersEnabled
1742
- ? currentDashboardFilters?.find((f) => f.filterType === 'date_range')
1743
- : undefined, heightAdjustment: 200 }) }), formData.pivot && (_jsx("div", { children: _jsx("div", { style: { width: pivotCardWidth }, children: isLoading || !reportFiltersLoaded ? (_jsx(LoadingComponent, {})) : (_jsx(PivotCard, { pivotTable: pivotCardTable, theme: theme, index: 0, onSelectPivot: () => {
1744
- setIsEdittingPivot(true);
1745
- setShowPivotPopover(true);
1746
- setPivotRowField(formData.pivot?.rowField);
1747
- setPivotColumnField(formData.pivot?.columnField);
1748
- setPivotAggregations(formData.pivot?.aggregations ?? [
1749
- {
1750
- valueField: formData.pivot?.valueField,
1751
- aggregationType: formData.pivot?.aggregationType,
1752
- valueField2: formData.pivot?.valueField2,
1753
- },
1754
- ]);
1755
- setPivotSort(formData.pivot?.sort &&
1756
- formData.pivot?.sortDirection &&
1757
- formData.pivot?.sortField
1758
- ? {
1759
- sortField: formData.pivot?.sortField,
1760
- sortDirection: formData.pivot?.sortDirection,
1761
- }
1762
- : undefined);
1763
- setPivotLimit(formData.pivot?.rowLimit);
1764
- setPivotPopUpTitle('Edit pivot');
1765
- }, selectedPivotIndex: -1, onEditPivot: () => { }, CardComponent: CardComponent, ButtonComponent: ButtonComponent, HeaderComponent: HeaderComponent, showEdit: false, onClose: handleDeletePivot, minHeight: 180, LabelComponent: LabelComponent, TextComponent: TextComponent })) }) }))] })] })), !hideChartView &&
1766
- (formData.pivot ||
1767
- (formData.chartType !== 'table' &&
1768
- formData.chartType !== 'metric')) && (_jsxs("div", { children: [CHART_TO_LABELS[formData.chartType]?.xAxisLabel && (_jsx("div", { style: {
1769
- display: 'flex',
1770
- flexDirection: 'column',
1771
- }, children: _jsx(HeaderComponent, { label: "Chart" }) })), CHART_TO_LABELS[formData.chartType]?.xAxisLabel && (_jsxs("div", { children: [_jsx(SubHeaderComponent, { label: CHART_TO_LABELS[formData.chartType]?.xAxisLabel ??
1772
- '' }), _jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: formData.xAxisField, onChange: (e) => handleChange(e.target.value, 'xAxisField'), options: formData.pivot
1773
- ? getPivotMetricOptions(formData.pivot, selectedPivotTable, formData.chartType)
1774
- : columns.map((elem) => ({
1775
- label: elem.field,
1776
- value: elem.field,
1777
- })), width: 200 }), _jsx(TextInputComponent, { id: "chart-builder-x-axis-label", width: 200, value: formData.xAxisLabel, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'xAxisLabel') }), _jsx(SelectComponent, { value: formData.pivot &&
1778
- isDateField(formData.pivot.rowFieldType ?? '')
1779
- ? 'string'
1780
- : formData.xAxisFormat, onChange: (e) => handleChange(e.target.value, 'xAxisFormat'), options: formData.pivot &&
1781
- isDateField(formData.pivot.rowFieldType ?? '')
1782
- ? [{ value: 'string', label: 'date' }]
1783
- : xAxisFormatOptions, width: 200, hideEmptyOption: true })] })] })), CHART_TO_LABELS[formData.chartType]?.yAxisLabel && (_jsxs("div", { children: [_jsx(SubHeaderComponent, { label: CHART_TO_LABELS[formData.chartType]?.yAxisLabel ??
1784
- '' }), _jsxs(ChartBuilderInputColumnContainer, { children: [formData.yAxisFields
1785
- .slice(0, formData.chartType === 'pie'
1786
- ? 1
1787
- : formData.yAxisFields.length)
1788
- .map((yAxisField, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: formData.pivot
1789
- ? formData.pivot.aggregations?.length
1790
- ? (disambiguatedValueField(formData.pivot) ?? 'count')
1791
- : 'count'
1792
- : yAxisField.field, onChange: (e) => handleChange(e.target.value, 'yAxisFields.field', index), options: formData.pivot
1793
- ? [
1794
- {
1795
- label: `Pivot Column (${formData.pivot.aggregations?.length ? (disambiguatedValueField(formData.pivot) ?? 'count') : 'count'})`,
1796
- value: formData.pivot.aggregations
1797
- ?.length
1798
- ? (disambiguatedValueField(formData.pivot) ?? 'count')
1799
- : 'count',
1800
- },
1801
- ]
1802
- : columns
1803
- .filter((elem) => {
1804
- return numberFormatOptions.includes(columns.find((col) => col.field === elem.field)?.format || '');
1805
- })
1806
- .map((elem) => ({
1807
- label: elem.field,
1808
- value: elem.field,
1809
- })), width: 200 }), _jsx(TextInputComponent, { id: "chart-builder-y-axis-label", width: 200, value: yAxisField.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'yAxisFields.label', index) }), _jsx(SelectComponent, { value: formData.pivot
1810
- ? (NUMBER_OPTIONS.find((option) => {
1811
- return (option.value === yAxisField.format);
1812
- })?.value ?? NUMBER_OPTIONS[0].value)
1813
- : yAxisField.format, onChange: (e) => handleChange(e.target.value, 'yAxisFields.format', index), options: formData.pivot
1814
- ? NUMBER_OPTIONS
1815
- : ALL_FORMAT_OPTIONS, width: 200, hideEmptyOption: true }), !formData.pivot && (_jsx("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: _jsx(DeleteButtonComponent, { onClick: () => handleRemoveField('yAxisFields', index) }) }))] }, 'yAxisField_' + yAxisField.field + index))), !formData.pivot && formData.chartType !== 'pie' && (_jsx("div", { children: _jsx(SecondaryButtonComponent, { onClick: () => handleAddField('yAxisFields'), label: "Add field +" }) }))] })] })), client?.featureFlags?.['referenceLines'] &&
1816
- (chartData.chartType === 'line' ||
1817
- chartData.chartType === 'column') && (_jsxs("div", { children: [_jsx(SubHeaderComponent, { label: 'Reference Lines' }), _jsxs(ChartBuilderInputColumnContainer, { children: [formData.referenceLines?.map((refLine, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { width: 200, value: refLine.label, onChange: (e) => handleChange(e.target.value, 'referenceLines.label', index),
1818
- // only include numeric columns
1819
- options: [
1820
- {
1821
- label: 'Custom Values',
1822
- value: REFERENCE_LINE,
1823
- },
1824
- ].concat((selectedPivotTable?.columns
1825
- ? selectedPivotTable.columns
1826
- : columns)
1827
- .filter((c) => NUMBER_FORMAT_TYPES.includes(c.format))
1828
- .map((elem) => ({
1829
- label: elem.field,
1830
- value: elem.field,
1831
- }))) }), refLine.label === REFERENCE_LINE && (_jsxs(_Fragment, { children: [_jsx(TextInputComponent, { id: "chart-builder-ref-line-y1", width: 200, value: refLine.y1?.toString() ?? '', placeholder: "Start value", onChange: (e) => handleChange(e.target.value, 'referenceLines.y1', index) }), _jsx(TextInputComponent, { id: "chart-builder-ref-line-y2", width: 200, value: refLine.y2?.toString() ?? '', placeholder: "End value", onChange: (e) => handleChange(e.target.value, 'referenceLines.y2', index) })] })), _jsx("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: _jsx(DeleteButtonComponent, { onClick: () => handleRemoveField('referenceLines', index) }) })] }, 'referenceLine' + index))), _jsx("div", { children: _jsx(SecondaryButtonComponent, { onClick: () => handleAddField('referenceLines'), label: "Add line +" }) })] })] }))] })), windowWidth < 1200 && (_jsx("div", { style: {
1832
- width: '100%',
1833
- height: isHorizontalView || !isOpen ? 'calc(50% - 10px)' : 400,
1834
- flexGrow: 1,
1835
- }, children: formData.chartType !== 'table' ? (_jsx(TableComponent, { rows: formattedRows, columns: includeCustomFields && !containsCustomFields
1836
- ? formData.columns.concat(reportCustomFields)
1837
- : formData.columns, onPageChange: (page) => {
1838
- onPageChange(page);
1839
- setCurrentPage(page);
1840
- }, onSortChange: (sort) => {
1841
- onSortChange && onSortChange(sort);
1842
- }, currentPage: currentPage, rowCount: rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading || !reportFiltersLoaded, disableSort: disableSort, hideLabels: false })) : (_jsx(TableComponent, { rows: formattedRows, columns: selectedPivotTable
1843
- ? selectedPivotTable.columns
1844
- : includeCustomFields && !containsCustomFields
1845
- ? formData.columns.concat(reportCustomFields)
1846
- : formData.columns, onPageChange: (page) => {
1847
- onPageChange(page, true);
1848
- setCurrentPage(page);
1849
- }, onSortChange: (sort) => {
1850
- onSortChange && onSortChange(sort, true);
1851
- }, currentPage: currentPage, rowCount: selectedPivotTable ? pivotData?.rowCount : rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading || !reportFiltersLoaded, disableSort: disableSort, hideLabels: false })) })), (showTableFormatOptions || isAdmin) && (_jsxs("div", { style: {
1852
- display: 'flex',
1853
- flexDirection: 'column',
1854
- gap: 6,
1855
- }, children: [_jsxs("div", { style: {
1856
- display: 'flex',
1857
- flexDirection: 'column',
1858
- }, children: [_jsx(HeaderComponent, { label: "Table" }), _jsx(SubHeaderComponent, { label: "Columns" })] }), _jsxs(ChartBuilderInputColumnContainer, { children: [formData.pivot &&
1859
- selectedPivotTable &&
1860
- selectedPivotTable.columns &&
1861
- formData.chartType === 'table'
1862
- ? // THIS CASE IF FOR PIVOT TABLES ONLY
1863
- selectedPivotTable.columns.map((column, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: column.field, onChange: (e) => handleChange(e.target.value, 'pivot.field', index), options: selectedPivotTable.columns.map((elem) => ({
1864
- label: elem.field,
1865
- value: elem.field,
1866
- })), disabled: index === 0, width: 200, hideEmptyOption: true }), _jsx(TextInputComponent, { id: `chart-builder-column-label-${index}`, width: 200, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'pivot.label', index) }), _jsx(SelectComponent, { value:
1867
- // The first index use rowField for the rest of them use value fields
1868
- column.format, onChange: (e) => handleChange(e.target.value, 'pivot.format', index), options: formData.pivot &&
1869
- index === 0 &&
1870
- selectedPivotTable?.columns.length > 1
1871
- ? isDateField(formData.pivot.rowFieldType || '')
1872
- ? [{ label: 'date', value: 'string' }]
1873
- : [{ label: 'string', value: 'string' }]
1874
- : [
1875
- ...NUMBER_OPTIONS,
1876
- { label: 'string', value: 'string' },
1877
- ], width: 200, hideEmptyOption: true })] }, 'column' + index)))
1878
- : formData.columns.map((column, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: column.field, onChange: (e) => handleChange(e.target.value, 'columns.field', index), options: rows[0]
1879
- ? Object.keys(rows[0]).map((elem) => ({
1880
- label: elem,
1881
- value: elem,
1882
- }))
1883
- : columns.map((elem) => ({
1884
- label: elem.field,
1885
- value: elem.field,
1886
- })), width: 200, hideEmptyOption: true }), _jsx(TextInputComponent, { id: `chart-builder-column-label-${index}`, width: 200, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'columns.label', index) }), _jsx(SelectComponent, { value: column.format, onChange: (e) => handleChange(e.target.value, 'columns.format', index), options: ALL_FORMAT_OPTIONS, width: 200, hideEmptyOption: true }), _jsx("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: _jsx(DeleteButtonComponent, { onClick: () => handleRemoveField('columns', index) }) })] }, 'column' + index))), _jsx("div", { children: !(
1887
- // hide when pivoted and chartType === 'table'
1888
- (formData.pivot &&
1889
- selectedPivotTable &&
1890
- selectedPivotTable.columns &&
1891
- formData.chartType === 'table')) && (_jsxs("div", { style: {
1892
- display: 'flex',
1893
- flexDirection: 'row',
1894
- gap: 10,
1895
- }, children: [_jsx(SecondaryButtonComponent, { onClick: () => handleAddField('columns'), label: "Add column +" }), isAdmin &&
1896
- client?.featureFlags?.customFieldsEnabled && (_jsx(QuillToolTip, { text: "Custom field directly referenced in report", enabled: containsCustomFields, textStyle: {
1897
- maxWidth: '200px',
1898
- whiteSpace: 'normal',
1899
- }, children: _jsx(CheckboxComponent, { isChecked: containsCustomFields || includeCustomFields, label: "Include Custom Fields", onChange: () => setIncludeCustomFields((prev) => !prev), disabled: containsCustomFields, containerStyle: {
1900
- height: containsCustomFields
1901
- ? '100%' // required when wrapped with QuillToolTip
1902
- : undefined,
1903
- } }) }))] })) })] })] })), isAdmin && tenants && dashboardOwner && (_jsxs("div", { style: {
1904
- display: 'flex',
1905
- flexDirection: 'column',
1906
- gap: 12,
1907
- }, children: [_jsx(HeaderComponent, { label: "Tenant access" }), _jsx("div", { style: {
1908
- display: 'flex',
1909
- flexDirection: 'column',
1910
- width: 'fit-content',
1911
- }, children: _jsxs("div", { style: {
1912
- display: 'flex',
1913
- flexDirection: 'row',
1914
- width: 'fit-content',
1915
- gap: 12,
1916
- marginBottom: 8,
1917
- }, children: [_jsx(QuillToolTip, { text: 'Tenant access is restricted to current tenant with direct custom field reference.', enabled: containsCustomFields, textStyle: {
1918
- maxWidth: '200px',
1919
- whiteSpace: 'normal',
1920
- }, children: _jsxs("div", { style: {
1921
- outline: '1px solid #E7E7E7',
1922
- borderRadius: 6,
1923
- padding: 4,
1924
- display: 'flex',
1925
- flexDirection: 'row',
1926
- marginLeft: 2,
1927
- backgroundColor: '#FCFCFC',
1928
- height: 38,
1929
- width: 'fit-content',
1930
- }, children: [_jsx("button", { onClick: () => {
1931
- if (!containsCustomFields) {
1932
- setCustomTenantAccess(false);
1933
- setFormFlags(undefined);
1934
- }
1935
- }, style: {
1936
- width: 95,
1937
- outline: !(customTenantAccess || containsCustomFields)
1938
- ? '1px solid #E7E7E7'
1939
- : undefined,
1940
- backgroundColor: !(customTenantAccess || containsCustomFields)
1941
- ? 'white'
1942
- : undefined,
1943
- // Center text vertically and horizontally
1944
- display: 'flex',
1945
- justifyContent: 'center',
1946
- alignItems: 'center',
1947
- borderRadius: 6,
1948
- fontSize: 14,
1949
- fontWeight: 500,
1950
- userSelect: 'none',
1951
- }, children: "Global" }), _jsx("button", { onClick: () => {
1952
- setCustomTenantAccess(true);
1953
- }, style: {
1954
- width: 95,
1955
- outline: customTenantAccess || containsCustomFields
1956
- ? '1px solid #E7E7E7'
1957
- : undefined,
1958
- backgroundColor: customTenantAccess || containsCustomFields
1959
- ? 'white'
1960
- : undefined,
1961
- // Center text vertically and horizontally
1962
- display: 'flex',
1963
- justifyContent: 'center',
1964
- alignItems: 'center',
1965
- borderRadius: 6,
1966
- fontSize: 14,
1967
- fontWeight: 500,
1968
- userSelect: 'none',
1969
- }, children: "Custom" })] }) }), client?.allTenantTypes?.length === 1 ? (_jsx(MultiSelectComponent, { disabled: containsCustomFields, value: containsCustomFields
1970
- ? (currentTenantAsFormFlags?.[dashboardOwner.tenantField] ?? []) // Even though value requires string[], turns out flags can be numbers
1971
- : (formFlags?.[dashboardOwner.tenantField] ?? []), onChange: (e) => setFormFlags({
1972
- ...formFlags,
1973
- [dashboardOwner.tenantField]: e.target
1974
- .value,
1975
- }), options: dashboardOwner.scope === 'database'
1976
- ? (dashboardOwner.flags?.map((f) => ({
1977
- label: f,
1978
- value: f,
1979
- })) ?? [])
1980
- : (dashboardOwner.tenantIds
1981
- ?.filter((t) => t.flag !== undefined)
1982
- .map((t) => ({
1983
- label: t.label ?? t.flag,
1984
- value: t.flag,
1985
- })) ?? []), width: 200, emptyLabel: dashboardOwner.scope === 'database'
1986
- ? 'No tags supplied'
1987
- : undefined, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
1988
- display: customTenantAccess || containsCustomFields
1989
- ? 'inline'
1990
- : 'none',
1991
- marginTop: -1,
1992
- marginBottom: -4,
1993
- } })) : (_jsx(QuillMultiSelectSectionList, { value: formFlags ?? {}, onChange: (e) => setFormFlags(e.target.value), options: allTenantMap, sectionHeaderMap: client?.allTenantTypes?.reduce((acc, tenantType) => {
1994
- if (tenantType.scope === 'database') {
1995
- acc[SINGLE_TENANT] = 'Database';
1996
- return acc;
1997
- }
1998
- acc[tenantType.tenantField] = tenantType.name;
1999
- return acc;
2000
- }, {}) ?? {}, width: 200, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
2001
- display: customTenantAccess || containsCustomFields
2002
- ? 'inline'
2003
- : 'none',
2004
- marginTop: -1,
2005
- marginBottom: -4,
2006
- }, owner: dashboardOwner.tenantField }))] }) })] })), specificDashboardFilters.length > 0 && isAdmin && (_jsxs("div", { style: {
2007
- display: 'flex',
2008
- flexDirection: 'column',
2009
- gap: 6,
2010
- marginBottom: 128,
2011
- }, children: [_jsx(HeaderComponent, { label: "Dashboard filter fields" }), isAdmin &&
2012
- formData.dateField &&
2013
- dashboardConfig[formData.dashboardName ?? destinationDashboardName ?? '']?.config.dateFilter?.label && (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(TextInputComponent, { id: 'filterMap.dateFilter.' +
2014
- (dashboardConfig[formData.dashboardName ?? '']
2015
- ?.config.dateFilter?.label ?? 'Date'), value: dashboardConfig[formData.dashboardName ?? '']
2016
- ?.config.dateFilter?.label ?? 'Date', width: 200, onChange: () => { }, label: 'Filter', disabled: true }), _jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Virtual Table", value: formData.dateField?.table, onChange: (e) => handleChange(e.target.value, 'dateField.table'), options: dateFieldOptions.map((elem) => ({
2017
- label: elem.name,
2018
- value: elem.name,
2019
- })), width: 200, hideEmptyOption: true }) }), _jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Field", value: removeDoubleQuotes(formData.dateField?.field), onChange: (e) => handleChange(e.target.value, 'dateField.field'), options: dateFieldOptions
2020
- ?.find((elem) => elem.name === formData.dateField?.table)
2021
- ?.columns?.map((elem) => ({
2022
- label: elem.field,
2023
- value: elem.field,
2024
- })) || [], width: 200, hideEmptyOption: true }) }), (!formData.dateField?.table ||
2025
- !formData.dateField?.field) && (_jsx("div", { style: { marginBottom: 8, marginTop: 'auto' }, children: _jsx(ExclamationFilledIcon, { height: 28, width: 28, style: {
2026
- color: '#dc143c',
2027
- } }) }))] })), specificDashboardFilters.length > 0 && (_jsx("div", { style: {
2028
- display: 'flex',
2029
- flexDirection: 'column',
2030
- gap: 6,
2031
- }, children: specificDashboardFilters
2032
- .filter((f) => {
2033
- return f.filterType !== 'date_range';
2034
- })
2035
- .map((filter, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(TextInputComponent, { id: 'filterMap.' + filter.label, value: filter.label, width: 200, onChange: () => { }, label: index === 0 &&
2036
- !(isAdmin &&
2037
- formData.dateField &&
2038
- dashboardConfig[formData.dashboardName ?? '']
2039
- ?.config.dateFilter?.label)
2040
- ? 'Filter'
2041
- : '', disabled: true }), _jsx(SelectComponent, { label: index === 0 &&
2042
- !(isAdmin &&
2043
- formData.dateField &&
2044
- dashboardConfig[formData.dashboardName ?? '']
2045
- ?.config.dateFilter?.label)
2046
- ? 'Virtual Table'
2047
- : '', value: filterMap[filter.label]?.table ?? filter.table, onChange: (e) => setFilterMap({
2048
- ...filterMap,
2049
- [filter.label]: {
2050
- table: e.target.value,
2051
- field: schemaData.schemaWithCustomFields
2052
- .find((t) => t.name == e.target.value)
2053
- ?.columns.find((elem) => elem.field ===
2054
- (filterMap[filter.label]?.field ??
2055
- filter.field))?.field ?? '',
2056
- },
2057
- }), options: allTables.map((elem) => ({
2058
- label: elem,
2059
- value: elem,
2060
- })), width: 200, hideEmptyOption: true }), _jsx(SelectComponent, { label: index === 0 &&
2061
- !(isAdmin &&
2062
- formData.dateField &&
2063
- dashboardConfig[formData.dashboardName ?? '']
2064
- ?.config.dateFilter?.label)
2065
- ? 'Field'
2066
- : '', value: filterMap[filter.label]?.field ?? filter.field, onChange: (e) => setFilterMap({
2067
- ...filterMap,
2068
- [filter.label]: {
2069
- table: filterMap[filter.label]?.table ??
2070
- filter.table,
2071
- field: e.target.value,
2072
- },
2073
- }), options: schemaData.schemaWithCustomFields
2074
- .find((t) => t.name ==
2075
- (filterMap[filter.label]?.table ??
2076
- filter.table) &&
2077
- allTables.includes(t.name))
2078
- ?.columns.filter((column) => isStringType(column.fieldType))
2079
- .map((elem) => ({
2080
- label: elem.label,
2081
- value: elem.field,
2082
- })) ?? [], width: 200, hideEmptyOption: true }), !validFilter[filter.label] && (_jsx("div", { style: { marginBottom: 8, marginTop: 'auto' }, children: _jsx(ExclamationFilledIcon, { height: 28, width: 28, style: {
2083
- color: '#dc143c',
2084
- } }) }))] }, filter.label))) }))] })), isAdmin && !tenants && !flags && (_jsxs("div", { style: {
2085
- display: 'flex',
2086
- flexDirection: 'column',
2087
- gap: 12,
2088
- }, children: [_jsx(HeaderComponent, { label: "Organization access" }), _jsx(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template || !organizationName, theme: theme ?? undefined, organizationName: organizationName, customFieldTableRef: customFieldTableRef })] }))] }), _jsxs("div", { style: {
2089
- display: 'flex',
2090
- flexDirection: 'row',
2091
- justifyContent: 'flex-end',
2092
- gap: 10,
2093
- position: 'absolute',
2094
- bottom: 16,
2095
- right: 16,
2096
- }, children: [!hideDeleteButton && !isHorizontalView && report && (_jsx(SecondaryButtonComponent, { onClick: deleteChart, label: 'Delete' })), !hideSubmitButton && (_jsxs("div", { style: {
2097
- display: 'flex',
2098
- flexDirection: 'row',
2099
- width: '100%',
2100
- justifyContent: 'space-between',
2101
- alignItems: 'center',
2102
- gap: 6,
2103
- }, children: [!!filterIssues?.length && (_jsx(ErrorMessageComponent, { errorMessage: filterIssues[0] || 'Dashboard - Report issues', containerStyle: { height: '100%' } })), _jsxs("div", { style: {
2104
- display: 'flex',
2105
- flexDirection: 'row',
2106
- gap: 10,
2107
- backgroundColor: 'white',
2108
- }, children: [hideDiscardChanges ? null : (_jsx(SecondaryButtonComponent, { onClick: () => {
2109
- setIsOpen(false);
2110
- onDiscardChanges && onDiscardChanges();
2111
- }, label: 'Discard changes' })), _jsx(ButtonComponent, { onClick: () => {
2112
- if (loadingFormData) {
2113
- setTriggeredEditChart(true);
2114
- }
2115
- else {
2116
- editChart();
2117
- }
2118
- }, disabled: formData.name === '' ||
2119
- formData.dashboardName === '' ||
2120
- formData.chartType === '' ||
2121
- filterIssues.length !== 0 ||
2122
- Object.values(validFilter).includes(false) ||
2123
- (currentDashboard?.tenantKeys &&
2124
- customTenantAccess &&
2125
- Object.values(formFlags ?? {}).every((value) => !value.length)), label: buttonLabel
2126
- ? buttonLabel
2127
- : report
2128
- ? 'Save changes'
2129
- : 'Add to dashboard' })] })] }))] })] }))] }), _jsx(DashboardFilterModal, { isOpen: showFilterModal, setIsOpen: setShowFilterModal, issues: filterIssues, ButtonComponent: ButtonComponent, ModalComponent: ModalComponent })] }));
2130
- }
2131
- function SegmentedControl({ onChange, value, theme, organizationName, customFieldTableRef, }) {
2132
- return (_jsxs("div", { style: {
2133
- display: 'flex',
2134
- flexDirection: 'row',
2135
- alignItems: 'center',
2136
- background: '#F5F5F6',
2137
- maxWidth: organizationName ? 418 : 209,
2138
- padding: 4,
2139
- borderRadius: 6,
2140
- }, children: [!customFieldTableRef && (_jsxs("button", { className: "quill-tab", onClick: () => onChange(true), style: {
2141
- border: value === true ? '1px solid #E7E7E7' : '1px solid transparent',
2142
- outline: 'none',
2143
- width: '100%',
2144
- borderRadius: 4,
2145
- padding: 10,
2146
- boxShadow: value === true
2147
- ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
2148
- : undefined,
2149
- color: value === true ? 'rgba(56, 65, 81, 1)' : 'rgba(56, 65, 81, 0.85)',
2150
- fontWeight: value === true ? 600 : 500,
2151
- fontSize: 14,
2152
- fontFamily: theme?.fontFamily,
2153
- }, children: [_jsx("style", { children: `
2154
- .quill-tab {
2155
- background-color: ${value === true ? 'white' : 'transparent'};
2156
- }
2157
- .quill-tab:hover {
2158
- background-color: ${value === false ? 'rgba(56, 65, 81, 0.05)' : undefined};
2159
- }
2160
- .quill-tab:active {
2161
- background-color: "rgba(56, 65, 81, 0.15)";
2162
- }
2163
- ` }), 'All Organizations'] })), organizationName && (_jsxs("button", { className: "quill-tab2", onClick: () => onChange(false), style: {
2164
- border: value === false ? '1px solid #E7E7E7' : '1px solid transparent',
2165
- boxShadow: value === false
2166
- ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
2167
- : undefined,
2168
- outline: 'none',
2169
- width: '100%',
2170
- borderRadius: 4,
2171
- color: value === false
2172
- ? 'rgba(56, 65, 81, 1)'
2173
- : 'rgba(56, 65, 81, 0.85)',
2174
- padding: 10,
2175
- fontWeight: value === false ? 600 : 500,
2176
- fontSize: 14,
2177
- fontFamily: theme?.fontFamily,
2178
- }, children: [_jsx("style", { children: `
2179
- .quill-tab2 {
2180
- background-color: ${value === false ? 'white' : 'transparent'};
2181
- }
2182
- .quill-tab2:hover {
2183
- background-color: ${value === true ? 'rgba(56, 65, 81, 0.05)' : undefined};
2184
- }
2185
- .quill-tab2:focused {
2186
- background-color: blue;
2187
- }
2188
- .quill-tab2:active {
2189
- background-color: "rgba(56, 65, 81, 0.15)";
2190
- }
2191
- ` }), organizationName] }))] }));
2192
- }
2193
- export function DashboardFilterModal({ isOpen, setIsOpen, issues, ModalComponent = MemoizedModal, ButtonComponent = MemoizedButton, }) {
2194
- if (!isOpen)
2195
- return null;
2196
- return (_jsx(ModalComponent, { isOpen: isOpen, setIsOpen: setIsOpen, title: 'Chart not compatible with selected dashboard', width: 600, children: _jsxs("div", { style: {
2197
- display: 'flex',
2198
- flexDirection: 'column',
2199
- width: '600px',
2200
- padding: '20px',
2201
- boxSizing: 'border-box',
2202
- overflow: 'scroll',
2203
- maxHeight: 600,
2204
- }, children: [issues.map((issue) => (_jsx("span", { style: { paddingTop: '10px' }, children: issue }, issue))), _jsx("div", { style: {
2205
- display: 'flex',
2206
- flexDirection: 'row',
2207
- justifyContent: 'flex-end',
2208
- paddingTop: '14px',
2209
- }, children: _jsx(ButtonComponent, { label: "Got It", onClick: () => setIsOpen(false) }) })] }) }));
2210
- }