@quillsql/react 2.10.31 → 2.10.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/dist/cjs/BarList.d.ts +22 -0
  2. package/dist/cjs/BarList.d.ts.map +1 -0
  3. package/dist/cjs/BarList.js +286 -0
  4. package/dist/cjs/Chart.d.ts +42 -0
  5. package/dist/cjs/Chart.d.ts.map +1 -0
  6. package/dist/cjs/Chart.js +360 -0
  7. package/dist/cjs/ChartBuilder.d.ts +46 -0
  8. package/dist/cjs/ChartBuilder.d.ts.map +1 -0
  9. package/dist/cjs/ChartBuilder.js +708 -0
  10. package/dist/cjs/ChartEditor.d.ts +27 -0
  11. package/dist/cjs/ChartEditor.d.ts.map +1 -0
  12. package/dist/cjs/ChartEditor.js +78 -0
  13. package/dist/cjs/Context.d.ts +36 -0
  14. package/dist/cjs/Context.d.ts.map +1 -0
  15. package/dist/cjs/Context.js +230 -0
  16. package/dist/cjs/Dashboard.d.ts +178 -0
  17. package/dist/cjs/Dashboard.d.ts.map +1 -0
  18. package/dist/cjs/Dashboard.js +498 -0
  19. package/dist/cjs/DateRangePicker/Calendar.d.ts +17 -0
  20. package/dist/cjs/DateRangePicker/Calendar.d.ts.map +1 -0
  21. package/dist/cjs/DateRangePicker/Calendar.js +171 -0
  22. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts +39 -0
  23. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  24. package/dist/cjs/DateRangePicker/DateRangePicker.js +150 -0
  25. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +23 -0
  26. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
  27. package/dist/cjs/DateRangePicker/DateRangePickerButton.js +138 -0
  28. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +3 -0
  29. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  30. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +260 -0
  31. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +80 -0
  32. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  33. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +549 -0
  34. package/dist/cjs/DateRangePicker/index.d.ts +3 -0
  35. package/dist/cjs/DateRangePicker/index.d.ts.map +1 -0
  36. package/dist/cjs/DateRangePicker/index.js +9 -0
  37. package/dist/cjs/PieChart.d.ts +59 -0
  38. package/dist/cjs/PieChart.d.ts.map +1 -0
  39. package/dist/cjs/PieChart.js +567 -0
  40. package/dist/cjs/QuillProvider.d.ts +58 -0
  41. package/dist/cjs/QuillProvider.d.ts.map +1 -0
  42. package/dist/cjs/QuillProvider.js +34 -0
  43. package/dist/cjs/ReportBuilder.d.ts +41 -0
  44. package/dist/cjs/ReportBuilder.d.ts.map +1 -0
  45. package/dist/cjs/ReportBuilder.js +1004 -0
  46. package/dist/cjs/SQLEditor.d.ts +54 -0
  47. package/dist/cjs/SQLEditor.d.ts.map +1 -0
  48. package/dist/cjs/SQLEditor.js +509 -0
  49. package/dist/cjs/Table.d.ts +26 -0
  50. package/dist/cjs/Table.d.ts.map +1 -0
  51. package/dist/cjs/Table.js +94 -0
  52. package/dist/cjs/TableChart.d.ts +15 -0
  53. package/dist/cjs/TableChart.d.ts.map +1 -0
  54. package/dist/cjs/TableChart.js +317 -0
  55. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +5 -0
  56. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  57. package/dist/cjs/assets/ArrowDownHeadIcon.js +5 -0
  58. package/dist/cjs/assets/ArrowDownIcon.d.ts +5 -0
  59. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +1 -0
  60. package/dist/cjs/assets/ArrowDownIcon.js +5 -0
  61. package/dist/cjs/assets/ArrowDownRightIcon.d.ts +5 -0
  62. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +1 -0
  63. package/dist/cjs/assets/ArrowDownRightIcon.js +5 -0
  64. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts +5 -0
  65. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
  66. package/dist/cjs/assets/ArrowLeftHeadIcon.js +5 -0
  67. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts +5 -0
  68. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +1 -0
  69. package/dist/cjs/assets/ArrowRightHeadIcon.js +5 -0
  70. package/dist/cjs/assets/ArrowRightIcon.d.ts +5 -0
  71. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +1 -0
  72. package/dist/cjs/assets/ArrowRightIcon.js +5 -0
  73. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts +5 -0
  74. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +1 -0
  75. package/dist/cjs/assets/ArrowUpHeadIcon.js +5 -0
  76. package/dist/cjs/assets/ArrowUpIcon.d.ts +5 -0
  77. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +1 -0
  78. package/dist/cjs/assets/ArrowUpIcon.js +5 -0
  79. package/dist/cjs/assets/ArrowUpRightIcon.d.ts +5 -0
  80. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +1 -0
  81. package/dist/cjs/assets/ArrowUpRightIcon.js +5 -0
  82. package/dist/cjs/assets/CalendarIcon.d.ts +5 -0
  83. package/dist/cjs/assets/CalendarIcon.d.ts.map +1 -0
  84. package/dist/cjs/assets/CalendarIcon.js +5 -0
  85. package/dist/cjs/assets/CalendarNormalIcon.d.ts +5 -0
  86. package/dist/cjs/assets/CalendarNormalIcon.d.ts.map +1 -0
  87. package/dist/cjs/assets/CalendarNormalIcon.js +5 -0
  88. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts +5 -0
  89. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
  90. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.js +5 -0
  91. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts +5 -0
  92. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
  93. package/dist/cjs/assets/DoubleArrowRightHeadIcon.js +5 -0
  94. package/dist/cjs/assets/ExclamationFilledIcon.d.ts +5 -0
  95. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -0
  96. package/dist/cjs/assets/ExclamationFilledIcon.js +5 -0
  97. package/dist/cjs/assets/FilterIcon.d.ts +5 -0
  98. package/dist/cjs/assets/FilterIcon.d.ts.map +1 -0
  99. package/dist/cjs/assets/FilterIcon.js +5 -0
  100. package/dist/cjs/assets/LoadingSpinner.d.ts +5 -0
  101. package/dist/cjs/assets/LoadingSpinner.d.ts.map +1 -0
  102. package/dist/cjs/assets/LoadingSpinner.js +5 -0
  103. package/dist/cjs/assets/RefreshIcon.d.ts +5 -0
  104. package/dist/cjs/assets/RefreshIcon.d.ts.map +1 -0
  105. package/dist/cjs/assets/RefreshIcon.js +5 -0
  106. package/dist/cjs/assets/SearchIcon.d.ts +5 -0
  107. package/dist/cjs/assets/SearchIcon.d.ts.map +1 -0
  108. package/dist/cjs/assets/SearchIcon.js +5 -0
  109. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts +5 -0
  110. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts.map +1 -0
  111. package/dist/cjs/assets/UpLeftArrowsIcon.js +5 -0
  112. package/dist/cjs/assets/XCircleIcon.d.ts +5 -0
  113. package/dist/cjs/assets/XCircleIcon.d.ts.map +1 -0
  114. package/dist/cjs/assets/XCircleIcon.js +5 -0
  115. package/dist/cjs/assets/XIcon.d.ts +5 -0
  116. package/dist/cjs/assets/XIcon.d.ts.map +1 -0
  117. package/dist/cjs/assets/XIcon.js +5 -0
  118. package/dist/cjs/assets/index.d.ts +22 -0
  119. package/dist/cjs/assets/index.d.ts.map +1 -0
  120. package/dist/cjs/assets/index.js +48 -0
  121. package/dist/cjs/components/Banner/index.d.ts +3 -0
  122. package/dist/cjs/components/Banner/index.d.ts.map +1 -0
  123. package/dist/cjs/components/Banner/index.js +27 -0
  124. package/dist/cjs/components/BigModal/BigModal.d.ts +15 -0
  125. package/dist/cjs/components/BigModal/BigModal.d.ts.map +1 -0
  126. package/dist/cjs/components/BigModal/BigModal.js +87 -0
  127. package/dist/cjs/components/Chart/BarChart.d.ts +18 -0
  128. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -0
  129. package/dist/cjs/components/Chart/BarChart.js +81 -0
  130. package/dist/cjs/components/Chart/ChartError.d.ts +3 -0
  131. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -0
  132. package/dist/cjs/components/Chart/ChartError.js +29 -0
  133. package/dist/cjs/components/Chart/ChartSkeleton.d.ts +6 -0
  134. package/dist/cjs/components/Chart/ChartSkeleton.d.ts.map +1 -0
  135. package/dist/cjs/components/Chart/ChartSkeleton.js +20 -0
  136. package/dist/cjs/components/Chart/ChartTooltip.d.ts +29 -0
  137. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -0
  138. package/dist/cjs/components/Chart/ChartTooltip.js +235 -0
  139. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts +6 -0
  140. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
  141. package/dist/cjs/components/Chart/ChartTooltipFrame.js +16 -0
  142. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts +11 -0
  143. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
  144. package/dist/cjs/components/Chart/ChartTooltipGroup.js +29 -0
  145. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts +8 -0
  146. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts.map +1 -0
  147. package/dist/cjs/components/Chart/ChartTooltipRow.js +44 -0
  148. package/dist/cjs/components/Chart/LineChart.d.ts +16 -0
  149. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -0
  150. package/dist/cjs/components/Chart/LineChart.js +97 -0
  151. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +3 -0
  152. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -0
  153. package/dist/cjs/components/Dashboard/ChartComponent.js +64 -0
  154. package/dist/cjs/components/Dashboard/DashboardSection.d.ts +3 -0
  155. package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +1 -0
  156. package/dist/cjs/components/Dashboard/DashboardSection.js +17 -0
  157. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts +3 -0
  158. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -0
  159. package/dist/cjs/components/Dashboard/DashboardSectionContainer.js +13 -0
  160. package/dist/cjs/components/Dashboard/DataLoader.d.ts +3 -0
  161. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -0
  162. package/dist/cjs/components/Dashboard/DataLoader.js +74 -0
  163. package/dist/cjs/components/Dashboard/MetricComponent.d.ts +3 -0
  164. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -0
  165. package/dist/cjs/components/Dashboard/MetricComponent.js +65 -0
  166. package/dist/cjs/components/Dashboard/TableComponent.d.ts +3 -0
  167. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -0
  168. package/dist/cjs/components/Dashboard/TableComponent.js +35 -0
  169. package/dist/cjs/components/Dropdown/Dropdown.d.ts +14 -0
  170. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -0
  171. package/dist/cjs/components/Dropdown/Dropdown.js +99 -0
  172. package/dist/cjs/components/Dropdown/DropdownItem.d.ts +11 -0
  173. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -0
  174. package/dist/cjs/components/Dropdown/DropdownItem.js +67 -0
  175. package/dist/cjs/components/Dropdown/index.d.ts +3 -0
  176. package/dist/cjs/components/Dropdown/index.d.ts.map +1 -0
  177. package/dist/cjs/components/Dropdown/index.js +10 -0
  178. package/dist/cjs/components/Modal/Modal.d.ts +15 -0
  179. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -0
  180. package/dist/cjs/components/Modal/Modal.js +90 -0
  181. package/dist/cjs/components/Modal/index.d.ts +2 -0
  182. package/dist/cjs/components/Modal/index.d.ts.map +1 -0
  183. package/dist/cjs/components/Modal/index.js +8 -0
  184. package/dist/cjs/components/QuillCard.d.ts +14 -0
  185. package/dist/cjs/components/QuillCard.d.ts.map +1 -0
  186. package/dist/cjs/components/QuillCard.js +56 -0
  187. package/dist/cjs/components/QuillSelect.d.ts +3 -0
  188. package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
  189. package/dist/cjs/components/QuillSelect.js +128 -0
  190. package/dist/cjs/components/QuillTable.d.ts +3 -0
  191. package/dist/cjs/components/QuillTable.d.ts.map +1 -0
  192. package/dist/cjs/components/QuillTable.js +259 -0
  193. package/dist/cjs/components/UiComponents.d.ts +130 -0
  194. package/dist/cjs/components/UiComponents.d.ts.map +1 -0
  195. package/dist/cjs/components/UiComponents.js +262 -0
  196. package/dist/cjs/components/selectUtils.d.ts +10 -0
  197. package/dist/cjs/components/selectUtils.d.ts.map +1 -0
  198. package/dist/cjs/components/selectUtils.js +47 -0
  199. package/dist/cjs/contexts/BaseColorContext.d.ts +4 -0
  200. package/dist/cjs/contexts/BaseColorContext.d.ts.map +1 -0
  201. package/dist/cjs/contexts/BaseColorContext.js +5 -0
  202. package/dist/cjs/contexts/HoveredValueContext.d.ts +8 -0
  203. package/dist/cjs/contexts/HoveredValueContext.d.ts.map +1 -0
  204. package/dist/cjs/contexts/HoveredValueContext.js +7 -0
  205. package/dist/cjs/contexts/RootStylesContext.d.ts +4 -0
  206. package/dist/cjs/contexts/RootStylesContext.d.ts.map +1 -0
  207. package/dist/cjs/contexts/RootStylesContext.js +5 -0
  208. package/dist/cjs/contexts/SelectedValueContext.d.ts +8 -0
  209. package/dist/cjs/contexts/SelectedValueContext.d.ts.map +1 -0
  210. package/dist/cjs/contexts/SelectedValueContext.js +8 -0
  211. package/dist/cjs/contexts/index.d.ts +5 -0
  212. package/dist/cjs/contexts/index.d.ts.map +1 -0
  213. package/dist/cjs/contexts/index.js +14 -0
  214. package/dist/cjs/hooks/index.d.ts +5 -0
  215. package/dist/cjs/hooks/index.d.ts.map +1 -0
  216. package/dist/cjs/hooks/index.js +14 -0
  217. package/dist/cjs/hooks/useDashboard.d.ts +7 -0
  218. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -0
  219. package/dist/cjs/hooks/useDashboard.js +54 -0
  220. package/dist/cjs/hooks/useExport.d.ts +15 -0
  221. package/dist/cjs/hooks/useExport.d.ts.map +1 -0
  222. package/dist/cjs/hooks/useExport.js +31 -0
  223. package/dist/cjs/hooks/useFormat.d.ts +6 -0
  224. package/dist/cjs/hooks/useFormat.d.ts.map +1 -0
  225. package/dist/cjs/hooks/useFormat.js +25 -0
  226. package/dist/cjs/hooks/useInternalState.d.ts +4 -0
  227. package/dist/cjs/hooks/useInternalState.d.ts.map +1 -0
  228. package/dist/cjs/hooks/useInternalState.js +16 -0
  229. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -0
  230. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
  231. package/dist/cjs/hooks/useOnClickOutside.js +20 -0
  232. package/dist/cjs/hooks/useOnWindowResize.d.ts +5 -0
  233. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -0
  234. package/dist/cjs/hooks/useOnWindowResize.js +16 -0
  235. package/dist/cjs/hooks/useQuill.d.ts +46 -0
  236. package/dist/cjs/hooks/useQuill.d.ts.map +1 -0
  237. package/dist/cjs/hooks/useQuill.js +94 -0
  238. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts +3 -0
  239. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -0
  240. package/dist/cjs/hooks/useSelectOnKeyDown.js +65 -0
  241. package/dist/cjs/index.d.ts +19 -0
  242. package/dist/cjs/index.d.ts.map +1 -0
  243. package/dist/cjs/index.js +38 -0
  244. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +34 -0
  245. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -0
  246. package/dist/cjs/internals/ReportBuilder/PivotList.js +61 -0
  247. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +62 -0
  248. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
  249. package/dist/cjs/internals/ReportBuilder/PivotModal.js +916 -0
  250. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts +2 -0
  251. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts.map +1 -0
  252. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.js +213 -0
  253. package/dist/cjs/lib/font.d.ts +14 -0
  254. package/dist/cjs/lib/font.d.ts.map +1 -0
  255. package/dist/cjs/lib/font.js +16 -0
  256. package/dist/cjs/lib/index.d.ts +4 -0
  257. package/dist/cjs/lib/index.d.ts.map +1 -0
  258. package/dist/cjs/lib/index.js +19 -0
  259. package/dist/cjs/lib/inputTypes.d.ts +21 -0
  260. package/dist/cjs/lib/inputTypes.d.ts.map +1 -0
  261. package/dist/cjs/lib/inputTypes.js +56 -0
  262. package/dist/cjs/lib/utils.d.ts +10 -0
  263. package/dist/cjs/lib/utils.d.ts.map +1 -0
  264. package/dist/cjs/lib/utils.js +45 -0
  265. package/dist/cjs/utils/aggregate.d.ts +4 -0
  266. package/dist/cjs/utils/aggregate.d.ts.map +1 -0
  267. package/dist/cjs/utils/aggregate.js +429 -0
  268. package/dist/cjs/utils/axisFormatter.d.ts +20 -0
  269. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -0
  270. package/dist/cjs/utils/axisFormatter.js +194 -0
  271. package/dist/cjs/utils/color.d.ts +13 -0
  272. package/dist/cjs/utils/color.d.ts.map +1 -0
  273. package/dist/cjs/utils/color.js +251 -0
  274. package/dist/cjs/utils/crypto.d.ts +2 -0
  275. package/dist/cjs/utils/crypto.d.ts.map +1 -0
  276. package/dist/cjs/utils/crypto.js +10 -0
  277. package/dist/cjs/utils/csv.d.ts +6 -0
  278. package/dist/cjs/utils/csv.d.ts.map +1 -0
  279. package/dist/cjs/utils/csv.js +80 -0
  280. package/dist/cjs/utils/dashboard.d.ts +12 -0
  281. package/dist/cjs/utils/dashboard.d.ts.map +1 -0
  282. package/dist/cjs/utils/dashboard.js +174 -0
  283. package/dist/cjs/utils/dataFetcher.d.ts +3 -0
  284. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -0
  285. package/dist/cjs/utils/dataFetcher.js +81 -0
  286. package/dist/cjs/utils/dates.d.ts +10 -0
  287. package/dist/cjs/utils/dates.d.ts.map +1 -0
  288. package/dist/cjs/utils/dates.js +37 -0
  289. package/dist/cjs/utils/getDomain.d.ts +8 -0
  290. package/dist/cjs/utils/getDomain.d.ts.map +1 -0
  291. package/dist/cjs/utils/getDomain.js +31 -0
  292. package/dist/cjs/utils/merge.d.ts +2 -0
  293. package/dist/cjs/utils/merge.d.ts.map +1 -0
  294. package/dist/cjs/utils/merge.js +49 -0
  295. package/dist/cjs/utils/styles.d.ts +17 -0
  296. package/dist/cjs/utils/styles.d.ts.map +1 -0
  297. package/dist/cjs/utils/styles.js +20 -0
  298. package/dist/cjs/utils/valueFormatter.d.ts +27 -0
  299. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -0
  300. package/dist/cjs/utils/valueFormatter.js +252 -0
  301. package/dist/cjs/utils/valueFormatterCSV.d.ts +17 -0
  302. package/dist/cjs/utils/valueFormatterCSV.d.ts.map +1 -0
  303. package/dist/cjs/utils/valueFormatterCSV.js +99 -0
  304. package/dist/esm/BarList.d.ts +22 -0
  305. package/dist/esm/BarList.d.ts.map +1 -0
  306. package/dist/esm/BarList.js +279 -0
  307. package/dist/esm/Chart.d.ts +42 -0
  308. package/dist/esm/Chart.d.ts.map +1 -0
  309. package/dist/esm/Chart.js +353 -0
  310. package/dist/esm/ChartBuilder.d.ts +46 -0
  311. package/dist/esm/ChartBuilder.d.ts.map +1 -0
  312. package/dist/esm/ChartBuilder.js +700 -0
  313. package/dist/esm/ChartEditor.d.ts +27 -0
  314. package/dist/esm/ChartEditor.d.ts.map +1 -0
  315. package/dist/esm/ChartEditor.js +72 -0
  316. package/dist/esm/Context.d.ts +36 -0
  317. package/dist/esm/Context.d.ts.map +1 -0
  318. package/dist/esm/Context.js +223 -0
  319. package/dist/esm/Dashboard.d.ts +178 -0
  320. package/dist/esm/Dashboard.d.ts.map +1 -0
  321. package/dist/esm/Dashboard.js +490 -0
  322. package/dist/esm/DateRangePicker/Calendar.d.ts +17 -0
  323. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -0
  324. package/dist/esm/DateRangePicker/Calendar.js +167 -0
  325. package/dist/esm/DateRangePicker/DateRangePicker.d.ts +39 -0
  326. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  327. package/dist/esm/DateRangePicker/DateRangePicker.js +122 -0
  328. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +23 -0
  329. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
  330. package/dist/esm/DateRangePicker/DateRangePickerButton.js +136 -0
  331. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +3 -0
  332. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  333. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +256 -0
  334. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +80 -0
  335. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  336. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +535 -0
  337. package/dist/esm/DateRangePicker/index.d.ts +3 -0
  338. package/dist/esm/DateRangePicker/index.d.ts.map +1 -0
  339. package/dist/esm/DateRangePicker/index.js +2 -0
  340. package/dist/esm/PieChart.d.ts +59 -0
  341. package/dist/esm/PieChart.d.ts.map +1 -0
  342. package/dist/esm/PieChart.js +533 -0
  343. package/dist/esm/QuillProvider.d.ts +58 -0
  344. package/dist/esm/QuillProvider.d.ts.map +1 -0
  345. package/dist/esm/QuillProvider.js +31 -0
  346. package/dist/esm/ReportBuilder.d.ts +41 -0
  347. package/dist/esm/ReportBuilder.d.ts.map +1 -0
  348. package/dist/esm/ReportBuilder.js +996 -0
  349. package/dist/esm/SQLEditor.d.ts +54 -0
  350. package/dist/esm/SQLEditor.d.ts.map +1 -0
  351. package/dist/esm/SQLEditor.js +500 -0
  352. package/dist/esm/Table.d.ts +26 -0
  353. package/dist/esm/Table.d.ts.map +1 -0
  354. package/dist/esm/Table.js +89 -0
  355. package/dist/esm/TableChart.d.ts +15 -0
  356. package/dist/esm/TableChart.d.ts.map +1 -0
  357. package/dist/esm/TableChart.js +290 -0
  358. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
  359. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  360. package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
  361. package/dist/esm/assets/ArrowDownIcon.d.ts +5 -0
  362. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -0
  363. package/dist/esm/assets/ArrowDownIcon.js +3 -0
  364. package/dist/esm/assets/ArrowDownRightIcon.d.ts +5 -0
  365. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -0
  366. package/dist/esm/assets/ArrowDownRightIcon.js +3 -0
  367. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts +5 -0
  368. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
  369. package/dist/esm/assets/ArrowLeftHeadIcon.js +3 -0
  370. package/dist/esm/assets/ArrowRightHeadIcon.d.ts +5 -0
  371. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -0
  372. package/dist/esm/assets/ArrowRightHeadIcon.js +3 -0
  373. package/dist/esm/assets/ArrowRightIcon.d.ts +5 -0
  374. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -0
  375. package/dist/esm/assets/ArrowRightIcon.js +3 -0
  376. package/dist/esm/assets/ArrowUpHeadIcon.d.ts +5 -0
  377. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -0
  378. package/dist/esm/assets/ArrowUpHeadIcon.js +3 -0
  379. package/dist/esm/assets/ArrowUpIcon.d.ts +5 -0
  380. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -0
  381. package/dist/esm/assets/ArrowUpIcon.js +3 -0
  382. package/dist/esm/assets/ArrowUpRightIcon.d.ts +5 -0
  383. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -0
  384. package/dist/esm/assets/ArrowUpRightIcon.js +3 -0
  385. package/dist/esm/assets/CalendarIcon.d.ts +5 -0
  386. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -0
  387. package/dist/esm/assets/CalendarIcon.js +3 -0
  388. package/dist/esm/assets/CalendarNormalIcon.d.ts +5 -0
  389. package/dist/esm/assets/CalendarNormalIcon.d.ts.map +1 -0
  390. package/dist/esm/assets/CalendarNormalIcon.js +3 -0
  391. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts +5 -0
  392. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
  393. package/dist/esm/assets/DoubleArrowLeftHeadIcon.js +3 -0
  394. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts +5 -0
  395. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
  396. package/dist/esm/assets/DoubleArrowRightHeadIcon.js +3 -0
  397. package/dist/esm/assets/ExclamationFilledIcon.d.ts +5 -0
  398. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -0
  399. package/dist/esm/assets/ExclamationFilledIcon.js +3 -0
  400. package/dist/esm/assets/FilterIcon.d.ts +5 -0
  401. package/dist/esm/assets/FilterIcon.d.ts.map +1 -0
  402. package/dist/esm/assets/FilterIcon.js +3 -0
  403. package/dist/esm/assets/LoadingSpinner.d.ts +5 -0
  404. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -0
  405. package/dist/esm/assets/LoadingSpinner.js +3 -0
  406. package/dist/esm/assets/RefreshIcon.d.ts +5 -0
  407. package/dist/esm/assets/RefreshIcon.d.ts.map +1 -0
  408. package/dist/esm/assets/RefreshIcon.js +3 -0
  409. package/dist/esm/assets/SearchIcon.d.ts +5 -0
  410. package/dist/esm/assets/SearchIcon.d.ts.map +1 -0
  411. package/dist/esm/assets/SearchIcon.js +3 -0
  412. package/dist/esm/assets/UpLeftArrowsIcon.d.ts +5 -0
  413. package/dist/esm/assets/UpLeftArrowsIcon.d.ts.map +1 -0
  414. package/dist/esm/assets/UpLeftArrowsIcon.js +3 -0
  415. package/dist/esm/assets/XCircleIcon.d.ts +5 -0
  416. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -0
  417. package/dist/esm/assets/XCircleIcon.js +3 -0
  418. package/dist/esm/assets/XIcon.d.ts +5 -0
  419. package/dist/esm/assets/XIcon.d.ts.map +1 -0
  420. package/dist/esm/assets/XIcon.js +3 -0
  421. package/dist/esm/assets/index.d.ts +22 -0
  422. package/dist/esm/assets/index.d.ts.map +1 -0
  423. package/dist/esm/assets/index.js +21 -0
  424. package/dist/esm/components/Banner/index.d.ts +3 -0
  425. package/dist/esm/components/Banner/index.d.ts.map +1 -0
  426. package/dist/esm/components/Banner/index.js +24 -0
  427. package/dist/esm/components/BigModal/BigModal.d.ts +15 -0
  428. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -0
  429. package/dist/esm/components/BigModal/BigModal.js +62 -0
  430. package/dist/esm/components/Chart/BarChart.d.ts +18 -0
  431. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -0
  432. package/dist/esm/components/Chart/BarChart.js +75 -0
  433. package/dist/esm/components/Chart/ChartError.d.ts +3 -0
  434. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -0
  435. package/dist/esm/components/Chart/ChartError.js +26 -0
  436. package/dist/esm/components/Chart/ChartSkeleton.d.ts +6 -0
  437. package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +1 -0
  438. package/dist/esm/components/Chart/ChartSkeleton.js +17 -0
  439. package/dist/esm/components/Chart/ChartTooltip.d.ts +29 -0
  440. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -0
  441. package/dist/esm/components/Chart/ChartTooltip.js +229 -0
  442. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +6 -0
  443. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
  444. package/dist/esm/components/Chart/ChartTooltipFrame.js +13 -0
  445. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts +11 -0
  446. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
  447. package/dist/esm/components/Chart/ChartTooltipGroup.js +23 -0
  448. package/dist/esm/components/Chart/ChartTooltipRow.d.ts +8 -0
  449. package/dist/esm/components/Chart/ChartTooltipRow.d.ts.map +1 -0
  450. package/dist/esm/components/Chart/ChartTooltipRow.js +41 -0
  451. package/dist/esm/components/Chart/LineChart.d.ts +16 -0
  452. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -0
  453. package/dist/esm/components/Chart/LineChart.js +91 -0
  454. package/dist/esm/components/Dashboard/ChartComponent.d.ts +3 -0
  455. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -0
  456. package/dist/esm/components/Dashboard/ChartComponent.js +61 -0
  457. package/dist/esm/components/Dashboard/DashboardSection.d.ts +3 -0
  458. package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -0
  459. package/dist/esm/components/Dashboard/DashboardSection.js +14 -0
  460. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +3 -0
  461. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -0
  462. package/dist/esm/components/Dashboard/DashboardSectionContainer.js +10 -0
  463. package/dist/esm/components/Dashboard/DataLoader.d.ts +3 -0
  464. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -0
  465. package/dist/esm/components/Dashboard/DataLoader.js +71 -0
  466. package/dist/esm/components/Dashboard/MetricComponent.d.ts +3 -0
  467. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -0
  468. package/dist/esm/components/Dashboard/MetricComponent.js +62 -0
  469. package/dist/esm/components/Dashboard/TableComponent.d.ts +3 -0
  470. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -0
  471. package/dist/esm/components/Dashboard/TableComponent.js +29 -0
  472. package/dist/esm/components/Dropdown/Dropdown.d.ts +14 -0
  473. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -0
  474. package/dist/esm/components/Dropdown/Dropdown.js +71 -0
  475. package/dist/esm/components/Dropdown/DropdownItem.d.ts +11 -0
  476. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -0
  477. package/dist/esm/components/Dropdown/DropdownItem.js +42 -0
  478. package/dist/esm/components/Dropdown/index.d.ts +3 -0
  479. package/dist/esm/components/Dropdown/index.d.ts.map +1 -0
  480. package/dist/esm/components/Dropdown/index.js +2 -0
  481. package/dist/esm/components/Modal/Modal.d.ts +15 -0
  482. package/dist/esm/components/Modal/Modal.d.ts.map +1 -0
  483. package/dist/esm/components/Modal/Modal.js +65 -0
  484. package/dist/esm/components/Modal/index.d.ts +2 -0
  485. package/dist/esm/components/Modal/index.d.ts.map +1 -0
  486. package/dist/esm/components/Modal/index.js +1 -0
  487. package/dist/esm/components/QuillCard.d.ts +14 -0
  488. package/dist/esm/components/QuillCard.d.ts.map +1 -0
  489. package/dist/esm/components/QuillCard.js +52 -0
  490. package/dist/esm/components/QuillSelect.d.ts +3 -0
  491. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  492. package/dist/esm/components/QuillSelect.js +124 -0
  493. package/dist/esm/components/QuillTable.d.ts +3 -0
  494. package/dist/esm/components/QuillTable.d.ts.map +1 -0
  495. package/dist/esm/components/QuillTable.js +256 -0
  496. package/dist/esm/components/UiComponents.d.ts +130 -0
  497. package/dist/esm/components/UiComponents.d.ts.map +1 -0
  498. package/dist/esm/components/UiComponents.js +248 -0
  499. package/dist/esm/components/selectUtils.d.ts +10 -0
  500. package/dist/esm/components/selectUtils.d.ts.map +1 -0
  501. package/dist/esm/components/selectUtils.js +37 -0
  502. package/dist/esm/contexts/BaseColorContext.d.ts +4 -0
  503. package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -0
  504. package/dist/esm/contexts/BaseColorContext.js +3 -0
  505. package/dist/esm/contexts/HoveredValueContext.d.ts +8 -0
  506. package/dist/esm/contexts/HoveredValueContext.d.ts.map +1 -0
  507. package/dist/esm/contexts/HoveredValueContext.js +5 -0
  508. package/dist/esm/contexts/RootStylesContext.d.ts +4 -0
  509. package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -0
  510. package/dist/esm/contexts/RootStylesContext.js +3 -0
  511. package/dist/esm/contexts/SelectedValueContext.d.ts +8 -0
  512. package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -0
  513. package/dist/esm/contexts/SelectedValueContext.js +6 -0
  514. package/dist/esm/contexts/index.d.ts +5 -0
  515. package/dist/esm/contexts/index.d.ts.map +1 -0
  516. package/dist/esm/contexts/index.js +4 -0
  517. package/dist/esm/hooks/index.d.ts +5 -0
  518. package/dist/esm/hooks/index.d.ts.map +1 -0
  519. package/dist/esm/hooks/index.js +4 -0
  520. package/dist/esm/hooks/useDashboard.d.ts +7 -0
  521. package/dist/esm/hooks/useDashboard.d.ts.map +1 -0
  522. package/dist/esm/hooks/useDashboard.js +50 -0
  523. package/dist/esm/hooks/useExport.d.ts +15 -0
  524. package/dist/esm/hooks/useExport.d.ts.map +1 -0
  525. package/dist/esm/hooks/useExport.js +27 -0
  526. package/dist/esm/hooks/useFormat.d.ts +6 -0
  527. package/dist/esm/hooks/useFormat.d.ts.map +1 -0
  528. package/dist/esm/hooks/useFormat.js +21 -0
  529. package/dist/esm/hooks/useInternalState.d.ts +4 -0
  530. package/dist/esm/hooks/useInternalState.d.ts.map +1 -0
  531. package/dist/esm/hooks/useInternalState.js +14 -0
  532. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  533. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  534. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  535. package/dist/esm/hooks/useOnWindowResize.d.ts +5 -0
  536. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -0
  537. package/dist/esm/hooks/useOnWindowResize.js +14 -0
  538. package/dist/esm/hooks/useQuill.d.ts +46 -0
  539. package/dist/esm/hooks/useQuill.d.ts.map +1 -0
  540. package/dist/esm/hooks/useQuill.js +90 -0
  541. package/dist/esm/hooks/useSelectOnKeyDown.d.ts +3 -0
  542. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -0
  543. package/dist/esm/hooks/useSelectOnKeyDown.js +63 -0
  544. package/dist/esm/index.d.ts +19 -0
  545. package/dist/esm/index.d.ts.map +1 -0
  546. package/dist/esm/index.js +16 -0
  547. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +34 -0
  548. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -0
  549. package/dist/esm/internals/ReportBuilder/PivotList.js +56 -0
  550. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +62 -0
  551. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
  552. package/dist/esm/internals/ReportBuilder/PivotModal.js +909 -0
  553. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts +2 -0
  554. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts.map +1 -0
  555. package/dist/esm/internals/ReportBuilder/PivotModal.spec.js +211 -0
  556. package/dist/esm/lib/font.d.ts +14 -0
  557. package/dist/esm/lib/font.d.ts.map +1 -0
  558. package/dist/esm/lib/font.js +13 -0
  559. package/dist/esm/lib/index.d.ts +4 -0
  560. package/dist/esm/lib/index.d.ts.map +1 -0
  561. package/dist/esm/lib/index.js +3 -0
  562. package/dist/esm/lib/inputTypes.d.ts +21 -0
  563. package/dist/esm/lib/inputTypes.d.ts.map +1 -0
  564. package/dist/esm/lib/inputTypes.js +55 -0
  565. package/dist/esm/lib/utils.d.ts +10 -0
  566. package/dist/esm/lib/utils.d.ts.map +1 -0
  567. package/dist/esm/lib/utils.js +35 -0
  568. package/dist/esm/utils/aggregate.d.ts +4 -0
  569. package/dist/esm/utils/aggregate.d.ts.map +1 -0
  570. package/dist/esm/utils/aggregate.js +423 -0
  571. package/dist/esm/utils/axisFormatter.d.ts +20 -0
  572. package/dist/esm/utils/axisFormatter.d.ts.map +1 -0
  573. package/dist/esm/utils/axisFormatter.js +190 -0
  574. package/dist/esm/utils/color.d.ts +13 -0
  575. package/dist/esm/utils/color.d.ts.map +1 -0
  576. package/dist/esm/utils/color.js +247 -0
  577. package/dist/esm/utils/crypto.d.ts +2 -0
  578. package/dist/esm/utils/crypto.d.ts.map +1 -0
  579. package/dist/esm/utils/crypto.js +6 -0
  580. package/dist/esm/utils/csv.d.ts +6 -0
  581. package/dist/esm/utils/csv.d.ts.map +1 -0
  582. package/dist/esm/utils/csv.js +76 -0
  583. package/dist/esm/utils/dashboard.d.ts +12 -0
  584. package/dist/esm/utils/dashboard.d.ts.map +1 -0
  585. package/dist/esm/utils/dashboard.js +170 -0
  586. package/dist/esm/utils/dataFetcher.d.ts +3 -0
  587. package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
  588. package/dist/esm/utils/dataFetcher.js +76 -0
  589. package/dist/esm/utils/dates.d.ts +10 -0
  590. package/dist/esm/utils/dates.d.ts.map +1 -0
  591. package/dist/esm/utils/dates.js +32 -0
  592. package/dist/esm/utils/getDomain.d.ts +8 -0
  593. package/dist/esm/utils/getDomain.d.ts.map +1 -0
  594. package/dist/esm/utils/getDomain.js +28 -0
  595. package/dist/esm/utils/merge.d.ts +2 -0
  596. package/dist/esm/utils/merge.d.ts.map +1 -0
  597. package/dist/esm/utils/merge.js +45 -0
  598. package/dist/esm/utils/styles.d.ts +17 -0
  599. package/dist/esm/utils/styles.d.ts.map +1 -0
  600. package/dist/esm/utils/styles.js +16 -0
  601. package/dist/esm/utils/valueFormatter.d.ts +27 -0
  602. package/dist/esm/utils/valueFormatter.d.ts.map +1 -0
  603. package/dist/esm/utils/valueFormatter.js +246 -0
  604. package/dist/esm/utils/valueFormatterCSV.d.ts +17 -0
  605. package/dist/esm/utils/valueFormatterCSV.d.ts.map +1 -0
  606. package/dist/esm/utils/valueFormatterCSV.js +95 -0
  607. package/package.json +1 -1
@@ -0,0 +1,700 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // @ts-nocheck
3
+ import { useEffect, useRef, useState, useContext, useMemo } from 'react';
4
+ import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaContext, ThemeContext, } from './Context';
5
+ import { getData, getDataFromCloud } from './utils/dataFetcher';
6
+ import { getPostgresBasicType } from './ReportBuilder';
7
+ import { PivotModal, generatePivotTable, isDateField, } from './internals/ReportBuilder/PivotModal';
8
+ import { PivotCard } from './internals/ReportBuilder/PivotList';
9
+ import Chart from './Chart';
10
+ import { MemoizedModal, MemoizedTextInput, MemoizedSelect, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, } from './components/UiComponents';
11
+ import Banner from './components/Banner';
12
+ import { mergeComparisonRange } from './utils/merge';
13
+ const CHART_TYPES = ['column', 'line', 'table', 'metric', 'bar', 'pie'];
14
+ export function snakeCaseToTitleCase(str) {
15
+ if (!str) {
16
+ return str;
17
+ }
18
+ return str
19
+ .toString()
20
+ .split(/_| /)
21
+ .map((word) => word === 'id'
22
+ ? 'ID'
23
+ : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
24
+ .join(' ');
25
+ }
26
+ const POSTGRES_DATE_TYPES = [
27
+ 'timestamp',
28
+ 'date',
29
+ 'timestamptz',
30
+ 'time',
31
+ 'timetz',
32
+ ];
33
+ function getTablesHelper(ast, allTables) {
34
+ const tables = [];
35
+ const withAliases = [];
36
+ if (ast.with && ast.with.length) {
37
+ for (let i = 0; i < ast.with.length; i++) {
38
+ withAliases.push(ast.with[i].name.value);
39
+ if (ast.with[i]?.stmt?.from) {
40
+ for (let j = 0; j < ast.with[i].stmt.from.length; j++)
41
+ tables.push(ast.with[i].stmt.from[j].table);
42
+ }
43
+ if (ast.with[i]?.stmt?.ast?.from) {
44
+ for (let j = 0; j < ast.with[i].stmt.ast.from.length; j++)
45
+ tables.push(ast.with[i].stmt.ast.from[j].table);
46
+ }
47
+ }
48
+ }
49
+ if (ast.from && ast.from.length) {
50
+ for (let i = 0; i < ast.from.length; i++) {
51
+ if (ast.from[i].expr && ast.from[i].expr.ast) {
52
+ const recursiveAST = ast.from[i].expr.ast;
53
+ const recursiveTables = getTablesHelper(recursiveAST, allTables);
54
+ tables.push(...recursiveTables.map((t) => t.name));
55
+ }
56
+ }
57
+ }
58
+ const astFrom = ast?.from?.filter((t) => t.table).map((elem) => elem.table) || [];
59
+ const astSelect = ast?.select?.from?.map((elem) => elem.table) || [];
60
+ const tablesInQuery = [...tables, ...astFrom, ...astSelect].filter((elem) => !withAliases.includes(elem));
61
+ return allTables
62
+ .filter((table) => tablesInQuery.includes(table.displayName))
63
+ .map((table) => {
64
+ return {
65
+ name: table.displayName,
66
+ columns: table.columns.filter((column) => POSTGRES_DATE_TYPES.includes(column.fieldType)),
67
+ };
68
+ })
69
+ .filter((table) => table.columns.length > 0);
70
+ }
71
+ async function getReferencedTables(client, sqlQuery, dbTables) {
72
+ const resp = await getDataFromCloud(client, `astify`, { query: sqlQuery });
73
+ return getTablesHelper(resp.ast.length ? resp.ast[0] : resp.ast, dbTables);
74
+ }
75
+ const AGGREGATION_TYPES = [
76
+ { label: 'sum', value: 'sum' },
77
+ { label: 'count', value: 'count' },
78
+ { label: 'average', value: 'avg' },
79
+ ];
80
+ export const numberFormatOptions = [
81
+ 'whole_number',
82
+ 'one_decimal_place',
83
+ 'two_decimal_places',
84
+ 'dollar_amount',
85
+ 'dollar_cents',
86
+ ];
87
+ const NUMBER_FORMAT_OPTIONS = [
88
+ { value: 'whole_number', label: 'whole number' },
89
+ { value: 'one_decimal_place', label: 'one decimal place' },
90
+ { value: 'two_decimal_places', label: 'two decimal places' },
91
+ { value: 'dollar_amount', label: 'dollar amount' },
92
+ { value: 'dollar_cents', label: 'dollar and cent amount' },
93
+ ];
94
+ const formatOptions = [
95
+ ...NUMBER_FORMAT_OPTIONS,
96
+ { value: 'MMM_yyyy', label: 'month' },
97
+ { value: 'MMM_dd-MMM_dd', label: 'week' },
98
+ { value: 'MMM_dd_yyyy', label: 'day' },
99
+ { value: 'MMM_dd_hh:mm_ap_pm', label: 'day and time' },
100
+ { value: 'hh_ap_pm', label: 'hour' },
101
+ { value: 'percent', label: 'percent' },
102
+ { value: 'string', label: 'string' },
103
+ ];
104
+ export default function ChartBuilder(props) {
105
+ const [theme] = useContext(ThemeContext);
106
+ return (_jsx(_Fragment, { children: props.Modal ? (_jsx(props.Modal, { isOpen: props.isOpen, setIsOpen: props.setIsOpen, title: props.title || 'Add to dashboard', onClose: () => props.setIsOpen(false), theme: theme, children: _jsx(ChartBuilderForm, { ...props }) })) : (_jsx(MemoizedModal, { setIsOpen: props.setIsOpen, isOpen: props.isOpen, onClose: () => props.setIsOpen(false), title: props.title || 'Add to dashboard', theme: theme, children: _jsx(ChartBuilderForm, { ...props }) })) }));
107
+ }
108
+ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSelect, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, Header = MemoizedHeader, Label = MemoizedLabel, DeleteButton = MemoizedDeleteButton, Text = MemoizedText, Modal = MemoizedModal, Popover = MemoizedPopover, isOpen, isEditMode, pivot, setIsOpen, rows, columns, query, queryNoDateColumn, dateRange: dr, formHeaderStyle, formLabelStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, showDashboardDropdown = true, onAddToDashboardComplete, onDelete, fields: fieldsProp, dashboardItem = undefined, recommendedPivots: rp = [], createdPivots: cp = [], destinationDashboard, dateColumn, buttonLabel, organizationName, }) {
109
+ const dateRange = dr || [null, null, null];
110
+ const [client] = useContext(ClientContext);
111
+ const [theme] = useContext(ThemeContext);
112
+ const [schema, setSchema] = useContext(SchemaContext);
113
+ const [isSubmitting, setIsSubmitting] = useState(false);
114
+ const [divWidth, setDivWidth] = useState(0);
115
+ const { dispatch } = useContext(DashboardContext);
116
+ const fields = fieldsProp?.map((field) => ({
117
+ field: field.name,
118
+ type: getPostgresBasicType(field),
119
+ format: field.format,
120
+ label: field.name,
121
+ })) || [];
122
+ const parentRef = useRef();
123
+ const deleteRef = useRef();
124
+ const modalPadding = 20;
125
+ const deleteButtonMargin = -13;
126
+ useEffect(() => {
127
+ const calculateWidth = () => {
128
+ return (parentRef.current.offsetWidth -
129
+ (deleteRef?.current
130
+ ? deleteRef?.current.offsetWidth - deleteButtonMargin
131
+ : 0));
132
+ };
133
+ // Measure the width of the div and update state
134
+ if (parentRef.current) {
135
+ setDivWidth(calculateWidth());
136
+ }
137
+ // Optional: Handle window resize
138
+ const handleResize = () => {
139
+ if (parentRef.current) {
140
+ setDivWidth(calculateWidth());
141
+ }
142
+ };
143
+ window.addEventListener('resize', handleResize);
144
+ // Cleanup listener
145
+ return () => {
146
+ window.removeEventListener('resize', handleResize);
147
+ };
148
+ }, []);
149
+ // get schema
150
+ useEffect(() => {
151
+ let isSubscribed = true;
152
+ async function getSchema() {
153
+ if (!schema || !schema.length) {
154
+ const { queryEndpoint, queryHeaders, publicKey } = client;
155
+ const response = await fetch(`${queryEndpoint}`, {
156
+ method: 'POST',
157
+ headers: {
158
+ ...queryHeaders,
159
+ 'Content-Type': 'application/json',
160
+ },
161
+ body: JSON.stringify({
162
+ metadata: {
163
+ clientId: publicKey,
164
+ publicKey: publicKey,
165
+ task: 'schema',
166
+ },
167
+ }),
168
+ });
169
+ const results = await response.json();
170
+ if (isSubscribed) {
171
+ if (results.data?.data) {
172
+ setSchema(results.data.data.tables);
173
+ }
174
+ else {
175
+ setSchema(results.data.tables);
176
+ }
177
+ }
178
+ }
179
+ }
180
+ if (isSubscribed) {
181
+ getSchema();
182
+ }
183
+ return () => {
184
+ isSubscribed = false;
185
+ };
186
+ }, [schema]);
187
+ // get dashboards
188
+ const [dashboardOptions, setDashboardOptions] = useState([]);
189
+ const [defaultDashboardName, setDefaultDashboardName] = useState(destinationDashboard ||
190
+ dashboardItem?.dashboardName ||
191
+ dashboardOptions[0]?.label);
192
+ useEffect(() => {
193
+ if (!destinationDashboard &&
194
+ !dashboardItem &&
195
+ dashboardOptions &&
196
+ dashboardOptions.length) {
197
+ setDefaultDashboardName(dashboardOptions[0]?.label);
198
+ }
199
+ }, [dashboardOptions]);
200
+ useEffect(() => {
201
+ async function getDashNames() {
202
+ const resp = await getDataFromCloud(client, `dashnames/${client.publicKey}/`, null, 'GET');
203
+ setDashboardOptions(resp.dashboardNames
204
+ .filter((elem) => elem !== null)
205
+ .map((key) => ({ label: key, value: key })));
206
+ }
207
+ getDashNames();
208
+ }, []);
209
+ const { dashboardFilters } = useContext(DashboardFiltersContext);
210
+ const [showPivotPopover, setShowPivotPopover] = useState(false);
211
+ const [isEdittingPivot, setIsEdittingPivot] = useState(false);
212
+ const [selectedPivotIndex, setSelectedPivotIndex] = useState(-1);
213
+ const [tableName, setTableName] = useState(null);
214
+ const selectedTable = schema?.find((t) => t.displayName === tableName);
215
+ const [pivotPopUpTitle, setPivotPopUpTitle] = useState('Add Pivot');
216
+ const [createdPivots, setCreatedPivots] = useState(pivot ? [pivot] : dashboardItem?.pivot ? [dashboardItem.pivot] : cp);
217
+ const [recommendedPivots, setRecommendedPivots] = useState(rp);
218
+ const [pivotRowField, setPivotRowField] = useState(undefined);
219
+ const [pivotColumnField, setPivotColumnField] = useState(undefined);
220
+ const [pivotValueField, setPivotValueField] = useState(undefined);
221
+ const [pivotAggregation, setPivotAggregation] = useState(undefined);
222
+ // initial state is the fields array passed in, but can eventually be changed to be the pivot fields
223
+ const [fieldOptions, setFieldOptions] = useState(fields);
224
+ const [dateFieldOptions, setDateFieldOptions] = useState([]);
225
+ useEffect(() => {
226
+ const fetchReferencedTables = async () => {
227
+ if (!query) {
228
+ return;
229
+ }
230
+ const result = await getReferencedTables(client, query, schema);
231
+ setDateFieldOptions(result);
232
+ setTableName(result[0]?.name);
233
+ if (!formData.dateField.table) {
234
+ setFormData({
235
+ ...formData,
236
+ dateField: {
237
+ table: result[0]?.name,
238
+ field: result[0]?.columns?.find((elem) => elem.name === dateColumn)
239
+ ?.name || result[0]?.columns[0]?.name,
240
+ },
241
+ });
242
+ }
243
+ };
244
+ fetchReferencedTables();
245
+ }, [query, schema]);
246
+ const defaultDateField = {
247
+ table: dateFieldOptions[0]?.name,
248
+ field: dateFieldOptions[0]?.columns[0]?.name,
249
+ };
250
+ const firstNumberColumn = columns?.find((col) => numberFormatOptions.includes(col.format));
251
+ const formEmptyState = {
252
+ name: 'My Chart',
253
+ dashboardName: dashboardOptions?.[0]?.label,
254
+ columns: columns.map((col) => {
255
+ return { ...col, label: snakeCaseToTitleCase(col.label) };
256
+ }),
257
+ xAxisField: columns?.[0]?.field || '',
258
+ xAxisFormat: columns?.[0]?.format || '',
259
+ yAxisFields: [
260
+ {
261
+ field: firstNumberColumn?.field || columns?.[0]?.field || '',
262
+ label: '',
263
+ format: firstNumberColumn?.format || columns?.[0]?.field || '',
264
+ },
265
+ ],
266
+ xAxisLabel: '',
267
+ chartType: firstNumberColumn ? 'line' : 'table',
268
+ pivot: null,
269
+ dateField: defaultDateField,
270
+ template: false,
271
+ };
272
+ const pivotFormData = (pivot) => {
273
+ const yAxisField = pivot.columnField || pivot.valueField;
274
+ // date labels for pivots should be treated like strings since they are
275
+ // formatted in generatePivotTable
276
+ const yAxisIsDate = pivot.columnField
277
+ ? isDateField(pivot.columnFieldType)
278
+ : false;
279
+ return {
280
+ pivot,
281
+ chartType: 'column',
282
+ xAxisField: pivot.rowField,
283
+ xAxisFormat: isDateField(pivot.rowFieldType)
284
+ ? 'string'
285
+ : columns.find((col) => col.field === pivot.rowField)?.format ||
286
+ 'whole_number',
287
+ xAxisLabel: '',
288
+ yAxisFields: [
289
+ {
290
+ field: yAxisField,
291
+ label: '',
292
+ format: yAxisIsDate
293
+ ? 'string'
294
+ : columns.find((col) => col.field === yAxisField)?.format ||
295
+ 'whole_number',
296
+ },
297
+ ],
298
+ };
299
+ };
300
+ const [formData, setFormData] = useState(pivot
301
+ ? { ...formEmptyState, ...pivotFormData(pivot) }
302
+ : dashboardItem || formEmptyState);
303
+ const selectedPivotTable = useMemo(() => {
304
+ if (formData.pivot && rows) {
305
+ return generatePivotTable(formData.pivot, rows, dateRange);
306
+ }
307
+ else {
308
+ return {};
309
+ }
310
+ }, [formData.pivot, rows]);
311
+ const handleChange = (value, fieldName, index) => {
312
+ if (index !== undefined) {
313
+ // For dynamic array fields
314
+ const [field, subfield] = fieldName.split('.');
315
+ const updatedArray = formData[field].map((item, i) => i === index ? { ...item, [subfield]: value } : item);
316
+ setFormData({ ...formData, [field]: updatedArray });
317
+ }
318
+ else if (fieldName.includes('.')) {
319
+ // For nested fields
320
+ const [field, subfield] = fieldName.split('.');
321
+ if (field === 'pivot' && subfield !== '') {
322
+ const subfieldTypeFieldName = subfield + 'Type';
323
+ if (value.length) {
324
+ const subfieldType = fields.find((field) => field.field === value).type;
325
+ setFormData({
326
+ ...formData,
327
+ [field]: {
328
+ ...formData[field],
329
+ [subfield]: value,
330
+ [subfieldTypeFieldName]: subfieldType,
331
+ },
332
+ });
333
+ return;
334
+ }
335
+ else {
336
+ setFormData({
337
+ ...formData,
338
+ [field]: {
339
+ ...formData[field],
340
+ [subfield]: '',
341
+ [subfieldTypeFieldName]: '',
342
+ },
343
+ });
344
+ return;
345
+ }
346
+ }
347
+ if (field === 'dateField' &&
348
+ subfield === 'table' &&
349
+ !formData.dateField.field) {
350
+ const field = schema?.find((elem) => elem.name === value)?.columns?.[0]
351
+ ?.name;
352
+ setFormData({
353
+ ...formData,
354
+ dateField: { ...formData[field], [subfield]: value, field: field },
355
+ });
356
+ return;
357
+ }
358
+ setFormData({
359
+ ...formData,
360
+ [field]: { ...formData[field], [subfield]: value },
361
+ });
362
+ }
363
+ else {
364
+ // For simple fields
365
+ setFormData({ ...formData, [fieldName]: value });
366
+ }
367
+ };
368
+ const handleAddPivot = (pivot, index) => {
369
+ setFormData((formData) => ({
370
+ ...formData,
371
+ ...pivotFormData(pivot),
372
+ }));
373
+ };
374
+ const handleDeletePivot = () => {
375
+ if (!formData.pivot) {
376
+ return;
377
+ }
378
+ setFormData({ ...formEmptyState, pivot: null });
379
+ };
380
+ const handleAddField = (fieldName) => {
381
+ if (fieldName === 'columns') {
382
+ setFormData({
383
+ ...formData,
384
+ columns: [...formData.columns, { label: '', field: '', format: '' }],
385
+ });
386
+ }
387
+ else if (fieldName === 'yAxisFields') {
388
+ setFormData({
389
+ ...formData,
390
+ yAxisFields: [
391
+ ...formData.yAxisFields,
392
+ { label: '', field: '', chartType: '', format: '' },
393
+ ],
394
+ });
395
+ }
396
+ else if (fieldName === 'pivot') {
397
+ setFormData({
398
+ ...formData,
399
+ pivot: {
400
+ rowField: '',
401
+ rowFieldType: '',
402
+ columnField: '',
403
+ columnFieldType: '',
404
+ valueField: '',
405
+ aggregationType: '',
406
+ },
407
+ });
408
+ }
409
+ };
410
+ const handleRemoveField = (fieldName, index) => {
411
+ if (fieldName === 'pivot') {
412
+ setFormData({
413
+ ...formData,
414
+ pivot: null,
415
+ });
416
+ return;
417
+ }
418
+ const updatedArray = formData[fieldName].filter((_, i) => i !== index);
419
+ setFormData({ ...formData, [fieldName]: updatedArray });
420
+ };
421
+ const handleSubmit = (e) => {
422
+ e.preventDefault();
423
+ };
424
+ const deleteChart = async () => {
425
+ if (!dashboardItem._id || !client) {
426
+ return;
427
+ }
428
+ const { publicKey, customerId } = client;
429
+ const cloudBody = {
430
+ dashboardItemId: dashboardItem._id,
431
+ };
432
+ const searchParams = new URLSearchParams(customerId
433
+ ? {
434
+ clientId: publicKey,
435
+ customerId: customerId,
436
+ }
437
+ : { clientId: publicKey }).toString();
438
+ const resp = await getDataFromCloud(client, `deletedash/${publicKey}/${customerId}/?${searchParams}`, cloudBody);
439
+ if (resp) {
440
+ if (onDelete) {
441
+ onDelete();
442
+ }
443
+ }
444
+ setIsOpen(false);
445
+ setIsSubmitting(false);
446
+ };
447
+ const editChart = async (_e) => {
448
+ if (isSubmitting) {
449
+ return;
450
+ }
451
+ setIsSubmitting(true);
452
+ const { publicKey, customerId, databaseType } = client;
453
+ if (!client) {
454
+ return;
455
+ }
456
+ const cloudBody = {
457
+ ...formData,
458
+ ...(formData.dateField?.table
459
+ ? {}
460
+ : { dateField: { ...defaultDateField } }),
461
+ ...(formData.dashboardName
462
+ ? {}
463
+ : { dashboardName: defaultDashboardName }),
464
+ ...(dashboardItem ? { dashboardItemId: dashboardItem._id } : {}),
465
+ query: queryNoDateColumn || query,
466
+ queryString: queryNoDateColumn || query,
467
+ pivot: formData.pivot,
468
+ };
469
+ if (cloudBody['rows']) {
470
+ delete cloudBody['rows'];
471
+ delete cloudBody['compareRows'];
472
+ }
473
+ // add orgId: customerId if present for hostedBody
474
+ // set defaultDateField if date field not present
475
+ const hostedBody = {
476
+ metadata: {
477
+ task: 'create',
478
+ clientId: publicKey,
479
+ databaseType: databaseType,
480
+ ...cloudBody,
481
+ orgId: customerId || '*',
482
+ },
483
+ };
484
+ const searchParams = new URLSearchParams(customerId
485
+ ? {
486
+ clientId: publicKey,
487
+ customerId: customerId,
488
+ }
489
+ : { clientId: publicKey }).toString();
490
+ const resp = await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
491
+ if (resp && resp.name !== 'error') {
492
+ if (resp.compareRows) {
493
+ mergeComparisonRange(resp);
494
+ }
495
+ dispatch({
496
+ type: 'UPDATE_DASHBOARD_ITEM',
497
+ id: resp._id,
498
+ data: {
499
+ ...resp,
500
+ rows,
501
+ fields,
502
+ filtersApplied: dashboardFilters,
503
+ },
504
+ });
505
+ }
506
+ setIsOpen(false);
507
+ setIsSubmitting(false);
508
+ if (onAddToDashboardComplete) {
509
+ onAddToDashboardComplete();
510
+ }
511
+ };
512
+ if (!schema) {
513
+ return;
514
+ }
515
+ return (_jsxs("div", { id: "quill-chart-modal", style: { padding: modalPadding }, children: [isEditMode && (_jsxs(_Fragment, { children: [_jsx(Banner, { dashboardItemName: dashboardItem.name, dashboardName: dashboardItem.dashboardName, style: {
516
+ position: 'fixed',
517
+ top: 0,
518
+ left: 0,
519
+ right: 0,
520
+ margin: 0,
521
+ }, onExit: () => {
522
+ const msg = 'Are you sure you want to exit edit mode? Your changes will not be saved.';
523
+ if (!confirm(msg))
524
+ return;
525
+ dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
526
+ dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
527
+ } }), _jsxs("style", { children: [" ", `#quill-modal-header { padding-top: 41px; }`, " "] })] })), _jsx("div", { children: _jsx(Chart, { config: { ...formData, rows }, colors: theme.chartColors, containerStyle: {
528
+ width: formData.chartType === 'table' ? 640 : 'calc(100% - 24px)',
529
+ height: 300,
530
+ } }) }), _jsx("div", { style: { height: 20 } }), _jsxs("form", { ref: parentRef, id: "quill-chart-form", onSubmit: handleSubmit, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Name" }), _jsx(TextInput, { value: formData.name, onChange: (e) => handleChange(e, 'name'), placeholder: "Name" })] }), showDashboardDropdown && !destinationDashboard && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Dashboard" }), _jsx(Select, { label: 'Dashboard', value: formData.dashboardName, onChange: (e) => handleChange(e, 'dashboardName'), options: dashboardOptions.map((elem) => ({
531
+ label: elem.label,
532
+ value: elem.label,
533
+ })) })] })), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Chart type" }), _jsx(Select, { label: 'Chart Type', value: formData.chartType, onChange: (e) => handleChange(e, 'chartType'),
534
+ // filter out metric for all pivots
535
+ // filter out bar and pie for row and column pivot
536
+ options: CHART_TYPES.filter((elem) => !((formData.pivot && elem === 'metric') ||
537
+ (formData.pivot &&
538
+ formData.pivot.columnField &&
539
+ (elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })) })] })] }), _jsx("br", {}), _jsxs("div", { style: {
540
+ display: 'flex',
541
+ flexDirection: 'column',
542
+ gap: 12,
543
+ marginTop: 6,
544
+ }, children: [_jsx(Header, { children: "Pivot" }), _jsxs("div", { style: { fontFamily: theme?.fontFamily }, children: [_jsx("div", { style: {
545
+ maxWidth: 200,
546
+ // marginTop: 6,
547
+ display: 'flex',
548
+ flexDirection: 'column',
549
+ }, children: _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: selectedTable, SelectComponent: Select, ButtonComponent: Button, PopoverComponent: Popover, LabelComponent: Label, TextComponent: Text, HeaderComponent: Header, theme: theme, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, parentRef: parentRef, data: rows, columns: columns, triggerButtonText: 'Add pivot +', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: handleDeletePivot, selectPivot: handleAddPivot, dateRange: dateRange, selectPivotOnEdit: true, showTrigger: !formData.pivot }) }), formData.pivot && (_jsx("div", { style: {
550
+ // width: 592,
551
+ paddingRight: deleteRef?.current ? 42 : 0,
552
+ maxWidth: 750,
553
+ }, children: _jsx("div", { style: { width: divWidth }, children: _jsx(PivotCard, { pivotTable: {
554
+ pivot: formData.pivot,
555
+ rows: selectedPivotTable?.rows,
556
+ columns: selectedPivotTable?.columns,
557
+ }, theme: theme, index: 0, onSelectPivot: () => {
558
+ setIsEdittingPivot(true);
559
+ setShowPivotPopover(true);
560
+ setPivotRowField(formData.pivot?.rowField);
561
+ setPivotColumnField(formData.pivot?.columnField);
562
+ setPivotValueField(formData.pivot?.valueField);
563
+ setPivotAggregation(formData.pivot?.aggregationType);
564
+ setPivotPopUpTitle('Edit Pivot');
565
+ }, selectedPivotIndex: -1, onEditPivot: () => { }, ButtonComponent: Button, HeaderComponent: Header, showEdit: false, onClose: handleDeletePivot, minHeight: 180, LabelComponent: Label, TextComponent: Text }) }) }))] })] }), _jsx("br", {}), (formData.pivot || formData.chartType !== 'table') && (_jsxs("div", { children: [_jsxs("div", { style: {
566
+ display: 'flex',
567
+ flexDirection: 'column',
568
+ gap: 6,
569
+ marginTop: 6,
570
+ }, children: [_jsx(Header, { children: "Chart" }), _jsx(Label, { children: "X-axis" })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(Select, { label: 'X-axis Field', value: formData.xAxisField, onChange: (e) => handleChange(e, 'xAxisField'), disabled: formData.pivot !== null, options: fieldOptions.map((elem) => ({
571
+ label: formData.pivot
572
+ ? `pivot row (${elem.field})`
573
+ : elem.field,
574
+ value: elem.field,
575
+ })) }), _jsx(TextInput, { value: formData.xAxisLabel, placeholder: "Column Label", onChange: (e) => handleChange(e, 'xAxisLabel') }), _jsx(Select, { label: 'X-axis Format', value: formData.xAxisFormat, onChange: (e) => handleChange(e, 'xAxisFormat'), options: formatOptions })] }, 'xAxisField0'), _jsx("br", {}), _jsx(Label, { children: "Y-axis" }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: 10 }, children: formData.yAxisFields.map((yAxisField, index) => (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(Select, { label: 'Y-axis Field', value: yAxisField.field, onChange: (e) => handleChange(e, 'yAxisFields.field', index), disabled: formData.pivot !== null, options: [
576
+ { label: 'Select', value: '' },
577
+ ...fieldOptions
578
+ .filter((elem) => {
579
+ return (formData.chartType === 'table' ||
580
+ formData.pivot ||
581
+ numberFormatOptions.includes(columns.find((col) => col.field === elem.field)
582
+ ?.format));
583
+ })
584
+ .map((elem) => ({
585
+ label: formData.pivot
586
+ ? `pivot columns (${formData.pivot.valueField})`
587
+ : elem.field,
588
+ value: elem.field,
589
+ })),
590
+ ] }), _jsx(TextInput, { value: yAxisField.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'yAxisFields.label', index) }), _jsx(Select, { label: 'Y-axis Format', value: yAxisField.format, onChange: (e) => handleChange(e, 'yAxisFields.format', index), options: [{ label: 'Select', value: '' }, ...formatOptions] }), formData.pivot === null && (_jsx("div", { ref: deleteRef, children: _jsx(DeleteButton, { style: { marginLeft: deleteButtonMargin }, onClick: () => handleRemoveField('yAxisFields', index) }) }))] }, 'yAxisField' + index))) }), formData.pivot === null && (_jsxs(_Fragment, { children: [_jsx("br", {}), _jsx(SecondaryButton, { onClick: () => handleAddField('yAxisFields'), label: "Add field +" })] })), _jsx("br", {}), _jsx("br", {})] })), (showTableFormatOptions || formData.chartType === 'table') && (_jsxs("div", { children: [_jsxs("div", { style: {
591
+ display: 'flex',
592
+ flexDirection: 'column',
593
+ gap: 6,
594
+ marginTop: 6,
595
+ }, children: [_jsx(Header, { children: "Table" }), _jsx(Label, { children: "Columns" })] }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: 10 }, children: formData.columns.map((column, index) => (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(Select, { label: 'Column Field', value: column.field, onChange: (e) => handleChange(e, 'columns.field', index), options: [
596
+ { label: 'Select', value: '' },
597
+ ...fields.map((elem) => ({
598
+ label: elem.field,
599
+ value: elem.field,
600
+ })),
601
+ ] }), _jsx(TextInput, { name: "label", value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'columns.label', index) }), _jsx(Select, { label: 'Column Format', value: column.format, onChange: (e) => handleChange(e, 'columns.format', index), options: [{ label: 'Select', value: '' }, ...formatOptions] }), _jsx("div", { ref: deleteRef, children: _jsx(DeleteButton, { style: { marginLeft: deleteButtonMargin }, onClick: () => handleRemoveField('columns', index) }) })] }, 'column' + index))) }), _jsx("br", {}), _jsx(SecondaryButton, { onClick: () => handleAddField('columns'), label: "Add column +" }), _jsx("br", {}), _jsx("br", {})] })), showDateFieldOptions && (_jsxs("div", { style: {
602
+ display: 'flex',
603
+ flexDirection: 'column',
604
+ gap: 6,
605
+ marginTop: 6,
606
+ }, children: [_jsx(Header, { children: "Date field" }), _jsxs("div", { style: {
607
+ display: 'flex',
608
+ flexDirection: 'row',
609
+ gap: 12,
610
+ // lmao part 2
611
+ }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Table" }), _jsx(Select, { label: 'Date Table', value: formData.dateField.table, onChange: (e) => handleChange(e, 'dateField.table'), options: [
612
+ {
613
+ label: 'Select',
614
+ value: '',
615
+ },
616
+ ...dateFieldOptions.map((elem) => ({
617
+ label: elem.name,
618
+ value: elem.name,
619
+ })),
620
+ ] })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Field" }), _jsx(Select, { label: 'Date Field', value: formData.dateField.field, onChange: (e) => handleChange(e, 'dateField.field'), options: dateFieldOptions
621
+ ?.find((elem) => elem.name === formData.dateField.table)
622
+ ?.columns?.map((elem) => ({
623
+ label: elem.name,
624
+ value: elem.name,
625
+ })) || [] })] })] }), _jsx("br", {})] })), showAccessControlOptions && (_jsxs("div", { style: {
626
+ display: 'flex',
627
+ flexDirection: 'column',
628
+ gap: 12,
629
+ marginTop: 6,
630
+ }, children: [_jsx(Header, { children: "Organization access" }), _jsx(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template, theme: theme, organizationName: organizationName }), _jsx("br", {}), _jsx("br", {})] })), _jsxs("div", { style: {
631
+ display: 'flex',
632
+ flexDirection: 'row',
633
+ justifyContent: 'flex-end',
634
+ gap: 10,
635
+ }, children: [dashboardItem && (_jsx(SecondaryButton, { onClick: deleteChart, label: 'Delete' })), _jsx(Button, { onClick: editChart, label: buttonLabel
636
+ ? buttonLabel
637
+ : dashboardItem
638
+ ? 'Save changes'
639
+ : 'Add to dashboard' })] })] })] }));
640
+ }
641
+ function SegmentedControl({ onChange, value, theme, organizationName = 'This Organization', }) {
642
+ return (_jsxs("div", { style: {
643
+ display: 'flex',
644
+ flexDirection: 'row',
645
+ alignItems: 'center',
646
+ background: '#F5F5F6',
647
+ maxWidth: 418,
648
+ padding: 4,
649
+ borderRadius: 6,
650
+ }, children: [_jsxs("button", { className: "quill-tab", onClick: () => onChange(true), style: {
651
+ border: value === true ? '1px solid #E7E7E7' : '1px solid transparent',
652
+ outline: 'none',
653
+ width: '100%',
654
+ borderRadius: 4,
655
+ padding: 10,
656
+ boxShadow: value === true
657
+ ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
658
+ : undefined,
659
+ color: value === true ? 'rgba(56, 65, 81, 1)' : 'rgba(56, 65, 81, 0.85)',
660
+ fontWeight: value === true ? 600 : 500,
661
+ fontSize: 14,
662
+ fontFamily: theme?.fontFamily,
663
+ }, children: [_jsx("style", { children: `
664
+ .quill-tab {
665
+ background-color: ${value === true ? 'white' : 'transparent'};
666
+ }
667
+ .quill-tab:hover {
668
+ background-color: ${value === false ? 'rgba(56, 65, 81, 0.05)' : undefined};
669
+ }
670
+ .quill-tab:active {
671
+ background-color: "rgba(56, 65, 81, 0.15)";
672
+ }
673
+ ` }), 'All Organizations'] }), _jsxs("button", { className: "quill-tab2", onClick: () => onChange(false), style: {
674
+ border: value === false ? '1px solid #E7E7E7' : '1px solid transparent',
675
+ boxShadow: value === false
676
+ ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
677
+ : undefined,
678
+ outline: 'none',
679
+ width: '100%',
680
+ borderRadius: 4,
681
+ color: value === false ? 'rgba(56, 65, 81, 1)' : 'rgba(56, 65, 81, 0.85)',
682
+ padding: 10,
683
+ fontWeight: value === false ? 600 : 500,
684
+ fontSize: 14,
685
+ fontFamily: theme?.fontFamily,
686
+ }, children: [_jsx("style", { children: `
687
+ .quill-tab2 {
688
+ background-color: ${value === false ? 'white' : 'transparent'};
689
+ }
690
+ .quill-tab2:hover {
691
+ background-color: ${value === true ? 'rgba(56, 65, 81, 0.05)' : undefined};
692
+ }
693
+ .quill-tab2:focused {
694
+ background-color: blue;
695
+ }
696
+ .quill-tab2:active {
697
+ background-color: "rgba(56, 65, 81, 0.15)";
698
+ }
699
+ ` }), organizationName] })] }));
700
+ }